X-Git-Url: http://nitlanguage.org diff --git a/c_src/nitc__modelbuilder_base.sep.1.c b/c_src/nitc__modelbuilder_base.sep.1.c index d7dfd5d..768aa9e 100644 --- a/c_src/nitc__modelbuilder_base.sep.1.c +++ b/c_src/nitc__modelbuilder_base.sep.1.c @@ -1,17 +1,20 @@ #include "nitc__modelbuilder_base.sep.0.h" -/* method modelbuilder_base#ToolContext#modelbuilder for (self: ToolContext): ModelBuilder */ +/* method modelbuilder_base$ToolContext$modelbuilder for (self: ToolContext): ModelBuilder */ val* nitc__modelbuilder_base___ToolContext___modelbuilder(val* self) { val* var /* : ModelBuilder */; val* var1 /* : nullable ModelBuilder */; val* var3 /* : nullable ModelBuilder */; { -{ /* Inline modelbuilder_base#ToolContext#modelbuilder_real (self) on */ +{ /* Inline modelbuilder_base$ToolContext$modelbuilder_real (self) on */ var3 = self->attrs[COLOR_nitc__modelbuilder_base__ToolContext___modelbuilder_real].val; /* _modelbuilder_real on */ var1 = var3; RET_LABEL2:(void)0; } } if (unlikely(var1 == 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__modelbuilder_base, 36); fatal_exit(1); @@ -21,7 +24,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method modelbuilder_base#ToolContext#modelbuilder_real for (self: ToolContext): nullable ModelBuilder */ +/* method modelbuilder_base$ToolContext$modelbuilder_real for (self: ToolContext): nullable ModelBuilder */ val* nitc__modelbuilder_base___ToolContext___modelbuilder_real(val* self) { val* var /* : nullable ModelBuilder */; val* var1 /* : nullable ModelBuilder */; @@ -30,17 +33,20 @@ var = var1; RET_LABEL:; return var; } -/* method modelbuilder_base#ToolContext#modelbuilder_real= for (self: ToolContext, nullable ModelBuilder) */ +/* method modelbuilder_base$ToolContext$modelbuilder_real= for (self: ToolContext, nullable ModelBuilder) */ void nitc__modelbuilder_base___ToolContext___modelbuilder_real_61d(val* self, val* p0) { self->attrs[COLOR_nitc__modelbuilder_base__ToolContext___modelbuilder_real].val = p0; /* _modelbuilder_real on */ RET_LABEL:; } -/* method modelbuilder_base#ModelBuilder#model for (self: ModelBuilder): Model */ +/* method modelbuilder_base$ModelBuilder$model for (self: ModelBuilder): Model */ val* nitc___nitc__ModelBuilder___model(val* self) { val* var /* : Model */; val* var1 /* : Model */; var1 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___model].val; /* _model on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 44); fatal_exit(1); @@ -49,17 +55,20 @@ var = var1; RET_LABEL:; return var; } -/* method modelbuilder_base#ModelBuilder#model= for (self: ModelBuilder, Model) */ +/* method modelbuilder_base$ModelBuilder$model= for (self: ModelBuilder, Model) */ void nitc___nitc__ModelBuilder___model_61d(val* self, val* p0) { self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___model].val = p0; /* _model on */ RET_LABEL:; } -/* method modelbuilder_base#ModelBuilder#toolcontext for (self: ModelBuilder): ToolContext */ +/* method modelbuilder_base$ModelBuilder$toolcontext for (self: ModelBuilder): ToolContext */ val* nitc___nitc__ModelBuilder___toolcontext(val* self) { val* var /* : ToolContext */; val* var1 /* : ToolContext */; var1 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var1 == 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); @@ -68,12 +77,12 @@ var = var1; RET_LABEL:; return var; } -/* method modelbuilder_base#ModelBuilder#toolcontext= for (self: ModelBuilder, ToolContext) */ +/* method modelbuilder_base$ModelBuilder$toolcontext= for (self: ModelBuilder, ToolContext) */ void nitc___nitc__ModelBuilder___toolcontext_61d(val* self, val* p0) { self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val = p0; /* _toolcontext on */ RET_LABEL:; } -/* method modelbuilder_base#ModelBuilder#init for (self: ModelBuilder) */ +/* method modelbuilder_base$ModelBuilder$init for (self: ModelBuilder) */ void nitc___nitc__ModelBuilder___core__kernel__Object__init(val* self) { val* var /* : ToolContext */; val* var2 /* : ToolContext */; @@ -90,9 +99,12 @@ val* var14 /* : ToolContext */; ((void(*)(val* self))(self->class->vft[COLOR_nitc___nitc__ModelBuilder___core__kernel__Object__init]))(self); /* init on */ } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on */ var2 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___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__modelbuilder_base, 47); fatal_exit(1); @@ -102,7 +114,7 @@ RET_LABEL1:(void)0; } } { -{ /* Inline modelbuilder_base#ToolContext#modelbuilder_real (var) on */ +{ /* Inline modelbuilder_base$ToolContext$modelbuilder_real (var) on */ var5 = var->attrs[COLOR_nitc__modelbuilder_base__ToolContext___modelbuilder_real].val; /* _modelbuilder_real on */ var3 = var5; RET_LABEL4:(void)0; @@ -114,10 +126,10 @@ var6 = 1; /* is null */ var6 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var3,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var3,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var3,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var3,var_other) on */ var11 = var3 == var_other; var9 = var11; goto RET_LABEL10; @@ -131,14 +143,20 @@ RET_LABEL8:(void)0; var6 = var7; } if (unlikely(!var6)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert failed"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 54); fatal_exit(1); } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on */ var14 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var14 == 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); @@ -148,14 +166,14 @@ RET_LABEL13:(void)0; } } { -{ /* Inline modelbuilder_base#ToolContext#modelbuilder_real= (var12,self) on */ +{ /* Inline modelbuilder_base$ToolContext$modelbuilder_real= (var12,self) on */ var12->attrs[COLOR_nitc__modelbuilder_base__ToolContext___modelbuilder_real].val = self; /* _modelbuilder_real on */ RET_LABEL15:(void)0; } } RET_LABEL:; } -/* method modelbuilder_base#ModelBuilder#try_get_mclass_by_name for (self: ModelBuilder, ANode, MModule, String): nullable MClass */ +/* method modelbuilder_base$ModelBuilder$try_get_mclass_by_name for (self: ModelBuilder, ANode, MModule, String): nullable MClass */ val* nitc___nitc__ModelBuilder___try_get_mclass_by_name(val* self, val* p0, val* p1, val* p2) { val* var /* : nullable MClass */; val* var_anode /* var anode: ANode */; @@ -195,30 +213,49 @@ val* var34 /* : NativeArray[String] */; static val* varonce; static val* varonce35; val* var36 /* : String */; -char* var37 /* : NativeString */; +char* var37 /* : CString */; val* var38 /* : String */; -static val* varonce39; -val* var40 /* : String */; -char* var41 /* : NativeString */; -val* var42 /* : String */; +val* var39 /* : nullable Int */; +val* var40 /* : nullable Int */; +val* var41 /* : nullable Bool */; +val* var42 /* : nullable Bool */; static val* varonce43; val* var44 /* : String */; -char* var45 /* : NativeString */; +char* var45 /* : CString */; val* var46 /* : String */; -static val* varonce47; -val* var48 /* : String */; -char* var49 /* : NativeString */; -val* var50 /* : String */; -val* var51 /* : String */; +val* var47 /* : nullable Int */; +val* var48 /* : nullable Int */; +val* var49 /* : nullable Bool */; +val* var50 /* : nullable Bool */; +static val* varonce51; val* var52 /* : String */; -val* var53 /* : String */; +char* var53 /* : CString */; +val* var54 /* : String */; +val* var55 /* : nullable Int */; +val* var56 /* : nullable Int */; +val* var57 /* : nullable Bool */; +val* var58 /* : nullable 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 */; +val* var67 /* : String */; +val* var68 /* : String */; +val* var69 /* : String */; var_anode = p0; var_mmodule = p1; var_name = p2; { -{ /* Inline modelbuilder_base#ModelBuilder#model (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$model (self) on */ var3 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___model].val; /* _model on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 44); fatal_exit(1); @@ -264,11 +301,14 @@ var10 = ((val*(*)(val* self))((((long)var_8&3)?class_info[((long)var_8&3)]:var_8 } var_mclass = var10; { -{ /* Inline mmodule#MModule#in_importation (var_mmodule) on */ +{ /* Inline mmodule$MModule$in_importation (var_mmodule) on */ var13 = var_mmodule->attrs[COLOR_nitc__mmodule__MModule___in_importation].val; /* _in_importation on */ if (unlikely(var13 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 104); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 108); fatal_exit(1); } var11 = var13; @@ -276,11 +316,14 @@ RET_LABEL12:(void)0; } } { -{ /* Inline model#MClass#intro_mmodule (var_mclass) on */ +{ /* Inline model$MClass$intro_mmodule (var_mclass) on */ var16 = var_mclass->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ if (unlikely(var16 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 380); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); fatal_exit(1); } var14 = var16; @@ -296,11 +339,14 @@ goto BREAK_label19; } else { } { -{ /* Inline model#MClass#intro_mmodule (var_mclass) on */ +{ /* Inline model$MClass$intro_mmodule (var_mclass) on */ var22 = var_mclass->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ if (unlikely(var22 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 380); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); fatal_exit(1); } var20 = var22; @@ -308,11 +354,14 @@ RET_LABEL21:(void)0; } } { -{ /* Inline model#MClass#visibility (var_mclass) on */ +{ /* Inline model$MClass$visibility (var_mclass) on */ var25 = var_mclass->attrs[COLOR_nitc__model__MClass___visibility].val; /* _visibility on */ if (unlikely(var25 == 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, 463); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 476); fatal_exit(1); } var23 = var25; @@ -333,10 +382,10 @@ var28 = 1; /* is null */ var28 = 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 */ var33 = var_res == var_other; var31 = var33; goto RET_LABEL32; @@ -353,62 +402,78 @@ if (var28){ var_res = var_mclass; } else { if (unlikely(varonce==NULL)) { -var34 = NEW_core__NativeArray(7l, &type_core__NativeArray__core__String); +var34 = NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String); if (likely(varonce35!=NULL)) { var36 = varonce35; } else { var37 = "Error: ambiguous class name `"; -var38 = core__flat___NativeString___to_s_full(var37, 29l, 29l); +var39 = (val*)(29l<<2|1); +var40 = (val*)(29l<<2|1); +var41 = (val*)((long)(0)<<2|3); +var42 = (val*)((long)(0)<<2|3); +var38 = core__flat___CString___to_s_unsafe(var37, var39, var40, var41, var42); var36 = var38; varonce35 = var36; } ((struct instance_core__NativeArray*)var34)->values[0]=var36; -if (likely(varonce39!=NULL)) { -var40 = varonce39; -} else { -var41 = "`; conflict between `"; -var42 = core__flat___NativeString___to_s_full(var41, 21l, 21l); -var40 = var42; -varonce39 = var40; -} -((struct instance_core__NativeArray*)var34)->values[2]=var40; if (likely(varonce43!=NULL)) { var44 = varonce43; } else { -var45 = "` and `"; -var46 = core__flat___NativeString___to_s_full(var45, 7l, 7l); +var45 = "`; conflict between `"; +var47 = (val*)(21l<<2|1); +var48 = (val*)(21l<<2|1); +var49 = (val*)((long)(0)<<2|3); +var50 = (val*)((long)(0)<<2|3); +var46 = core__flat___CString___to_s_unsafe(var45, var47, var48, var49, var50); var44 = var46; varonce43 = var44; } -((struct instance_core__NativeArray*)var34)->values[4]=var44; -if (likely(varonce47!=NULL)) { -var48 = varonce47; -} else { -var49 = "`."; -var50 = core__flat___NativeString___to_s_full(var49, 2l, 2l); -var48 = var50; -varonce47 = var48; -} -((struct instance_core__NativeArray*)var34)->values[6]=var48; +((struct instance_core__NativeArray*)var34)->values[2]=var44; +if (likely(varonce51!=NULL)) { +var52 = varonce51; +} else { +var53 = "` and `"; +var55 = (val*)(7l<<2|1); +var56 = (val*)(7l<<2|1); +var57 = (val*)((long)(0)<<2|3); +var58 = (val*)((long)(0)<<2|3); +var54 = core__flat___CString___to_s_unsafe(var53, var55, var56, var57, var58); +var52 = var54; +varonce51 = var52; +} +((struct instance_core__NativeArray*)var34)->values[4]=var52; +if (likely(varonce59!=NULL)) { +var60 = varonce59; +} else { +var61 = "`."; +var63 = (val*)(2l<<2|1); +var64 = (val*)(2l<<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; +} +((struct instance_core__NativeArray*)var34)->values[6]=var60; } else { var34 = varonce; varonce = NULL; } ((struct instance_core__NativeArray*)var34)->values[1]=var_name; { -var51 = nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var_mclass); +var67 = nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var_mclass); } -((struct instance_core__NativeArray*)var34)->values[3]=var51; +((struct instance_core__NativeArray*)var34)->values[3]=var67; { -var52 = nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var_res); +var68 = nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var_res); } -((struct instance_core__NativeArray*)var34)->values[5]=var52; +((struct instance_core__NativeArray*)var34)->values[5]=var68; { -var53 = ((val*(*)(val* self))(var34->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var34); /* native_to_s on */ +var69 = ((val*(*)(val* self))(var34->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var34); /* native_to_s on */ } varonce = var34; { -nitc___nitc__ModelBuilder___error(self, var_anode, var53); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(self, var_anode, var69); /* Direct call modelbuilder_base$ModelBuilder$error on */ } var = ((val*)NULL); goto RET_LABEL; @@ -427,7 +492,246 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method modelbuilder_base#ModelBuilder#get_mclass_by_name for (self: ModelBuilder, ANode, MModule, String): nullable MClass */ +/* method modelbuilder_base$ModelBuilder$try_get_mclass_by_qid for (self: ModelBuilder, AQclassid, MModule): nullable MClass */ +val* nitc___nitc__ModelBuilder___try_get_mclass_by_qid(val* self, val* p0, val* p1) { +val* var /* : nullable MClass */; +val* var_qid /* var qid: AQclassid */; +val* var_mmodule /* var mmodule: MModule */; +val* var1 /* : TClassid */; +val* var3 /* : TClassid */; +val* var4 /* : String */; +val* var_name /* var name: String */; +val* var5 /* : Model */; +val* var7 /* : Model */; +val* var8 /* : nullable Array[MClass] */; +val* var_classes /* var classes: nullable Array[MClass] */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +val* var_res /* var res: nullable MClass */; +val* var_ /* var : Array[MClass] */; +val* var11 /* : IndexedIterator[nullable Object] */; +val* var_12 /* var : IndexedIterator[MClass] */; +short int var13 /* : Bool */; +val* var14 /* : nullable Object */; +val* var_mclass /* var mclass: MClass */; +val* var15 /* : POSetElement[MModule] */; +val* var17 /* : POSetElement[MModule] */; +val* var18 /* : MModule */; +val* var20 /* : MModule */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +val* var24 /* : MModule */; +val* var26 /* : MModule */; +val* var27 /* : MVisibility */; +val* var29 /* : MVisibility */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var33 /* : Bool */; +short int var34 /* : Bool */; +short int var35 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var37 /* : Bool */; +short int var39 /* : Bool */; +var_qid = p0; +var_mmodule = p1; +{ +{ /* Inline parser_nodes$AQclassid$n_id (var_qid) on */ +var3 = var_qid->attrs[COLOR_nitc__parser_nodes__AQclassid___n_id].val; /* _n_id on */ +if (unlikely(var3 == 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, 1733); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = nitc__lexer_work___Token___text(var1); +} +var_name = var4; +{ +{ /* Inline modelbuilder_base$ModelBuilder$model (self) on */ +var7 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___model].val; /* _model on */ +if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 44); +fatal_exit(1); +} +var5 = var7; +RET_LABEL6:(void)0; +} +} +{ +var8 = nitc__model___Model___get_mclasses_by_name(var5, var_name); +} +var_classes = var8; +if (var_classes == NULL) { +var9 = 1; /* is null */ +} else { +var9 = 0; /* arg is null but recv is not */ +} +if (0) { +var10 = core___core__Array___core__kernel__Object___61d_61d(var_classes, ((val*)NULL)); +var9 = var10; +} +if (var9){ +var = ((val*)NULL); +goto RET_LABEL; +} else { +} +var_res = ((val*)NULL); +var_ = var_classes; +{ +var11 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_); +} +var_12 = var11; +for(;;) { +{ +var13 = ((short int(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_12); /* is_ok on */ +} +if (var13){ +} else { +goto BREAK_label; +} +{ +var14 = ((val*(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_12); /* item on */ +} +var_mclass = var14; +{ +{ /* Inline mmodule$MModule$in_importation (var_mmodule) on */ +var17 = var_mmodule->attrs[COLOR_nitc__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var17 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 108); +fatal_exit(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} +} +{ +{ /* Inline model$MClass$intro_mmodule (var_mclass) on */ +var20 = var_mclass->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var20 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); +fatal_exit(1); +} +var18 = var20; +RET_LABEL19:(void)0; +} +} +{ +var21 = poset___poset__POSetElement____60d_61d(var15, var18); +} +var22 = !var21; +if (var22){ +goto BREAK_label23; +} else { +} +{ +{ /* Inline model$MClass$intro_mmodule (var_mclass) on */ +var26 = var_mclass->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var26 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); +fatal_exit(1); +} +var24 = var26; +RET_LABEL25:(void)0; +} +} +{ +{ /* Inline model$MClass$visibility (var_mclass) on */ +var29 = var_mclass->attrs[COLOR_nitc__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var29 == 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, 476); +fatal_exit(1); +} +var27 = var29; +RET_LABEL28:(void)0; +} +} +{ +var30 = nitc___nitc__MModule___is_visible(var_mmodule, var24, var27); +} +var31 = !var30; +if (var31){ +goto BREAK_label23; +} else { +} +{ +var32 = nitc__modelbuilder_base___AQclassid___accept(var_qid, var_mclass); +} +var33 = !var32; +if (var33){ +goto BREAK_label23; +} else { +} +if (var_res == NULL) { +var34 = 1; /* is null */ +} else { +var34 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel$Object$== (var_res,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel$Object$is_same_instance (var_res,var_other) on */ +var39 = var_res == var_other; +var37 = var39; +goto RET_LABEL38; +RET_LABEL38:(void)0; +} +} +var35 = var37; +goto RET_LABEL36; +RET_LABEL36:(void)0; +} +var34 = var35; +} +if (var34){ +var_res = var_mclass; +} else { +var = ((val*)NULL); +goto RET_LABEL; +} +BREAK_label23: (void)0; +{ +((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_12); /* next on */ +} +} +BREAK_label: (void)0; +{ +((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_12); /* finish on */ +} +var = var_res; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$ModelBuilder$get_mclass_by_name for (self: ModelBuilder, ANode, MModule, String): nullable MClass */ val* nitc___nitc__ModelBuilder___get_mclass_by_name(val* self, val* p0, val* p1, val* p2) { val* var /* : nullable MClass */; val* var_node /* var node: ANode */; @@ -444,13 +748,21 @@ val* var8 /* : NativeArray[String] */; static val* varonce; static val* varonce9; val* var10 /* : String */; -char* var11 /* : NativeString */; +char* var11 /* : CString */; val* var12 /* : String */; -static val* varonce13; -val* var14 /* : String */; -char* var15 /* : NativeString */; -val* var16 /* : String */; -val* var17 /* : String */; +val* var13 /* : nullable Int */; +val* var14 /* : nullable Int */; +val* var15 /* : nullable Bool */; +val* var16 /* : nullable Bool */; +static val* varonce17; +val* var18 /* : String */; +char* var19 /* : CString */; +val* var20 /* : String */; +val* var21 /* : nullable Int */; +val* var22 /* : nullable Int */; +val* var23 /* : nullable Bool */; +val* var24 /* : nullable Bool */; +val* var25 /* : String */; var_node = p0; var_mmodule = p1; var_name = p2; @@ -464,10 +776,10 @@ var2 = 1; /* is null */ var2 = 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 */ +{ /* Inline kernel$Object$is_same_instance (var_mclass,var_other) on */ var7 = var_mclass == var_other; var5 = var7; goto RET_LABEL6; @@ -482,36 +794,44 @@ var2 = var3; } if (var2){ if (unlikely(varonce==NULL)) { -var8 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +var8 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); if (likely(varonce9!=NULL)) { var10 = varonce9; } else { var11 = "Type Error: missing primitive class `"; -var12 = core__flat___NativeString___to_s_full(var11, 37l, 37l); +var13 = (val*)(37l<<2|1); +var14 = (val*)(37l<<2|1); +var15 = (val*)((long)(0)<<2|3); +var16 = (val*)((long)(0)<<2|3); +var12 = core__flat___CString___to_s_unsafe(var11, var13, var14, var15, var16); var10 = var12; varonce9 = var10; } ((struct instance_core__NativeArray*)var8)->values[0]=var10; -if (likely(varonce13!=NULL)) { -var14 = varonce13; +if (likely(varonce17!=NULL)) { +var18 = varonce17; } else { -var15 = "\'."; -var16 = core__flat___NativeString___to_s_full(var15, 2l, 2l); -var14 = var16; -varonce13 = var14; +var19 = "\'."; +var21 = (val*)(2l<<2|1); +var22 = (val*)(2l<<2|1); +var23 = (val*)((long)(0)<<2|3); +var24 = (val*)((long)(0)<<2|3); +var20 = core__flat___CString___to_s_unsafe(var19, var21, var22, var23, var24); +var18 = var20; +varonce17 = var18; } -((struct instance_core__NativeArray*)var8)->values[2]=var14; +((struct instance_core__NativeArray*)var8)->values[2]=var18; } else { var8 = varonce; varonce = NULL; } ((struct instance_core__NativeArray*)var8)->values[1]=var_name; { -var17 = ((val*(*)(val* self))(var8->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var8); /* native_to_s on */ +var25 = ((val*(*)(val* self))(var8->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var8); /* native_to_s on */ } varonce = var8; { -nitc___nitc__ModelBuilder___error(self, var_node, var17); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(self, var_node, var25); /* Direct call modelbuilder_base$ModelBuilder$error on */ } } else { } @@ -520,7 +840,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method modelbuilder_base#ModelBuilder#try_get_mproperty_by_name2 for (self: ModelBuilder, ANode, MModule, MType, String): nullable MProperty */ +/* method modelbuilder_base$ModelBuilder$try_get_mproperty_by_name2 for (self: ModelBuilder, ANode, MModule, MType, String): nullable MProperty */ val* nitc___nitc__ModelBuilder___try_get_mproperty_by_name2(val* self, val* p0, val* p1, val* p2, val* p3) { val* var /* : nullable MProperty */; val* var_anode /* var anode: ANode */; @@ -687,37 +1007,60 @@ val* var175 /* : NativeArray[String] */; static val* varonce; static val* varonce176; val* var177 /* : String */; -char* var178 /* : NativeString */; +char* var178 /* : CString */; val* var179 /* : String */; -static val* varonce180; -val* var181 /* : String */; -char* var182 /* : NativeString */; -val* var183 /* : String */; +val* var180 /* : nullable Int */; +val* var181 /* : nullable Int */; +val* var182 /* : nullable Bool */; +val* var183 /* : nullable Bool */; static val* varonce184; val* var185 /* : String */; -char* var186 /* : NativeString */; +char* var186 /* : CString */; val* var187 /* : String */; -static val* varonce188; -val* var189 /* : String */; -char* var190 /* : NativeString */; -val* var191 /* : String */; -val* var192 /* : String */; -static val* varonce193; -val* var194 /* : String */; -char* var195 /* : NativeString */; -val* var196 /* : String */; -val* var197 /* : String */; -val* var198 /* : String */; -val* var199 /* : HashMap3[MModule, MType, String, nullable MProperty] */; -val* var201 /* : HashMap3[MModule, MType, String, nullable MProperty] */; +val* var188 /* : nullable Int */; +val* var189 /* : nullable Int */; +val* var190 /* : nullable Bool */; +val* var191 /* : nullable Bool */; +static val* varonce192; +val* var193 /* : String */; +char* var194 /* : CString */; +val* var195 /* : String */; +val* var196 /* : nullable Int */; +val* var197 /* : nullable Int */; +val* var198 /* : nullable Bool */; +val* var199 /* : nullable Bool */; +static val* varonce200; +val* var201 /* : String */; +char* var202 /* : CString */; +val* var203 /* : String */; +val* var204 /* : nullable Int */; +val* var205 /* : nullable Int */; +val* var206 /* : nullable Bool */; +val* var207 /* : nullable Bool */; +val* var208 /* : String */; +static val* varonce209; +val* var210 /* : String */; +char* var211 /* : CString */; +val* var212 /* : String */; +val* var213 /* : nullable Int */; +val* var214 /* : nullable Int */; +val* var215 /* : nullable Bool */; +val* var216 /* : nullable Bool */; +val* var217 /* : String */; +val* var218 /* : String */; +val* var219 /* : HashMap3[MModule, MType, String, nullable MProperty] */; +val* var221 /* : HashMap3[MModule, MType, String, nullable MProperty] */; var_anode = p0; var_mmodule = p1; var_mtype = p2; var_name = p3; { -{ /* Inline modelbuilder_base#ModelBuilder#model (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$model (self) on */ var3 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___model].val; /* _model on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 44); fatal_exit(1); @@ -745,11 +1088,14 @@ goto RET_LABEL; } else { } { -{ /* Inline modelbuilder_base#ModelBuilder#try_get_mproperty_by_name2_cache (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$try_get_mproperty_by_name2_cache (self) on */ var9 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___try_get_mproperty_by_name2_cache].val; /* _try_get_mproperty_by_name2_cache on */ if (unlikely(var9 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_get_mproperty_by_name2_cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 178); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 208); fatal_exit(1); } var7 = var9; @@ -766,7 +1112,7 @@ var11 = 0; /* is null */ var11 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_cache,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_cache,((val*)NULL)) on */ var_other = ((val*)NULL); { var14 = ((short int(*)(val* self, val* p0))(var_cache->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_cache, var_other); /* == on */ @@ -811,11 +1157,14 @@ goto BREAK_label22; } else { } { -{ /* Inline model#MProperty#intro_mclassdef (var_mprop) on */ +{ /* Inline model$MProperty$intro_mclassdef (var_mprop) on */ var25 = var_mprop->attrs[COLOR_nitc__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ if (unlikely(var25 == 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); } var23 = var25; @@ -823,11 +1172,14 @@ RET_LABEL24:(void)0; } } { -{ /* Inline model#MClassDef#mmodule (var23) on */ +{ /* Inline model$MClassDef$mmodule (var23) on */ var28 = var23->attrs[COLOR_nitc__model__MClassDef___mmodule].val; /* _mmodule on */ if (unlikely(var28 == 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); } var26 = var28; @@ -835,11 +1187,14 @@ RET_LABEL27:(void)0; } } { -{ /* Inline model#MProperty#visibility (var_mprop) on */ +{ /* Inline model$MProperty$visibility (var_mprop) on */ var31 = var_mprop->attrs[COLOR_nitc__model__MProperty___visibility].val; /* _visibility on */ if (unlikely(var31 == 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); } var29 = var31; @@ -865,7 +1220,7 @@ var36 = var_mprop->type->type_table[cltype] == idtype; var_37 = var36; if (var36){ { -{ /* Inline model#MMethod#is_new (var_mprop) on */ +{ /* 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; @@ -891,11 +1246,14 @@ if (var46){ var42 = var_47; } else { { -{ /* Inline model#MProperty#intro_mclassdef (var_mprop) on */ +{ /* Inline model$MProperty$intro_mclassdef (var_mprop) on */ var50 = var_mprop->attrs[COLOR_nitc__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ if (unlikely(var50 == 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); } var48 = var50; @@ -903,11 +1261,14 @@ RET_LABEL49:(void)0; } } { -{ /* Inline model#MClassDef#mclass (var48) on */ +{ /* Inline model$MClassDef$mclass (var48) on */ var53 = var48->attrs[COLOR_nitc__model__MClassDef___mclass].val; /* _mclass on */ if (unlikely(var53 == 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); } var51 = var53; @@ -915,11 +1276,14 @@ RET_LABEL52:(void)0; } } { -{ /* Inline model#MClassType#mclass (var_mtype) on */ +{ /* Inline model$MClassType$mclass (var_mtype) on */ var56 = var_mtype->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on */ if (unlikely(var56 == 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, 1163); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1197); fatal_exit(1); } var54 = var56; @@ -927,7 +1291,7 @@ RET_LABEL55:(void)0; } } { -{ /* Inline kernel#Object#!= (var51,var54) on */ +{ /* Inline kernel$Object$!= (var51,var54) on */ var_other = var54; { var59 = ((short int(*)(val* self, val* p0))(var51->class->vft[COLOR_core__kernel__Object___61d_61d]))(var51, var_other); /* == on */ @@ -954,10 +1318,10 @@ var61 = 1; /* is null */ var61 = 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_other64 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_res,var_other64) on */ +{ /* Inline kernel$Object$is_same_instance (var_res,var_other64) on */ var67 = var_res == var_other64; var65 = var67; goto RET_LABEL66; @@ -1000,7 +1364,7 @@ var70 = var_74; var_78 = var70; if (var70){ { -{ /* Inline model#MMethod#is_init (var_res) on */ +{ /* Inline model$MMethod$is_init (var_res) on */ var81 = var_res->attrs[COLOR_nitc__model__MMethod___is_init].s; /* _is_init on */ var79 = var81; RET_LABEL80:(void)0; @@ -1013,7 +1377,7 @@ var69 = var_78; var_82 = var69; if (var69){ { -{ /* Inline model#MMethod#is_init (var_mprop) on */ +{ /* Inline model$MMethod$is_init (var_mprop) on */ var85 = var_mprop->attrs[COLOR_nitc__model__MMethod___is_init].s; /* _is_init on */ var83 = var85; RET_LABEL84:(void)0; @@ -1025,11 +1389,14 @@ var68 = var_82; } if (var68){ { -{ /* Inline model#MProperty#intro_mclassdef (var_res) on */ +{ /* Inline model$MProperty$intro_mclassdef (var_res) on */ var88 = var_res->attrs[COLOR_nitc__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ if (unlikely(var88 == 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); } var86 = var88; @@ -1037,11 +1404,14 @@ RET_LABEL87:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var86) on */ +{ /* Inline model$MClassDef$bound_mtype (var86) on */ var91 = var86->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ if (unlikely(var91 == 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); } var89 = var91; @@ -1050,11 +1420,14 @@ RET_LABEL90:(void)0; } var_restype = var89; { -{ /* Inline model#MProperty#intro_mclassdef (var_mprop) on */ +{ /* Inline model$MProperty$intro_mclassdef (var_mprop) on */ var94 = var_mprop->attrs[COLOR_nitc__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ if (unlikely(var94 == 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); } var92 = var94; @@ -1062,11 +1435,14 @@ RET_LABEL93:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var92) on */ +{ /* Inline model$MClassDef$bound_mtype (var92) on */ var97 = var92->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ if (unlikely(var97 == 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); } var95 = var97; @@ -1096,16 +1472,16 @@ var99 = var100; if (var99){ var101 = NEW_core__Array(&type_core__Array__nitc__MProperty); { -core___core__Array___core__kernel__Object__init(var101); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var101); /* Direct call array$Array$init on */ } var_ress = var101; { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_ress, var_res); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_ress, var_res); /* Direct call array$Array$add on */ } } else { } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_ress, var_mprop); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_ress, var_mprop); /* Direct call array$Array$add on */ } BREAK_label22: (void)0; { @@ -1122,7 +1498,7 @@ var104 = 0; /* is null */ var104 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ress,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_ress,((val*)NULL)) on */ var_other = ((val*)NULL); { var107 = ((short int(*)(val* self, val* p0))(var_ress->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ress, var_other); /* == on */ @@ -1155,7 +1531,7 @@ var103 = var_109; var_113 = var103; if (var103){ { -{ /* Inline model#MMethod#is_init (var_res) on */ +{ /* Inline model$MMethod$is_init (var_res) on */ var116 = var_res->attrs[COLOR_nitc__model__MMethod___is_init].s; /* _is_init on */ var114 = var116; RET_LABEL115:(void)0; @@ -1167,11 +1543,14 @@ var102 = var_113; } if (var102){ { -{ /* Inline model#MProperty#intro_mclassdef (var_res) on */ +{ /* Inline model$MProperty$intro_mclassdef (var_res) on */ var119 = var_res->attrs[COLOR_nitc__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ if (unlikely(var119 == 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); } var117 = var119; @@ -1179,11 +1558,14 @@ RET_LABEL118:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var117) on */ +{ /* Inline model$MClassDef$bound_mtype (var117) on */ var122 = var117->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ if (unlikely(var122 == 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); } var120 = var122; @@ -1193,7 +1575,7 @@ RET_LABEL121:(void)0; var_restype123 = var120; var124 = NEW_core__Array(&type_core__Array__nitc__MProperty); { -core___core__Array___core__kernel__Object__init(var124); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var124); /* Direct call array$Array$init on */ } var_ress2 = var124; var_125 = var_ress; @@ -1214,11 +1596,14 @@ var130 = ((val*(*)(val* self))((((long)var_127&3)?class_info[((long)var_127&3)]: } var_mprop131 = var130; { -{ /* Inline model#MProperty#intro_mclassdef (var_mprop131) on */ +{ /* Inline model$MProperty$intro_mclassdef (var_mprop131) on */ var134 = var_mprop131->attrs[COLOR_nitc__model__MProperty___intro_mclassdef].val; /* _intro_mclassdef on */ if (unlikely(var134 == 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); } var132 = var134; @@ -1226,11 +1611,14 @@ RET_LABEL133:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var132) on */ +{ /* Inline model$MClassDef$bound_mtype (var132) on */ var137 = var132->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ if (unlikely(var137 == 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); } var135 = var137; @@ -1244,7 +1632,7 @@ var139 = nitc___nitc__MType___is_subtype(var_restype123, var_mmodule, ((val*)NUL var140 = !var139; if (var140){ { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_ress2, var_mprop131); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_ress2, var_mprop131); /* Direct call array$Array$add on */ } } else { /* isa MMethod */ @@ -1261,7 +1649,7 @@ if (var145){ var141 = var_146; } else { { -{ /* Inline model#MMethod#is_init (var_mprop131) on */ +{ /* Inline model$MMethod$is_init (var_mprop131) on */ var149 = var_mprop131->attrs[COLOR_nitc__model__MMethod___is_init].s; /* _is_init on */ var147 = var149; RET_LABEL148:(void)0; @@ -1272,7 +1660,7 @@ var141 = var150; } if (var141){ { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_ress2, var_mprop131); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_ress2, var_mprop131); /* Direct call array$Array$add on */ } } else { } @@ -1293,7 +1681,7 @@ var_ress = ((val*)NULL); } else { var_ress = var_ress2; { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_ress, var_res); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_ress, var_res); /* Direct call array$Array$add on */ } } } else { @@ -1304,7 +1692,7 @@ var152 = 0; /* is null */ var152 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ress,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_ress,((val*)NULL)) on */ var_other = ((val*)NULL); { var155 = ((short int(*)(val* self, val* p0))(var_ress->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ress, var_other); /* == on */ @@ -1318,21 +1706,21 @@ var152 = var153; } if (var152){ { -{ /* Inline array#AbstractArrayRead#length (var_ress) on */ +{ /* Inline array$AbstractArrayRead$length (var_ress) on */ var159 = var_ress->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ var157 = var159; RET_LABEL158:(void)0; } } { -{ /* Inline kernel#Int#> (var157,1l) on */ +{ /* Inline kernel$Int$> (var157,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var162 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var162)) { 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); } var165 = var157 > 1l; @@ -1342,13 +1730,16 @@ RET_LABEL161:(void)0; } } if (unlikely(!var160)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 168); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 198); fatal_exit(1); } var166 = NEW_core__Array(&type_core__Array__core__String); { -core___core__Array___core__kernel__Object__init(var166); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var166); /* Direct call array$Array$init on */ } var_s = var166; var_167 = var_ress; @@ -1372,7 +1763,7 @@ var_mprop173 = var172; var174 = nitc___nitc__MProperty___nitc__model_base__MEntity__full_name(var_mprop173); } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_s, var174); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_s, var174); /* Direct call array$Array$add on */ } { ((void(*)(val* self))((((long)var_169&3)?class_info[((long)var_169&3)]:var_169->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_169); /* next on */ @@ -1383,108 +1774,134 @@ BREAK_label171: (void)0; ((void(*)(val* self))((((long)var_169&3)?class_info[((long)var_169&3)]:var_169->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_169); /* finish on */ } if (unlikely(varonce==NULL)) { -var175 = NEW_core__NativeArray(7l, &type_core__NativeArray__core__String); +var175 = NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String); if (likely(varonce176!=NULL)) { var177 = varonce176; } else { var178 = "Error: ambiguous property name `"; -var179 = core__flat___NativeString___to_s_full(var178, 32l, 32l); +var180 = (val*)(32l<<2|1); +var181 = (val*)(32l<<2|1); +var182 = (val*)((long)(0)<<2|3); +var183 = (val*)((long)(0)<<2|3); +var179 = core__flat___CString___to_s_unsafe(var178, var180, var181, var182, var183); var177 = var179; varonce176 = var177; } ((struct instance_core__NativeArray*)var175)->values[0]=var177; -if (likely(varonce180!=NULL)) { -var181 = varonce180; -} else { -var182 = "` for `"; -var183 = core__flat___NativeString___to_s_full(var182, 7l, 7l); -var181 = var183; -varonce180 = var181; -} -((struct instance_core__NativeArray*)var175)->values[2]=var181; if (likely(varonce184!=NULL)) { var185 = varonce184; } else { -var186 = "`; conflict between "; -var187 = core__flat___NativeString___to_s_full(var186, 20l, 20l); +var186 = "` for `"; +var188 = (val*)(7l<<2|1); +var189 = (val*)(7l<<2|1); +var190 = (val*)((long)(0)<<2|3); +var191 = (val*)((long)(0)<<2|3); +var187 = core__flat___CString___to_s_unsafe(var186, var188, var189, var190, var191); var185 = var187; varonce184 = var185; } -((struct instance_core__NativeArray*)var175)->values[4]=var185; -if (likely(varonce188!=NULL)) { -var189 = varonce188; -} else { -var190 = "."; -var191 = core__flat___NativeString___to_s_full(var190, 1l, 1l); -var189 = var191; -varonce188 = var189; -} -((struct instance_core__NativeArray*)var175)->values[6]=var189; +((struct instance_core__NativeArray*)var175)->values[2]=var185; +if (likely(varonce192!=NULL)) { +var193 = varonce192; +} else { +var194 = "`; conflict between "; +var196 = (val*)(20l<<2|1); +var197 = (val*)(20l<<2|1); +var198 = (val*)((long)(0)<<2|3); +var199 = (val*)((long)(0)<<2|3); +var195 = core__flat___CString___to_s_unsafe(var194, var196, var197, var198, var199); +var193 = var195; +varonce192 = var193; +} +((struct instance_core__NativeArray*)var175)->values[4]=var193; +if (likely(varonce200!=NULL)) { +var201 = varonce200; +} else { +var202 = "."; +var204 = (val*)(1l<<2|1); +var205 = (val*)(1l<<2|1); +var206 = (val*)((long)(0)<<2|3); +var207 = (val*)((long)(0)<<2|3); +var203 = core__flat___CString___to_s_unsafe(var202, var204, var205, var206, var207); +var201 = var203; +varonce200 = var201; +} +((struct instance_core__NativeArray*)var175)->values[6]=var201; } else { var175 = varonce; varonce = NULL; } ((struct instance_core__NativeArray*)var175)->values[1]=var_name; { -var192 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mtype); /* to_s on */ +var208 = ((val*(*)(val* self))(var_mtype->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mtype); /* to_s on */ } -((struct instance_core__NativeArray*)var175)->values[3]=var192; -if (likely(varonce193!=NULL)) { -var194 = varonce193; +((struct instance_core__NativeArray*)var175)->values[3]=var208; +if (likely(varonce209!=NULL)) { +var210 = varonce209; } else { -var195 = " and "; -var196 = core__flat___NativeString___to_s_full(var195, 5l, 5l); -var194 = var196; -varonce193 = var194; +var211 = " and "; +var213 = (val*)(5l<<2|1); +var214 = (val*)(5l<<2|1); +var215 = (val*)((long)(0)<<2|3); +var216 = (val*)((long)(0)<<2|3); +var212 = core__flat___CString___to_s_unsafe(var211, var213, var214, var215, var216); +var210 = var212; +varonce209 = var210; } { -var197 = core__abstract_text___Collection___join(var_s, var194); +var217 = core__abstract_text___Collection___join(var_s, var210, ((val*)NULL)); } -((struct instance_core__NativeArray*)var175)->values[5]=var197; +((struct instance_core__NativeArray*)var175)->values[5]=var217; { -var198 = ((val*(*)(val* self))(var175->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var175); /* native_to_s on */ +var218 = ((val*(*)(val* self))(var175->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var175); /* native_to_s on */ } varonce = var175; { -nitc___nitc__ModelBuilder___error(self, var_anode, var198); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(self, var_anode, var218); /* Direct call modelbuilder_base$ModelBuilder$error on */ } } else { } { -{ /* Inline modelbuilder_base#ModelBuilder#try_get_mproperty_by_name2_cache (self) on */ -var201 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___try_get_mproperty_by_name2_cache].val; /* _try_get_mproperty_by_name2_cache on */ -if (unlikely(var201 == NULL)) { +{ /* Inline modelbuilder_base$ModelBuilder$try_get_mproperty_by_name2_cache (self) on */ +var221 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___try_get_mproperty_by_name2_cache].val; /* _try_get_mproperty_by_name2_cache on */ +if (unlikely(var221 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_get_mproperty_by_name2_cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 178); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 208); fatal_exit(1); } -var199 = var201; -RET_LABEL200:(void)0; +var219 = var221; +RET_LABEL220:(void)0; } } { -more_collections___more_collections__HashMap3____91d_93d_61d(var199, var_mmodule, var_mtype, var_name, var_res); /* Direct call more_collections#HashMap3#[]= on */ +more_collections___more_collections__HashMap3____91d_93d_61d(var219, var_mmodule, var_mtype, var_name, var_res); /* Direct call more_collections$HashMap3$[]= on */ } var = var_res; goto RET_LABEL; RET_LABEL:; return var; } -/* method modelbuilder_base#ModelBuilder#try_get_mproperty_by_name2_cache for (self: ModelBuilder): HashMap3[MModule, MType, String, nullable MProperty] */ +/* method modelbuilder_base$ModelBuilder$try_get_mproperty_by_name2_cache for (self: ModelBuilder): HashMap3[MModule, MType, String, nullable MProperty] */ val* nitc___nitc__ModelBuilder___try_get_mproperty_by_name2_cache(val* self) { val* var /* : HashMap3[MModule, MType, String, nullable MProperty] */; val* var1 /* : HashMap3[MModule, MType, String, nullable MProperty] */; var1 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___try_get_mproperty_by_name2_cache].val; /* _try_get_mproperty_by_name2_cache on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _try_get_mproperty_by_name2_cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 178); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 208); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method modelbuilder_base#ModelBuilder#try_get_mproperty_by_name for (self: ModelBuilder, ANode, MClassDef, String): nullable MProperty */ +/* method modelbuilder_base$ModelBuilder$try_get_mproperty_by_name for (self: ModelBuilder, ANode, MClassDef, String): nullable MProperty */ val* nitc___nitc__ModelBuilder___try_get_mproperty_by_name(val* self, val* p0, val* p1, val* p2) { val* var /* : nullable MProperty */; val* var_anode /* var anode: ANode */; @@ -1499,11 +1916,14 @@ var_anode = p0; var_mclassdef = p1; var_name = p2; { -{ /* Inline model#MClassDef#mmodule (var_mclassdef) on */ +{ /* Inline model$MClassDef$mmodule (var_mclassdef) on */ var3 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___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__model, 573); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 588); fatal_exit(1); } var1 = var3; @@ -1511,11 +1931,14 @@ RET_LABEL2:(void)0; } } { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ +{ /* Inline model$MClassDef$bound_mtype (var_mclassdef) on */ var6 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ if (unlikely(var6 == 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); } var4 = var6; @@ -1530,7 +1953,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method modelbuilder_base#ModelBuilder#error for (self: ModelBuilder, nullable ANode, String) */ +/* method modelbuilder_base$ModelBuilder$error for (self: ModelBuilder, nullable ANode, String) */ void nitc___nitc__ModelBuilder___error(val* self, val* p0, val* p1) { val* var_n /* var n: nullable ANode */; val* var_text /* var text: String */; @@ -1553,7 +1976,7 @@ var = 0; /* is null */ var = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_n,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_n,((val*)NULL)) on */ var_other = ((val*)NULL); { var3 = ((short int(*)(val* self, val* p0))(var_n->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n, var_other); /* == on */ @@ -1571,7 +1994,7 @@ var5 = ((val*(*)(val* self))(var_n->class->vft[COLOR_nitc__parser_nodes__ANode__ } var_l = var5; { -{ /* Inline modelbuilder_base#ANode#is_broken= (var_n,1) on */ +{ /* 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_LABEL6:(void)0; } @@ -1579,9 +2002,12 @@ RET_LABEL6:(void)0; } else { } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on */ var9 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var9 == 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); @@ -1595,7 +2021,7 @@ var10 = nitc___nitc__ToolContext___error(var7, var_l, var_text); } RET_LABEL:; } -/* method modelbuilder_base#ModelBuilder#warning for (self: ModelBuilder, nullable ANode, String, String) */ +/* method modelbuilder_base$ModelBuilder$warning for (self: ModelBuilder, nullable ANode, String, String) */ void nitc___nitc__ModelBuilder___warning(val* self, val* p0, val* p1, val* p2) { val* var_n /* var n: nullable ANode */; val* var_tag /* var tag: String */; @@ -1620,7 +2046,7 @@ var = 0; /* is null */ var = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_n,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_n,((val*)NULL)) on */ var_other = ((val*)NULL); { var3 = ((short int(*)(val* self, val* p0))(var_n->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n, var_other); /* == on */ @@ -1640,9 +2066,12 @@ var_l = var5; } else { } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on */ var8 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var8 == 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); @@ -1656,7 +2085,7 @@ var9 = nitc___nitc__ToolContext___warning(var6, var_l, var_tag, var_text); } RET_LABEL:; } -/* method modelbuilder_base#ModelBuilder#advice for (self: ModelBuilder, nullable ANode, String, String) */ +/* method modelbuilder_base$ModelBuilder$advice for (self: ModelBuilder, nullable ANode, String, String) */ void nitc___nitc__ModelBuilder___advice(val* self, val* p0, val* p1, val* p2) { val* var_n /* var n: nullable ANode */; val* var_tag /* var tag: String */; @@ -1681,7 +2110,7 @@ var = 0; /* is null */ var = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_n,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_n,((val*)NULL)) on */ var_other = ((val*)NULL); { var3 = ((short int(*)(val* self, val* p0))(var_n->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n, var_other); /* == on */ @@ -1701,9 +2130,12 @@ var_l = var5; } else { } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on */ var8 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var8 == 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); @@ -1717,7 +2149,7 @@ var9 = nitc___nitc__ToolContext___advice(var6, var_l, var_tag, var_text); } RET_LABEL:; } -/* method modelbuilder_base#ModelBuilder#force_get_primitive_method for (self: ModelBuilder, nullable ANode, String, MClass, MModule): MMethod */ +/* method modelbuilder_base$ModelBuilder$force_get_primitive_method for (self: ModelBuilder, nullable ANode, String, MClass, MModule): MMethod */ val* nitc___nitc__ModelBuilder___force_get_primitive_method(val* self, val* p0, val* p1, val* p2, val* p3) { val* var /* : MMethod */; val* var_n /* var n: nullable ANode */; @@ -1744,18 +2176,30 @@ val* var18 /* : NativeArray[String] */; static val* varonce; static val* varonce19; val* var20 /* : String */; -char* var21 /* : NativeString */; +char* var21 /* : CString */; val* var22 /* : String */; -static val* varonce23; -val* var24 /* : String */; -char* var25 /* : NativeString */; -val* var26 /* : String */; +val* var23 /* : nullable Int */; +val* var24 /* : nullable Int */; +val* var25 /* : nullable Bool */; +val* var26 /* : nullable Bool */; static val* varonce27; val* var28 /* : String */; -char* var29 /* : NativeString */; +char* var29 /* : CString */; val* var30 /* : String */; -val* var31 /* : String */; -val* var32 /* : String */; +val* var31 /* : nullable Int */; +val* var32 /* : nullable Int */; +val* var33 /* : nullable Bool */; +val* var34 /* : nullable Bool */; +static val* varonce35; +val* var36 /* : String */; +char* var37 /* : CString */; +val* var38 /* : String */; +val* var39 /* : nullable Int */; +val* var40 /* : nullable Int */; +val* var41 /* : nullable Bool */; +val* var42 /* : nullable Bool */; +val* var43 /* : String */; +val* var44 /* : String */; var_n = p0; var_name = p1; var_recv = p2; @@ -1770,10 +2214,10 @@ var2 = 1; /* is null */ var2 = 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 */ var7 = var_res == var_other; var5 = var7; goto RET_LABEL6; @@ -1794,7 +2238,7 @@ var8 = 0; /* is null */ var8 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_n,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_n,((val*)NULL)) on */ var_other11 = ((val*)NULL); { var12 = ((short int(*)(val* self, val* p0))(var_n->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_n, var_other11); /* == on */ @@ -1814,9 +2258,12 @@ var_l = var14; } else { } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on */ var17 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var17 == 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); @@ -1826,52 +2273,67 @@ RET_LABEL16:(void)0; } } if (unlikely(varonce==NULL)) { -var18 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String); +var18 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); if (likely(varonce19!=NULL)) { var20 = varonce19; } else { var21 = "Fatal Error: `"; -var22 = core__flat___NativeString___to_s_full(var21, 14l, 14l); +var23 = (val*)(14l<<2|1); +var24 = (val*)(14l<<2|1); +var25 = (val*)((long)(0)<<2|3); +var26 = (val*)((long)(0)<<2|3); +var22 = core__flat___CString___to_s_unsafe(var21, var23, var24, var25, var26); var20 = var22; varonce19 = var20; } ((struct instance_core__NativeArray*)var18)->values[0]=var20; -if (likely(varonce23!=NULL)) { -var24 = varonce23; -} else { -var25 = "` must have a property named `"; -var26 = core__flat___NativeString___to_s_full(var25, 30l, 30l); -var24 = var26; -varonce23 = var24; -} -((struct instance_core__NativeArray*)var18)->values[2]=var24; if (likely(varonce27!=NULL)) { var28 = varonce27; } else { -var29 = "`."; -var30 = core__flat___NativeString___to_s_full(var29, 2l, 2l); +var29 = "` must have a property named `"; +var31 = (val*)(30l<<2|1); +var32 = (val*)(30l<<2|1); +var33 = (val*)((long)(0)<<2|3); +var34 = (val*)((long)(0)<<2|3); +var30 = core__flat___CString___to_s_unsafe(var29, var31, var32, var33, var34); var28 = var30; varonce27 = var28; } -((struct instance_core__NativeArray*)var18)->values[4]=var28; +((struct instance_core__NativeArray*)var18)->values[2]=var28; +if (likely(varonce35!=NULL)) { +var36 = varonce35; +} else { +var37 = "`."; +var39 = (val*)(2l<<2|1); +var40 = (val*)(2l<<2|1); +var41 = (val*)((long)(0)<<2|3); +var42 = (val*)((long)(0)<<2|3); +var38 = core__flat___CString___to_s_unsafe(var37, var39, var40, var41, var42); +var36 = var38; +varonce35 = var36; +} +((struct instance_core__NativeArray*)var18)->values[4]=var36; } else { var18 = varonce; varonce = NULL; } { -var31 = ((val*(*)(val* self))(var_recv->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_recv); /* to_s on */ +var43 = ((val*(*)(val* self))(var_recv->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_recv); /* to_s on */ } -((struct instance_core__NativeArray*)var18)->values[1]=var31; +((struct instance_core__NativeArray*)var18)->values[1]=var43; ((struct instance_core__NativeArray*)var18)->values[3]=var_name; { -var32 = ((val*(*)(val* self))(var18->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var18); /* native_to_s on */ +var44 = ((val*(*)(val* self))(var18->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var18); /* native_to_s on */ } varonce = var18; { -nitc___nitc__ToolContext___fatal_error(var15, var_l, var32); /* Direct call toolcontext#ToolContext#fatal_error on */ +nitc___nitc__ToolContext___fatal_error(var15, var_l, var44); /* Direct call toolcontext$ToolContext$fatal_error on */ +} +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 227); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 257); fatal_exit(1); } else { } @@ -1880,7 +2342,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method modelbuilder_base#ModelBuilder#resolve_mtype_unchecked for (self: ModelBuilder, MModule, nullable MClassDef, AType, Bool): nullable MType */ +/* method modelbuilder_base$ModelBuilder$resolve_mtype_unchecked for (self: ModelBuilder, MModule, nullable MClassDef, AType, Bool): nullable MType */ val* nitc___nitc__ModelBuilder___resolve_mtype_unchecked(val* self, val* p0, val* p1, val* p2, short int p3) { val* var /* : nullable MType */; val* var_mmodule /* var mmodule: MModule */; @@ -1889,6 +2351,7 @@ val* var_ntype /* var ntype: AType */; short int var_with_virtual /* var with_virtual: Bool */; val* var1 /* : AQclassid */; val* var3 /* : AQclassid */; +val* var_qid /* var qid: AQclassid */; val* var4 /* : TClassid */; val* var6 /* : TClassid */; val* var7 /* : String */; @@ -1918,206 +2381,245 @@ val* var26 /* : NativeArray[String] */; static val* varonce; static val* varonce27; val* var28 /* : String */; -char* var29 /* : NativeString */; +char* var29 /* : CString */; val* var30 /* : String */; -static val* varonce31; -val* var32 /* : String */; -char* var33 /* : NativeString */; -val* var34 /* : String */; -val* var35 /* : String */; -val* var36 /* : MVirtualType */; -val* var38 /* : MVirtualType */; +val* var31 /* : nullable Int */; +val* var32 /* : nullable Int */; +val* var33 /* : nullable Bool */; +val* var34 /* : nullable Bool */; +static val* varonce35; +val* var36 /* : String */; +char* var37 /* : CString */; +val* var38 /* : String */; +val* var39 /* : nullable Int */; +val* var40 /* : nullable Int */; +val* var41 /* : nullable Bool */; +val* var42 /* : nullable Bool */; +val* var43 /* : String */; +val* var44 /* : MVirtualType */; +val* var46 /* : MVirtualType */; val* var_res /* var res: MType */; -val* var39 /* : nullable TKwnullable */; -val* var41 /* : nullable TKwnullable */; -short int var42 /* : Bool */; -short int var43 /* : Bool */; -short int var45 /* : Bool */; -short int var46 /* : Bool */; -val* var47 /* : MType */; -short int var49 /* : Bool */; +val* var47 /* : nullable TKwnullable */; +val* var49 /* : nullable TKwnullable */; short int var50 /* : Bool */; -short int var52 /* : Bool */; +short int var51 /* : Bool */; short int var53 /* : Bool */; -val* var54 /* : MClass */; -val* var56 /* : MClass */; -val* var57 /* : Array[MParameterType] */; -val* var59 /* : Array[MParameterType] */; -val* var_60 /* var : Array[MParameterType] */; -val* var61 /* : IndexedIterator[nullable Object] */; -val* var_62 /* var : IndexedIterator[MParameterType] */; -short int var63 /* : Bool */; -val* var64 /* : nullable Object */; -val* var_p /* var p: MParameterType */; -val* var65 /* : String */; -val* var67 /* : String */; -short int var68 /* : Bool */; -short int var70 /* : Bool */; +short int var54 /* : Bool */; +val* var55 /* : MType */; +short int var57 /* : Bool */; +short int var58 /* : Bool */; +short int var60 /* : Bool */; +short int var61 /* : Bool */; +val* var62 /* : MClass */; +val* var64 /* : MClass */; +val* var65 /* : Array[MParameterType] */; +val* var67 /* : Array[MParameterType] */; +val* var_68 /* var : Array[MParameterType] */; +val* var69 /* : IndexedIterator[nullable Object] */; +val* var_70 /* var : IndexedIterator[MParameterType] */; short int var71 /* : Bool */; -val* var73 /* : ANodes[AType] */; -val* var75 /* : ANodes[AType] */; +val* var72 /* : nullable Object */; +val* var_p /* var p: MParameterType */; +val* var73 /* : String */; +val* var75 /* : String */; short int var76 /* : Bool */; -short int var77 /* : Bool */; -val* var79 /* : NativeArray[String] */; -static val* varonce78; -static val* varonce80; -val* var81 /* : String */; -char* var82 /* : NativeString */; -val* var83 /* : String */; -static val* varonce84; -val* var85 /* : String */; -char* var86 /* : NativeString */; -val* var87 /* : String */; -val* var88 /* : String */; -val* var89 /* : nullable TKwnullable */; -val* var91 /* : nullable TKwnullable */; -short int var92 /* : Bool */; -short int var93 /* : Bool */; -short int var95 /* : Bool */; -short int var96 /* : Bool */; -val* var97 /* : MType */; -val* var99 /* : nullable MClass */; -val* var_mclass /* var mclass: nullable MClass */; -short int var100 /* : Bool */; -short int var101 /* : Bool */; -short int var103 /* : Bool */; -short int var104 /* : Bool */; -val* var105 /* : ANodes[AType] */; -val* var107 /* : ANodes[AType] */; -long var108 /* : Int */; -long var_arity /* var arity: Int */; -long var109 /* : Int */; -long var111 /* : Int */; +short int var78 /* : Bool */; +short int var79 /* : Bool */; +val* var81 /* : ANodes[AType] */; +val* var83 /* : ANodes[AType] */; +short int var84 /* : Bool */; +short int var85 /* : Bool */; +val* var87 /* : NativeArray[String] */; +static val* varonce86; +static val* varonce88; +val* var89 /* : String */; +char* var90 /* : CString */; +val* var91 /* : String */; +val* var92 /* : nullable Int */; +val* var93 /* : nullable Int */; +val* var94 /* : nullable Bool */; +val* var95 /* : nullable Bool */; +static val* varonce96; +val* var97 /* : String */; +char* var98 /* : CString */; +val* var99 /* : String */; +val* var100 /* : nullable Int */; +val* var101 /* : nullable Int */; +val* var102 /* : nullable Bool */; +val* var103 /* : nullable Bool */; +val* var104 /* : String */; +val* var105 /* : nullable TKwnullable */; +val* var107 /* : nullable TKwnullable */; +short int var108 /* : Bool */; +short int var109 /* : Bool */; +short int var111 /* : Bool */; short int var112 /* : Bool */; -short int var114 /* : Bool */; -short int var115 /* : Bool */; +val* var113 /* : MType */; +val* var115 /* : nullable MClass */; +val* var_mclass /* var mclass: nullable MClass */; short int var116 /* : Bool */; -short int var118 /* : Bool */; -val* var120 /* : NativeArray[String] */; -static val* varonce119; -static val* varonce121; -val* var122 /* : String */; -char* var123 /* : NativeString */; -val* var124 /* : String */; -static val* varonce125; -val* var126 /* : String */; -char* var127 /* : NativeString */; -val* var128 /* : String */; -val* var129 /* : String */; -val* var130 /* : String */; -long var131 /* : Int */; -long var133 /* : Int */; +short int var117 /* : Bool */; +short int var119 /* : Bool */; +short int var120 /* : Bool */; +val* var121 /* : ANodes[AType] */; +val* var123 /* : ANodes[AType] */; +long var124 /* : Int */; +long var_arity /* var arity: Int */; +long var125 /* : Int */; +long var127 /* : Int */; +short int var128 /* : Bool */; +short int var130 /* : Bool */; +short int var131 /* : Bool */; +short int var132 /* : Bool */; short int var134 /* : Bool */; -short int var136 /* : Bool */; -val* var138 /* : NativeArray[String] */; +val* var136 /* : NativeArray[String] */; +static val* varonce135; static val* varonce137; -static val* varonce139; +val* var138 /* : String */; +char* var139 /* : CString */; val* var140 /* : String */; -char* var141 /* : NativeString */; -val* var142 /* : String */; -static val* varonce143; -val* var144 /* : String */; -char* var145 /* : NativeString */; +val* var141 /* : nullable Int */; +val* var142 /* : nullable Int */; +val* var143 /* : nullable Bool */; +val* var144 /* : nullable Bool */; +static val* varonce145; val* var146 /* : String */; -val* var147 /* : String */; -val* var149 /* : NativeArray[String] */; -static val* varonce148; -static val* varonce150; -val* var151 /* : String */; -char* var152 /* : NativeString */; +char* var147 /* : CString */; +val* var148 /* : String */; +val* var149 /* : nullable Int */; +val* var150 /* : nullable Int */; +val* var151 /* : nullable Bool */; +val* var152 /* : nullable Bool */; val* var153 /* : String */; -static val* varonce154; -val* var155 /* : String */; -char* var156 /* : NativeString */; -val* var157 /* : String */; -static val* varonce158; -val* var159 /* : String */; -char* var160 /* : NativeString */; -val* var161 /* : String */; -static val* varonce162; -val* var163 /* : String */; -char* var164 /* : NativeString */; -val* var165 /* : String */; -long var166 /* : Int */; -long var168 /* : Int */; -val* var169 /* : String */; -val* var170 /* : String */; -val* var171 /* : String */; +val* var154 /* : String */; +long var155 /* : Int */; +long var157 /* : Int */; +short int var158 /* : Bool */; +short int var160 /* : Bool */; +val* var162 /* : NativeArray[String] */; +static val* varonce161; +static val* varonce163; +val* var164 /* : String */; +char* var165 /* : CString */; +val* var166 /* : String */; +val* var167 /* : nullable Int */; +val* var168 /* : nullable Int */; +val* var169 /* : nullable Bool */; +val* var170 /* : nullable Bool */; +static val* varonce171; val* var172 /* : String */; -short int var173 /* : Bool */; -short int var175 /* : Bool */; -val* var176 /* : MClassType */; -val* var178 /* : MClassType */; -val* var179 /* : nullable TKwnullable */; -val* var181 /* : nullable TKwnullable */; -short int var182 /* : Bool */; -short int var183 /* : Bool */; -short int var185 /* : Bool */; -short int var186 /* : Bool */; -val* var187 /* : MType */; -val* var189 /* : Array[MType] */; +char* var173 /* : CString */; +val* var174 /* : String */; +val* var175 /* : nullable Int */; +val* var176 /* : nullable Int */; +val* var177 /* : nullable Bool */; +val* var178 /* : nullable Bool */; +val* var179 /* : String */; +val* var181 /* : NativeArray[String] */; +static val* varonce180; +static val* varonce182; +val* var183 /* : String */; +char* var184 /* : CString */; +val* var185 /* : String */; +val* var186 /* : nullable Int */; +val* var187 /* : nullable Int */; +val* var188 /* : nullable Bool */; +val* var189 /* : nullable Bool */; +static val* varonce190; +val* var191 /* : String */; +char* var192 /* : CString */; +val* var193 /* : String */; +val* var194 /* : nullable Int */; +val* var195 /* : nullable Int */; +val* var196 /* : nullable Bool */; +val* var197 /* : nullable Bool */; +static val* varonce198; +val* var199 /* : String */; +char* var200 /* : CString */; +val* var201 /* : String */; +val* var202 /* : nullable Int */; +val* var203 /* : nullable Int */; +val* var204 /* : nullable Bool */; +val* var205 /* : nullable Bool */; +static val* varonce206; +val* var207 /* : String */; +char* var208 /* : CString */; +val* var209 /* : String */; +val* var210 /* : nullable Int */; +val* var211 /* : nullable Int */; +val* var212 /* : nullable Bool */; +val* var213 /* : nullable Bool */; +long var214 /* : Int */; +long var216 /* : Int */; +val* var217 /* : String */; +val* var218 /* : String */; +val* var219 /* : String */; +val* var220 /* : String */; +short int var221 /* : Bool */; +short int var223 /* : Bool */; +val* var224 /* : MClassType */; +val* var226 /* : MClassType */; +val* var227 /* : nullable TKwnullable */; +val* var229 /* : nullable TKwnullable */; +short int var230 /* : Bool */; +short int var231 /* : Bool */; +short int var233 /* : Bool */; +short int var234 /* : Bool */; +val* var235 /* : MType */; +val* var237 /* : Array[MType] */; val* var_mtypes /* var mtypes: Array[MType] */; -val* var190 /* : ANodes[AType] */; -val* var192 /* : ANodes[AType] */; -val* var_193 /* var : ANodes[AType] */; -val* var194 /* : Iterator[ANode] */; -val* var_195 /* var : Iterator[AType] */; -short int var196 /* : Bool */; -val* var198 /* : nullable Object */; +val* var238 /* : ANodes[AType] */; +val* var240 /* : ANodes[AType] */; +val* var_241 /* var : ANodes[AType] */; +val* var242 /* : Iterator[ANode] */; +val* var_243 /* var : Iterator[AType] */; +short int var244 /* : Bool */; +val* var246 /* : nullable Object */; val* var_nt /* var nt: AType */; -val* var199 /* : nullable MType */; +val* var247 /* : nullable MType */; val* var_mt /* var mt: nullable MType */; -short int var200 /* : Bool */; -short int var201 /* : Bool */; -val* var_other203 /* var other: nullable Object */; -short int var204 /* : Bool */; -short int var206 /* : Bool */; -val* var207 /* : MClassType */; -val* var208 /* : nullable TKwnullable */; -val* var210 /* : nullable TKwnullable */; -short int var211 /* : Bool */; -short int var212 /* : Bool */; -short int var214 /* : Bool */; -short int var215 /* : Bool */; -val* var216 /* : MType */; -val* var219 /* : NativeArray[String] */; -static val* varonce218; -static val* varonce220; -val* var221 /* : String */; -char* var222 /* : NativeString */; -val* var223 /* : String */; -static val* varonce224; -val* var225 /* : String */; -char* var226 /* : NativeString */; -val* var227 /* : String */; -static val* varonce228; -val* var229 /* : String */; -char* var230 /* : NativeString */; -val* var231 /* : String */; -val* var232 /* : String */; -val* var233 /* : String */; +short int var248 /* : Bool */; +short int var249 /* : Bool */; +val* var_other251 /* var other: nullable Object */; +short int var252 /* : Bool */; +short int var254 /* : Bool */; +val* var255 /* : MClassType */; +val* var256 /* : nullable TKwnullable */; +val* var258 /* : nullable TKwnullable */; +short int var259 /* : Bool */; +short int var260 /* : Bool */; +short int var262 /* : Bool */; +short int var263 /* : Bool */; +val* var264 /* : MType */; var_mmodule = p0; var_mclassdef = p1; var_ntype = p2; var_with_virtual = p3; { -{ /* Inline parser_nodes#AType#n_qid (var_ntype) on */ +{ /* Inline parser_nodes$AType$n_qid (var_ntype) on */ var3 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_qid].val; /* _n_qid on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_qid"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1709); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1776); fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; } } +var_qid = var1; { -{ /* Inline parser_nodes#AQclassid#n_id (var1) on */ -var6 = var1->attrs[COLOR_nitc__parser_nodes__AQclassid___n_id].val; /* _n_id on */ +{ /* Inline parser_nodes$AQclassid$n_id (var_qid) on */ +var6 = var_qid->attrs[COLOR_nitc__parser_nodes__AQclassid___n_id].val; /* _n_id on */ if (unlikely(var6 == 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, 1668); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1733); fatal_exit(1); } var4 = var6; @@ -2134,7 +2636,7 @@ var9 = 0; /* is null */ var9 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mclassdef,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_mclassdef,((val*)NULL)) on */ var_other = ((val*)NULL); { var12 = ((short int(*)(val* self, val* p0))(var_mclassdef->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mclassdef, var_other); /* == on */ @@ -2171,7 +2673,7 @@ var15 = var14->type->type_table[cltype] == idtype; if (unlikely(!var15)) { var_class_name = var14 == NULL ? "null" : var14->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable MVirtualTypeProp", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 243); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 274); fatal_exit(1); } var_prop = var14; @@ -2181,7 +2683,7 @@ var16 = 0; /* is null */ var16 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_prop,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_prop,((val*)NULL)) on */ var_other = ((val*)NULL); { var19 = ((short int(*)(val* self, val* p0))(var_prop->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_prop, var_other); /* == on */ @@ -2195,11 +2697,14 @@ var16 = var17; } if (var16){ { -{ /* Inline parser_nodes#AType#n_types (var_ntype) on */ +{ /* Inline parser_nodes$AType$n_types (var_ntype) on */ var23 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on */ if (unlikely(var23 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1715); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1782); fatal_exit(1); } var21 = var23; @@ -2212,88 +2717,99 @@ var24 = nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(va var25 = !var24; if (var25){ if (unlikely(varonce==NULL)) { -var26 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +var26 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); if (likely(varonce27!=NULL)) { var28 = varonce27; } else { var29 = "Type Error: formal type `"; -var30 = core__flat___NativeString___to_s_full(var29, 25l, 25l); +var31 = (val*)(25l<<2|1); +var32 = (val*)(25l<<2|1); +var33 = (val*)((long)(0)<<2|3); +var34 = (val*)((long)(0)<<2|3); +var30 = core__flat___CString___to_s_unsafe(var29, var31, var32, var33, var34); var28 = var30; varonce27 = var28; } ((struct instance_core__NativeArray*)var26)->values[0]=var28; -if (likely(varonce31!=NULL)) { -var32 = varonce31; +if (likely(varonce35!=NULL)) { +var36 = varonce35; } else { -var33 = "` cannot have formal parameters."; -var34 = core__flat___NativeString___to_s_full(var33, 32l, 32l); -var32 = var34; -varonce31 = var32; +var37 = "` cannot have formal parameters."; +var39 = (val*)(32l<<2|1); +var40 = (val*)(32l<<2|1); +var41 = (val*)((long)(0)<<2|3); +var42 = (val*)((long)(0)<<2|3); +var38 = core__flat___CString___to_s_unsafe(var37, var39, var40, var41, var42); +var36 = var38; +varonce35 = var36; } -((struct instance_core__NativeArray*)var26)->values[2]=var32; +((struct instance_core__NativeArray*)var26)->values[2]=var36; } else { var26 = varonce; varonce = NULL; } ((struct instance_core__NativeArray*)var26)->values[1]=var_name; { -var35 = ((val*(*)(val* self))(var26->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var26); /* native_to_s on */ +var43 = ((val*(*)(val* self))(var26->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var26); /* native_to_s on */ } varonce = var26; { -nitc___nitc__ModelBuilder___error(self, var_ntype, var35); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(self, var_ntype, var43); /* Direct call modelbuilder_base$ModelBuilder$error on */ } } else { } { -{ /* Inline model#MVirtualTypeProp#mvirtualtype (var_prop) on */ -var38 = var_prop->attrs[COLOR_nitc__model__MVirtualTypeProp___mvirtualtype].val; /* _mvirtualtype on */ -if (unlikely(var38 == NULL)) { +{ /* Inline model$MVirtualTypeProp$mvirtualtype (var_prop) on */ +var46 = var_prop->attrs[COLOR_nitc__model__MVirtualTypeProp___mvirtualtype].val; /* _mvirtualtype on */ +if (unlikely(var46 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mvirtualtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2209); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 2333); fatal_exit(1); } -var36 = var38; -RET_LABEL37:(void)0; +var44 = var46; +RET_LABEL45:(void)0; } } -var_res = var36; +var_res = var44; { -{ /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on */ -var41 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -var39 = var41; -RET_LABEL40:(void)0; +{ /* Inline parser_nodes$AType$n_kwnullable (var_ntype) on */ +var49 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ +var47 = var49; +RET_LABEL48:(void)0; } } -if (var39 == NULL) { -var42 = 0; /* is null */ +if (var47 == NULL) { +var50 = 0; /* is null */ } else { -var42 = 1; /* arg is null and recv is not */ +var50 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var39,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var47,((val*)NULL)) on */ var_other = ((val*)NULL); { -var45 = ((short int(*)(val* self, val* p0))(var39->class->vft[COLOR_core__kernel__Object___61d_61d]))(var39, var_other); /* == on */ +var53 = ((short int(*)(val* self, val* p0))(var47->class->vft[COLOR_core__kernel__Object___61d_61d]))(var47, var_other); /* == on */ } -var46 = !var45; -var43 = var46; -goto RET_LABEL44; -RET_LABEL44:(void)0; +var54 = !var53; +var51 = var54; +goto RET_LABEL52; +RET_LABEL52:(void)0; } -var42 = var43; +var50 = var51; } -if (var42){ +if (var50){ { -var47 = nitc___nitc__MType___as_nullable(var_res); +var55 = nitc___nitc__MType___as_nullable(var_res); } -var_res = var47; +var_res = var55; } else { } { -{ /* Inline modelbuilder_base#AType#mtype= (var_ntype,var_res) on */ +{ /* Inline modelbuilder_base$AType$mtype= (var_ntype,var_res) on */ var_ntype->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val = var_res; /* _mtype on */ -RET_LABEL48:(void)0; +RET_LABEL56:(void)0; } } var = var_res; @@ -2303,409 +2819,464 @@ goto RET_LABEL; } else { } if (var_mclassdef == NULL) { -var49 = 0; /* is null */ +var57 = 0; /* is null */ } else { -var49 = 1; /* arg is null and recv is not */ +var57 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mclassdef,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_mclassdef,((val*)NULL)) on */ var_other = ((val*)NULL); { -var52 = ((short int(*)(val* self, val* p0))(var_mclassdef->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mclassdef, var_other); /* == on */ +var60 = ((short int(*)(val* self, val* p0))(var_mclassdef->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mclassdef, var_other); /* == on */ } -var53 = !var52; -var50 = var53; -goto RET_LABEL51; -RET_LABEL51:(void)0; +var61 = !var60; +var58 = var61; +goto RET_LABEL59; +RET_LABEL59:(void)0; } -var49 = var50; +var57 = var58; } -if (var49){ +if (var57){ { -{ /* Inline model#MClassDef#mclass (var_mclassdef) on */ -var56 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mclass].val; /* _mclass on */ -if (unlikely(var56 == NULL)) { +{ /* Inline model$MClassDef$mclass (var_mclassdef) on */ +var64 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___mclass].val; /* _mclass on */ +if (unlikely(var64 == 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); } -var54 = var56; -RET_LABEL55:(void)0; +var62 = var64; +RET_LABEL63:(void)0; } } { -{ /* Inline model#MClass#mparameters (var54) on */ -var59 = var54->attrs[COLOR_nitc__model__MClass___mparameters].val; /* _mparameters on */ -if (unlikely(var59 == NULL)) { +{ /* Inline model$MClass$mparameters (var62) on */ +var67 = var62->attrs[COLOR_nitc__model__MClass___mparameters].val; /* _mparameters on */ +if (unlikely(var67 == 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, 405); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 418); fatal_exit(1); } -var57 = var59; -RET_LABEL58:(void)0; +var65 = var67; +RET_LABEL66:(void)0; } } -var_60 = var57; +var_68 = var65; { -var61 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_60); +var69 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_68); } -var_62 = var61; +var_70 = var69; for(;;) { { -var63 = ((short int(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_62); /* is_ok on */ +var71 = ((short int(*)(val* self))((((long)var_70&3)?class_info[((long)var_70&3)]:var_70->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_70); /* is_ok on */ } -if (var63){ +if (var71){ } else { goto BREAK_label; } { -var64 = ((val*(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_62); /* item on */ +var72 = ((val*(*)(val* self))((((long)var_70&3)?class_info[((long)var_70&3)]:var_70->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_70); /* item on */ } -var_p = var64; +var_p = var72; { -{ /* Inline model#MParameterType#name (var_p) on */ -var67 = var_p->attrs[COLOR_nitc__model__MParameterType___name].val; /* _name on */ -if (unlikely(var67 == NULL)) { +{ /* Inline model$MParameterType$name (var_p) on */ +var75 = var_p->attrs[COLOR_nitc__model__MParameterType___name].val; /* _name on */ +if (unlikely(var75 == 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, 1507); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1570); fatal_exit(1); } -var65 = var67; -RET_LABEL66:(void)0; +var73 = var75; +RET_LABEL74:(void)0; } } { -{ /* Inline kernel#Object#!= (var65,var_name) on */ +{ /* Inline kernel$Object$!= (var73,var_name) on */ var_other = var_name; { -var70 = ((short int(*)(val* self, val* p0))(var65->class->vft[COLOR_core__kernel__Object___61d_61d]))(var65, var_other); /* == on */ +var78 = ((short int(*)(val* self, val* p0))(var73->class->vft[COLOR_core__kernel__Object___61d_61d]))(var73, var_other); /* == on */ } -var71 = !var70; -var68 = var71; -goto RET_LABEL69; -RET_LABEL69:(void)0; +var79 = !var78; +var76 = var79; +goto RET_LABEL77; +RET_LABEL77:(void)0; } } -if (var68){ -goto BREAK_label72; +if (var76){ +goto BREAK_label80; } else { } { -{ /* Inline parser_nodes#AType#n_types (var_ntype) on */ -var75 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var75 == NULL)) { +{ /* Inline parser_nodes$AType$n_types (var_ntype) on */ +var83 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on */ +if (unlikely(var83 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1715); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1782); fatal_exit(1); } -var73 = var75; -RET_LABEL74:(void)0; +var81 = var83; +RET_LABEL82:(void)0; } } { -var76 = nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var73); +var84 = nitc___nitc__ANodes___core__abstract_collection__Collection__is_empty(var81); } -var77 = !var76; -if (var77){ -if (unlikely(varonce78==NULL)) { -var79 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce80!=NULL)) { -var81 = varonce80; +var85 = !var84; +if (var85){ +if (unlikely(varonce86==NULL)) { +var87 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce88!=NULL)) { +var89 = varonce88; } else { -var82 = "Type Error: formal type `"; -var83 = core__flat___NativeString___to_s_full(var82, 25l, 25l); -var81 = var83; -varonce80 = var81; +var90 = "Type Error: formal type `"; +var92 = (val*)(25l<<2|1); +var93 = (val*)(25l<<2|1); +var94 = (val*)((long)(0)<<2|3); +var95 = (val*)((long)(0)<<2|3); +var91 = core__flat___CString___to_s_unsafe(var90, var92, var93, var94, var95); +var89 = var91; +varonce88 = var89; } -((struct instance_core__NativeArray*)var79)->values[0]=var81; -if (likely(varonce84!=NULL)) { -var85 = varonce84; +((struct instance_core__NativeArray*)var87)->values[0]=var89; +if (likely(varonce96!=NULL)) { +var97 = varonce96; } else { -var86 = "` cannot have formal parameters."; -var87 = core__flat___NativeString___to_s_full(var86, 32l, 32l); -var85 = var87; -varonce84 = var85; +var98 = "` cannot have formal parameters."; +var100 = (val*)(32l<<2|1); +var101 = (val*)(32l<<2|1); +var102 = (val*)((long)(0)<<2|3); +var103 = (val*)((long)(0)<<2|3); +var99 = core__flat___CString___to_s_unsafe(var98, var100, var101, var102, var103); +var97 = var99; +varonce96 = var97; } -((struct instance_core__NativeArray*)var79)->values[2]=var85; +((struct instance_core__NativeArray*)var87)->values[2]=var97; } else { -var79 = varonce78; -varonce78 = NULL; +var87 = varonce86; +varonce86 = NULL; } -((struct instance_core__NativeArray*)var79)->values[1]=var_name; +((struct instance_core__NativeArray*)var87)->values[1]=var_name; { -var88 = ((val*(*)(val* self))(var79->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var79); /* native_to_s on */ +var104 = ((val*(*)(val* self))(var87->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var87); /* native_to_s on */ } -varonce78 = var79; +varonce86 = var87; { -nitc___nitc__ModelBuilder___error(self, var_ntype, var88); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(self, var_ntype, var104); /* Direct call modelbuilder_base$ModelBuilder$error on */ } } else { } var_res = var_p; { -{ /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on */ -var91 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -var89 = var91; -RET_LABEL90:(void)0; +{ /* Inline parser_nodes$AType$n_kwnullable (var_ntype) on */ +var107 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ +var105 = var107; +RET_LABEL106:(void)0; } } -if (var89 == NULL) { -var92 = 0; /* is null */ +if (var105 == NULL) { +var108 = 0; /* is null */ } else { -var92 = 1; /* arg is null and recv is not */ +var108 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var89,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var105,((val*)NULL)) on */ var_other = ((val*)NULL); { -var95 = ((short int(*)(val* self, val* p0))(var89->class->vft[COLOR_core__kernel__Object___61d_61d]))(var89, var_other); /* == on */ +var111 = ((short int(*)(val* self, val* p0))(var105->class->vft[COLOR_core__kernel__Object___61d_61d]))(var105, var_other); /* == on */ } -var96 = !var95; -var93 = var96; -goto RET_LABEL94; -RET_LABEL94:(void)0; +var112 = !var111; +var109 = var112; +goto RET_LABEL110; +RET_LABEL110:(void)0; } -var92 = var93; +var108 = var109; } -if (var92){ +if (var108){ { -var97 = nitc___nitc__MType___as_nullable(var_res); +var113 = nitc___nitc__MType___as_nullable(var_res); } -var_res = var97; +var_res = var113; } else { } { -{ /* Inline modelbuilder_base#AType#mtype= (var_ntype,var_res) on */ +{ /* Inline modelbuilder_base$AType$mtype= (var_ntype,var_res) on */ var_ntype->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val = var_res; /* _mtype on */ -RET_LABEL98:(void)0; +RET_LABEL114:(void)0; } } var = var_res; goto RET_LABEL; -BREAK_label72: (void)0; +BREAK_label80: (void)0; { -((void(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_62); /* next on */ +((void(*)(val* self))((((long)var_70&3)?class_info[((long)var_70&3)]:var_70->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_70); /* next on */ } } BREAK_label: (void)0; { -((void(*)(val* self))((((long)var_62&3)?class_info[((long)var_62&3)]:var_62->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_62); /* finish on */ +((void(*)(val* self))((((long)var_70&3)?class_info[((long)var_70&3)]:var_70->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_70); /* finish on */ } } else { } { -var99 = nitc___nitc__ModelBuilder___try_get_mclass_by_name(self, var_ntype, var_mmodule, var_name); +var115 = nitc___nitc__ModelBuilder___try_get_mclass_by_qid(self, var_qid, var_mmodule); } -var_mclass = var99; +var_mclass = var115; if (var_mclass == NULL) { -var100 = 0; /* is null */ +var116 = 0; /* is null */ } else { -var100 = 1; /* arg is null and recv is not */ +var116 = 1; /* arg is null and 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); { -var103 = ((short int(*)(val* self, val* p0))(var_mclass->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mclass, var_other); /* == on */ +var119 = ((short int(*)(val* self, val* p0))(var_mclass->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mclass, var_other); /* == on */ } -var104 = !var103; -var101 = var104; -goto RET_LABEL102; -RET_LABEL102:(void)0; +var120 = !var119; +var117 = var120; +goto RET_LABEL118; +RET_LABEL118:(void)0; } -var100 = var101; +var116 = var117; } -if (var100){ +if (var116){ { -{ /* Inline parser_nodes#AType#n_types (var_ntype) on */ -var107 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var107 == NULL)) { +{ /* Inline parser_nodes$AType$n_types (var_ntype) on */ +var123 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on */ +if (unlikely(var123 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1715); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1782); fatal_exit(1); } -var105 = var107; -RET_LABEL106:(void)0; +var121 = var123; +RET_LABEL122:(void)0; } } { -var108 = nitc___nitc__ANodes___core__abstract_collection__Collection__length(var105); +var124 = nitc___nitc__ANodes___core__abstract_collection__Collection__length(var121); } -var_arity = var108; +var_arity = var124; { -{ /* Inline model#MClass#arity (var_mclass) on */ -var111 = var_mclass->attrs[COLOR_nitc__model__MClass___arity].l; /* _arity on */ -var109 = var111; -RET_LABEL110:(void)0; +{ /* Inline model$MClass$arity (var_mclass) on */ +var127 = var_mclass->attrs[COLOR_nitc__model__MClass___arity].l; /* _arity on */ +var125 = var127; +RET_LABEL126:(void)0; } } { -{ /* Inline kernel#Int#!= (var_arity,var109) on */ -var114 = var_arity == var109; -var115 = !var114; -var112 = var115; -goto RET_LABEL113; -RET_LABEL113:(void)0; +{ /* Inline kernel$Int$!= (var_arity,var125) on */ +var130 = var_arity == var125; +var131 = !var130; +var128 = var131; +goto RET_LABEL129; +RET_LABEL129:(void)0; } } -if (var112){ +if (var128){ { -{ /* Inline kernel#Int#== (var_arity,0l) on */ -var118 = var_arity == 0l; -var116 = var118; -goto RET_LABEL117; -RET_LABEL117:(void)0; +{ /* Inline kernel$Int$== (var_arity,0l) on */ +var134 = var_arity == 0l; +var132 = var134; +goto RET_LABEL133; +RET_LABEL133:(void)0; } } -if (var116){ -if (unlikely(varonce119==NULL)) { -var120 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce121!=NULL)) { -var122 = varonce121; +if (var132){ +if (unlikely(varonce135==NULL)) { +var136 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce137!=NULL)) { +var138 = varonce137; } else { -var123 = "Type Error: `"; -var124 = core__flat___NativeString___to_s_full(var123, 13l, 13l); -var122 = var124; -varonce121 = var122; +var139 = "Type Error: `"; +var141 = (val*)(13l<<2|1); +var142 = (val*)(13l<<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*)var120)->values[0]=var122; -if (likely(varonce125!=NULL)) { -var126 = varonce125; +((struct instance_core__NativeArray*)var136)->values[0]=var138; +if (likely(varonce145!=NULL)) { +var146 = varonce145; } else { -var127 = "` is a generic class."; -var128 = core__flat___NativeString___to_s_full(var127, 21l, 21l); -var126 = var128; -varonce125 = var126; +var147 = "` is a generic class."; +var149 = (val*)(21l<<2|1); +var150 = (val*)(21l<<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*)var120)->values[2]=var126; +((struct instance_core__NativeArray*)var136)->values[2]=var146; } else { -var120 = varonce119; -varonce119 = NULL; -} -{ -var129 = nitc___nitc__MClass___signature_to_s(var_mclass); -} -((struct instance_core__NativeArray*)var120)->values[1]=var129; -{ -var130 = ((val*(*)(val* self))(var120->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var120); /* native_to_s on */ +var136 = varonce135; +varonce135 = NULL; } -varonce119 = var120; { -nitc___nitc__ModelBuilder___error(self, var_ntype, var130); /* Direct call modelbuilder_base#ModelBuilder#error on */ +var153 = nitc___nitc__MClass___signature_to_s(var_mclass); } -} else { +((struct instance_core__NativeArray*)var136)->values[1]=var153; { -{ /* Inline model#MClass#arity (var_mclass) on */ -var133 = var_mclass->attrs[COLOR_nitc__model__MClass___arity].l; /* _arity on */ -var131 = var133; -RET_LABEL132:(void)0; -} +var154 = ((val*(*)(val* self))(var136->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var136); /* native_to_s on */ } +varonce135 = var136; { -{ /* Inline kernel#Int#== (var131,0l) on */ -var136 = var131 == 0l; -var134 = var136; -goto RET_LABEL135; -RET_LABEL135:(void)0; +nitc___nitc__ModelBuilder___error(self, var_ntype, var154); /* Direct call modelbuilder_base$ModelBuilder$error on */ } -} -if (var134){ -if (unlikely(varonce137==NULL)) { -var138 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce139!=NULL)) { -var140 = varonce139; -} else { -var141 = "Type Error: `"; -var142 = core__flat___NativeString___to_s_full(var141, 13l, 13l); -var140 = var142; -varonce139 = var140; -} -((struct instance_core__NativeArray*)var138)->values[0]=var140; -if (likely(varonce143!=NULL)) { -var144 = varonce143; -} else { -var145 = "` is not a generic class."; -var146 = core__flat___NativeString___to_s_full(var145, 25l, 25l); -var144 = var146; -varonce143 = var144; -} -((struct instance_core__NativeArray*)var138)->values[2]=var144; } else { -var138 = varonce137; -varonce137 = NULL; -} -((struct instance_core__NativeArray*)var138)->values[1]=var_name; -{ -var147 = ((val*(*)(val* self))(var138->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var138); /* native_to_s on */ -} -varonce137 = var138; { -nitc___nitc__ModelBuilder___error(self, var_ntype, var147); /* Direct call modelbuilder_base#ModelBuilder#error on */ -} -} else { -if (unlikely(varonce148==NULL)) { -var149 = NEW_core__NativeArray(7l, &type_core__NativeArray__core__String); -if (likely(varonce150!=NULL)) { -var151 = varonce150; -} else { -var152 = "Type Error: expected "; -var153 = core__flat___NativeString___to_s_full(var152, 21l, 21l); -var151 = var153; -varonce150 = var151; -} -((struct instance_core__NativeArray*)var149)->values[0]=var151; -if (likely(varonce154!=NULL)) { -var155 = varonce154; -} else { -var156 = " formal argument(s) for `"; -var157 = core__flat___NativeString___to_s_full(var156, 25l, 25l); +{ /* Inline model$MClass$arity (var_mclass) on */ +var157 = var_mclass->attrs[COLOR_nitc__model__MClass___arity].l; /* _arity on */ var155 = var157; -varonce154 = var155; -} -((struct instance_core__NativeArray*)var149)->values[2]=var155; -if (likely(varonce158!=NULL)) { -var159 = varonce158; -} else { -var160 = "`; got "; -var161 = core__flat___NativeString___to_s_full(var160, 7l, 7l); -var159 = var161; -varonce158 = var159; +RET_LABEL156:(void)0; +} +} +{ +{ /* Inline kernel$Int$== (var155,0l) on */ +var160 = var155 == 0l; +var158 = var160; +goto RET_LABEL159; +RET_LABEL159:(void)0; +} +} +if (var158){ +if (unlikely(varonce161==NULL)) { +var162 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce163!=NULL)) { +var164 = varonce163; +} else { +var165 = "Type Error: `"; +var167 = (val*)(13l<<2|1); +var168 = (val*)(13l<<2|1); +var169 = (val*)((long)(0)<<2|3); +var170 = (val*)((long)(0)<<2|3); +var166 = core__flat___CString___to_s_unsafe(var165, var167, var168, var169, var170); +var164 = var166; +varonce163 = var164; +} +((struct instance_core__NativeArray*)var162)->values[0]=var164; +if (likely(varonce171!=NULL)) { +var172 = varonce171; +} else { +var173 = "` is not a generic class."; +var175 = (val*)(25l<<2|1); +var176 = (val*)(25l<<2|1); +var177 = (val*)((long)(0)<<2|3); +var178 = (val*)((long)(0)<<2|3); +var174 = core__flat___CString___to_s_unsafe(var173, var175, var176, var177, var178); +var172 = var174; +varonce171 = var172; +} +((struct instance_core__NativeArray*)var162)->values[2]=var172; +} else { +var162 = varonce161; +varonce161 = NULL; +} +((struct instance_core__NativeArray*)var162)->values[1]=var_name; +{ +var179 = ((val*(*)(val* self))(var162->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var162); /* native_to_s on */ +} +varonce161 = var162; +{ +nitc___nitc__ModelBuilder___error(self, var_ntype, var179); /* Direct call modelbuilder_base$ModelBuilder$error on */ +} +} else { +if (unlikely(varonce180==NULL)) { +var181 = NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String); +if (likely(varonce182!=NULL)) { +var183 = varonce182; +} else { +var184 = "Type Error: expected "; +var186 = (val*)(21l<<2|1); +var187 = (val*)(21l<<2|1); +var188 = (val*)((long)(0)<<2|3); +var189 = (val*)((long)(0)<<2|3); +var185 = core__flat___CString___to_s_unsafe(var184, var186, var187, var188, var189); +var183 = var185; +varonce182 = var183; +} +((struct instance_core__NativeArray*)var181)->values[0]=var183; +if (likely(varonce190!=NULL)) { +var191 = varonce190; +} else { +var192 = " formal argument(s) for `"; +var194 = (val*)(25l<<2|1); +var195 = (val*)(25l<<2|1); +var196 = (val*)((long)(0)<<2|3); +var197 = (val*)((long)(0)<<2|3); +var193 = core__flat___CString___to_s_unsafe(var192, var194, var195, var196, var197); +var191 = var193; +varonce190 = var191; +} +((struct instance_core__NativeArray*)var181)->values[2]=var191; +if (likely(varonce198!=NULL)) { +var199 = varonce198; +} else { +var200 = "`; got "; +var202 = (val*)(7l<<2|1); +var203 = (val*)(7l<<2|1); +var204 = (val*)((long)(0)<<2|3); +var205 = (val*)((long)(0)<<2|3); +var201 = core__flat___CString___to_s_unsafe(var200, var202, var203, var204, var205); +var199 = var201; +varonce198 = var199; } -((struct instance_core__NativeArray*)var149)->values[4]=var159; -if (likely(varonce162!=NULL)) { -var163 = varonce162; +((struct instance_core__NativeArray*)var181)->values[4]=var199; +if (likely(varonce206!=NULL)) { +var207 = varonce206; } else { -var164 = "."; -var165 = core__flat___NativeString___to_s_full(var164, 1l, 1l); -var163 = var165; -varonce162 = var163; +var208 = "."; +var210 = (val*)(1l<<2|1); +var211 = (val*)(1l<<2|1); +var212 = (val*)((long)(0)<<2|3); +var213 = (val*)((long)(0)<<2|3); +var209 = core__flat___CString___to_s_unsafe(var208, var210, var211, var212, var213); +var207 = var209; +varonce206 = var207; } -((struct instance_core__NativeArray*)var149)->values[6]=var163; +((struct instance_core__NativeArray*)var181)->values[6]=var207; } else { -var149 = varonce148; -varonce148 = NULL; +var181 = varonce180; +varonce180 = NULL; } { -{ /* Inline model#MClass#arity (var_mclass) on */ -var168 = var_mclass->attrs[COLOR_nitc__model__MClass___arity].l; /* _arity on */ -var166 = var168; -RET_LABEL167:(void)0; +{ /* Inline model$MClass$arity (var_mclass) on */ +var216 = var_mclass->attrs[COLOR_nitc__model__MClass___arity].l; /* _arity on */ +var214 = var216; +RET_LABEL215:(void)0; } } -var169 = core__flat___Int___core__abstract_text__Object__to_s(var166); -((struct instance_core__NativeArray*)var149)->values[1]=var169; +var217 = core__flat___Int___core__abstract_text__Object__to_s(var214); +((struct instance_core__NativeArray*)var181)->values[1]=var217; { -var170 = nitc___nitc__MClass___signature_to_s(var_mclass); +var218 = nitc___nitc__MClass___signature_to_s(var_mclass); } -((struct instance_core__NativeArray*)var149)->values[3]=var170; -var171 = core__flat___Int___core__abstract_text__Object__to_s(var_arity); -((struct instance_core__NativeArray*)var149)->values[5]=var171; +((struct instance_core__NativeArray*)var181)->values[3]=var218; +var219 = core__flat___Int___core__abstract_text__Object__to_s(var_arity); +((struct instance_core__NativeArray*)var181)->values[5]=var219; { -var172 = ((val*(*)(val* self))(var149->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var149); /* native_to_s on */ +var220 = ((val*(*)(val* self))(var181->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var181); /* native_to_s on */ } -varonce148 = var149; +varonce180 = var181; { -nitc___nitc__ModelBuilder___error(self, var_ntype, var172); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nitc___nitc__ModelBuilder___error(self, var_ntype, var220); /* Direct call modelbuilder_base$ModelBuilder$error on */ } } } @@ -2714,184 +3285,190 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Int#== (var_arity,0l) on */ -var175 = var_arity == 0l; -var173 = var175; -goto RET_LABEL174; -RET_LABEL174:(void)0; +{ /* Inline kernel$Int$== (var_arity,0l) on */ +var223 = var_arity == 0l; +var221 = var223; +goto RET_LABEL222; +RET_LABEL222:(void)0; } } -if (var173){ +if (var221){ { -{ /* Inline model#MClass#mclass_type (var_mclass) on */ -var178 = var_mclass->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on */ -if (unlikely(var178 == NULL)) { +{ /* Inline model$MClass$mclass_type (var_mclass) on */ +var226 = var_mclass->attrs[COLOR_nitc__model__MClass___mclass_type].val; /* _mclass_type on */ +if (unlikely(var226 == 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); } -var176 = var178; -RET_LABEL177:(void)0; +var224 = var226; +RET_LABEL225:(void)0; } } -var_res = var176; +var_res = var224; { -{ /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on */ -var181 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -var179 = var181; -RET_LABEL180:(void)0; +{ /* Inline parser_nodes$AType$n_kwnullable (var_ntype) on */ +var229 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ +var227 = var229; +RET_LABEL228:(void)0; } } -if (var179 == NULL) { -var182 = 0; /* is null */ +if (var227 == NULL) { +var230 = 0; /* is null */ } else { -var182 = 1; /* arg is null and recv is not */ +var230 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var179,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var227,((val*)NULL)) on */ var_other = ((val*)NULL); { -var185 = ((short int(*)(val* self, val* p0))(var179->class->vft[COLOR_core__kernel__Object___61d_61d]))(var179, var_other); /* == on */ +var233 = ((short int(*)(val* self, val* p0))(var227->class->vft[COLOR_core__kernel__Object___61d_61d]))(var227, var_other); /* == on */ } -var186 = !var185; -var183 = var186; -goto RET_LABEL184; -RET_LABEL184:(void)0; +var234 = !var233; +var231 = var234; +goto RET_LABEL232; +RET_LABEL232:(void)0; } -var182 = var183; +var230 = var231; } -if (var182){ +if (var230){ { -var187 = nitc___nitc__MType___as_nullable(var_res); +var235 = nitc___nitc__MType___as_nullable(var_res); } -var_res = var187; +var_res = var235; } else { } { -{ /* Inline modelbuilder_base#AType#mtype= (var_ntype,var_res) on */ +{ /* Inline modelbuilder_base$AType$mtype= (var_ntype,var_res) on */ var_ntype->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val = var_res; /* _mtype on */ -RET_LABEL188:(void)0; +RET_LABEL236:(void)0; } } var = var_res; goto RET_LABEL; } else { -var189 = NEW_core__Array(&type_core__Array__nitc__MType); +var237 = NEW_core__Array(&type_core__Array__nitc__MType); { -core___core__Array___core__kernel__Object__init(var189); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var237); /* Direct call array$Array$init on */ } -var_mtypes = var189; +var_mtypes = var237; { -{ /* Inline parser_nodes#AType#n_types (var_ntype) on */ -var192 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var192 == NULL)) { +{ /* Inline parser_nodes$AType$n_types (var_ntype) on */ +var240 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on */ +if (unlikely(var240 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1715); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1782); fatal_exit(1); } -var190 = var192; -RET_LABEL191:(void)0; +var238 = var240; +RET_LABEL239:(void)0; } } -var_193 = var190; +var_241 = var238; { -var194 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_193); +var242 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_241); } -var_195 = var194; +var_243 = var242; for(;;) { { -var196 = ((short int(*)(val* self))((((long)var_195&3)?class_info[((long)var_195&3)]:var_195->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_195); /* is_ok on */ +var244 = ((short int(*)(val* self))((((long)var_243&3)?class_info[((long)var_243&3)]:var_243->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_243); /* is_ok on */ } -if (var196){ +if (var244){ } else { -goto BREAK_label197; +goto BREAK_label245; } { -var198 = ((val*(*)(val* self))((((long)var_195&3)?class_info[((long)var_195&3)]:var_195->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_195); /* item on */ +var246 = ((val*(*)(val* self))((((long)var_243&3)?class_info[((long)var_243&3)]:var_243->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_243); /* item on */ } -var_nt = var198; +var_nt = var246; { -var199 = nitc___nitc__ModelBuilder___resolve_mtype_unchecked(self, var_mmodule, var_mclassdef, var_nt, var_with_virtual); +var247 = nitc___nitc__ModelBuilder___resolve_mtype_unchecked(self, var_mmodule, var_mclassdef, var_nt, var_with_virtual); } -var_mt = var199; +var_mt = var247; if (var_mt == NULL) { -var200 = 1; /* is null */ +var248 = 1; /* is null */ } else { -var200 = 0; /* arg is null but recv is not */ +var248 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mt,((val*)NULL)) on */ -var_other203 = ((val*)NULL); +{ /* Inline kernel$Object$== (var_mt,((val*)NULL)) on */ +var_other251 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mt,var_other203) on */ -var206 = var_mt == var_other203; -var204 = var206; -goto RET_LABEL205; -RET_LABEL205:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_mt,var_other251) on */ +var254 = var_mt == var_other251; +var252 = var254; +goto RET_LABEL253; +RET_LABEL253:(void)0; } } -var201 = var204; -goto RET_LABEL202; -RET_LABEL202:(void)0; +var249 = var252; +goto RET_LABEL250; +RET_LABEL250:(void)0; } -var200 = var201; +var248 = var249; } -if (var200){ +if (var248){ var = ((val*)NULL); goto RET_LABEL; } else { } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_mtypes, var_mt); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_mtypes, var_mt); /* Direct call array$Array$add on */ } { -((void(*)(val* self))((((long)var_195&3)?class_info[((long)var_195&3)]:var_195->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_195); /* next on */ +((void(*)(val* self))((((long)var_243&3)?class_info[((long)var_243&3)]:var_243->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_243); /* next on */ } } -BREAK_label197: (void)0; +BREAK_label245: (void)0; { -((void(*)(val* self))((((long)var_195&3)?class_info[((long)var_195&3)]:var_195->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_195); /* finish on */ +((void(*)(val* self))((((long)var_243&3)?class_info[((long)var_243&3)]:var_243->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_243); /* finish on */ } { -var207 = nitc___nitc__MClass___get_mtype(var_mclass, var_mtypes); +var255 = nitc___nitc__MClass___get_mtype(var_mclass, var_mtypes); } -var_res = var207; +var_res = var255; { -{ /* Inline parser_nodes#AType#n_kwnullable (var_ntype) on */ -var210 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ -var208 = var210; -RET_LABEL209:(void)0; +{ /* Inline parser_nodes$AType$n_kwnullable (var_ntype) on */ +var258 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_kwnullable].val; /* _n_kwnullable on */ +var256 = var258; +RET_LABEL257:(void)0; } } -if (var208 == NULL) { -var211 = 0; /* is null */ +if (var256 == NULL) { +var259 = 0; /* is null */ } else { -var211 = 1; /* arg is null and recv is not */ +var259 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var208,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var256,((val*)NULL)) on */ var_other = ((val*)NULL); { -var214 = ((short int(*)(val* self, val* p0))(var208->class->vft[COLOR_core__kernel__Object___61d_61d]))(var208, var_other); /* == on */ +var262 = ((short int(*)(val* self, val* p0))(var256->class->vft[COLOR_core__kernel__Object___61d_61d]))(var256, var_other); /* == on */ } -var215 = !var214; -var212 = var215; -goto RET_LABEL213; -RET_LABEL213:(void)0; +var263 = !var262; +var260 = var263; +goto RET_LABEL261; +RET_LABEL261:(void)0; } -var211 = var212; +var259 = var260; } -if (var211){ +if (var259){ { -var216 = nitc___nitc__MType___as_nullable(var_res); +var264 = nitc___nitc__MType___as_nullable(var_res); } -var_res = var216; +var_res = var264; } else { } { -{ /* Inline modelbuilder_base#AType#mtype= (var_ntype,var_res) on */ +{ /* Inline modelbuilder_base$AType$mtype= (var_ntype,var_res) on */ var_ntype->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val = var_res; /* _mtype on */ -RET_LABEL217:(void)0; +RET_LABEL265:(void)0; } } var = var_res; @@ -2899,962 +3476,3606 @@ goto RET_LABEL; } } else { } -if (unlikely(varonce218==NULL)) { -var219 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String); -if (likely(varonce220!=NULL)) { -var221 = varonce220; -} else { -var222 = "Error: class `"; -var223 = core__flat___NativeString___to_s_full(var222, 14l, 14l); -var221 = var223; -varonce220 = var221; -} -((struct instance_core__NativeArray*)var219)->values[0]=var221; -if (likely(varonce224!=NULL)) { -var225 = varonce224; -} else { -var226 = "` not found in module `"; -var227 = core__flat___NativeString___to_s_full(var226, 23l, 23l); -var225 = var227; -varonce224 = var225; -} -((struct instance_core__NativeArray*)var219)->values[2]=var225; -if (likely(varonce228!=NULL)) { -var229 = varonce228; -} else { -var230 = "`."; -var231 = core__flat___NativeString___to_s_full(var230, 2l, 2l); -var229 = var231; -varonce228 = var229; -} -((struct instance_core__NativeArray*)var219)->values[4]=var229; -} else { -var219 = varonce218; -varonce218 = NULL; -} -((struct instance_core__NativeArray*)var219)->values[1]=var_name; { -var232 = ((val*(*)(val* self))(var_mmodule->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mmodule); /* to_s on */ +nitc___nitc__ModelBuilder___class_not_found(self, var_qid, var_mmodule); /* Direct call modelbuilder_base$ModelBuilder$class_not_found on */ } -((struct instance_core__NativeArray*)var219)->values[3]=var232; { -var233 = ((val*(*)(val* self))(var219->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var219); /* native_to_s on */ +{ /* Inline modelbuilder_base$ANode$is_broken= (var_ntype,1) on */ +var_ntype->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = 1; /* _is_broken on */ +RET_LABEL266:(void)0; } -varonce218 = var219; -{ -nitc___nitc__ModelBuilder___error(self, var_ntype, var233); /* Direct call modelbuilder_base#ModelBuilder#error on */ } var = ((val*)NULL); goto RET_LABEL; RET_LABEL:; return var; } -/* method modelbuilder_base#ModelBuilder#resolve_mtype for (self: ModelBuilder, MModule, nullable MClassDef, AType): nullable MType */ -val* nitc___nitc__ModelBuilder___resolve_mtype(val* self, val* p0, val* p1, val* p2) { -val* var /* : nullable MType */; +/* method modelbuilder_base$ModelBuilder$class_not_found for (self: ModelBuilder, AQclassid, MModule) */ +void nitc___nitc__ModelBuilder___class_not_found(val* self, val* p0, val* p1) { +val* var_qid /* var qid: AQclassid */; val* var_mmodule /* var mmodule: MModule */; -val* var_mclassdef /* var mclassdef: nullable MClassDef */; -val* var_ntype /* var ntype: AType */; -val* var1 /* : nullable MType */; -val* var3 /* : nullable MType */; -val* var_mtype /* var mtype: nullable MType */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var7 /* : Bool */; +val* var /* : TClassid */; +val* var2 /* : TClassid */; +val* var3 /* : String */; +val* var_name /* var name: String */; +val* var4 /* : String */; +val* var_qname /* var qname: String */; +val* var5 /* : MultiHashMap[MModule, String] */; +val* var7 /* : MultiHashMap[MModule, String] */; +val* var8 /* : nullable Object */; short int var9 /* : Bool */; -val* var10 /* : nullable MType */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; -short int var14 /* : Bool */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; -int cltype; -int idtype; -val* var21 /* : MClass */; -val* var23 /* : MClass */; -val* var_mclass /* var mclass: MClass */; -long var_i /* var i: Int */; -long var24 /* : Int */; -long var26 /* : Int */; -long var_ /* var : Int */; -short int var27 /* : Bool */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -const char* var_class_name; -short int var32 /* : Bool */; -val* var33 /* : nullable MClassDef */; -val* var_intro /* var intro: nullable MClassDef */; -short int var34 /* : Bool */; -short int var35 /* : Bool */; -short int var37 /* : Bool */; -short int var39 /* : Bool */; -val* var40 /* : MClassType */; -val* var42 /* : MClassType */; -val* var43 /* : Array[MType] */; -val* var44 /* : nullable Object */; -val* var_bound /* var bound: MType */; -val* var45 /* : ANodes[AType] */; -val* var47 /* : ANodes[AType] */; -val* var48 /* : ANode */; -val* var_nt /* var nt: AType */; -val* var49 /* : nullable MType */; -val* var_mt /* var mt: nullable MType */; +val* var10 /* : NativeArray[String] */; +static val* varonce; +static val* varonce11; +val* var12 /* : String */; +char* var13 /* : CString */; +val* var14 /* : String */; +val* var15 /* : nullable Int */; +val* var16 /* : nullable Int */; +val* var17 /* : nullable Bool */; +val* var18 /* : nullable Bool */; +static val* varonce19; +val* var20 /* : String */; +char* var21 /* : CString */; +val* var22 /* : String */; +val* var23 /* : nullable Int */; +val* var24 /* : nullable Int */; +val* var25 /* : nullable Bool */; +val* var26 /* : nullable Bool */; +static val* varonce27; +val* var28 /* : String */; +char* var29 /* : CString */; +val* var30 /* : String */; +val* var31 /* : nullable Int */; +val* var32 /* : nullable Int */; +val* var33 /* : nullable Bool */; +val* var34 /* : nullable Bool */; +val* var35 /* : String */; +val* var36 /* : String */; +val* var37 /* : MultiHashMap[MModule, String] */; +val* var39 /* : MultiHashMap[MModule, String] */; +val* var40 /* : nullable Object */; +val* var41 /* : Model */; +val* var43 /* : Model */; +val* var44 /* : nullable Array[MClass] */; +val* var_all_classes /* var all_classes: nullable Array[MClass] */; +val* var45 /* : Array[String] */; +val* var_hints /* var hints: Array[String] */; +short int var46 /* : Bool */; +short int var47 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var49 /* : Bool */; short int var50 /* : Bool */; -short int var51 /* : Bool */; +val* var_ /* var : Array[MClass] */; +val* var51 /* : IndexedIterator[nullable Object] */; +val* var_52 /* var : IndexedIterator[MClass] */; short int var53 /* : Bool */; -short int var55 /* : Bool */; -short int var56 /* : Bool */; -short int var57 /* : Bool */; -val* var_other59 /* var other: nullable Object */; -short int var60 /* : Bool */; +val* var54 /* : nullable Object */; +val* var_c /* var c: MClass */; +val* var55 /* : MModule */; +val* var57 /* : MModule */; +val* var58 /* : MVisibility */; +val* var60 /* : MVisibility */; short int var61 /* : Bool */; -val* var62 /* : MClassType */; -val* var64 /* : MClassType */; -val* var_anchor /* var anchor: nullable Object */; +short int var62 /* : Bool */; +short int var64 /* : Bool */; short int var65 /* : Bool */; -short int var66 /* : Bool */; val* var67 /* : NativeArray[String] */; -static val* varonce; +static val* varonce66; static val* varonce68; val* var69 /* : String */; -char* var70 /* : NativeString */; +char* var70 /* : CString */; val* var71 /* : String */; -static val* varonce72; -val* var73 /* : String */; -char* var74 /* : NativeString */; -val* var75 /* : String */; +val* var72 /* : nullable Int */; +val* var73 /* : nullable Int */; +val* var74 /* : nullable Bool */; +val* var75 /* : nullable Bool */; static val* varonce76; val* var77 /* : String */; -char* var78 /* : NativeString */; +char* var78 /* : CString */; val* var79 /* : String */; -val* var80 /* : String */; -val* var81 /* : String */; -val* var82 /* : String */; -long var83 /* : Int */; -var_mmodule = p0; -var_mclassdef = p1; -var_ntype = p2; +val* var80 /* : nullable Int */; +val* var81 /* : nullable Int */; +val* var82 /* : nullable Bool */; +val* var83 /* : nullable Bool */; +val* var84 /* : String */; +val* var85 /* : String */; +long var86 /* : Int */; +long var88 /* : Int */; +short int var89 /* : Bool */; +short int var91 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var92 /* : Bool */; +val* var94 /* : NativeArray[String] */; +static val* varonce93; +static val* varonce95; +val* var96 /* : String */; +char* var97 /* : CString */; +val* var98 /* : String */; +val* var99 /* : nullable Int */; +val* var100 /* : nullable Int */; +val* var101 /* : nullable Bool */; +val* var102 /* : nullable Bool */; +static val* varonce103; +val* var104 /* : String */; +char* var105 /* : CString */; +val* var106 /* : String */; +val* var107 /* : nullable Int */; +val* var108 /* : nullable Int */; +val* var109 /* : nullable Bool */; +val* var110 /* : nullable Bool */; +static val* varonce111; +val* var112 /* : String */; +char* var113 /* : CString */; +val* var114 /* : String */; +val* var115 /* : nullable Int */; +val* var116 /* : nullable Int */; +val* var117 /* : nullable Bool */; +val* var118 /* : nullable Bool */; +static val* varonce119; +val* var120 /* : String */; +char* var121 /* : CString */; +val* var122 /* : String */; +val* var123 /* : nullable Int */; +val* var124 /* : nullable Int */; +val* var125 /* : nullable Bool */; +val* var126 /* : nullable Bool */; +val* var127 /* : String */; +static val* varonce128; +val* var129 /* : String */; +char* var130 /* : CString */; +val* var131 /* : String */; +val* var132 /* : nullable Int */; +val* var133 /* : nullable Int */; +val* var134 /* : nullable Bool */; +val* var135 /* : nullable Bool */; +static val* varonce136; +val* var137 /* : String */; +char* var138 /* : CString */; +val* var139 /* : String */; +val* var140 /* : nullable Int */; +val* var141 /* : nullable Int */; +val* var142 /* : nullable Bool */; +val* var143 /* : nullable Bool */; +val* var144 /* : String */; +val* var145 /* : String */; +short int var146 /* : Bool */; +short int var147 /* : Bool */; +short int var149 /* : Bool */; +short int var150 /* : Bool */; +val* var_151 /* var : Array[MClass] */; +val* var152 /* : IndexedIterator[nullable Object] */; +val* var_153 /* var : IndexedIterator[MClass] */; +short int var154 /* : Bool */; +val* var156 /* : nullable Object */; +val* var_c157 /* var c: MClass */; +val* var158 /* : POSetElement[MModule] */; +val* var160 /* : POSetElement[MModule] */; +val* var161 /* : MModule */; +val* var163 /* : MModule */; +short int var164 /* : Bool */; +short int var165 /* : Bool */; +val* var167 /* : MModule */; +val* var169 /* : MModule */; +val* var170 /* : MVisibility */; +val* var172 /* : MVisibility */; +short int var173 /* : Bool */; +short int var174 /* : Bool */; +short int var175 /* : Bool */; +val* var177 /* : NativeArray[String] */; +static val* varonce176; +static val* varonce178; +val* var179 /* : String */; +char* var180 /* : CString */; +val* var181 /* : String */; +val* var182 /* : nullable Int */; +val* var183 /* : nullable Int */; +val* var184 /* : nullable Bool */; +val* var185 /* : nullable Bool */; +static val* varonce186; +val* var187 /* : String */; +char* var188 /* : CString */; +val* var189 /* : String */; +val* var190 /* : nullable Int */; +val* var191 /* : nullable Int */; +val* var192 /* : nullable Bool */; +val* var193 /* : nullable Bool */; +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* var202 /* : String */; +val* var203 /* : String */; +val* var204 /* : String */; +short int var205 /* : Bool */; +short int var206 /* : Bool */; +short int var208 /* : Bool */; +short int var209 /* : Bool */; +val* var_210 /* var : Array[MClass] */; +val* var211 /* : IndexedIterator[nullable Object] */; +val* var_212 /* var : IndexedIterator[MClass] */; +short int var213 /* : Bool */; +val* var215 /* : nullable Object */; +val* var_c216 /* var c: MClass */; +val* var217 /* : POSetElement[MModule] */; +val* var219 /* : POSetElement[MModule] */; +val* var220 /* : MModule */; +val* var222 /* : MModule */; +short int var223 /* : Bool */; +val* var225 /* : MModule */; +val* var227 /* : MModule */; +val* var228 /* : POSetElement[MModule] */; +val* var230 /* : POSetElement[MModule] */; +short int var231 /* : Bool */; +val* var232 /* : MVisibility */; +val* var234 /* : MVisibility */; +val* var235 /* : Sys */; +val* var236 /* : MVisibility */; +short int var237 /* : Bool */; +short int var238 /* : Bool */; +short int var239 /* : Bool */; +val* var241 /* : NativeArray[String] */; +static val* varonce240; +static val* varonce242; +val* var243 /* : String */; +char* var244 /* : CString */; +val* var245 /* : String */; +val* var246 /* : nullable Int */; +val* var247 /* : nullable Int */; +val* var248 /* : nullable Bool */; +val* var249 /* : nullable Bool */; +static val* varonce250; +val* var251 /* : String */; +char* var252 /* : CString */; +val* var253 /* : String */; +val* var254 /* : nullable Int */; +val* var255 /* : nullable Int */; +val* var256 /* : nullable Bool */; +val* var257 /* : nullable Bool */; +val* var258 /* : MModule */; +val* var260 /* : MModule */; +val* var261 /* : String */; +val* var262 /* : String */; +short int var263 /* : Bool */; +val* var265 /* : NativeArray[String] */; +static val* varonce264; +static val* varonce266; +val* var267 /* : String */; +char* var268 /* : CString */; +val* var269 /* : String */; +val* var270 /* : nullable Int */; +val* var271 /* : nullable Int */; +val* var272 /* : nullable Bool */; +val* var273 /* : nullable Bool */; +static val* varonce274; +val* var275 /* : String */; +char* var276 /* : CString */; +val* var277 /* : String */; +val* var278 /* : nullable Int */; +val* var279 /* : nullable Int */; +val* var280 /* : nullable Bool */; +val* var281 /* : nullable Bool */; +static val* varonce282; +val* var283 /* : String */; +char* var284 /* : CString */; +val* var285 /* : String */; +val* var286 /* : nullable Int */; +val* var287 /* : nullable Int */; +val* var288 /* : nullable Bool */; +val* var289 /* : nullable Bool */; +static val* varonce290; +val* var291 /* : String */; +char* var292 /* : CString */; +val* var293 /* : String */; +val* var294 /* : nullable Int */; +val* var295 /* : nullable Int */; +val* var296 /* : nullable Bool */; +val* var297 /* : nullable Bool */; +val* var298 /* : String */; +static val* varonce299; +val* var300 /* : String */; +char* var301 /* : CString */; +val* var302 /* : String */; +val* var303 /* : nullable Int */; +val* var304 /* : nullable Int */; +val* var305 /* : nullable Bool */; +val* var306 /* : nullable Bool */; +static val* varonce307; +val* var308 /* : String */; +char* var309 /* : CString */; +val* var310 /* : String */; +val* var311 /* : nullable Int */; +val* var312 /* : nullable Int */; +val* var313 /* : nullable Bool */; +val* var314 /* : nullable Bool */; +val* var315 /* : String */; +val* var316 /* : String */; +val* var317 /* : BestDistance[MClass] */; +long var318 /* : Int */; +long var319 /* : Int */; +long var320 /* : Int */; +short int var322 /* : Bool */; +int cltype323; +int idtype324; +const char* var_class_name325; +long var326 /* : Int */; +long var327 /* : Int */; +short int var329 /* : Bool */; +int cltype330; +int idtype331; +const char* var_class_name332; +long var333 /* : Int */; +val* var_bests /* var bests: BestDistance[MClass] */; +val* var334 /* : Model */; +val* var336 /* : Model */; +val* var337 /* : Array[MClass] */; +val* var339 /* : Array[MClass] */; +val* var_340 /* var : Array[MClass] */; +val* var341 /* : IndexedIterator[nullable Object] */; +val* var_342 /* var : IndexedIterator[MClass] */; +short int var343 /* : Bool */; +val* var345 /* : nullable Object */; +val* var_c346 /* var c: MClass */; +val* var347 /* : POSetElement[MModule] */; +val* var349 /* : POSetElement[MModule] */; +val* var350 /* : MModule */; +val* var352 /* : MModule */; +short int var353 /* : Bool */; +short int var354 /* : Bool */; +val* var356 /* : MModule */; +val* var358 /* : MModule */; +val* var359 /* : MVisibility */; +val* var361 /* : MVisibility */; +short int var362 /* : Bool */; +short int var363 /* : Bool */; +val* var364 /* : String */; +val* var366 /* : String */; +long var367 /* : Int */; +long var_d /* var d: Int */; +short int var368 /* : Bool */; +val* var369 /* : String */; +long var370 /* : Int */; +short int var371 /* : Bool */; +val* var372 /* : Set[nullable Object] */; +val* var374 /* : Set[nullable Object] */; +short int var375 /* : Bool */; +val* var376 /* : Set[nullable Object] */; +val* var378 /* : Set[nullable Object] */; +val* var_379 /* var : Set[MClass] */; +val* var380 /* : Iterator[nullable Object] */; +val* var_381 /* var : Iterator[MClass] */; +short int var382 /* : Bool */; +val* var384 /* : nullable Object */; +val* var_c385 /* var c: MClass */; +val* var387 /* : NativeArray[String] */; +static val* varonce386; +static val* varonce388; +val* var389 /* : String */; +char* var390 /* : CString */; +val* var391 /* : String */; +val* var392 /* : nullable Int */; +val* var393 /* : nullable Int */; +val* var394 /* : nullable Bool */; +val* var395 /* : nullable Bool */; +static val* varonce396; +val* var397 /* : String */; +char* var398 /* : CString */; +val* var399 /* : String */; +val* var400 /* : nullable Int */; +val* var401 /* : nullable Int */; +val* var402 /* : nullable Bool */; +val* var403 /* : nullable Bool */; +val* var404 /* : String */; +val* var405 /* : String */; +val* var407 /* : NativeArray[String] */; +static val* varonce406; +static val* varonce408; +val* var409 /* : String */; +char* var410 /* : CString */; +val* var411 /* : String */; +val* var412 /* : nullable Int */; +val* var413 /* : nullable Int */; +val* var414 /* : nullable Bool */; +val* var415 /* : nullable Bool */; +static val* varonce416; +val* var417 /* : String */; +char* var418 /* : CString */; +val* var419 /* : String */; +val* var420 /* : nullable Int */; +val* var421 /* : nullable Int */; +val* var422 /* : nullable Bool */; +val* var423 /* : nullable Bool */; +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 */; +static val* varonce441; +val* var442 /* : String */; +char* var443 /* : CString */; +val* var444 /* : String */; +val* var445 /* : nullable Int */; +val* var446 /* : nullable Int */; +val* var447 /* : nullable Bool */; +val* var448 /* : nullable Bool */; +static val* varonce449; +val* var450 /* : String */; +char* var451 /* : CString */; +val* var452 /* : String */; +val* var453 /* : nullable Int */; +val* var454 /* : nullable Int */; +val* var455 /* : nullable Bool */; +val* var456 /* : nullable Bool */; +val* var457 /* : String */; +val* var458 /* : String */; +val* var460 /* : NativeArray[String] */; +static val* varonce459; +static val* varonce461; +val* var462 /* : String */; +char* var463 /* : CString */; +val* var464 /* : String */; +val* var465 /* : nullable Int */; +val* var466 /* : nullable Int */; +val* var467 /* : nullable Bool */; +val* var468 /* : nullable Bool */; +static val* varonce469; +val* var470 /* : String */; +char* var471 /* : CString */; +val* var472 /* : String */; +val* var473 /* : nullable Int */; +val* var474 /* : nullable Int */; +val* var475 /* : nullable Bool */; +val* var476 /* : nullable Bool */; +static val* varonce477; +val* var478 /* : String */; +char* var479 /* : CString */; +val* var480 /* : String */; +val* var481 /* : nullable Int */; +val* var482 /* : nullable Int */; +val* var483 /* : nullable Bool */; +val* var484 /* : nullable Bool */; +val* var485 /* : String */; +val* var486 /* : String */; +var_qid = p0; +var_mmodule = p1; { -{ /* Inline modelbuilder_base#AType#mtype (var_ntype) on */ -var3 = var_ntype->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val; /* _mtype on */ -var1 = var3; -RET_LABEL2:(void)0; +{ /* Inline parser_nodes$AQclassid$n_id (var_qid) on */ +var2 = var_qid->attrs[COLOR_nitc__parser_nodes__AQclassid___n_id].val; /* _n_id on */ +if (unlikely(var2 == 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, 1733); +fatal_exit(1); +} +var = var2; +RET_LABEL1:(void)0; } -var_mtype = var1; -if (var_mtype == NULL) { -var4 = 1; /* is null */ -} else { -var4 = 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 */ -var9 = var_mtype == var_other; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var3 = nitc__lexer_work___Token___text(var); +} +var_name = var3; +{ +var4 = nitc__modelbuilder_base___AQclassid___full_name(var_qid); +} +var_qname = var4; +{ +{ /* Inline modelbuilder_base$ModelBuilder$bad_class_names (self) on */ +var7 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___bad_class_names].val; /* _bad_class_names on */ +if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bad_class_names"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 413); +fatal_exit(1); } var5 = var7; -goto RET_LABEL6; RET_LABEL6:(void)0; } -var4 = var5; } -if (var4){ { -var10 = nitc___nitc__ModelBuilder___resolve_mtype_unchecked(self, var_mmodule, var_mclassdef, var_ntype, 1); -} -var_mtype = var10; -} else { +var8 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var5, var_mmodule); } -if (var_mtype == NULL) { -var11 = 1; /* is null */ -} else { -var11 = 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 */ -var16 = var_mtype == var_other; -var14 = var16; -goto RET_LABEL15; -RET_LABEL15:(void)0; -} +var9 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var8, var_qname); } +if (var9){ +if (unlikely(varonce==NULL)) { +var10 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); +if (likely(varonce11!=NULL)) { +var12 = varonce11; +} else { +var13 = "Error: class `"; +var15 = (val*)(14l<<2|1); +var16 = (val*)(14l<<2|1); +var17 = (val*)((long)(0)<<2|3); +var18 = (val*)((long)(0)<<2|3); +var14 = core__flat___CString___to_s_unsafe(var13, var15, var16, var17, var18); var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +varonce11 = var12; } -var11 = var12; -} -if (var11){ -var = ((val*)NULL); -goto RET_LABEL; +((struct instance_core__NativeArray*)var10)->values[0]=var12; +if (likely(varonce19!=NULL)) { +var20 = varonce19; } else { +var21 = "` not found in module `"; +var23 = (val*)(23l<<2|1); +var24 = (val*)(23l<<2|1); +var25 = (val*)((long)(0)<<2|3); +var26 = (val*)((long)(0)<<2|3); +var22 = core__flat___CString___to_s_unsafe(var21, var23, var24, var25, var26); +var20 = var22; +varonce19 = var20; } -{ -{ /* Inline modelbuilder_base#AType#checked_mtype (var_ntype) on */ -var19 = var_ntype->attrs[COLOR_nitc__modelbuilder_base__AType___checked_mtype].s; /* _checked_mtype on */ -var17 = var19; -RET_LABEL18:(void)0; -} -} -if (var17){ -var = var_mtype; -goto RET_LABEL; +((struct instance_core__NativeArray*)var10)->values[2]=var20; +if (likely(varonce27!=NULL)) { +var28 = varonce27; } else { +var29 = "`."; +var31 = (val*)(2l<<2|1); +var32 = (val*)(2l<<2|1); +var33 = (val*)((long)(0)<<2|3); +var34 = (val*)((long)(0)<<2|3); +var30 = core__flat___CString___to_s_unsafe(var29, var31, var32, var33, var34); +var28 = var30; +varonce27 = var28; } -/* isa MGenericType */ -cltype = type_nitc__MGenericType.color; -idtype = type_nitc__MGenericType.id; -if(cltype >= var_mtype->type->table_size) { -var20 = 0; +((struct instance_core__NativeArray*)var10)->values[4]=var28; } else { -var20 = var_mtype->type->type_table[cltype] == idtype; +var10 = varonce; +varonce = NULL; } -if (var20){ +((struct instance_core__NativeArray*)var10)->values[1]=var_qname; { -{ /* Inline model#MClassType#mclass (var_mtype) on */ -var23 = var_mtype->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on */ -if (unlikely(var23 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 1163); -fatal_exit(1); -} -var21 = var23; -RET_LABEL22:(void)0; +var35 = ((val*(*)(val* self))(var_mmodule->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mmodule); /* to_s on */ } -} -var_mclass = var21; -var_i = 0l; +((struct instance_core__NativeArray*)var10)->values[3]=var35; { -{ /* Inline model#MClass#arity (var_mclass) on */ -var26 = var_mclass->attrs[COLOR_nitc__model__MClass___arity].l; /* _arity on */ -var24 = var26; -RET_LABEL25:(void)0; +var36 = ((val*(*)(val* self))(var10->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var10); /* native_to_s on */ } -} -var_ = var24; -for(;;) { +varonce = var10; { -{ /* Inline kernel#Int#< (var_i,var_) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var29 = 1; /* easy isa OTHER*/ -if (unlikely(!var29)) { -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); -fatal_exit(1); -} -var32 = var_i < var_; -var27 = var32; -goto RET_LABEL28; -RET_LABEL28:(void)0; -} +nitc___nitc__ModelBuilder___error(self, var_qid, var36); /* Direct call modelbuilder_base$ModelBuilder$error on */ } -if (var27){ +goto RET_LABEL; } else { -goto BREAK_label; } { -var33 = nitc___nitc__MClass___try_intro(var_mclass); +{ /* Inline modelbuilder_base$ModelBuilder$bad_class_names (self) on */ +var39 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___bad_class_names].val; /* _bad_class_names on */ +if (unlikely(var39 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -var_intro = var33; -if (var_intro == NULL) { -var34 = 1; /* is null */ -} else { -var34 = 0; /* arg is null but recv is not */ +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bad_class_names"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 413); +fatal_exit(1); } -if (0) { -{ /* Inline kernel#Object#== (var_intro,((val*)NULL)) on */ -var_other = ((val*)NULL); -{ -{ /* Inline kernel#Object#is_same_instance (var_intro,var_other) on */ -var39 = var_intro == var_other; var37 = var39; -goto RET_LABEL38; RET_LABEL38:(void)0; } } -var35 = var37; -goto RET_LABEL36; -RET_LABEL36:(void)0; -} -var34 = var35; -} -if (var34){ -var = ((val*)NULL); -goto RET_LABEL; -} else { -} { -{ /* Inline model#MClassDef#bound_mtype (var_intro) on */ -var42 = var_intro->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var42 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 579); -fatal_exit(1); -} -var40 = var42; -RET_LABEL41:(void)0; -} +var40 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var37, var_mmodule); } { -var43 = ((val*(*)(val* self))(var40->class->vft[COLOR_nitc__model__MClassType__arguments]))(var40); /* arguments on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var40, var_qname); /* Direct call array$Array$add on */ } { -var44 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var43, var_i); +{ /* Inline modelbuilder_base$ModelBuilder$model (self) on */ +var43 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___model].val; /* _model on */ +if (unlikely(var43 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -var_bound = var44; -{ -{ /* Inline parser_nodes#AType#n_types (var_ntype) on */ -var47 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on */ -if (unlikely(var47 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1715); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 44); fatal_exit(1); } -var45 = var47; -RET_LABEL46:(void)0; +var41 = var43; +RET_LABEL42:(void)0; } } { -var48 = nitc___nitc__ANodes___core__abstract_collection__SequenceRead___91d_93d(var45, var_i); +var44 = nitc__model___Model___get_mclasses_by_name(var41, var_name); } -var_nt = var48; +var_all_classes = var44; +var45 = NEW_core__Array(&type_core__Array__core__String); { -var49 = nitc___nitc__ModelBuilder___resolve_mtype(self, var_mmodule, var_mclassdef, var_nt); +core___core__Array___core__kernel__Object__init(var45); /* Direct call array$Array$init on */ } -var_mt = var49; -if (var_mt == NULL) { -var50 = 1; /* is null */ +var_hints = var45; +if (var_all_classes == NULL) { +var46 = 0; /* is null */ } else { -var50 = 0; /* arg is null but recv is not */ +var46 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mt,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_all_classes,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mt,var_other) on */ -var55 = var_mt == var_other; -var53 = var55; -goto RET_LABEL54; -RET_LABEL54:(void)0; +var49 = ((short int(*)(val* self, val* p0))(var_all_classes->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_all_classes, var_other); /* == on */ } +var50 = !var49; +var47 = var50; +goto RET_LABEL48; +RET_LABEL48:(void)0; } -var51 = var53; -goto RET_LABEL52; -RET_LABEL52:(void)0; +var46 = var47; } -var50 = var51; +if (var46){ +var_ = var_all_classes; +{ +var51 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_); } -if (var50){ -var = ((val*)NULL); -goto RET_LABEL; -} else { +var_52 = var51; +for(;;) { +{ +var53 = ((short int(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_52); /* is_ok on */ } -if (var_mclassdef == NULL) { -var56 = 0; /* is null */ +if (var53){ } else { -var56 = 1; /* arg is null and recv is not */ +goto BREAK_label; } -if (0) { -{ /* Inline kernel#Object#!= (var_mclassdef,((val*)NULL)) on */ -var_other59 = ((val*)NULL); { -var60 = ((short int(*)(val* self, val* p0))(var_mclassdef->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mclassdef, var_other59); /* == on */ +var54 = ((val*(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_52); /* item on */ } -var61 = !var60; -var57 = var61; -goto RET_LABEL58; -RET_LABEL58:(void)0; +var_c = var54; +{ +{ /* Inline model$MClass$intro_mmodule (var_c) on */ +var57 = var_c->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var57 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); +fatal_exit(1); +} +var55 = var57; +RET_LABEL56:(void)0; } -var56 = var57; } -if (var56){ { -{ /* Inline model#MClassDef#bound_mtype (var_mclassdef) on */ -var64 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ -if (unlikely(var64 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 579); +{ /* Inline model$MClass$visibility (var_c) on */ +var60 = var_c->attrs[COLOR_nitc__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var60 == 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, 476); fatal_exit(1); } -var62 = var64; -RET_LABEL63:(void)0; +var58 = var60; +RET_LABEL59:(void)0; } } -var_anchor = var62; +{ +var61 = nitc___nitc__MModule___is_visible(var_mmodule, var55, var58); +} +var62 = !var61; +if (var62){ +goto BREAK_label63; } else { -var_anchor = ((val*)NULL); } { -var65 = nitc___nitc__ModelBuilder___check_subtype(self, var_nt, var_mmodule, var_anchor, var_mt, var_bound); +var64 = nitc__modelbuilder_base___AQclassid___accept(var_qid, var_c); } -var66 = !var65; -if (var66){ -if (unlikely(varonce==NULL)) { -var67 = NEW_core__NativeArray(5l, &type_core__NativeArray__core__String); +var65 = !var64; +if (var65){ +goto BREAK_label63; +} else { +} +if (unlikely(varonce66==NULL)) { +var67 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); if (likely(varonce68!=NULL)) { var69 = varonce68; } else { -var70 = "Type Error: expected `"; -var71 = core__flat___NativeString___to_s_full(var70, 22l, 22l); +var70 = "`"; +var72 = (val*)(1l<<2|1); +var73 = (val*)(1l<<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; } ((struct instance_core__NativeArray*)var67)->values[0]=var69; -if (likely(varonce72!=NULL)) { -var73 = varonce72; -} else { -var74 = "`, got `"; -var75 = core__flat___NativeString___to_s_full(var74, 8l, 8l); -var73 = var75; -varonce72 = var73; -} -((struct instance_core__NativeArray*)var67)->values[2]=var73; if (likely(varonce76!=NULL)) { var77 = varonce76; } else { -var78 = "`."; -var79 = core__flat___NativeString___to_s_full(var78, 2l, 2l); +var78 = "`"; +var80 = (val*)(1l<<2|1); +var81 = (val*)(1l<<2|1); +var82 = (val*)((long)(0)<<2|3); +var83 = (val*)((long)(0)<<2|3); +var79 = core__flat___CString___to_s_unsafe(var78, var80, var81, var82, var83); var77 = var79; varonce76 = var77; } -((struct instance_core__NativeArray*)var67)->values[4]=var77; +((struct instance_core__NativeArray*)var67)->values[2]=var77; } else { -var67 = varonce; -varonce = NULL; +var67 = varonce66; +varonce66 = NULL; } { -var80 = ((val*(*)(val* self))(var_bound->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_bound); /* to_s on */ +var84 = nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var_c); } -((struct instance_core__NativeArray*)var67)->values[1]=var80; +((struct instance_core__NativeArray*)var67)->values[1]=var84; { -var81 = ((val*(*)(val* self))(var_mt->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mt); /* to_s on */ +var85 = ((val*(*)(val* self))(var67->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var67); /* native_to_s on */ } -((struct instance_core__NativeArray*)var67)->values[3]=var81; +varonce66 = var67; { -var82 = ((val*(*)(val* self))(var67->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var67); /* native_to_s on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_hints, var85); /* Direct call array$Array$add on */ } -varonce = var67; +BREAK_label63: (void)0; { -nitc___nitc__ModelBuilder___error(self, var_nt, var82); /* Direct call modelbuilder_base#ModelBuilder#error on */ +((void(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_52); /* next on */ +} +} +BREAK_label: (void)0; +{ +((void(*)(val* self))((((long)var_52&3)?class_info[((long)var_52&3)]:var_52->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_52); /* finish on */ } -var = ((val*)NULL); -goto RET_LABEL; } else { } { -var83 = core___core__Int___Discrete__successor(var_i, 1l); +{ /* Inline array$AbstractArrayRead$length (var_hints) on */ +var88 = var_hints->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var86 = var88; +RET_LABEL87:(void)0; } -var_i = var83; } -BREAK_label: (void)0; +{ +{ /* Inline kernel$Int$> (var86,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var91 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var91)) { +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, 727); +fatal_exit(1); +} +var92 = var86 > 1l; +var89 = var92; +goto RET_LABEL90; +RET_LABEL90:(void)0; +} +} +if (var89){ +if (unlikely(varonce93==NULL)) { +var94 = NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String); +if (likely(varonce95!=NULL)) { +var96 = varonce95; +} else { +var97 = "Error: ambiguous class name `"; +var99 = (val*)(29l<<2|1); +var100 = (val*)(29l<<2|1); +var101 = (val*)((long)(0)<<2|3); +var102 = (val*)((long)(0)<<2|3); +var98 = core__flat___CString___to_s_unsafe(var97, var99, var100, var101, var102); +var96 = var98; +varonce95 = var96; +} +((struct instance_core__NativeArray*)var94)->values[0]=var96; +if (likely(varonce103!=NULL)) { +var104 = varonce103; +} else { +var105 = "` in module `"; +var107 = (val*)(13l<<2|1); +var108 = (val*)(13l<<2|1); +var109 = (val*)((long)(0)<<2|3); +var110 = (val*)((long)(0)<<2|3); +var106 = core__flat___CString___to_s_unsafe(var105, var107, var108, var109, var110); +var104 = var106; +varonce103 = var104; +} +((struct instance_core__NativeArray*)var94)->values[2]=var104; +if (likely(varonce111!=NULL)) { +var112 = varonce111; +} else { +var113 = "`. Conflicts are between "; +var115 = (val*)(25l<<2|1); +var116 = (val*)(25l<<2|1); +var117 = (val*)((long)(0)<<2|3); +var118 = (val*)((long)(0)<<2|3); +var114 = core__flat___CString___to_s_unsafe(var113, var115, var116, var117, var118); +var112 = var114; +varonce111 = var112; +} +((struct instance_core__NativeArray*)var94)->values[4]=var112; +if (likely(varonce119!=NULL)) { +var120 = varonce119; +} else { +var121 = "."; +var123 = (val*)(1l<<2|1); +var124 = (val*)(1l<<2|1); +var125 = (val*)((long)(0)<<2|3); +var126 = (val*)((long)(0)<<2|3); +var122 = core__flat___CString___to_s_unsafe(var121, var123, var124, var125, var126); +var120 = var122; +varonce119 = var120; +} +((struct instance_core__NativeArray*)var94)->values[6]=var120; } else { +var94 = varonce93; +varonce93 = NULL; } +((struct instance_core__NativeArray*)var94)->values[1]=var_qname; { -{ /* Inline modelbuilder_base#AType#checked_mtype= (var_ntype,1) on */ -var_ntype->attrs[COLOR_nitc__modelbuilder_base__AType___checked_mtype].s = 1; /* _checked_mtype on */ -RET_LABEL84:(void)0; +var127 = ((val*(*)(val* self))(var_mmodule->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mmodule); /* to_s on */ } +((struct instance_core__NativeArray*)var94)->values[3]=var127; +if (likely(varonce128!=NULL)) { +var129 = varonce128; +} else { +var130 = ","; +var132 = (val*)(1l<<2|1); +var133 = (val*)(1l<<2|1); +var134 = (val*)((long)(0)<<2|3); +var135 = (val*)((long)(0)<<2|3); +var131 = core__flat___CString___to_s_unsafe(var130, var132, var133, var134, var135); +var129 = var131; +varonce128 = var129; } -var = var_mtype; -goto RET_LABEL; -RET_LABEL:; -return var; +if (likely(varonce136!=NULL)) { +var137 = varonce136; +} else { +var138 = " and "; +var140 = (val*)(5l<<2|1); +var141 = (val*)(5l<<2|1); +var142 = (val*)((long)(0)<<2|3); +var143 = (val*)((long)(0)<<2|3); +var139 = core__flat___CString___to_s_unsafe(var138, var140, var141, var142, var143); +var137 = var139; +varonce136 = var137; } -/* method modelbuilder_base#ModelBuilder#check_subtype for (self: ModelBuilder, ANode, MModule, nullable MClassType, MType, MType): Bool */ -short int nitc___nitc__ModelBuilder___check_subtype(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { -short int var /* : Bool */; -val* var_node /* var node: ANode */; +{ +var144 = core__abstract_text___Collection___join(var_hints, var129, var137); +} +((struct instance_core__NativeArray*)var94)->values[5]=var144; +{ +var145 = ((val*(*)(val* self))(var94->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var94); /* native_to_s on */ +} +varonce93 = var94; +{ +nitc___nitc__ModelBuilder___error(self, var_qid, var145); /* Direct call modelbuilder_base$ModelBuilder$error on */ +} +goto RET_LABEL; +} else { +} +{ +core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var_hints); /* Direct call array$AbstractArray$clear on */ +} +if (var_all_classes == NULL) { +var146 = 0; /* is null */ +} else { +var146 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel$Object$!= (var_all_classes,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var149 = ((short int(*)(val* self, val* p0))(var_all_classes->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_all_classes, var_other); /* == on */ +} +var150 = !var149; +var147 = var150; +goto RET_LABEL148; +RET_LABEL148:(void)0; +} +var146 = var147; +} +if (var146){ +var_151 = var_all_classes; +{ +var152 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_151); +} +var_153 = var152; +for(;;) { +{ +var154 = ((short int(*)(val* self))((((long)var_153&3)?class_info[((long)var_153&3)]:var_153->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_153); /* is_ok on */ +} +if (var154){ +} else { +goto BREAK_label155; +} +{ +var156 = ((val*(*)(val* self))((((long)var_153&3)?class_info[((long)var_153&3)]:var_153->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_153); /* item on */ +} +var_c157 = var156; +{ +{ /* Inline mmodule$MModule$in_importation (var_mmodule) on */ +var160 = var_mmodule->attrs[COLOR_nitc__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var160 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 108); +fatal_exit(1); +} +var158 = var160; +RET_LABEL159:(void)0; +} +} +{ +{ /* Inline model$MClass$intro_mmodule (var_c157) on */ +var163 = var_c157->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var163 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); +fatal_exit(1); +} +var161 = var163; +RET_LABEL162:(void)0; +} +} +{ +var164 = poset___poset__POSetElement____60d_61d(var158, var161); +} +var165 = !var164; +if (var165){ +goto BREAK_label166; +} else { +} +{ +{ /* Inline model$MClass$intro_mmodule (var_c157) on */ +var169 = var_c157->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var169 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); +fatal_exit(1); +} +var167 = var169; +RET_LABEL168:(void)0; +} +} +{ +{ /* Inline model$MClass$visibility (var_c157) on */ +var172 = var_c157->attrs[COLOR_nitc__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var172 == 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, 476); +fatal_exit(1); +} +var170 = var172; +RET_LABEL171:(void)0; +} +} +{ +var173 = nitc___nitc__MModule___is_visible(var_mmodule, var167, var170); +} +if (var173){ +goto BREAK_label166; +} else { +} +{ +var174 = nitc__modelbuilder_base___AQclassid___accept(var_qid, var_c157); +} +var175 = !var174; +if (var175){ +goto BREAK_label166; +} else { +} +if (unlikely(varonce176==NULL)) { +var177 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); +if (likely(varonce178!=NULL)) { +var179 = varonce178; +} else { +var180 = "Error: class `"; +var182 = (val*)(14l<<2|1); +var183 = (val*)(14l<<2|1); +var184 = (val*)((long)(0)<<2|3); +var185 = (val*)((long)(0)<<2|3); +var181 = core__flat___CString___to_s_unsafe(var180, var182, var183, var184, var185); +var179 = var181; +varonce178 = var179; +} +((struct instance_core__NativeArray*)var177)->values[0]=var179; +if (likely(varonce186!=NULL)) { +var187 = varonce186; +} else { +var188 = "` not visible in module `"; +var190 = (val*)(25l<<2|1); +var191 = (val*)(25l<<2|1); +var192 = (val*)((long)(0)<<2|3); +var193 = (val*)((long)(0)<<2|3); +var189 = core__flat___CString___to_s_unsafe(var188, var190, var191, var192, var193); +var187 = var189; +varonce186 = var187; +} +((struct instance_core__NativeArray*)var177)->values[2]=var187; +if (likely(varonce194!=NULL)) { +var195 = varonce194; +} else { +var196 = "`."; +var198 = (val*)(2l<<2|1); +var199 = (val*)(2l<<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; +} +((struct instance_core__NativeArray*)var177)->values[4]=var195; +} else { +var177 = varonce176; +varonce176 = NULL; +} +{ +var202 = nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var_c157); +} +((struct instance_core__NativeArray*)var177)->values[1]=var202; +{ +var203 = ((val*(*)(val* self))(var_mmodule->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mmodule); /* to_s on */ +} +((struct instance_core__NativeArray*)var177)->values[3]=var203; +{ +var204 = ((val*(*)(val* self))(var177->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var177); /* native_to_s on */ +} +varonce176 = var177; +{ +nitc___nitc__ModelBuilder___error(self, var_qid, var204); /* Direct call modelbuilder_base$ModelBuilder$error on */ +} +goto RET_LABEL; +BREAK_label166: (void)0; +{ +((void(*)(val* self))((((long)var_153&3)?class_info[((long)var_153&3)]:var_153->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_153); /* next on */ +} +} +BREAK_label155: (void)0; +{ +((void(*)(val* self))((((long)var_153&3)?class_info[((long)var_153&3)]:var_153->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_153); /* finish on */ +} +} else { +} +if (var_all_classes == NULL) { +var205 = 0; /* is null */ +} else { +var205 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel$Object$!= (var_all_classes,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var208 = ((short int(*)(val* self, val* p0))(var_all_classes->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_all_classes, var_other); /* == on */ +} +var209 = !var208; +var206 = var209; +goto RET_LABEL207; +RET_LABEL207:(void)0; +} +var205 = var206; +} +if (var205){ +var_210 = var_all_classes; +{ +var211 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_210); +} +var_212 = var211; +for(;;) { +{ +var213 = ((short int(*)(val* self))((((long)var_212&3)?class_info[((long)var_212&3)]:var_212->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_212); /* is_ok on */ +} +if (var213){ +} else { +goto BREAK_label214; +} +{ +var215 = ((val*(*)(val* self))((((long)var_212&3)?class_info[((long)var_212&3)]:var_212->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_212); /* item on */ +} +var_c216 = var215; +{ +{ /* Inline mmodule$MModule$in_importation (var_mmodule) on */ +var219 = var_mmodule->attrs[COLOR_nitc__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var219 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 108); +fatal_exit(1); +} +var217 = var219; +RET_LABEL218:(void)0; +} +} +{ +{ /* Inline model$MClass$intro_mmodule (var_c216) on */ +var222 = var_c216->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var222 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); +fatal_exit(1); +} +var220 = var222; +RET_LABEL221:(void)0; +} +} +{ +var223 = poset___poset__POSetElement____60d_61d(var217, var220); +} +if (var223){ +goto BREAK_label224; +} else { +} +{ +{ /* Inline model$MClass$intro_mmodule (var_c216) on */ +var227 = var_c216->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var227 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); +fatal_exit(1); +} +var225 = var227; +RET_LABEL226:(void)0; +} +} +{ +{ /* Inline mmodule$MModule$in_importation (var225) on */ +var230 = var225->attrs[COLOR_nitc__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var230 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 108); +fatal_exit(1); +} +var228 = var230; +RET_LABEL229:(void)0; +} +} +{ +var231 = poset___poset__POSetElement____60d_61d(var228, var_mmodule); +} +if (var231){ +goto BREAK_label224; +} else { +} +{ +{ /* Inline model$MClass$visibility (var_c216) on */ +var234 = var_c216->attrs[COLOR_nitc__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var234 == 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, 476); +fatal_exit(1); +} +var232 = var234; +RET_LABEL233:(void)0; +} +} +var235 = glob_sys; +{ +var236 = nitc__model_base___core__Sys___private_visibility(var235); +} +{ +var237 = core___core__Comparable____60d_61d(var232, var236); +} +if (var237){ +goto BREAK_label224; +} else { +} +{ +var238 = nitc__modelbuilder_base___AQclassid___accept(var_qid, var_c216); +} +var239 = !var238; +if (var239){ +goto BREAK_label224; +} else { +} +if (unlikely(varonce240==NULL)) { +var241 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce242!=NULL)) { +var243 = varonce242; +} else { +var244 = "`"; +var246 = (val*)(1l<<2|1); +var247 = (val*)(1l<<2|1); +var248 = (val*)((long)(0)<<2|3); +var249 = (val*)((long)(0)<<2|3); +var245 = core__flat___CString___to_s_unsafe(var244, var246, var247, var248, var249); +var243 = var245; +varonce242 = var243; +} +((struct instance_core__NativeArray*)var241)->values[0]=var243; +if (likely(varonce250!=NULL)) { +var251 = varonce250; +} else { +var252 = "`"; +var254 = (val*)(1l<<2|1); +var255 = (val*)(1l<<2|1); +var256 = (val*)((long)(0)<<2|3); +var257 = (val*)((long)(0)<<2|3); +var253 = core__flat___CString___to_s_unsafe(var252, var254, var255, var256, var257); +var251 = var253; +varonce250 = var251; +} +((struct instance_core__NativeArray*)var241)->values[2]=var251; +} else { +var241 = varonce240; +varonce240 = NULL; +} +{ +{ /* Inline model$MClass$intro_mmodule (var_c216) on */ +var260 = var_c216->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var260 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); +fatal_exit(1); +} +var258 = var260; +RET_LABEL259:(void)0; +} +} +{ +var261 = nitc___nitc__MModule___nitc__model_base__MEntity__full_name(var258); +} +((struct instance_core__NativeArray*)var241)->values[1]=var261; +{ +var262 = ((val*(*)(val* self))(var241->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var241); /* native_to_s on */ +} +varonce240 = var241; +{ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_hints, var262); /* Direct call array$Array$add on */ +} +BREAK_label224: (void)0; +{ +((void(*)(val* self))((((long)var_212&3)?class_info[((long)var_212&3)]:var_212->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_212); /* next on */ +} +} +BREAK_label214: (void)0; +{ +((void(*)(val* self))((((long)var_212&3)?class_info[((long)var_212&3)]:var_212->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_212); /* finish on */ +} +} else { +} +{ +var263 = core___core__Collection___not_empty(var_hints); +} +if (var263){ +if (unlikely(varonce264==NULL)) { +var265 = NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String); +if (likely(varonce266!=NULL)) { +var267 = varonce266; +} else { +var268 = "Error: class `"; +var270 = (val*)(14l<<2|1); +var271 = (val*)(14l<<2|1); +var272 = (val*)((long)(0)<<2|3); +var273 = (val*)((long)(0)<<2|3); +var269 = core__flat___CString___to_s_unsafe(var268, var270, var271, var272, var273); +var267 = var269; +varonce266 = var267; +} +((struct instance_core__NativeArray*)var265)->values[0]=var267; +if (likely(varonce274!=NULL)) { +var275 = varonce274; +} else { +var276 = "` not found in module `"; +var278 = (val*)(23l<<2|1); +var279 = (val*)(23l<<2|1); +var280 = (val*)((long)(0)<<2|3); +var281 = (val*)((long)(0)<<2|3); +var277 = core__flat___CString___to_s_unsafe(var276, var278, var279, var280, var281); +var275 = var277; +varonce274 = var275; +} +((struct instance_core__NativeArray*)var265)->values[2]=var275; +if (likely(varonce282!=NULL)) { +var283 = varonce282; +} else { +var284 = "`. Maybe import "; +var286 = (val*)(16l<<2|1); +var287 = (val*)(16l<<2|1); +var288 = (val*)((long)(0)<<2|3); +var289 = (val*)((long)(0)<<2|3); +var285 = core__flat___CString___to_s_unsafe(var284, var286, var287, var288, var289); +var283 = var285; +varonce282 = var283; +} +((struct instance_core__NativeArray*)var265)->values[4]=var283; +if (likely(varonce290!=NULL)) { +var291 = varonce290; +} else { +var292 = "?"; +var294 = (val*)(1l<<2|1); +var295 = (val*)(1l<<2|1); +var296 = (val*)((long)(0)<<2|3); +var297 = (val*)((long)(0)<<2|3); +var293 = core__flat___CString___to_s_unsafe(var292, var294, var295, var296, var297); +var291 = var293; +varonce290 = var291; +} +((struct instance_core__NativeArray*)var265)->values[6]=var291; +} else { +var265 = varonce264; +varonce264 = NULL; +} +((struct instance_core__NativeArray*)var265)->values[1]=var_qname; +{ +var298 = ((val*(*)(val* self))(var_mmodule->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mmodule); /* to_s on */ +} +((struct instance_core__NativeArray*)var265)->values[3]=var298; +if (likely(varonce299!=NULL)) { +var300 = varonce299; +} else { +var301 = ","; +var303 = (val*)(1l<<2|1); +var304 = (val*)(1l<<2|1); +var305 = (val*)((long)(0)<<2|3); +var306 = (val*)((long)(0)<<2|3); +var302 = core__flat___CString___to_s_unsafe(var301, var303, var304, var305, var306); +var300 = var302; +varonce299 = var300; +} +if (likely(varonce307!=NULL)) { +var308 = varonce307; +} else { +var309 = " or "; +var311 = (val*)(4l<<2|1); +var312 = (val*)(4l<<2|1); +var313 = (val*)((long)(0)<<2|3); +var314 = (val*)((long)(0)<<2|3); +var310 = core__flat___CString___to_s_unsafe(var309, var311, var312, var313, var314); +var308 = var310; +varonce307 = var308; +} +{ +var315 = core__abstract_text___Collection___join(var_hints, var300, var308); +} +((struct instance_core__NativeArray*)var265)->values[5]=var315; +{ +var316 = ((val*(*)(val* self))(var265->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var265); /* native_to_s on */ +} +varonce264 = var265; +{ +nitc___nitc__ModelBuilder___error(self, var_qid, var316); /* Direct call modelbuilder_base$ModelBuilder$error on */ +} +goto RET_LABEL; +} else { +} +var317 = NEW_more_collections__BestDistance(&type_more_collections__BestDistance__nitc__MClass); +{ +var318 = ((long(*)(val* self))(var_qname->class->vft[COLOR_core__abstract_text__Text__length]))(var_qname); /* length on */ +} +{ +var319 = ((long(*)(val* self))(var_name->class->vft[COLOR_core__abstract_text__Text__length]))(var_name); /* length on */ +} +{ +{ /* Inline kernel$Int$/ (var319,2l) on */ +/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ +/* <2l:Int> isa OTHER */ +var322 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var322)) { +var_class_name325 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name325); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 733); +fatal_exit(1); +} +var326 = var319 / 2l; +var320 = var326; +goto RET_LABEL321; +RET_LABEL321:(void)0; +} +} +{ +{ /* Inline kernel$Int$- (var318,var320) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var329 = 1; /* easy isa OTHER*/ +if (unlikely(!var329)) { +var_class_name332 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name332); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var333 = var318 - var320; +var327 = var333; +goto RET_LABEL328; +RET_LABEL328:(void)0; +} +} +{ +((void(*)(val* self, long p0))(var317->class->vft[COLOR_more_collections__BestDistance__best_distance_61d]))(var317, var327); /* best_distance= on */ +} +{ +((void(*)(val* self))(var317->class->vft[COLOR_core__kernel__Object__init]))(var317); /* init on */ +} +var_bests = var317; +{ +{ /* Inline modelbuilder_base$ModelBuilder$model (self) on */ +var336 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___model].val; /* _model on */ +if (unlikely(var336 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 44); +fatal_exit(1); +} +var334 = var336; +RET_LABEL335:(void)0; +} +} +{ +{ /* Inline model$Model$mclasses (var334) on */ +var339 = var334->attrs[COLOR_nitc__model__Model___mclasses].val; /* _mclasses on */ +if (unlikely(var339 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclasses"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 43); +fatal_exit(1); +} +var337 = var339; +RET_LABEL338:(void)0; +} +} +var_340 = var337; +{ +var341 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_340); +} +var_342 = var341; +for(;;) { +{ +var343 = ((short int(*)(val* self))((((long)var_342&3)?class_info[((long)var_342&3)]:var_342->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_342); /* is_ok on */ +} +if (var343){ +} else { +goto BREAK_label344; +} +{ +var345 = ((val*(*)(val* self))((((long)var_342&3)?class_info[((long)var_342&3)]:var_342->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_342); /* item on */ +} +var_c346 = var345; +{ +{ /* Inline mmodule$MModule$in_importation (var_mmodule) on */ +var349 = var_mmodule->attrs[COLOR_nitc__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var349 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 108); +fatal_exit(1); +} +var347 = var349; +RET_LABEL348:(void)0; +} +} +{ +{ /* Inline model$MClass$intro_mmodule (var_c346) on */ +var352 = var_c346->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var352 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); +fatal_exit(1); +} +var350 = var352; +RET_LABEL351:(void)0; +} +} +{ +var353 = poset___poset__POSetElement____60d_61d(var347, var350); +} +var354 = !var353; +if (var354){ +goto BREAK_label355; +} else { +} +{ +{ /* Inline model$MClass$intro_mmodule (var_c346) on */ +var358 = var_c346->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var358 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); +fatal_exit(1); +} +var356 = var358; +RET_LABEL357:(void)0; +} +} +{ +{ /* Inline model$MClass$visibility (var_c346) on */ +var361 = var_c346->attrs[COLOR_nitc__model__MClass___visibility].val; /* _visibility on */ +if (unlikely(var361 == 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, 476); +fatal_exit(1); +} +var359 = var361; +RET_LABEL360:(void)0; +} +} +{ +var362 = nitc___nitc__MModule___is_visible(var_mmodule, var356, var359); +} +var363 = !var362; +if (var363){ +goto BREAK_label355; +} else { +} +{ +{ /* Inline model$MClass$name (var_c346) on */ +var366 = var_c346->attrs[COLOR_nitc__model__MClass___name].val; /* _name on */ +if (unlikely(var366 == 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, 396); +fatal_exit(1); +} +var364 = var366; +RET_LABEL365:(void)0; +} +} +{ +var367 = core___core__Text___levenshtein_distance(var_qname, var364); +} +var_d = var367; +{ +var368 = more_collections___more_collections__BestDistance___update(var_bests, var_d, var_c346); +} +{ +var369 = nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var_c346); +} +{ +var370 = core___core__Text___levenshtein_distance(var_qname, var369); +} +var_d = var370; +{ +var371 = more_collections___more_collections__BestDistance___update(var_bests, var_d, var_c346); +} +BREAK_label355: (void)0; +{ +((void(*)(val* self))((((long)var_342&3)?class_info[((long)var_342&3)]:var_342->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_342); /* next on */ +} +} +BREAK_label344: (void)0; +{ +((void(*)(val* self))((((long)var_342&3)?class_info[((long)var_342&3)]:var_342->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_342); /* finish on */ +} +{ +{ /* Inline more_collections$BestDistance$best_items (var_bests) on */ +var374 = var_bests->attrs[COLOR_more_collections__BestDistance___best_items].val; /* _best_items on */ +if (unlikely(var374 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _best_items"); +PRINT_ERROR(" (%s:%d)\n", FILE_more_collections, 562); +fatal_exit(1); +} +var372 = var374; +RET_LABEL373:(void)0; +} +} +{ +var375 = core___core__Collection___not_empty(var372); +} +if (var375){ +{ +{ /* Inline more_collections$BestDistance$best_items (var_bests) on */ +var378 = var_bests->attrs[COLOR_more_collections__BestDistance___best_items].val; /* _best_items on */ +if (unlikely(var378 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _best_items"); +PRINT_ERROR(" (%s:%d)\n", FILE_more_collections, 562); +fatal_exit(1); +} +var376 = var378; +RET_LABEL377:(void)0; +} +} +var_379 = var376; +{ +var380 = ((val*(*)(val* self))((((long)var_379&3)?class_info[((long)var_379&3)]:var_379->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_379); /* iterator on */ +} +var_381 = var380; +for(;;) { +{ +var382 = ((short int(*)(val* self))((((long)var_381&3)?class_info[((long)var_381&3)]:var_381->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_381); /* is_ok on */ +} +if (var382){ +} else { +goto BREAK_label383; +} +{ +var384 = ((val*(*)(val* self))((((long)var_381&3)?class_info[((long)var_381&3)]:var_381->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_381); /* item on */ +} +var_c385 = var384; +if (unlikely(varonce386==NULL)) { +var387 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce388!=NULL)) { +var389 = varonce388; +} else { +var390 = "`"; +var392 = (val*)(1l<<2|1); +var393 = (val*)(1l<<2|1); +var394 = (val*)((long)(0)<<2|3); +var395 = (val*)((long)(0)<<2|3); +var391 = core__flat___CString___to_s_unsafe(var390, var392, var393, var394, var395); +var389 = var391; +varonce388 = var389; +} +((struct instance_core__NativeArray*)var387)->values[0]=var389; +if (likely(varonce396!=NULL)) { +var397 = varonce396; +} else { +var398 = "`"; +var400 = (val*)(1l<<2|1); +var401 = (val*)(1l<<2|1); +var402 = (val*)((long)(0)<<2|3); +var403 = (val*)((long)(0)<<2|3); +var399 = core__flat___CString___to_s_unsafe(var398, var400, var401, var402, var403); +var397 = var399; +varonce396 = var397; +} +((struct instance_core__NativeArray*)var387)->values[2]=var397; +} else { +var387 = varonce386; +varonce386 = NULL; +} +{ +var404 = nitc___nitc__MClass___nitc__model_base__MEntity__full_name(var_c385); +} +((struct instance_core__NativeArray*)var387)->values[1]=var404; +{ +var405 = ((val*(*)(val* self))(var387->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var387); /* native_to_s on */ +} +varonce386 = var387; +{ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_hints, var405); /* Direct call array$Array$add on */ +} +{ +((void(*)(val* self))((((long)var_381&3)?class_info[((long)var_381&3)]:var_381->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_381); /* next on */ +} +} +BREAK_label383: (void)0; +{ +((void(*)(val* self))((((long)var_381&3)?class_info[((long)var_381&3)]:var_381->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_381); /* finish on */ +} +if (unlikely(varonce406==NULL)) { +var407 = NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String); +if (likely(varonce408!=NULL)) { +var409 = varonce408; +} else { +var410 = "Error: class `"; +var412 = (val*)(14l<<2|1); +var413 = (val*)(14l<<2|1); +var414 = (val*)((long)(0)<<2|3); +var415 = (val*)((long)(0)<<2|3); +var411 = core__flat___CString___to_s_unsafe(var410, var412, var413, var414, var415); +var409 = var411; +varonce408 = var409; +} +((struct instance_core__NativeArray*)var407)->values[0]=var409; +if (likely(varonce416!=NULL)) { +var417 = varonce416; +} else { +var418 = "` not found in module `"; +var420 = (val*)(23l<<2|1); +var421 = (val*)(23l<<2|1); +var422 = (val*)((long)(0)<<2|3); +var423 = (val*)((long)(0)<<2|3); +var419 = core__flat___CString___to_s_unsafe(var418, var420, var421, var422, var423); +var417 = var419; +varonce416 = var417; +} +((struct instance_core__NativeArray*)var407)->values[2]=var417; +if (likely(varonce424!=NULL)) { +var425 = varonce424; +} else { +var426 = "`. Did you mean "; +var428 = (val*)(16l<<2|1); +var429 = (val*)(16l<<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*)var407)->values[4]=var425; +if (likely(varonce432!=NULL)) { +var433 = varonce432; +} else { +var434 = "?"; +var436 = (val*)(1l<<2|1); +var437 = (val*)(1l<<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*)var407)->values[6]=var433; +} else { +var407 = varonce406; +varonce406 = NULL; +} +((struct instance_core__NativeArray*)var407)->values[1]=var_qname; +{ +var440 = ((val*(*)(val* self))(var_mmodule->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mmodule); /* to_s on */ +} +((struct instance_core__NativeArray*)var407)->values[3]=var440; +if (likely(varonce441!=NULL)) { +var442 = varonce441; +} else { +var443 = ","; +var445 = (val*)(1l<<2|1); +var446 = (val*)(1l<<2|1); +var447 = (val*)((long)(0)<<2|3); +var448 = (val*)((long)(0)<<2|3); +var444 = core__flat___CString___to_s_unsafe(var443, var445, var446, var447, var448); +var442 = var444; +varonce441 = var442; +} +if (likely(varonce449!=NULL)) { +var450 = varonce449; +} else { +var451 = " or "; +var453 = (val*)(4l<<2|1); +var454 = (val*)(4l<<2|1); +var455 = (val*)((long)(0)<<2|3); +var456 = (val*)((long)(0)<<2|3); +var452 = core__flat___CString___to_s_unsafe(var451, var453, var454, var455, var456); +var450 = var452; +varonce449 = var450; +} +{ +var457 = core__abstract_text___Collection___join(var_hints, var442, var450); +} +((struct instance_core__NativeArray*)var407)->values[5]=var457; +{ +var458 = ((val*(*)(val* self))(var407->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var407); /* native_to_s on */ +} +varonce406 = var407; +{ +nitc___nitc__ModelBuilder___error(self, var_qid, var458); /* Direct call modelbuilder_base$ModelBuilder$error on */ +} +goto RET_LABEL; +} else { +} +if (unlikely(varonce459==NULL)) { +var460 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); +if (likely(varonce461!=NULL)) { +var462 = varonce461; +} else { +var463 = "Error: class `"; +var465 = (val*)(14l<<2|1); +var466 = (val*)(14l<<2|1); +var467 = (val*)((long)(0)<<2|3); +var468 = (val*)((long)(0)<<2|3); +var464 = core__flat___CString___to_s_unsafe(var463, var465, var466, var467, var468); +var462 = var464; +varonce461 = var462; +} +((struct instance_core__NativeArray*)var460)->values[0]=var462; +if (likely(varonce469!=NULL)) { +var470 = varonce469; +} else { +var471 = "` not found in module `"; +var473 = (val*)(23l<<2|1); +var474 = (val*)(23l<<2|1); +var475 = (val*)((long)(0)<<2|3); +var476 = (val*)((long)(0)<<2|3); +var472 = core__flat___CString___to_s_unsafe(var471, var473, var474, var475, var476); +var470 = var472; +varonce469 = var470; +} +((struct instance_core__NativeArray*)var460)->values[2]=var470; +if (likely(varonce477!=NULL)) { +var478 = varonce477; +} else { +var479 = "`."; +var481 = (val*)(2l<<2|1); +var482 = (val*)(2l<<2|1); +var483 = (val*)((long)(0)<<2|3); +var484 = (val*)((long)(0)<<2|3); +var480 = core__flat___CString___to_s_unsafe(var479, var481, var482, var483, var484); +var478 = var480; +varonce477 = var478; +} +((struct instance_core__NativeArray*)var460)->values[4]=var478; +} else { +var460 = varonce459; +varonce459 = NULL; +} +((struct instance_core__NativeArray*)var460)->values[1]=var_qname; +{ +var485 = ((val*(*)(val* self))(var_mmodule->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mmodule); /* to_s on */ +} +((struct instance_core__NativeArray*)var460)->values[3]=var485; +{ +var486 = ((val*(*)(val* self))(var460->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var460); /* native_to_s on */ +} +varonce459 = var460; +{ +nitc___nitc__ModelBuilder___error(self, var_qid, var486); /* Direct call modelbuilder_base$ModelBuilder$error on */ +} +RET_LABEL:; +} +/* method modelbuilder_base$ModelBuilder$bad_class_names for (self: ModelBuilder): MultiHashMap[MModule, String] */ +val* nitc___nitc__ModelBuilder___bad_class_names(val* self) { +val* var /* : MultiHashMap[MModule, String] */; +val* var1 /* : MultiHashMap[MModule, String] */; +var1 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___bad_class_names].val; /* _bad_class_names on */ +if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bad_class_names"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 413); +fatal_exit(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$ModelBuilder$resolve_mtype for (self: ModelBuilder, MModule, nullable MClassDef, AType): nullable MType */ +val* nitc___nitc__ModelBuilder___resolve_mtype(val* self, val* p0, val* p1, val* p2) { +val* var /* : nullable MType */; +val* var_mmodule /* var mmodule: MModule */; +val* var_mclassdef /* var mclassdef: nullable MClassDef */; +val* var_ntype /* var ntype: AType */; +val* var1 /* : nullable MType */; +val* var3 /* : nullable MType */; +val* var_mtype /* var mtype: nullable MType */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : nullable MType */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +short int var19 /* : Bool */; +short int var20 /* : Bool */; +int cltype; +int idtype; +val* var21 /* : MClass */; +val* var23 /* : MClass */; +val* var_mclass /* var mclass: MClass */; +long var_i /* var i: Int */; +long var24 /* : Int */; +long var26 /* : Int */; +long var_ /* var : Int */; +short int var27 /* : Bool */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +const char* var_class_name; +short int var32 /* : Bool */; +val* var33 /* : nullable MClassDef */; +val* var_intro /* var intro: nullable MClassDef */; +short int var34 /* : Bool */; +short int var35 /* : Bool */; +short int var37 /* : Bool */; +short int var39 /* : Bool */; +val* var40 /* : MClassType */; +val* var42 /* : MClassType */; +val* var43 /* : Array[MType] */; +val* var44 /* : nullable Object */; +val* var_bound /* var bound: MType */; +val* var45 /* : ANodes[AType] */; +val* var47 /* : ANodes[AType] */; +val* var48 /* : ANode */; +val* var_nt /* var nt: AType */; +val* var49 /* : nullable MType */; +val* var_mt /* var mt: nullable MType */; +short int var50 /* : Bool */; +short int var51 /* : Bool */; +short int var53 /* : Bool */; +short int var55 /* : Bool */; +short int var56 /* : Bool */; +short int var57 /* : Bool */; +val* var_other59 /* var other: nullable Object */; +short int var60 /* : Bool */; +short int var61 /* : Bool */; +val* var62 /* : MClassType */; +val* var64 /* : MClassType */; +val* var_anchor /* var anchor: nullable Object */; +short int var65 /* : Bool */; +short int var66 /* : Bool */; +val* var67 /* : NativeArray[String] */; +static val* varonce; +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 */; +static val* varonce76; +val* var77 /* : String */; +char* var78 /* : CString */; +val* var79 /* : String */; +val* var80 /* : nullable Int */; +val* var81 /* : nullable Int */; +val* var82 /* : nullable Bool */; +val* var83 /* : nullable Bool */; +static val* varonce84; +val* var85 /* : String */; +char* var86 /* : CString */; +val* var87 /* : String */; +val* var88 /* : nullable Int */; +val* var89 /* : nullable Int */; +val* var90 /* : nullable Bool */; +val* var91 /* : nullable Bool */; +val* var92 /* : String */; +val* var93 /* : String */; +val* var94 /* : String */; +long var95 /* : Int */; +var_mmodule = p0; +var_mclassdef = p1; +var_ntype = p2; +{ +{ /* Inline modelbuilder_base$AType$mtype (var_ntype) on */ +var3 = var_ntype->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val; /* _mtype on */ +var1 = var3; +RET_LABEL2:(void)0; +} +} +var_mtype = var1; +if (var_mtype == NULL) { +var4 = 1; /* is null */ +} else { +var4 = 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 */ +var9 = var_mtype == var_other; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; +} +} +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +var4 = var5; +} +if (var4){ +{ +var10 = nitc___nitc__ModelBuilder___resolve_mtype_unchecked(self, var_mmodule, var_mclassdef, var_ntype, 1); +} +var_mtype = var10; +} else { +} +if (var_mtype == NULL) { +var11 = 1; /* is null */ +} else { +var11 = 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 */ +var16 = var_mtype == var_other; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +} +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +var11 = var12; +} +if (var11){ +var = ((val*)NULL); +goto RET_LABEL; +} else { +} +{ +{ /* Inline modelbuilder_base$AType$checked_mtype (var_ntype) on */ +var19 = var_ntype->attrs[COLOR_nitc__modelbuilder_base__AType___checked_mtype].s; /* _checked_mtype on */ +var17 = var19; +RET_LABEL18:(void)0; +} +} +if (var17){ +var = var_mtype; +goto RET_LABEL; +} else { +} +/* isa MGenericType */ +cltype = type_nitc__MGenericType.color; +idtype = type_nitc__MGenericType.id; +if(cltype >= var_mtype->type->table_size) { +var20 = 0; +} else { +var20 = var_mtype->type->type_table[cltype] == idtype; +} +if (var20){ +{ +{ /* Inline model$MClassType$mclass (var_mtype) on */ +var23 = var_mtype->attrs[COLOR_nitc__model__MClassType___mclass].val; /* _mclass on */ +if (unlikely(var23 == 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, 1197); +fatal_exit(1); +} +var21 = var23; +RET_LABEL22:(void)0; +} +} +var_mclass = var21; +var_i = 0l; +{ +{ /* Inline model$MClass$arity (var_mclass) on */ +var26 = var_mclass->attrs[COLOR_nitc__model__MClass___arity].l; /* _arity on */ +var24 = var26; +RET_LABEL25:(void)0; +} +} +var_ = var24; +for(;;) { +{ +{ /* Inline kernel$Int$< (var_i,var_) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var29 = 1; /* easy isa OTHER*/ +if (unlikely(!var29)) { +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, 725); +fatal_exit(1); +} +var32 = var_i < var_; +var27 = var32; +goto RET_LABEL28; +RET_LABEL28:(void)0; +} +} +if (var27){ +} else { +goto BREAK_label; +} +{ +var33 = nitc___nitc__MClass___try_intro(var_mclass); +} +var_intro = var33; +if (var_intro == NULL) { +var34 = 1; /* is null */ +} else { +var34 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel$Object$== (var_intro,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel$Object$is_same_instance (var_intro,var_other) on */ +var39 = var_intro == var_other; +var37 = var39; +goto RET_LABEL38; +RET_LABEL38:(void)0; +} +} +var35 = var37; +goto RET_LABEL36; +RET_LABEL36:(void)0; +} +var34 = var35; +} +if (var34){ +var = ((val*)NULL); +goto RET_LABEL; +} else { +} +{ +{ /* Inline model$MClassDef$bound_mtype (var_intro) on */ +var42 = var_intro->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var42 == 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, 594); +fatal_exit(1); +} +var40 = var42; +RET_LABEL41:(void)0; +} +} +{ +var43 = ((val*(*)(val* self))(var40->class->vft[COLOR_nitc__model__MClassType__arguments]))(var40); /* arguments on */ +} +{ +var44 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var43, var_i); +} +var_bound = var44; +{ +{ /* Inline parser_nodes$AType$n_types (var_ntype) on */ +var47 = var_ntype->attrs[COLOR_nitc__parser_nodes__AType___n_types].val; /* _n_types on */ +if (unlikely(var47 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_types"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1782); +fatal_exit(1); +} +var45 = var47; +RET_LABEL46:(void)0; +} +} +{ +var48 = nitc___nitc__ANodes___core__abstract_collection__SequenceRead___91d_93d(var45, var_i); +} +var_nt = var48; +{ +var49 = nitc___nitc__ModelBuilder___resolve_mtype(self, var_mmodule, var_mclassdef, var_nt); +} +var_mt = var49; +if (var_mt == NULL) { +var50 = 1; /* is null */ +} else { +var50 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel$Object$== (var_mt,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel$Object$is_same_instance (var_mt,var_other) on */ +var55 = var_mt == var_other; +var53 = var55; +goto RET_LABEL54; +RET_LABEL54:(void)0; +} +} +var51 = var53; +goto RET_LABEL52; +RET_LABEL52:(void)0; +} +var50 = var51; +} +if (var50){ +var = ((val*)NULL); +goto RET_LABEL; +} else { +} +if (var_mclassdef == NULL) { +var56 = 0; /* is null */ +} else { +var56 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel$Object$!= (var_mclassdef,((val*)NULL)) on */ +var_other59 = ((val*)NULL); +{ +var60 = ((short int(*)(val* self, val* p0))(var_mclassdef->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mclassdef, var_other59); /* == on */ +} +var61 = !var60; +var57 = var61; +goto RET_LABEL58; +RET_LABEL58:(void)0; +} +var56 = var57; +} +if (var56){ +{ +{ /* Inline model$MClassDef$bound_mtype (var_mclassdef) on */ +var64 = var_mclassdef->attrs[COLOR_nitc__model__MClassDef___bound_mtype].val; /* _bound_mtype on */ +if (unlikely(var64 == 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, 594); +fatal_exit(1); +} +var62 = var64; +RET_LABEL63:(void)0; +} +} +var_anchor = var62; +} else { +var_anchor = ((val*)NULL); +} +{ +var65 = nitc___nitc__ModelBuilder___check_subtype(self, var_nt, var_mmodule, var_anchor, var_mt, var_bound); +} +var66 = !var65; +if (var66){ +if (unlikely(varonce==NULL)) { +var67 = NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String); +if (likely(varonce68!=NULL)) { +var69 = varonce68; +} else { +var70 = "Type Error: expected `"; +var72 = (val*)(22l<<2|1); +var73 = (val*)(22l<<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; +} +((struct instance_core__NativeArray*)var67)->values[0]=var69; +if (likely(varonce76!=NULL)) { +var77 = varonce76; +} else { +var78 = "`, got `"; +var80 = (val*)(8l<<2|1); +var81 = (val*)(8l<<2|1); +var82 = (val*)((long)(0)<<2|3); +var83 = (val*)((long)(0)<<2|3); +var79 = core__flat___CString___to_s_unsafe(var78, var80, var81, var82, var83); +var77 = var79; +varonce76 = var77; +} +((struct instance_core__NativeArray*)var67)->values[2]=var77; +if (likely(varonce84!=NULL)) { +var85 = varonce84; +} else { +var86 = "`."; +var88 = (val*)(2l<<2|1); +var89 = (val*)(2l<<2|1); +var90 = (val*)((long)(0)<<2|3); +var91 = (val*)((long)(0)<<2|3); +var87 = core__flat___CString___to_s_unsafe(var86, var88, var89, var90, var91); +var85 = var87; +varonce84 = var85; +} +((struct instance_core__NativeArray*)var67)->values[4]=var85; +} else { +var67 = varonce; +varonce = NULL; +} +{ +var92 = ((val*(*)(val* self))(var_bound->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_bound); /* to_s on */ +} +((struct instance_core__NativeArray*)var67)->values[1]=var92; +{ +var93 = ((val*(*)(val* self))(var_mt->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_mt); /* to_s on */ +} +((struct instance_core__NativeArray*)var67)->values[3]=var93; +{ +var94 = ((val*(*)(val* self))(var67->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var67); /* native_to_s on */ +} +varonce = var67; +{ +nitc___nitc__ModelBuilder___error(self, var_nt, var94); /* Direct call modelbuilder_base$ModelBuilder$error on */ +} +var = ((val*)NULL); +goto RET_LABEL; +} else { +} +{ +var95 = core___core__Int___Discrete__successor(var_i, 1l); +} +var_i = var95; +} +BREAK_label: (void)0; +} else { +} +{ +{ /* Inline modelbuilder_base$AType$checked_mtype= (var_ntype,1) on */ +var_ntype->attrs[COLOR_nitc__modelbuilder_base__AType___checked_mtype].s = 1; /* _checked_mtype on */ +RET_LABEL96:(void)0; +} +} +var = var_mtype; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$ModelBuilder$check_subtype for (self: ModelBuilder, ANode, MModule, nullable MClassType, MType, MType): Bool */ +short int nitc___nitc__ModelBuilder___check_subtype(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +short int var /* : Bool */; +val* var_node /* var node: ANode */; +val* var_mmodule /* var mmodule: MModule */; +val* var_anchor /* var anchor: nullable MClassType */; +val* var_sub /* var sub: MType */; +val* var_sup /* var sup: MType */; +short int var1 /* : Bool */; +var_node = p0; +var_mmodule = p1; +var_anchor = p2; +var_sub = p3; +var_sup = p4; +{ +var1 = nitc___nitc__MType___is_subtype(var_sub, var_mmodule, var_anchor, var_sup); +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$ModelBuilder$check_sametype for (self: ModelBuilder, ANode, MModule, nullable MClassType, MType, MType): Bool */ +short int nitc___nitc__ModelBuilder___check_sametype(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { +short int var /* : Bool */; +val* var_node /* var node: ANode */; val* var_mmodule /* var mmodule: MModule */; val* var_anchor /* var anchor: nullable MClassType */; val* var_sub /* var sub: MType */; val* var_sup /* var sup: MType */; short int var1 /* : Bool */; +short int var2 /* : Bool */; +short int var_ /* var : Bool */; +short int var3 /* : Bool */; var_node = p0; var_mmodule = p1; var_anchor = p2; var_sub = p3; var_sup = p4; { -var1 = nitc___nitc__MType___is_subtype(var_sub, var_mmodule, var_anchor, var_sup); +var2 = nitc___nitc__MType___is_subtype(var_sub, var_mmodule, var_anchor, var_sup); +} +var_ = var2; +if (var2){ +{ +var3 = nitc___nitc__MType___is_subtype(var_sup, var_mmodule, var_anchor, var_sub); +} +var1 = var3; +} else { +var1 = var_; +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$ANode$is_broken for (self: ANode): Bool */ +short int nitc__modelbuilder_base___ANode___is_broken(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s; /* _is_broken on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$ANode$is_broken= for (self: ANode, Bool) */ +void nitc__modelbuilder_base___ANode___is_broken_61d(val* self, short int p0) { +self->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = p0; /* _is_broken on */ +RET_LABEL:; +} +/* method modelbuilder_base$AType$mtype for (self: AType): nullable MType */ +val* nitc__modelbuilder_base___AType___mtype(val* self) { +val* var /* : nullable MType */; +val* var1 /* : nullable MType */; +var1 = self->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val; /* _mtype on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$AType$mtype= for (self: AType, nullable MType) */ +void nitc__modelbuilder_base___AType___mtype_61d(val* self, val* p0) { +self->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val = p0; /* _mtype on */ +RET_LABEL:; +} +/* method modelbuilder_base$AType$checked_mtype for (self: AType): Bool */ +short int nitc__modelbuilder_base___AType___checked_mtype(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_nitc__modelbuilder_base__AType___checked_mtype].s; /* _checked_mtype on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$AType$checked_mtype= for (self: AType, Bool) */ +void nitc__modelbuilder_base___AType___checked_mtype_61d(val* self, short int p0) { +self->attrs[COLOR_nitc__modelbuilder_base__AType___checked_mtype].s = p0; /* _checked_mtype on */ +RET_LABEL:; +} +/* method modelbuilder_base$AIntrudeVisibility$mvisibility for (self: AIntrudeVisibility): MVisibility */ +val* nitc__modelbuilder_base___AIntrudeVisibility___AVisibility__mvisibility(val* self) { +val* var /* : MVisibility */; +val* var1 /* : Sys */; +val* var2 /* : MVisibility */; +var1 = glob_sys; +{ +var2 = nitc__model_base___core__Sys___intrude_visibility(var1); +} +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$APublicVisibility$mvisibility for (self: APublicVisibility): MVisibility */ +val* nitc__modelbuilder_base___APublicVisibility___AVisibility__mvisibility(val* self) { +val* var /* : MVisibility */; +val* var1 /* : Sys */; +val* var2 /* : MVisibility */; +var1 = glob_sys; +{ +var2 = nitc__model_base___core__Sys___public_visibility(var1); +} +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$AProtectedVisibility$mvisibility for (self: AProtectedVisibility): MVisibility */ +val* nitc__modelbuilder_base___AProtectedVisibility___AVisibility__mvisibility(val* self) { +val* var /* : MVisibility */; +val* var1 /* : Sys */; +val* var2 /* : MVisibility */; +var1 = glob_sys; +{ +var2 = nitc__model_base___core__Sys___protected_visibility(var1); +} +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$APrivateVisibility$mvisibility for (self: APrivateVisibility): MVisibility */ +val* nitc__modelbuilder_base___APrivateVisibility___AVisibility__mvisibility(val* self) { +val* var /* : MVisibility */; +val* var1 /* : Sys */; +val* var2 /* : MVisibility */; +var1 = glob_sys; +{ +var2 = nitc__model_base___core__Sys___private_visibility(var1); } -var = var1; +var = var2; goto RET_LABEL; RET_LABEL:; return var; } -/* method modelbuilder_base#ModelBuilder#check_sametype for (self: ModelBuilder, ANode, MModule, nullable MClassType, MType, MType): Bool */ -short int nitc___nitc__ModelBuilder___check_sametype(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) { -short int var /* : Bool */; -val* var_node /* var node: ANode */; -val* var_mmodule /* var mmodule: MModule */; -val* var_anchor /* var anchor: nullable MClassType */; -val* var_sub /* var sub: MType */; -val* var_sup /* var sup: MType */; -short int var1 /* : Bool */; -short int var2 /* : Bool */; -short int var_ /* var : Bool */; -short int var3 /* : Bool */; -var_node = p0; -var_mmodule = p1; -var_anchor = p2; -var_sub = p3; -var_sup = p4; +/* method modelbuilder_base$ADoc$mdoc_cache for (self: ADoc): nullable MDoc */ +val* nitc__modelbuilder_base___ADoc___mdoc_cache(val* self) { +val* var /* : nullable MDoc */; +val* var1 /* : nullable MDoc */; +var1 = self->attrs[COLOR_nitc__modelbuilder_base__ADoc___mdoc_cache].val; /* _mdoc_cache on */ +var = var1; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$ADoc$mdoc_cache= for (self: ADoc, nullable MDoc) */ +void nitc__modelbuilder_base___ADoc___mdoc_cache_61d(val* self, val* p0) { +self->attrs[COLOR_nitc__modelbuilder_base__ADoc___mdoc_cache].val = p0; /* _mdoc_cache on */ +RET_LABEL:; +} +/* method modelbuilder_base$ADoc$to_mdoc for (self: ADoc): MDoc */ +val* nitc__modelbuilder_base___ADoc___to_mdoc(val* self) { +val* var /* : MDoc */; +val* var1 /* : nullable MDoc */; +val* var3 /* : nullable MDoc */; +val* var_res /* var res: nullable MDoc */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +val* var9 /* : MDoc */; +val* var10 /* : Location */; +val* var12 /* : Location */; +val* var13 /* : ANodes[TComment] */; +val* var15 /* : ANodes[TComment] */; +val* var_ /* var : ANodes[TComment] */; +val* var16 /* : Iterator[ANode] */; +val* var_17 /* var : Iterator[TComment] */; +short int var18 /* : Bool */; +val* var19 /* : nullable Object */; +val* var_c /* var c: TComment */; +val* var20 /* : String */; +val* var_text /* var text: String */; +long var21 /* : Int */; +short int var22 /* : Bool */; +short int var24 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var25 /* : Bool */; +val* var26 /* : Array[String] */; +val* var28 /* : Array[String] */; +static val* varonce; +val* var29 /* : String */; +char* var30 /* : CString */; +val* var31 /* : String */; +val* var32 /* : nullable Int */; +val* var33 /* : nullable Int */; +val* var34 /* : nullable Bool */; +val* var35 /* : nullable Bool */; +val* var37 /* : SequenceRead[Char] */; +val* var38 /* : nullable Object */; +short int var39 /* : Bool */; +short int var41 /* : Bool */; +uint32_t var42 /* : Char */; +val* var43 /* : SequenceRead[Char] */; +val* var44 /* : nullable Object */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; +uint32_t var48 /* : Char */; +val* var49 /* : Text */; +val* var50 /* : Text */; +val* var51 /* : SequenceRead[Char] */; +val* var52 /* : nullable Object */; +short int var53 /* : Bool */; +short int var55 /* : Bool */; +uint32_t var56 /* : Char */; +long var57 /* : Int */; +long var58 /* : Int */; +short int var60 /* : Bool */; +int cltype61; +int idtype62; +const char* var_class_name63; +long var64 /* : Int */; +val* var65 /* : Text */; +val* var66 /* : Array[String] */; +val* var68 /* : Array[String] */; +{ +{ /* Inline modelbuilder_base$ADoc$mdoc_cache (self) on */ +var3 = self->attrs[COLOR_nitc__modelbuilder_base__ADoc___mdoc_cache].val; /* _mdoc_cache on */ +var1 = var3; +RET_LABEL2:(void)0; +} +} +var_res = var1; +if (var_res == NULL) { +var4 = 0; /* is null */ +} else { +var4 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel$Object$!= (var_res,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var7 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ +} +var8 = !var7; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +var4 = var5; +} +if (var4){ +var = var_res; +goto RET_LABEL; +} else { +} +var9 = NEW_nitc__MDoc(&type_nitc__MDoc); +{ +{ /* Inline parser_nodes$ANode$location (self) on */ +var12 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var12 == 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__parser_nodes, 25); +fatal_exit(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +{ +((void(*)(val* self, val* p0))(var9->class->vft[COLOR_nitc__mdoc__MDoc__location_61d]))(var9, var10); /* location= on */ +} +{ +((void(*)(val* self))(var9->class->vft[COLOR_core__kernel__Object__init]))(var9); /* init on */ +} +var_res = var9; +{ +{ /* Inline parser_nodes$ADoc$n_comment (self) on */ +var15 = self->attrs[COLOR_nitc__parser_nodes__ADoc___n_comment].val; /* _n_comment on */ +if (unlikely(var15 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_comment"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2964); +fatal_exit(1); +} +var13 = var15; +RET_LABEL14:(void)0; +} +} +var_ = var13; +{ +var16 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_); +} +var_17 = var16; +for(;;) { +{ +var18 = ((short int(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_17); /* is_ok on */ +} +if (var18){ +} else { +goto BREAK_label; +} +{ +var19 = ((val*(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_17); /* item on */ +} +var_c = var19; +{ +var20 = nitc__lexer_work___Token___text(var_c); +} +var_text = var20; +{ +var21 = ((long(*)(val* self))(var_text->class->vft[COLOR_core__abstract_text__Text__length]))(var_text); /* length on */ +} +{ +{ /* Inline kernel$Int$< (var21,2l) on */ +/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ +/* <2l:Int> isa OTHER */ +var24 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var24)) { +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, 725); +fatal_exit(1); +} +var25 = var21 < 2l; +var22 = var25; +goto RET_LABEL23; +RET_LABEL23:(void)0; +} +} +if (var22){ +{ +{ /* Inline mdoc$MDoc$content (var_res) on */ +var28 = var_res->attrs[COLOR_nitc__mdoc__MDoc___content].val; /* _content on */ +if (unlikely(var28 == 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); +} +var26 = var28; +RET_LABEL27:(void)0; +} +} +if (likely(varonce!=NULL)) { +var29 = varonce; +} else { +var30 = ""; +var32 = (val*)(0l<<2|1); +var33 = (val*)(0l<<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; +varonce = var29; +} +{ +core___core__Array___core__abstract_collection__SimpleCollection__add(var26, var29); /* Direct call array$Array$add on */ +} +goto BREAK_label36; +} else { +} +{ +var37 = ((val*(*)(val* self))(var_text->class->vft[COLOR_core__abstract_text__Text__chars]))(var_text); /* chars on */ +} +{ +var38 = ((val*(*)(val* self, long p0))((((long)var37&3)?class_info[((long)var37&3)]:var37->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var37, 0l); /* [] on */ +} +{ +{ /* Inline kernel$Char$== (var38,'#') on */ +var42 = (uint32_t)((long)(var38)>>2); +var41 = var42 == '#'; +var39 = var41; +goto RET_LABEL40; +RET_LABEL40:(void)0; +} +} +if (unlikely(!var39)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 543); +fatal_exit(1); +} +{ +var43 = ((val*(*)(val* self))(var_text->class->vft[COLOR_core__abstract_text__Text__chars]))(var_text); /* chars on */ +} +{ +var44 = ((val*(*)(val* self, long p0))((((long)var43&3)?class_info[((long)var43&3)]:var43->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var43, 1l); /* [] on */ +} +{ +{ /* Inline kernel$Char$== (var44,' ') on */ +var48 = (uint32_t)((long)(var44)>>2); +var47 = var48 == ' '; +var45 = var47; +goto RET_LABEL46; +RET_LABEL46:(void)0; +} +} +if (var45){ +{ +var49 = ((val*(*)(val* self, long p0))(var_text->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_text, 2l); /* substring_from on */ +} +var_text = var49; +} else { +{ +var50 = ((val*(*)(val* self, long p0))(var_text->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_text, 1l); /* substring_from on */ +} +var_text = var50; +} +{ +var51 = ((val*(*)(val* self))(var_text->class->vft[COLOR_core__abstract_text__Text__chars]))(var_text); /* chars on */ +} +{ +var52 = ((val*(*)(val* self))((((long)var51&3)?class_info[((long)var51&3)]:var51->class)->vft[COLOR_core__abstract_collection__SequenceRead__last]))(var51); /* last on */ +} +{ +{ /* Inline kernel$Char$== (var52,'\n') on */ +var56 = (uint32_t)((long)(var52)>>2); +var55 = var56 == '\n'; +var53 = var55; +goto RET_LABEL54; +RET_LABEL54:(void)0; +} +} +if (var53){ +{ +var57 = ((long(*)(val* self))(var_text->class->vft[COLOR_core__abstract_text__Text__length]))(var_text); /* length on */ +} +{ +{ /* Inline kernel$Int$- (var57,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var60 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var60)) { +var_class_name63 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var64 = var57 - 1l; +var58 = var64; +goto RET_LABEL59; +RET_LABEL59:(void)0; +} +} +{ +var65 = ((val*(*)(val* self, long p0, long p1))(var_text->class->vft[COLOR_core__abstract_text__Text__substring]))(var_text, 0l, var58); /* substring on */ +} +var_text = var65; +} else { +} +{ +{ /* Inline mdoc$MDoc$content (var_res) on */ +var68 = var_res->attrs[COLOR_nitc__mdoc__MDoc___content].val; /* _content on */ +if (unlikely(var68 == 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); +} +var66 = var68; +RET_LABEL67:(void)0; +} +} +{ +core___core__Array___core__abstract_collection__SimpleCollection__add(var66, var_text); /* Direct call array$Array$add on */ +} +BREAK_label36: (void)0; { -var2 = nitc___nitc__MType___is_subtype(var_sub, var_mmodule, var_anchor, var_sup); +((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_17); /* next on */ } -var_ = var2; -if (var2){ +} +BREAK_label: (void)0; { -var3 = nitc___nitc__MType___is_subtype(var_sup, var_mmodule, var_anchor, var_sub); +((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_17); /* finish on */ } -var1 = var3; -} else { -var1 = var_; +{ +{ /* Inline modelbuilder_base$ADoc$mdoc_cache= (self,var_res) on */ +self->attrs[COLOR_nitc__modelbuilder_base__ADoc___mdoc_cache].val = var_res; /* _mdoc_cache on */ +RET_LABEL69:(void)0; } -var = var1; +} +var = var_res; goto RET_LABEL; RET_LABEL:; return var; } -/* method modelbuilder_base#ANode#is_broken for (self: ANode): Bool */ -short int nitc__modelbuilder_base___ANode___is_broken(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s; /* _is_broken on */ -var = var1; -RET_LABEL:; -return var; +/* method modelbuilder_base$AQclassid$mpackname for (self: AQclassid): nullable String */ +val* nitc__modelbuilder_base___AQclassid___mpackname(val* self) { +val* var /* : nullable String */; +val* var1 /* : nullable AQualified */; +val* var3 /* : nullable AQualified */; +val* var_nqualified /* var nqualified: nullable AQualified */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : ANodes[TId] */; +val* var12 /* : ANodes[TId] */; +val* var_nids /* var nids: ANodes[TId] */; +long var13 /* : Int */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var17 /* : Bool */; +val* var18 /* : ANode */; +val* var19 /* : String */; +{ +{ /* Inline parser_nodes$AQclassid$n_qualified (self) on */ +var3 = self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_qualified].val; /* _n_qualified on */ +var1 = var3; +RET_LABEL2:(void)0; } -/* method modelbuilder_base#ANode#is_broken= for (self: ANode, Bool) */ -void nitc__modelbuilder_base___ANode___is_broken_61d(val* self, short int p0) { -self->attrs[COLOR_nitc__modelbuilder_base__ANode___is_broken].s = p0; /* _is_broken on */ -RET_LABEL:; } -/* method modelbuilder_base#AType#mtype for (self: AType): nullable MType */ -val* nitc__modelbuilder_base___AType___mtype(val* self) { -val* var /* : nullable MType */; -val* var1 /* : nullable MType */; -var1 = self->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val; /* _mtype on */ -var = var1; -RET_LABEL:; -return var; +var_nqualified = var1; +if (var_nqualified == NULL) { +var4 = 1; /* is null */ +} else { +var4 = 0; /* arg is null but recv is not */ } -/* method modelbuilder_base#AType#mtype= for (self: AType, nullable MType) */ -void nitc__modelbuilder_base___AType___mtype_61d(val* self, val* p0) { -self->attrs[COLOR_nitc__modelbuilder_base__AType___mtype].val = p0; /* _mtype on */ -RET_LABEL:; +if (0) { +{ /* Inline kernel$Object$== (var_nqualified,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel$Object$is_same_instance (var_nqualified,var_other) on */ +var9 = var_nqualified == var_other; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; } -/* method modelbuilder_base#AType#checked_mtype for (self: AType): Bool */ -short int nitc__modelbuilder_base___AType___checked_mtype(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_nitc__modelbuilder_base__AType___checked_mtype].s; /* _checked_mtype on */ -var = var1; -RET_LABEL:; -return var; } -/* method modelbuilder_base#AType#checked_mtype= for (self: AType, Bool) */ -void nitc__modelbuilder_base___AType___checked_mtype_61d(val* self, short int p0) { -self->attrs[COLOR_nitc__modelbuilder_base__AType___checked_mtype].s = p0; /* _checked_mtype on */ -RET_LABEL:; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -/* method modelbuilder_base#AIntrudeVisibility#mvisibility for (self: AIntrudeVisibility): MVisibility */ -val* nitc__modelbuilder_base___AIntrudeVisibility___AVisibility__mvisibility(val* self) { -val* var /* : MVisibility */; -val* var1 /* : Sys */; -val* var2 /* : MVisibility */; -var1 = glob_sys; -{ -var2 = nitc__model_base___core__Sys___intrude_visibility(var1); +var4 = var5; } -var = var2; +if (var4){ +var = ((val*)NULL); goto RET_LABEL; -RET_LABEL:; -return var; +} else { } -/* method modelbuilder_base#APublicVisibility#mvisibility for (self: APublicVisibility): MVisibility */ -val* nitc__modelbuilder_base___APublicVisibility___AVisibility__mvisibility(val* self) { -val* var /* : MVisibility */; -val* var1 /* : Sys */; -val* var2 /* : MVisibility */; -var1 = glob_sys; { -var2 = nitc__model_base___core__Sys___public_visibility(var1); +{ /* Inline parser_nodes$AQualified$n_id (var_nqualified) on */ +var12 = var_nqualified->attrs[COLOR_nitc__parser_nodes__AQualified___n_id].val; /* _n_id on */ +if (unlikely(var12 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -var = var2; -goto RET_LABEL; -RET_LABEL:; -return var; +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2952); +fatal_exit(1); } -/* method modelbuilder_base#AProtectedVisibility#mvisibility for (self: AProtectedVisibility): MVisibility */ -val* nitc__modelbuilder_base___AProtectedVisibility___AVisibility__mvisibility(val* self) { -val* var /* : MVisibility */; -val* var1 /* : Sys */; -val* var2 /* : MVisibility */; -var1 = glob_sys; +var10 = var12; +RET_LABEL11:(void)0; +} +} +var_nids = var10; { -var2 = nitc__model_base___core__Sys___protected_visibility(var1); +var13 = nitc___nitc__ANodes___core__abstract_collection__Collection__length(var_nids); } -var = var2; +{ +{ /* Inline kernel$Int$<= (var13,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var16 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var16)) { +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, 724); +fatal_exit(1); +} +var17 = var13 <= 0l; +var14 = var17; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +} +if (var14){ +var = ((val*)NULL); goto RET_LABEL; -RET_LABEL:; -return var; +} else { } -/* method modelbuilder_base#APrivateVisibility#mvisibility for (self: APrivateVisibility): MVisibility */ -val* nitc__modelbuilder_base___APrivateVisibility___AVisibility__mvisibility(val* self) { -val* var /* : MVisibility */; -val* var1 /* : Sys */; -val* var2 /* : MVisibility */; -var1 = glob_sys; { -var2 = nitc__model_base___core__Sys___private_visibility(var1); +var18 = nitc___nitc__ANodes___core__abstract_collection__SequenceRead___91d_93d(var_nids, 0l); } -var = var2; -goto RET_LABEL; -RET_LABEL:; -return var; +{ +var19 = nitc__lexer_work___Token___text(var18); } -/* method modelbuilder_base#ADoc#mdoc_cache for (self: ADoc): nullable MDoc */ -val* nitc__modelbuilder_base___ADoc___mdoc_cache(val* self) { -val* var /* : nullable MDoc */; -val* var1 /* : nullable MDoc */; -var1 = self->attrs[COLOR_nitc__modelbuilder_base__ADoc___mdoc_cache].val; /* _mdoc_cache on */ -var = var1; +var = var19; +goto RET_LABEL; RET_LABEL:; return var; } -/* method modelbuilder_base#ADoc#mdoc_cache= for (self: ADoc, nullable MDoc) */ -void nitc__modelbuilder_base___ADoc___mdoc_cache_61d(val* self, val* p0) { -self->attrs[COLOR_nitc__modelbuilder_base__ADoc___mdoc_cache].val = p0; /* _mdoc_cache on */ -RET_LABEL:; -} -/* method modelbuilder_base#ADoc#to_mdoc for (self: ADoc): MDoc */ -val* nitc__modelbuilder_base___ADoc___to_mdoc(val* self) { -val* var /* : MDoc */; -val* var1 /* : nullable MDoc */; -val* var3 /* : nullable MDoc */; -val* var_res /* var res: nullable MDoc */; +/* method modelbuilder_base$AQclassid$mmodname for (self: AQclassid): nullable String */ +val* nitc__modelbuilder_base___AQclassid___mmodname(val* self) { +val* var /* : nullable String */; +val* var1 /* : nullable AQualified */; +val* var3 /* : nullable AQualified */; +val* var_nqualified /* var nqualified: nullable AQualified */; short int var4 /* : Bool */; short int var5 /* : Bool */; val* var_other /* var other: nullable Object */; short int var7 /* : Bool */; -short int var8 /* : Bool */; -val* var9 /* : MDoc */; -val* var10 /* : Location */; -val* var12 /* : Location */; -val* var13 /* : ANodes[TComment] */; -val* var15 /* : ANodes[TComment] */; -val* var_ /* var : ANodes[TComment] */; -val* var16 /* : Iterator[ANode] */; -val* var_17 /* var : Iterator[TComment] */; -short int var18 /* : Bool */; -val* var19 /* : nullable Object */; -val* var_c /* var c: TComment */; -val* var20 /* : String */; -val* var_text /* var text: String */; -long var21 /* : Int */; -short int var22 /* : Bool */; -short int var24 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : ANodes[TId] */; +val* var12 /* : ANodes[TId] */; +val* var_nids /* var nids: ANodes[TId] */; +long var13 /* : Int */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var25 /* : Bool */; -val* var26 /* : Array[String] */; -val* var28 /* : Array[String] */; -static val* varonce; +short int var17 /* : Bool */; +val* var18 /* : ANode */; +val* var19 /* : String */; +{ +{ /* Inline parser_nodes$AQclassid$n_qualified (self) on */ +var3 = self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_qualified].val; /* _n_qualified on */ +var1 = var3; +RET_LABEL2:(void)0; +} +} +var_nqualified = var1; +if (var_nqualified == NULL) { +var4 = 1; /* is null */ +} else { +var4 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel$Object$== (var_nqualified,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel$Object$is_same_instance (var_nqualified,var_other) on */ +var9 = var_nqualified == var_other; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; +} +} +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +var4 = var5; +} +if (var4){ +var = ((val*)NULL); +goto RET_LABEL; +} else { +} +{ +{ /* Inline parser_nodes$AQualified$n_id (var_nqualified) on */ +var12 = var_nqualified->attrs[COLOR_nitc__parser_nodes__AQualified___n_id].val; /* _n_id on */ +if (unlikely(var12 == 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, 2952); +fatal_exit(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +var_nids = var10; +{ +var13 = nitc___nitc__ANodes___core__abstract_collection__Collection__length(var_nids); +} +{ +{ /* Inline kernel$Int$<= (var13,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var16 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var16)) { +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, 724); +fatal_exit(1); +} +var17 = var13 <= 1l; +var14 = var17; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +} +if (var14){ +var = ((val*)NULL); +goto RET_LABEL; +} else { +} +{ +var18 = nitc___nitc__ANodes___core__abstract_collection__SequenceRead___91d_93d(var_nids, 1l); +} +{ +var19 = nitc__lexer_work___Token___text(var18); +} +var = var19; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method modelbuilder_base$AQclassid$accept for (self: AQclassid, MClass): Bool */ +short int nitc__modelbuilder_base___AQclassid___accept(val* self, val* p0) { +short int var /* : Bool */; +val* var_mclass /* var mclass: MClass */; +val* var1 /* : String */; +val* var3 /* : String */; +val* var4 /* : TClassid */; +val* var6 /* : TClassid */; +val* var7 /* : String */; +short int var8 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +val* var12 /* : nullable String */; +val* var_mpackname /* var mpackname: nullable String */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +val* var18 /* : MModule */; +val* var20 /* : MModule */; +val* var21 /* : nullable MPackage */; +val* var_mpackage /* var mpackage: nullable MPackage */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +val* var_other25 /* var other: nullable Object */; +short int var26 /* : Bool */; +short int var28 /* : Bool */; val* var29 /* : String */; -char* var30 /* : NativeString */; val* var31 /* : String */; -val* var33 /* : SequenceRead[Char] */; -val* var34 /* : nullable Object */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; short int var35 /* : Bool */; +val* var36 /* : nullable String */; +val* var_mmodname /* var mmodname: nullable String */; short int var37 /* : Bool */; -uint32_t var38 /* : Char */; -val* var39 /* : SequenceRead[Char] */; -val* var40 /* : nullable Object */; +short int var38 /* : Bool */; +short int var39 /* : Bool */; short int var41 /* : Bool */; -short int var43 /* : Bool */; -uint32_t var44 /* : Char */; -val* var45 /* : Text */; -val* var46 /* : Text */; -val* var47 /* : SequenceRead[Char] */; -val* var48 /* : nullable Object */; +short int var42 /* : Bool */; +short int var_ /* var : Bool */; +val* var43 /* : MModule */; +val* var45 /* : MModule */; +val* var46 /* : String */; +val* var48 /* : String */; short int var49 /* : Bool */; short int var51 /* : Bool */; -uint32_t var52 /* : Char */; -long var53 /* : Int */; -long var54 /* : Int */; -short int var56 /* : Bool */; -int cltype57; -int idtype58; -const char* var_class_name59; -long var60 /* : Int */; -val* var61 /* : Text */; -val* var62 /* : Array[String] */; -val* var64 /* : Array[String] */; -{ -{ /* Inline modelbuilder_base#ADoc#mdoc_cache (self) on */ -var3 = self->attrs[COLOR_nitc__modelbuilder_base__ADoc___mdoc_cache].val; /* _mdoc_cache on */ +short int var52 /* : Bool */; +var_mclass = p0; +{ +{ /* Inline model$MClass$name (var_mclass) on */ +var3 = var_mclass->attrs[COLOR_nitc__model__MClass___name].val; /* _name on */ +if (unlikely(var3 == 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, 396); +fatal_exit(1); +} var1 = var3; RET_LABEL2:(void)0; } } -var_res = var1; -if (var_res == NULL) { -var4 = 0; /* is null */ -} else { -var4 = 1; /* arg is null and recv is not */ +{ +{ /* Inline parser_nodes$AQclassid$n_id (self) on */ +var6 = self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_id].val; /* _n_id on */ +if (unlikely(var6 == 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, 1733); +fatal_exit(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} } -if (0) { -{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on */ -var_other = ((val*)NULL); { -var7 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ +var7 = nitc__lexer_work___Token___text(var4); } -var8 = !var7; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; +{ +{ /* Inline kernel$Object$!= (var1,var7) on */ +var_other = var7; +{ +var10 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var_other); /* == on */ } -var4 = var5; +var11 = !var10; +var8 = var11; +goto RET_LABEL9; +RET_LABEL9:(void)0; } -if (var4){ -var = var_res; +} +if (var8){ +var = 0; goto RET_LABEL; } else { } -var9 = NEW_nitc__MDoc(&type_nitc__MDoc); { -{ /* Inline parser_nodes#ANode#location (self) on */ -var12 = self->attrs[COLOR_nitc__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var12 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 24); +var12 = nitc__modelbuilder_base___AQclassid___mpackname(self); +} +var_mpackname = var12; +if (var_mpackname == NULL) { +var13 = 0; /* is null */ +} else { +var13 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel$Object$!= (var_mpackname,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var16 = ((short int(*)(val* self, val* p0))(var_mpackname->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mpackname, var_other); /* == on */ +} +var17 = !var16; +var14 = var17; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +var13 = var14; +} +if (var13){ +{ +{ /* Inline model$MClass$intro_mmodule (var_mclass) on */ +var20 = var_mclass->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var20 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); fatal_exit(1); } -var10 = var12; -RET_LABEL11:(void)0; +var18 = var20; +RET_LABEL19:(void)0; } } { -((void(*)(val* self, val* p0))(var9->class->vft[COLOR_nitc__mdoc__MDoc__location_61d]))(var9, var10); /* location= on */ +var21 = nitc___nitc__MModule___mpackage(var18); } +var_mpackage = var21; +if (var_mpackage == NULL) { +var22 = 1; /* is null */ +} else { +var22 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel$Object$== (var_mpackage,((val*)NULL)) on */ +var_other25 = ((val*)NULL); { -((void(*)(val* self))(var9->class->vft[COLOR_core__kernel__Object__init]))(var9); /* init on */ +{ /* Inline kernel$Object$is_same_instance (var_mpackage,var_other25) on */ +var28 = var_mpackage == var_other25; +var26 = var28; +goto RET_LABEL27; +RET_LABEL27:(void)0; +} +} +var23 = var26; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +var22 = var23; +} +if (var22){ +var = 0; +goto RET_LABEL; +} else { } -var_res = var9; { -{ /* Inline parser_nodes#ADoc#n_comment (self) on */ -var15 = self->attrs[COLOR_nitc__parser_nodes__ADoc___n_comment].val; /* _n_comment on */ -if (unlikely(var15 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_comment"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2883); +{ /* Inline mpackage$MPackage$name (var_mpackage) on */ +var31 = var_mpackage->attrs[COLOR_nitc__mpackage__MPackage___name].val; /* _name on */ +if (unlikely(var31 == 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__mpackage, 27); fatal_exit(1); } -var13 = var15; -RET_LABEL14:(void)0; +var29 = var31; +RET_LABEL30:(void)0; } } -var_ = var13; { -var16 = nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_); -} -var_17 = var16; -for(;;) { +{ /* Inline kernel$Object$!= (var29,var_mpackname) on */ +var_other = var_mpackname; { -var18 = ((short int(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_17); /* is_ok on */ +var34 = ((short int(*)(val* self, val* p0))(var29->class->vft[COLOR_core__kernel__Object___61d_61d]))(var29, var_other); /* == on */ } -if (var18){ +var35 = !var34; +var32 = var35; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +} +if (var32){ +var = 0; +goto RET_LABEL; } else { -goto BREAK_label; } { -var19 = ((val*(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_17); /* item on */ +var36 = nitc__modelbuilder_base___AQclassid___mmodname(self); } -var_c = var19; -{ -var20 = nitc__lexer_work___Token___text(var_c); +var_mmodname = var36; +if (var_mmodname == NULL) { +var38 = 0; /* is null */ +} else { +var38 = 1; /* arg is null and recv is not */ } -var_text = var20; +if (0) { +{ /* Inline kernel$Object$!= (var_mmodname,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var21 = ((long(*)(val* self))(var_text->class->vft[COLOR_core__abstract_text__Text__length]))(var_text); /* length on */ +var41 = ((short int(*)(val* self, val* p0))(var_mmodname->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_mmodname, var_other); /* == on */ +} +var42 = !var41; +var39 = var42; +goto RET_LABEL40; +RET_LABEL40:(void)0; +} +var38 = var39; } +var_ = var38; +if (var38){ { -{ /* Inline kernel#Int#< (var21,2l) on */ -/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ -/* <2l:Int> isa OTHER */ -var24 = 1; /* easy <2l:Int> isa OTHER*/ -if (unlikely(!var24)) { -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); +{ /* Inline model$MClass$intro_mmodule (var_mclass) on */ +var45 = var_mclass->attrs[COLOR_nitc__model__MClass___intro_mmodule].val; /* _intro_mmodule on */ +if (unlikely(var45 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model, 390); fatal_exit(1); } -var25 = var21 < 2l; -var22 = var25; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var43 = var45; +RET_LABEL44:(void)0; } } -if (var22){ { -{ /* Inline mdoc#MDoc#content (var_res) on */ -var28 = var_res->attrs[COLOR_nitc__mdoc__MDoc___content].val; /* _content on */ -if (unlikely(var28 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mdoc, 23); -fatal_exit(1); +{ /* Inline mmodule$MModule$name (var43) on */ +var48 = var43->attrs[COLOR_nitc__mmodule__MModule___name].val; /* _name on */ +if (unlikely(var48 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -var26 = var28; -RET_LABEL27:(void)0; +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 100); +fatal_exit(1); } +var46 = var48; +RET_LABEL47:(void)0; } -if (likely(varonce!=NULL)) { -var29 = varonce; -} else { -var30 = ""; -var31 = core__flat___NativeString___to_s_full(var30, 0l, 0l); -var29 = var31; -varonce = var29; } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var26, var29); /* Direct call array#Array#add on */ +{ /* Inline kernel$Object$!= (var46,var_mmodname) on */ +var_other = var_mmodname; +{ +var51 = ((short int(*)(val* self, val* p0))(var46->class->vft[COLOR_core__kernel__Object___61d_61d]))(var46, var_other); /* == on */ +} +var52 = !var51; +var49 = var52; +goto RET_LABEL50; +RET_LABEL50:(void)0; +} } -goto BREAK_label32; +var37 = var49; } else { +var37 = var_; } -{ -var33 = ((val*(*)(val* self))(var_text->class->vft[COLOR_core__abstract_text__Text__chars]))(var_text); /* chars on */ +if (var37){ +var = 0; +goto RET_LABEL; +} else { } -{ -var34 = ((val*(*)(val* self, long p0))((((long)var33&3)?class_info[((long)var33&3)]:var33->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var33, 0l); /* [] on */ +} else { } -{ -{ /* Inline kernel#Char#== (var34,'#') on */ -var38 = (uint32_t)((long)(var34)>>2); -var37 = var38 == '#'; -var35 = var37; -goto RET_LABEL36; -RET_LABEL36:(void)0; +var = 1; +goto RET_LABEL; +RET_LABEL:; +return var; } +/* method modelbuilder_base$AQclassid$full_name for (self: AQclassid): String */ +val* nitc__modelbuilder_base___AQclassid___full_name(val* self) { +val* var /* : String */; +val* var1 /* : TClassid */; +val* var3 /* : TClassid */; +val* var4 /* : String */; +val* var_res /* var res: String */; +val* var5 /* : nullable AQualified */; +val* var7 /* : nullable AQualified */; +val* var_nqualified /* var nqualified: nullable AQualified */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var11 /* : Bool */; +short int var13 /* : Bool */; +val* var14 /* : nullable TClassid */; +val* var16 /* : nullable TClassid */; +val* var_ncid /* var ncid: nullable TClassid */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; +val* var_other20 /* var other: nullable Object */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +val* var23 /* : String */; +static val* varonce; +val* var24 /* : String */; +char* var25 /* : CString */; +val* var26 /* : String */; +val* var27 /* : nullable Int */; +val* var28 /* : nullable Int */; +val* var29 /* : nullable Bool */; +val* var30 /* : nullable Bool */; +val* var31 /* : Text */; +val* var32 /* : Text */; +val* var33 /* : ANodes[TId] */; +val* var35 /* : ANodes[TId] */; +val* var_nids /* var nids: ANodes[TId] */; +short int var36 /* : Bool */; +val* var37 /* : IndexedIterator[ANode] */; +val* var_ /* var : IndexedIterator[TId] */; +val* var38 /* : Iterator[nullable Object] */; +val* var_39 /* var : Iterator[TId] */; +short int var40 /* : Bool */; +val* var41 /* : nullable Object */; +val* var_n /* var n: TId */; +val* var42 /* : String */; +static val* varonce43; +val* var44 /* : String */; +char* var45 /* : CString */; +val* var46 /* : String */; +val* var47 /* : nullable Int */; +val* var48 /* : nullable Int */; +val* var49 /* : nullable Bool */; +val* var50 /* : nullable Bool */; +val* var51 /* : Text */; +val* var52 /* : Text */; +{ +{ /* Inline parser_nodes$AQclassid$n_id (self) on */ +var3 = self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_id].val; /* _n_id on */ +if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -if (unlikely(!var35)) { -PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 418); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 1733); fatal_exit(1); } +var1 = var3; +RET_LABEL2:(void)0; +} +} { -var39 = ((val*(*)(val* self))(var_text->class->vft[COLOR_core__abstract_text__Text__chars]))(var_text); /* chars on */ +var4 = nitc__lexer_work___Token___text(var1); } +var_res = var4; { -var40 = ((val*(*)(val* self, long p0))((((long)var39&3)?class_info[((long)var39&3)]:var39->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var39, 1l); /* [] on */ +{ /* Inline parser_nodes$AQclassid$n_qualified (self) on */ +var7 = self->attrs[COLOR_nitc__parser_nodes__AQclassid___n_qualified].val; /* _n_qualified on */ +var5 = var7; +RET_LABEL6:(void)0; +} +} +var_nqualified = var5; +if (var_nqualified == NULL) { +var8 = 1; /* is null */ +} else { +var8 = 0; /* arg is null but recv is not */ } +if (0) { +{ /* Inline kernel$Object$== (var_nqualified,((val*)NULL)) on */ +var_other = ((val*)NULL); { -{ /* Inline kernel#Char#== (var40,' ') on */ -var44 = (uint32_t)((long)(var40)>>2); -var43 = var44 == ' '; -var41 = var43; -goto RET_LABEL42; -RET_LABEL42:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_nqualified,var_other) on */ +var13 = var_nqualified == var_other; +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; +} +} +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +var8 = var9; } +if (var8){ +var = var_res; +goto RET_LABEL; +} else { } -if (var41){ { -var45 = ((val*(*)(val* self, long p0))(var_text->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_text, 2l); /* substring_from on */ +{ /* Inline parser_nodes$AQualified$n_classid (var_nqualified) on */ +var16 = var_nqualified->attrs[COLOR_nitc__parser_nodes__AQualified___n_classid].val; /* _n_classid on */ +var14 = var16; +RET_LABEL15:(void)0; +} } -var_text = var45; +var_ncid = var14; +if (var_ncid == NULL) { +var17 = 0; /* is null */ } else { +var17 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel$Object$!= (var_ncid,((val*)NULL)) on */ +var_other20 = ((val*)NULL); { -var46 = ((val*(*)(val* self, long p0))(var_text->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_text, 1l); /* substring_from on */ +var21 = ((short int(*)(val* self, val* p0))(var_ncid->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ncid, var_other20); /* == on */ } -var_text = var46; +var22 = !var21; +var18 = var22; +goto RET_LABEL19; +RET_LABEL19:(void)0; } +var17 = var18; +} +if (var17){ { -var47 = ((val*(*)(val* self))(var_text->class->vft[COLOR_core__abstract_text__Text__chars]))(var_text); /* chars on */ +var23 = nitc__lexer_work___Token___text(var_ncid); +} +if (likely(varonce!=NULL)) { +var24 = varonce; +} else { +var25 = "::"; +var27 = (val*)(2l<<2|1); +var28 = (val*)(2l<<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; +varonce = var24; } { -var48 = ((val*(*)(val* self))((((long)var47&3)?class_info[((long)var47&3)]:var47->class)->vft[COLOR_core__abstract_collection__SequenceRead__last]))(var47); /* last on */ +var31 = ((val*(*)(val* self, val* p0))(var23->class->vft[COLOR_core__abstract_text__Text___43d]))(var23, var24); /* + on */ } { -{ /* Inline kernel#Char#== (var48,'\n') on */ -var52 = (uint32_t)((long)(var48)>>2); -var51 = var52 == '\n'; -var49 = var51; -goto RET_LABEL50; -RET_LABEL50:(void)0; +var32 = ((val*(*)(val* self, val* p0))(var31->class->vft[COLOR_core__abstract_text__Text___43d]))(var31, var_res); /* + on */ } +var_res = var32; +} else { } -if (var49){ { -var53 = ((long(*)(val* self))(var_text->class->vft[COLOR_core__abstract_text__Text__length]))(var_text); /* length on */ +{ /* Inline parser_nodes$AQualified$n_id (var_nqualified) on */ +var35 = var_nqualified->attrs[COLOR_nitc__parser_nodes__AQualified___n_id].val; /* _n_id on */ +if (unlikely(var35 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -{ -{ /* Inline kernel#Int#- (var53,1l) on */ -/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ -/* <1l:Int> isa OTHER */ -var56 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var56)) { -var_class_name59 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes, 2952); fatal_exit(1); } -var60 = var53 - 1l; -var54 = var60; -goto RET_LABEL55; -RET_LABEL55:(void)0; +var33 = var35; +RET_LABEL34:(void)0; } } +var_nids = var33; { -var61 = ((val*(*)(val* self, long p0, long p1))(var_text->class->vft[COLOR_core__abstract_text__Text__substring]))(var_text, 0l, var54); /* substring on */ +var36 = core___core__Collection___not_empty(var_nids); } -var_text = var61; -} else { +if (var36){ +{ +var37 = nitc___nitc__ANodes___core__abstract_collection__SequenceRead__reverse_iterator(var_nids); } +var_ = var37; { -{ /* Inline mdoc#MDoc#content (var_res) on */ -var64 = var_res->attrs[COLOR_nitc__mdoc__MDoc___content].val; /* _content on */ -if (unlikely(var64 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mdoc, 23); -fatal_exit(1); +var38 = core___core__Iterator___iterator(var_); } -var62 = var64; -RET_LABEL63:(void)0; +var_39 = var38; +for(;;) { +{ +var40 = ((short int(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_39); /* is_ok on */ +} +if (var40){ +} else { +goto BREAK_label; } +{ +var41 = ((val*(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_39); /* item on */ } +var_n = var41; { -core___core__Array___core__abstract_collection__SimpleCollection__add(var62, var_text); /* Direct call array#Array#add on */ +var42 = nitc__lexer_work___Token___text(var_n); +} +if (likely(varonce43!=NULL)) { +var44 = varonce43; +} else { +var45 = "::"; +var47 = (val*)(2l<<2|1); +var48 = (val*)(2l<<2|1); +var49 = (val*)((long)(0)<<2|3); +var50 = (val*)((long)(0)<<2|3); +var46 = core__flat___CString___to_s_unsafe(var45, var47, var48, var49, var50); +var44 = var46; +varonce43 = var44; } -BREAK_label32: (void)0; { -((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_17); /* next on */ +var51 = ((val*(*)(val* self, val* p0))(var42->class->vft[COLOR_core__abstract_text__Text___43d]))(var42, var44); /* + on */ } +{ +var52 = ((val*(*)(val* self, val* p0))(var51->class->vft[COLOR_core__abstract_text__Text___43d]))(var51, var_res); /* + on */ } -BREAK_label: (void)0; +var_res = var52; { -((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_17); /* finish on */ +((void(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_39); /* next on */ } +} +BREAK_label: (void)0; { -{ /* Inline modelbuilder_base#ADoc#mdoc_cache= (self,var_res) on */ -self->attrs[COLOR_nitc__modelbuilder_base__ADoc___mdoc_cache].val = var_res; /* _mdoc_cache on */ -RET_LABEL65:(void)0; +((void(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_39); /* finish on */ } +} else { } var = var_res; goto RET_LABEL;