X-Git-Url: http://nitlanguage.org diff --git a/c_src/nitc__modelbuilder.sep.1.c b/c_src/nitc__modelbuilder.sep.1.c index efce53e..9b330cf 100644 --- a/c_src/nitc__modelbuilder.sep.1.c +++ b/c_src/nitc__modelbuilder.sep.1.c @@ -1,10 +1,13 @@ #include "nitc__modelbuilder.sep.0.h" -/* method modelbuilder#ToolContext#opt_ignore_visibility for (self: ToolContext): OptionBool */ +/* method modelbuilder$ToolContext$opt_ignore_visibility for (self: ToolContext): OptionBool */ val* nitc__modelbuilder___ToolContext___opt_ignore_visibility(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; var1 = self->attrs[COLOR_nitc__modelbuilder__ToolContext___opt_ignore_visibility].val; /* _opt_ignore_visibility on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_ignore_visibility"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder, 27); fatal_exit(1); @@ -13,7 +16,7 @@ var = var1; RET_LABEL:; return var; } -/* method modelbuilder#ToolContext#init for (self: ToolContext) */ +/* method modelbuilder$ToolContext$init for (self: ToolContext) */ void nitc__modelbuilder___ToolContext___core__kernel__Object__init(val* self) { val* var /* : OptionContext */; val* var2 /* : OptionContext */; @@ -25,11 +28,14 @@ val* var7 /* : NativeArray[Option] */; ((void(*)(val* self))(self->class->vft[COLOR_nitc__modelbuilder___ToolContext___core__kernel__Object__init]))(self); /* init on */ } { -{ /* Inline toolcontext#ToolContext#option_context (self) on */ +{ /* Inline toolcontext$ToolContext$option_context (self) on */ var2 = self->attrs[COLOR_nitc__toolcontext__ToolContext___option_context].val; /* _option_context on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 342); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext, 357); fatal_exit(1); } var = var2; @@ -37,9 +43,12 @@ RET_LABEL1:(void)0; } } { -{ /* Inline modelbuilder#ToolContext#opt_ignore_visibility (self) on */ +{ /* Inline modelbuilder$ToolContext$opt_ignore_visibility (self) on */ var5 = self->attrs[COLOR_nitc__modelbuilder__ToolContext___opt_ignore_visibility].val; /* _opt_ignore_visibility on */ if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_ignore_visibility"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder, 27); fatal_exit(1); @@ -50,199 +59,319 @@ RET_LABEL4:(void)0; } var6 = NEW_core__Array(&type_core__Array__opts__Option); { /* var6 = array_instance Array[Option] */ -var7 = NEW_core__NativeArray(1l, &type_core__NativeArray__opts__Option); +var7 = NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option); ((struct instance_core__NativeArray*)var7)->values[0] = (val*) var3; { ((void(*)(val* self, val* p0, long p1))(var6->class->vft[COLOR_core__array__Array__with_native]))(var6, var7, 1l); /* with_native on */ } } { -opts___opts__OptionContext___add_option(var, var6); /* Direct call opts#OptionContext#add_option on */ +opts___opts__OptionContext___add_option(var, var6); /* Direct call opts$OptionContext$add_option on */ } RET_LABEL:; } -/* method modelbuilder#ToolContext#make_main_module for (self: ToolContext, Array[MModule]): MModule */ +/* method modelbuilder$ToolContext$make_main_module for (self: ToolContext, Array[MModule]): MModule */ val* nitc__modelbuilder___ToolContext___make_main_module(val* self, val* p0) { val* var /* : MModule */; val* var_mmodules /* var mmodules: Array[MModule] */; short int var1 /* : Bool */; short int var2 /* : Bool */; -long var3 /* : Int */; -long var5 /* : Int */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; -val* var9 /* : nullable Object */; -val* var_mainmodule /* var mainmodule: nullable Object */; -val* var10 /* : MModule */; -val* var11 /* : ModelBuilder */; -val* var12 /* : Model */; -val* var14 /* : Model */; -val* var15 /* : nullable Object */; -val* var16 /* : String */; -val* var18 /* : String */; +val* var3 /* : MModule */; +val* var4 /* : ModelBuilder */; +val* var5 /* : Model */; +val* var7 /* : Model */; +val* var8 /* : nullable Object */; +val* var9 /* : String */; +val* var11 /* : String */; static val* varonce; -val* var19 /* : String */; -char* var20 /* : NativeString */; -val* var21 /* : String */; -val* var22 /* : String */; -val* var23 /* : Location */; -val* var24 /* : nullable Object */; -val* var25 /* : Location */; -val* var27 /* : Location */; -val* var28 /* : nullable SourceFile */; -val* var30 /* : nullable SourceFile */; -val* var32 /* : ModelBuilder */; -val* var33 /* : ModelBuilder */; +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 */; +val* var19 /* : Text */; +val* var20 /* : Location */; +val* var21 /* : nullable Object */; +val* var22 /* : Location */; +val* var24 /* : Location */; +val* var25 /* : nullable SourceFile */; +val* var27 /* : nullable SourceFile */; +val* var_mainmodule /* var mainmodule: nullable Object */; +val* var29 /* : nullable Object */; +val* var30 /* : MModule */; +val* var32 /* : MModule */; +val* var34 /* : ModelBuilder */; +short int var35 /* : Bool */; +val* var36 /* : POSetElement[MModule] */; +val* var38 /* : POSetElement[MModule] */; +val* var39 /* : Collection[nullable Object] */; +long var40 /* : Int */; +short int var41 /* : Bool */; +short int var43 /* : Bool */; +short int var_ /* var : Bool */; +val* var44 /* : POSetElement[MModule] */; +val* var46 /* : POSetElement[MModule] */; +val* var47 /* : Collection[nullable Object] */; +val* var48 /* : nullable Object */; +val* var49 /* : nullable Object */; +short int var50 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var52 /* : Bool */; +short int var54 /* : Bool */; +val* var55 /* : nullable Object */; +val* var56 /* : ModelBuilder */; var_mmodules = p0; { var1 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_mmodules); } var2 = !var1; if (unlikely(!var2)) { +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, 39); fatal_exit(1); } +var3 = NEW_nitc__MModule(&type_nitc__MModule); { -{ /* Inline array#AbstractArrayRead#length (var_mmodules) on */ -var5 = var_mmodules->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var3 = var5; -RET_LABEL4:(void)0; +var4 = nitc__modelbuilder_base___ToolContext___modelbuilder(self); } -} -{ -{ /* Inline kernel#Int#== (var3,1l) on */ -var8 = var3 == 1l; -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; -} -} -if (var6){ { -var9 = core___core__SequenceRead___Collection__first(var_mmodules); +{ /* Inline modelbuilder_base$ModelBuilder$model (var4) on */ +var7 = var4->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___model].val; /* _model on */ +if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -var_mainmodule = var9; -} else { -var10 = NEW_nitc__MModule(&type_nitc__MModule); -{ -var11 = nitc__modelbuilder_base___ToolContext___modelbuilder(self); -} -{ -{ /* Inline modelbuilder_base#ModelBuilder#model (var11) on */ -var14 = var11->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___model].val; /* _model on */ -if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base, 44); fatal_exit(1); } -var12 = var14; -RET_LABEL13:(void)0; +var5 = var7; +RET_LABEL6:(void)0; } } { -var15 = core___core__SequenceRead___Collection__first(var_mmodules); +var8 = core___core__SequenceRead___Collection__first(var_mmodules); } { -{ /* Inline mmodule#MModule#name (var15) on */ -var18 = var15->attrs[COLOR_nitc__mmodule__MModule___name].val; /* _name on */ -if (unlikely(var18 == NULL)) { +{ /* Inline mmodule$MModule$name (var8) on */ +var11 = var8->attrs[COLOR_nitc__mmodule__MModule___name].val; /* _name on */ +if (unlikely(var11 == 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__mmodule, 95); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 100); fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var9 = var11; +RET_LABEL10:(void)0; } } if (likely(varonce!=NULL)) { -var19 = varonce; +var12 = varonce; } else { -var20 = "-m"; -var21 = core__flat___NativeString___to_s_full(var20, 2l, 2l); -var19 = var21; -varonce = var19; +var13 = "-m"; +var15 = (val*)(2l<<2|1); +var16 = (val*)(2l<<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; +varonce = var12; } { -var22 = ((val*(*)(val* self, val* p0))(var16->class->vft[COLOR_core__abstract_text__String___43d]))(var16, var19); /* + on */ +var19 = ((val*(*)(val* self, val* p0))(var9->class->vft[COLOR_core__abstract_text__Text___43d]))(var9, var12); /* + on */ } -var23 = NEW_nitc__Location(&type_nitc__Location); +var20 = NEW_nitc__Location(&type_nitc__Location); { -var24 = core___core__SequenceRead___Collection__first(var_mmodules); +var21 = core___core__SequenceRead___Collection__first(var_mmodules); } { -{ /* Inline mmodule#MModule#location (var24) on */ -var27 = var24->attrs[COLOR_nitc__mmodule__MModule___location].val; /* _location on */ -if (unlikely(var27 == NULL)) { +{ /* Inline mmodule$MModule$location (var21) on */ +var24 = var21->attrs[COLOR_nitc__mmodule__MModule___location].val; /* _location on */ +if (unlikely(var24 == 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__mmodule, 98); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 103); fatal_exit(1); } +var22 = var24; +RET_LABEL23:(void)0; +} +} +{ +{ /* Inline location$Location$file (var22) on */ +var27 = var22->attrs[COLOR_nitc__location__Location___file].val; /* _file on */ var25 = var27; RET_LABEL26:(void)0; } } { -{ /* Inline location#Location#file (var25) on */ -var30 = var25->attrs[COLOR_nitc__location__Location___file].val; /* _file on */ -var28 = var30; -RET_LABEL29:(void)0; +((void(*)(val* self, val* p0))(var20->class->vft[COLOR_nitc__location__Location__file_61d]))(var20, var25); /* file= on */ } +{ +((void(*)(val* self, long p0))(var20->class->vft[COLOR_nitc__location__Location__line_start_61d]))(var20, 0l); /* line_start= on */ } { -((void(*)(val* self, val* p0))(var23->class->vft[COLOR_nitc__location__Location__file_61d]))(var23, var28); /* file= on */ +((void(*)(val* self, long p0))(var20->class->vft[COLOR_nitc__location__Location__line_end_61d]))(var20, 0l); /* line_end= on */ } { -((void(*)(val* self, long p0))(var23->class->vft[COLOR_nitc__location__Location__line_start_61d]))(var23, 0l); /* line_start= on */ +((void(*)(val* self, long p0))(var20->class->vft[COLOR_nitc__location__Location__column_start_61d]))(var20, 0l); /* column_start= on */ } { -((void(*)(val* self, long p0))(var23->class->vft[COLOR_nitc__location__Location__line_end_61d]))(var23, 0l); /* line_end= on */ +((void(*)(val* self, long p0))(var20->class->vft[COLOR_nitc__location__Location__column_end_61d]))(var20, 0l); /* column_end= on */ } { -((void(*)(val* self, long p0))(var23->class->vft[COLOR_nitc__location__Location__column_start_61d]))(var23, 0l); /* column_start= on */ +((void(*)(val* self))(var20->class->vft[COLOR_core__kernel__Object__init]))(var20); /* init on */ } { -((void(*)(val* self, long p0))(var23->class->vft[COLOR_nitc__location__Location__column_end_61d]))(var23, 0l); /* column_end= on */ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nitc__mmodule__MModule__model_61d]))(var3, var5); /* model= on */ } { -((void(*)(val* self))(var23->class->vft[COLOR_core__kernel__Object__init]))(var23); /* init on */ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nitc__mmodule__MModule__mgroup_61d]))(var3, ((val*)NULL)); /* mgroup= on */ } { -((void(*)(val* self, val* p0))(var10->class->vft[COLOR_nitc__mmodule__MModule__model_61d]))(var10, var12); /* model= on */ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nitc__mmodule__MModule__name_61d]))(var3, var19); /* name= on */ } { -((void(*)(val* self, val* p0))(var10->class->vft[COLOR_nitc__mmodule__MModule__mgroup_61d]))(var10, ((val*)NULL)); /* mgroup= on */ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_nitc__mmodule__MModule__location_61d]))(var3, var20); /* location= on */ } { -((void(*)(val* self, val* p0))(var10->class->vft[COLOR_nitc__mmodule__MModule__name_61d]))(var10, var22); /* name= on */ +((void(*)(val* self))(var3->class->vft[COLOR_core__kernel__Object__init]))(var3); /* init on */ } +var_mainmodule = var3; { -((void(*)(val* self, val* p0))(var10->class->vft[COLOR_nitc__mmodule__MModule__location_61d]))(var10, var23); /* location= on */ +{ /* Inline model_base$MEntity$is_fictive= (var_mainmodule,1) on */ +var_mainmodule->attrs[COLOR_nitc__model_base__MEntity___is_fictive].s = 1; /* _is_fictive on */ +RET_LABEL28:(void)0; +} } { -((void(*)(val* self))(var10->class->vft[COLOR_core__kernel__Object__init]))(var10); /* init on */ +var29 = core___core__SequenceRead___Collection__first(var_mmodules); } -var_mainmodule = var10; { -{ /* Inline model_base#MEntity#is_fictive= (var_mainmodule,1) on */ -var_mainmodule->attrs[COLOR_nitc__model_base__MEntity___is_fictive].s = 1; /* _is_fictive on */ +{ /* Inline mmodule$MModule$first_real_mmodule (var29) on */ +var32 = var29->attrs[COLOR_nitc__mmodule__MModule___first_real_mmodule].val; /* _first_real_mmodule on */ +if (unlikely(var32 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _first_real_mmodule"); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 260); +fatal_exit(1); +} +var30 = var32; RET_LABEL31:(void)0; } } { -nitc___nitc__MModule___set_imported_mmodules(var_mainmodule, var_mmodules); /* Direct call mmodule#MModule#set_imported_mmodules on */ +{ /* Inline mmodule$MModule$first_real_mmodule= (var_mainmodule,var30) on */ +var_mainmodule->attrs[COLOR_nitc__mmodule__MModule___first_real_mmodule].val = var30; /* _first_real_mmodule on */ +RET_LABEL33:(void)0; +} +} +{ +nitc___nitc__MModule___set_imported_mmodules(var_mainmodule, var_mmodules); /* Direct call mmodule$MModule$set_imported_mmodules on */ +} +{ +var34 = nitc__modelbuilder_base___ToolContext___modelbuilder(self); +} +{ +nitc__loader___ModelBuilder___apply_conditional_importations(var34, var_mainmodule); /* Direct call loader$ModelBuilder$apply_conditional_importations on */ +} +{ +{ /* Inline mmodule$MModule$in_importation (var_mainmodule) on */ +var38 = var_mainmodule->attrs[COLOR_nitc__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var38 == 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); +} +var36 = var38; +RET_LABEL37:(void)0; +} +} +{ +var39 = poset___poset__POSetElement___direct_greaters(var36); +} +{ +var40 = ((long(*)(val* self))((((long)var39&3)?class_info[((long)var39&3)]:var39->class)->vft[COLOR_core__abstract_collection__Collection__length]))(var39); /* length on */ +} +{ +{ /* Inline kernel$Int$== (var40,1l) on */ +var43 = var40 == 1l; +var41 = var43; +goto RET_LABEL42; +RET_LABEL42:(void)0; +} +} +var_ = var41; +if (var41){ +{ +{ /* Inline mmodule$MModule$in_importation (var_mainmodule) on */ +var46 = var_mainmodule->attrs[COLOR_nitc__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var46 == 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); +} +var44 = var46; +RET_LABEL45:(void)0; +} +} +{ +var47 = poset___poset__POSetElement___direct_greaters(var44); } { -var32 = nitc__modelbuilder_base___ToolContext___modelbuilder(self); +var48 = ((val*(*)(val* self))((((long)var47&3)?class_info[((long)var47&3)]:var47->class)->vft[COLOR_core__abstract_collection__Collection__first]))(var47); /* first on */ } { -nitc__loader___ModelBuilder___apply_conditional_importations(var32, var_mainmodule); /* Direct call loader#ModelBuilder#apply_conditional_importations on */ +var49 = core___core__SequenceRead___Collection__first(var_mmodules); } { -var33 = nitc__modelbuilder_base___ToolContext___modelbuilder(self); +{ /* Inline kernel$Object$== (var48,var49) on */ +var_other = var49; +{ +{ /* Inline kernel$Object$is_same_instance (var48,var_other) on */ +var54 = var48 == var_other; +var52 = var54; +goto RET_LABEL53; +RET_LABEL53:(void)0; +} +} +var50 = var52; +goto RET_LABEL51; +RET_LABEL51:(void)0; +} +} +var35 = var50; +} else { +var35 = var_; +} +if (var35){ +{ +var55 = core___core__SequenceRead___Collection__first(var_mmodules); +} +var_mainmodule = var55; +} else { +{ +var56 = nitc__modelbuilder_base___ToolContext___modelbuilder(self); } { -nitc__modelbuilder___ModelBuilder___run_phases(var33); /* Direct call modelbuilder#ModelBuilder#run_phases on */ +nitc__modelbuilder___ModelBuilder___run_phases(var56); /* Direct call modelbuilder$ModelBuilder$run_phases on */ } } var = var_mainmodule; @@ -250,7 +379,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method modelbuilder#ToolContext#run_global_phases for (self: ToolContext, Array[MModule]) */ +/* method modelbuilder$ToolContext$run_global_phases for (self: ToolContext, Array[MModule]) */ void nitc__modelbuilder___ToolContext___run_global_phases(val* self, val* p0) { val* var_mmodules /* var mmodules: Array[MModule] */; short int var /* : Bool */; @@ -298,7 +427,7 @@ var7 = ((val*(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5- } var_phase = var7; { -{ /* Inline phase#Phase#disabled (var_phase) on */ +{ /* Inline phase$Phase$disabled (var_phase) on */ var10 = var_phase->attrs[COLOR_nitc__phase__Phase___disabled].s; /* _disabled on */ var8 = var10; RET_LABEL9:(void)0; @@ -326,11 +455,11 @@ BREAK_label: (void)0; var12 = nitc___nitc__ToolContext___check_errors(self); } { -nitc___nitc__ToolContext___errors_info(self); /* Direct call toolcontext#ToolContext#errors_info on */ +nitc___nitc__ToolContext___errors_info(self); /* Direct call toolcontext$ToolContext$errors_info on */ } RET_LABEL:; } -/* method modelbuilder#Phase#process_mainmodule for (self: Phase, MModule, SequenceRead[MModule]) */ +/* method modelbuilder$Phase$process_mainmodule for (self: Phase, MModule, SequenceRead[MModule]) */ void nitc__modelbuilder___Phase___process_mainmodule(val* self, val* p0, val* p1) { val* var_mainmodule /* var mainmodule: MModule */; val* var_given_mmodules /* var given_mmodules: SequenceRead[MModule] */; @@ -338,7 +467,7 @@ var_mainmodule = p0; var_given_mmodules = p1; RET_LABEL:; } -/* method modelbuilder#ModelBuilder#run_phases for (self: ModelBuilder) */ +/* method modelbuilder$ModelBuilder$run_phases for (self: ModelBuilder) */ void nitc__modelbuilder___ModelBuilder___run_phases(val* self) { val* var /* : Array[MModule] */; val* var2 /* : Array[MModule] */; @@ -372,16 +501,23 @@ val* var33 /* : ToolContext */; val* var35 /* : ToolContext */; static val* varonce; val* var36 /* : String */; -char* var37 /* : NativeString */; +char* var37 /* : CString */; val* var38 /* : String */; -val* var39 /* : ToolContext */; -val* var41 /* : ToolContext */; -{ -{ /* Inline loader#ModelBuilder#parsed_modules (self) on */ +val* var39 /* : nullable Int */; +val* var40 /* : nullable Int */; +val* var41 /* : nullable Bool */; +val* var42 /* : nullable Bool */; +val* var43 /* : ToolContext */; +val* var45 /* : ToolContext */; +{ +{ /* Inline loader$ModelBuilder$parsed_modules (self) on */ var2 = self->attrs[COLOR_nitc__loader__ModelBuilder___parsed_modules].val; /* _parsed_modules on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parsed_modules"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader, 320); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader, 325); fatal_exit(1); } var = var2; @@ -393,9 +529,12 @@ var3 = core__array___Collection___to_a(var); } var_mmodules = var3; { -{ /* Inline modelbuilder_base#ModelBuilder#model (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$model (self) on */ var6 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___model].val; /* _model on */ if (unlikely(var6 == 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); @@ -405,11 +544,14 @@ RET_LABEL5:(void)0; } } { -{ /* Inline mmodule#Model#mmodule_importation_hierarchy (var4) on */ +{ /* Inline mmodule$Model$mmodule_importation_hierarchy (var4) on */ var9 = var4->attrs[COLOR_nitc__mmodule__Model___mmodule_importation_hierarchy].val; /* _mmodule_importation_hierarchy on */ if (unlikely(var9 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule_importation_hierarchy"); -PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 34); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule, 33); fatal_exit(1); } var7 = var9; @@ -417,11 +559,11 @@ RET_LABEL8:(void)0; } } { -core___core__Comparator___sort(var7, var_mmodules); /* Direct call sorter#Comparator#sort on */ +core___core__Comparator___sort(var7, var_mmodules); /* Direct call sorter$Comparator$sort on */ } var10 = NEW_core__Array(&type_core__Array__nitc__AModule); { -core___core__Array___core__kernel__Object__init(var10); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var10); /* Direct call array$Array$init on */ } var_nmodules = var10; var_ = var_mmodules; @@ -442,7 +584,7 @@ var14 = ((val*(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var } var_mm = var14; { -{ /* Inline model_base#MEntity#is_fictive (var_mm) on */ +{ /* Inline model_base$MEntity$is_fictive (var_mm) on */ var17 = var_mm->attrs[COLOR_nitc__model_base__MEntity___is_fictive].s; /* _is_fictive on */ var15 = var17; RET_LABEL16:(void)0; @@ -456,12 +598,15 @@ goto BREAK_label18; var19 = nitc__loader___ModelBuilder___mmodule2node(self, var_mm); } if (unlikely(var19 == 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, 97); +PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder, 100); fatal_exit(1); } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_nmodules, var19); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_nmodules, var19); /* Direct call array$Array$add on */ } BREAK_label18: (void)0; { @@ -473,9 +618,12 @@ 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 */ } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on */ var22 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var22 == 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); @@ -485,12 +633,15 @@ RET_LABEL21:(void)0; } } { -nitc__phase___ToolContext___run_phases(var20, var_nmodules); /* Direct call phase#ToolContext#run_phases on */ +nitc__phase___ToolContext___run_phases(var20, var_nmodules); /* Direct call phase$ToolContext$run_phases on */ } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on */ var25 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var25 == 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); @@ -500,9 +651,12 @@ RET_LABEL24:(void)0; } } { -{ /* Inline loader#ToolContext#opt_only_metamodel (var23) on */ +{ /* Inline loader$ToolContext$opt_only_metamodel (var23) on */ var28 = var23->attrs[COLOR_nitc__loader__ToolContext___opt_only_metamodel].val; /* _opt_only_metamodel on */ if (unlikely(var28 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel"); PRINT_ERROR(" (%s:%d)\n", FILE_nitc__loader, 47); fatal_exit(1); @@ -512,7 +666,7 @@ RET_LABEL27:(void)0; } } { -{ /* Inline opts#Option#value (var26) on */ +{ /* Inline opts$Option$value (var26) on */ var31 = var26->attrs[COLOR_opts__Option___value].val; /* _value on */ var29 = var31; RET_LABEL30:(void)0; @@ -521,9 +675,12 @@ RET_LABEL30:(void)0; var32 = (short int)((long)(var29)>>2); if (var32){ { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on */ var35 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var35 == 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); @@ -536,27 +693,34 @@ if (likely(varonce!=NULL)) { var36 = varonce; } else { var37 = "*** ONLY METAMODEL"; -var38 = core__flat___NativeString___to_s_full(var37, 18l, 18l); +var39 = (val*)(18l<<2|1); +var40 = (val*)(18l<<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; varonce = var36; } { -nitc___nitc__ToolContext___info(var33, var36, 1l); /* Direct call toolcontext#ToolContext#info on */ +nitc___nitc__ToolContext___info(var33, var36, 1l); /* Direct call toolcontext$ToolContext$info on */ } { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var41 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var41 == NULL)) { +{ /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on */ +var45 = self->attrs[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var45 == 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); } -var39 = var41; -RET_LABEL40:(void)0; +var43 = var45; +RET_LABEL44:(void)0; } } { -nitc___nitc__ToolContext___quit(var39); /* Direct call toolcontext#ToolContext#quit on */ +nitc___nitc__ToolContext___quit(var43); /* Direct call toolcontext$ToolContext$quit on */ } } else { }