X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__loader.sep.1.c b/c_src/nit__loader.sep.1.c index 13e601b..477c479 100644 --- a/c_src/nit__loader.sep.1.c +++ b/c_src/nit__loader.sep.1.c @@ -7,7 +7,7 @@ var1 = self->attrs[COLOR_nit__loader__ToolContext___opt_path].val; /* _opt_path if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 23); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -21,7 +21,7 @@ var1 = self->attrs[COLOR_nit__loader__ToolContext___opt_only_metamodel].val; /* if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 26); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -35,7 +35,7 @@ var1 = self->attrs[COLOR_nit__loader__ToolContext___opt_only_parse].val; /* _opt if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 29); -show_backtrace(1); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -52,18 +52,17 @@ val* var8 /* : OptionBool */; val* var9 /* : OptionBool */; val* var11 /* : OptionBool */; val* var12 /* : Array[Option] */; -long var13 /* : Int */; -val* var14 /* : NativeArray[Option] */; +val* var13 /* : NativeArray[Option] */; { -((void (*)(val* self))(self->class->vft[COLOR_nit__loader___ToolContext___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit__loader___ToolContext___standard__kernel__Object__init]))(self); /* init on */ } { { /* Inline toolcontext#ToolContext#option_context (self) on */ var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 270); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 332); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -75,7 +74,7 @@ var5 = self->attrs[COLOR_nit__loader__ToolContext___opt_path].val; /* _opt_path if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 23); -show_backtrace(1); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -87,7 +86,7 @@ var8 = self->attrs[COLOR_nit__loader__ToolContext___opt_only_parse].val; /* _opt if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 29); -show_backtrace(1); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; @@ -99,7 +98,7 @@ var11 = self->attrs[COLOR_nit__loader__ToolContext___opt_only_metamodel].val; /* if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_metamodel"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 26); -show_backtrace(1); +fatal_exit(1); } var9 = var11; RET_LABEL10:(void)0; @@ -107,13 +106,12 @@ RET_LABEL10:(void)0; } var12 = NEW_standard__Array(&type_standard__Array__opts__Option); { /* var12 = array_instance Array[Option] */ -var13 = 3; -var14 = NEW_standard__NativeArray(var13, &type_standard__NativeArray__opts__Option); -((struct instance_standard__NativeArray*)var14)->values[0] = (val*) var3; -((struct instance_standard__NativeArray*)var14)->values[1] = (val*) var6; -((struct instance_standard__NativeArray*)var14)->values[2] = (val*) var9; +var13 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__opts__Option); +((struct instance_standard__NativeArray*)var13)->values[0] = (val*) var3; +((struct instance_standard__NativeArray*)var13)->values[1] = (val*) var6; +((struct instance_standard__NativeArray*)var13)->values[2] = (val*) var9; { -((void (*)(val* self, val* p0, long p1))(var12->class->vft[COLOR_standard__array__Array__with_native]))(var12, var14, var13) /* with_native on */; +((void(*)(val* self, val* p0, long p1))(var12->class->vft[COLOR_standard__array__Array__with_native]))(var12, var13, 3l); /* with_native on */ } } { @@ -134,45 +132,47 @@ val* var11 /* : nullable Object */; static val* varonce; val* var12 /* : String */; char* var13 /* : NativeString */; -long var14 /* : Int */; -val* var15 /* : FlatString */; -val* var16 /* : String */; +val* var14 /* : FlatString */; +val* var15 /* : String */; val* var_path_env /* var path_env: String */; +short int var16 /* : Bool */; short int var17 /* : Bool */; -short int var18 /* : Bool */; -val* var19 /* : Array[String] */; +val* var18 /* : Array[String] */; +val* var20 /* : Array[String] */; val* var21 /* : Array[String] */; -char var22 /* : Char */; -val* var23 /* : Array[String] */; -val* var24 /* : Pattern */; +val* var22 /* : Pattern */; +val* var23 /* : ToolContext */; val* var25 /* : ToolContext */; -val* var27 /* : ToolContext */; +val* var26 /* : String */; val* var28 /* : String */; -val* var30 /* : String */; val* var_nit_dir /* var nit_dir: String */; -static val* varonce31; -val* var32 /* : String */; -char* var33 /* : NativeString */; -long var34 /* : Int */; -val* var35 /* : FlatString */; -val* var36 /* : Array[Object] */; -long var37 /* : Int */; -val* var38 /* : NativeArray[Object] */; -val* var39 /* : String */; +static val* varonce29; +val* var30 /* : String */; +char* var31 /* : NativeString */; +val* var32 /* : FlatString */; +val* var33 /* : String */; val* var_libname /* var libname: String */; -short int var40 /* : Bool */; -val* var41 /* : Array[String] */; -val* var43 /* : Array[String] */; +short int var34 /* : Bool */; +val* var35 /* : Array[String] */; +val* var37 /* : Array[String] */; +static val* varonce38; +val* var39 /* : String */; +char* var40 /* : NativeString */; +val* var41 /* : FlatString */; +val* var42 /* : String */; +short int var43 /* : Bool */; +val* var44 /* : Array[String] */; +val* var46 /* : Array[String] */; { -((void (*)(val* self))(self->class->vft[COLOR_nit__loader___ModelBuilder___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit__loader___ModelBuilder___standard__kernel__Object__init]))(self); /* init on */ } { { /* Inline loader#ModelBuilder#paths (self) on */ var2 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 146); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 192); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -184,7 +184,7 @@ var5 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -196,7 +196,7 @@ var8 = var3->attrs[COLOR_nit__loader__ToolContext___opt_path].val; /* _opt_path if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_path"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 23); -show_backtrace(1); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; @@ -212,112 +212,132 @@ RET_LABEL10:(void)0; { standard___standard__Sequence___append(var, var9); /* Direct call abstract_collection#Sequence#append on */ } -if (varonce) { +if (likely(varonce!=NULL)) { var12 = varonce; } else { var13 = "NIT_PATH"; -var14 = 8; -var15 = standard___standard__NativeString___to_s_with_length(var13, var14); -var12 = var15; +var14 = standard___standard__NativeString___to_s_with_length(var13, 8l); +var12 = var14; varonce = var12; } { -var16 = standard__environ___String___environ(var12); +var15 = standard__environ___String___environ(var12); } -var_path_env = var16; +var_path_env = var15; { -var17 = standard___standard__Text___is_empty(var_path_env); +var16 = standard___standard__Text___is_empty(var_path_env); } -var18 = !var17; -if (var18){ +var17 = !var16; +if (var17){ { { /* Inline loader#ModelBuilder#paths (self) on */ -var21 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ -if (unlikely(var21 == NULL)) { +var20 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ +if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 146); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 192); +fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var18 = var20; +RET_LABEL19:(void)0; } } -var22 = ':'; { -var24 = BOX_standard__Char(var22); /* autobox from Char to Pattern */ -var23 = standard__string_search___Text___split_with(var_path_env, var24); +var22 = (val*)((long)(':')<<2|2); +var21 = standard__string_search___Text___split_with(var_path_env, var22); } { -standard___standard__Sequence___append(var19, var23); /* Direct call abstract_collection#Sequence#append on */ +standard___standard__Sequence___append(var18, var21); /* Direct call abstract_collection#Sequence#append on */ } } else { } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var27 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var27 == NULL)) { +var25 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var25 = var27; -RET_LABEL26:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -{ /* Inline toolcontext#ToolContext#nit_dir (var25) on */ -var30 = var25->attrs[COLOR_nit__toolcontext__ToolContext___nit_dir].val; /* _nit_dir on */ -if (unlikely(var30 == NULL)) { +{ /* Inline toolcontext#ToolContext#nit_dir (var23) on */ +var28 = var23->attrs[COLOR_nit__toolcontext__ToolContext___nit_dir].val; /* _nit_dir on */ +if (unlikely(var28 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nit_dir"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 452); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 521); +fatal_exit(1); } -var28 = var30; -RET_LABEL29:(void)0; +var26 = var28; +RET_LABEL27:(void)0; } } -var_nit_dir = var28; -if (varonce31) { -var32 = varonce31; +var_nit_dir = var26; +if (likely(varonce29!=NULL)) { +var30 = varonce29; } else { -var33 = "/lib"; -var34 = 4; -var35 = standard___standard__NativeString___to_s_with_length(var33, var34); -var32 = var35; -varonce31 = var32; +var31 = "lib"; +var32 = standard___standard__NativeString___to_s_with_length(var31, 3l); +var30 = var32; +varonce29 = var30; } -var36 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var36 = array_instance Array[Object] */ -var37 = 2; -var38 = NEW_standard__NativeArray(var37, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var38)->values[0] = (val*) var_nit_dir; -((struct instance_standard__NativeArray*)var38)->values[1] = (val*) var32; { -((void (*)(val* self, val* p0, long p1))(var36->class->vft[COLOR_standard__array__Array__with_native]))(var36, var38, var37) /* with_native on */; +var33 = standard__file___String____47d(var_nit_dir, var30); } +var_libname = var33; +{ +var34 = standard__file___String___file_exists(var_libname); } +if (var34){ { -var39 = ((val* (*)(val* self))(var36->class->vft[COLOR_standard__string__Object__to_s]))(var36) /* to_s on */; +{ /* Inline loader#ModelBuilder#paths (self) on */ +var37 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ +if (unlikely(var37 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 192); +fatal_exit(1); +} +var35 = var37; +RET_LABEL36:(void)0; +} } -var_libname = var39; { -var40 = standard__file___String___file_exists(var_libname); +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var35, var_libname); /* Direct call array#Array#add on */ } -if (var40){ +} else { +} +if (likely(varonce38!=NULL)) { +var39 = varonce38; +} else { +var40 = "contrib"; +var41 = standard___standard__NativeString___to_s_with_length(var40, 7l); +var39 = var41; +varonce38 = var39; +} +{ +var42 = standard__file___String____47d(var_nit_dir, var39); +} +var_libname = var42; +{ +var43 = standard__file___String___file_exists(var_libname); +} +if (var43){ { { /* Inline loader#ModelBuilder#paths (self) on */ -var43 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ -if (unlikely(var43 == NULL)) { +var46 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ +if (unlikely(var46 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 146); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 192); +fatal_exit(1); } -var41 = var43; -RET_LABEL42:(void)0; +var44 = var46; +RET_LABEL45:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var41, var_libname); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var44, var_libname); /* Direct call array#Array#add on */ } } else { } @@ -335,74 +355,70 @@ val* var6 /* : ToolContext */; static val* varonce; val* var7 /* : String */; char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : FlatString */; -long var11 /* : Int */; -val* var12 /* : ArraySet[MModule] */; +val* var9 /* : FlatString */; +val* var10 /* : ArraySet[MModule] */; val* var_mmodules /* var mmodules: ArraySet[MModule] */; val* var_ /* var : Sequence[String] */; -val* var13 /* : Iterator[nullable Object] */; -val* var_14 /* var : IndexedIterator[String] */; -short int var15 /* : Bool */; -val* var16 /* : nullable Object */; +val* var11 /* : Iterator[nullable Object] */; +val* var_12 /* var : IndexedIterator[String] */; +short int var13 /* : Bool */; +val* var14 /* : nullable Object */; val* var_a /* var a: String */; -val* var17 /* : nullable AModule */; +val* var15 /* : nullable AModule */; val* var_nmodule /* var nmodule: nullable AModule */; -val* var18 /* : null */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var22 /* : Bool */; -short int var24 /* : Bool */; -val* var25 /* : nullable MModule */; -val* var27 /* : nullable MModule */; -long var30 /* : Int */; -long var32 /* : Int for extern */; +short int var19 /* : Bool */; +short int var21 /* : Bool */; +val* var22 /* : nullable MModule */; +val* var24 /* : nullable MModule */; +val* var_mmodule /* var mmodule: nullable MModule */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +short int var28 /* : Bool */; +short int var30 /* : Bool */; +long var32 /* : Int */; +long var34 /* : Int for extern */; long var_time1 /* var time1: Int */; -val* var33 /* : ToolContext */; val* var35 /* : ToolContext */; -static val* varonce36; -val* var37 /* : String */; -char* var38 /* : NativeString */; -long var39 /* : Int */; -val* var40 /* : FlatString */; -long var41 /* : Int */; -short int var43 /* : Bool */; +val* var37 /* : ToolContext */; +val* var39 /* : NativeArray[String] */; +static val* varonce38; +static val* varonce40; +val* var41 /* : String */; +char* var42 /* : NativeString */; +val* var43 /* : FlatString */; +static val* varonce44; +val* var45 /* : String */; +char* var46 /* : NativeString */; +val* var47 /* : FlatString */; +long var48 /* : Int */; +short int var50 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var44 /* : Int */; -static val* varonce45; -val* var46 /* : String */; -char* var47 /* : NativeString */; -long var48 /* : Int */; -val* var49 /* : FlatString */; -val* var50 /* : Array[Object] */; long var51 /* : Int */; -val* var52 /* : NativeArray[Object] */; -val* var53 /* : Object */; -val* var54 /* : String */; -long var55 /* : Int */; +val* var52 /* : String */; +val* var53 /* : String */; +val* var54 /* : ToolContext */; val* var56 /* : ToolContext */; +short int var57 /* : Bool */; val* var58 /* : ToolContext */; -short int var59 /* : Bool */; val* var60 /* : ToolContext */; -val* var62 /* : ToolContext */; +val* var61 /* : OptionBool */; val* var63 /* : OptionBool */; -val* var65 /* : OptionBool */; +val* var64 /* : nullable Object */; val* var66 /* : nullable Object */; -val* var68 /* : nullable Object */; -short int var69 /* : Bool */; +short int var67 /* : Bool */; +val* var68 /* : ToolContext */; val* var70 /* : ToolContext */; -val* var72 /* : ToolContext */; -static val* varonce73; -val* var74 /* : String */; -char* var75 /* : NativeString */; -long var76 /* : Int */; -val* var77 /* : FlatString */; -long var78 /* : Int */; -long var79 /* : Int */; -val* var81 /* : Array[nullable Object] */; +static val* varonce71; +val* var72 /* : String */; +char* var73 /* : NativeString */; +val* var74 /* : FlatString */; +val* var75 /* : Sys */; +val* var77 /* : Array[nullable Object] */; var_modules = p0; { { /* Inline time#Object#get_time (self) on */ @@ -419,72 +435,69 @@ var6 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; } } -if (varonce) { +if (likely(varonce!=NULL)) { var7 = varonce; } else { var8 = "*** PARSE ***"; -var9 = 13; -var10 = standard___standard__NativeString___to_s_with_length(var8, var9); -var7 = var10; +var9 = standard___standard__NativeString___to_s_with_length(var8, 13l); +var7 = var9; varonce = var7; } -var11 = 1; { -nit___nit__ToolContext___info(var4, var7, var11); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(var4, var7, 1l); /* Direct call toolcontext#ToolContext#info on */ } -var12 = NEW_standard__ArraySet(&type_standard__ArraySet__nit__MModule); +var10 = NEW_standard__ArraySet(&type_standard__ArraySet__nit__MModule); { -standard___standard__ArraySet___standard__kernel__Object__init(var12); /* Direct call array#ArraySet#init on */ +standard___standard__ArraySet___standard__kernel__Object__init(var10); /* Direct call array#ArraySet#init on */ } -var_mmodules = var12; +var_mmodules = var10; var_ = var_modules; { -var13 = ((val* (*)(val* self))(var_->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_) /* iterator on */; +var11 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var_14 = var13; +var_12 = var11; for(;;) { { -var15 = ((short int (*)(val* self))(var_14->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_14) /* is_ok on */; +var13 = ((short int(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_12); /* is_ok on */ } -if (var15){ +if (var13){ { -var16 = ((val* (*)(val* self))(var_14->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_14) /* item on */; +var14 = ((val*(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_12); /* item on */ } -var_a = var16; +var_a = var14; { -var17 = nit__loader___ModelBuilder___load_module(self, var_a); +var15 = nit__loader___ModelBuilder___load_module(self, var_a); } -var_nmodule = var17; -var18 = NULL; +var_nmodule = var15; if (var_nmodule == NULL) { -var19 = 1; /* is null */ +var16 = 1; /* is null */ } else { -var19 = 0; /* arg is null but recv is not */ +var16 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_nmodule,var18) on */ -var_other = var18; +{ /* Inline kernel#Object#== (var_nmodule,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other) on */ -var24 = var_nmodule == var_other; -var22 = var24; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var21 = var_nmodule == var_other; +var19 = var21; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } -var20 = var22; -goto RET_LABEL21; -RET_LABEL21:(void)0; +var17 = var19; +goto RET_LABEL18; +RET_LABEL18:(void)0; } -var19 = var20; +var16 = var17; } -if (var19){ +if (var16){ goto BREAK_label; } else { } @@ -493,194 +506,208 @@ nit__loader___ModelBuilder___build_module_importation(self, var_nmodule); /* Dir } { { /* Inline loader#AModule#mmodule (var_nmodule) on */ -var27 = var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val; /* _mmodule on */ -var25 = var27; -RET_LABEL26:(void)0; +var24 = var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val; /* _mmodule on */ +var22 = var24; +RET_LABEL23:(void)0; } } -if (unlikely(var25 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 76); -show_backtrace(1); +var_mmodule = var22; +if (var_mmodule == NULL) { +var25 = 1; /* is null */ +} else { +var25 = 0; /* arg is null but recv is not */ +} +if (0) { +{ /* Inline kernel#Object#== (var_mmodule,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +{ /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on */ +var30 = var_mmodule == var_other; +var28 = var30; +goto RET_LABEL29; +RET_LABEL29:(void)0; +} +} +var26 = var28; +goto RET_LABEL27; +RET_LABEL27:(void)0; +} +var25 = var26; +} +if (var25){ +goto BREAK_label; +} else { } { -standard___standard__ArraySet___standard__abstract_collection__SimpleCollection__add(var_mmodules, var25); /* Direct call array#ArraySet#add on */ +standard___standard__ArraySet___standard__abstract_collection__SimpleCollection__add(var_mmodules, var_mmodule); /* Direct call array#ArraySet#add on */ } BREAK_label: (void)0; { -((void (*)(val* self))(var_14->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_14) /* next on */; +((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_12); /* next on */ } } else { -goto BREAK_label28; +goto BREAK_label31; } } -BREAK_label28: (void)0; +BREAK_label31: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_14) on */ -RET_LABEL29:(void)0; -} +((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_12); /* finish on */ } { { /* Inline time#Object#get_time (self) on */ -var32 = kernel_Any_Any_get_time_0(self); -var30 = var32; -goto RET_LABEL31; -RET_LABEL31:(void)0; +var34 = kernel_Any_Any_get_time_0(self); +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } } -var_time1 = var30; +var_time1 = var32; { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var35 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var35 == NULL)) { +var37 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var37 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var33 = var35; -RET_LABEL34:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } -if (varonce36) { -var37 = varonce36; +if (unlikely(varonce38==NULL)) { +var39 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce40!=NULL)) { +var41 = varonce40; } else { -var38 = "*** END PARSE: "; -var39 = 15; -var40 = standard___standard__NativeString___to_s_with_length(var38, var39); -var37 = var40; -varonce36 = var37; +var42 = "*** END PARSE: "; +var43 = standard___standard__NativeString___to_s_with_length(var42, 15l); +var41 = var43; +varonce40 = var41; +} +((struct instance_standard__NativeArray*)var39)->values[0]=var41; +if (likely(varonce44!=NULL)) { +var45 = varonce44; +} else { +var46 = " ***"; +var47 = standard___standard__NativeString___to_s_with_length(var46, 4l); +var45 = var47; +varonce44 = var45; +} +((struct instance_standard__NativeArray*)var39)->values[2]=var45; +} else { +var39 = varonce38; +varonce38 = NULL; } { { /* Inline kernel#Int#- (var_time1,var_time0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var43 = 1; /* easy isa OTHER*/ -if (unlikely(!var43)) { +var50 = 1; /* easy isa OTHER*/ +if (unlikely(!var50)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); -} -var44 = var_time1 - var_time0; -var41 = var44; -goto RET_LABEL42; -RET_LABEL42:(void)0; -} -} -if (varonce45) { -var46 = varonce45; -} else { -var47 = " ***"; -var48 = 4; -var49 = standard___standard__NativeString___to_s_with_length(var47, var48); -var46 = var49; -varonce45 = var46; +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var50 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var50 = array_instance Array[Object] */ -var51 = 3; -var52 = NEW_standard__NativeArray(var51, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var52)->values[0] = (val*) var37; -var53 = BOX_standard__Int(var41); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var52)->values[1] = (val*) var53; -((struct instance_standard__NativeArray*)var52)->values[2] = (val*) var46; -{ -((void (*)(val* self, val* p0, long p1))(var50->class->vft[COLOR_standard__array__Array__with_native]))(var50, var52, var51) /* with_native on */; +var51 = var_time1 - var_time0; +var48 = var51; +goto RET_LABEL49; +RET_LABEL49:(void)0; } } +var52 = standard__string___Int___Object__to_s(var48); +((struct instance_standard__NativeArray*)var39)->values[1]=var52; { -var54 = ((val* (*)(val* self))(var50->class->vft[COLOR_standard__string__Object__to_s]))(var50) /* to_s on */; +var53 = ((val*(*)(val* self))(var39->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var39); /* native_to_s on */ } -var55 = 2; +varonce38 = var39; { -nit___nit__ToolContext___info(var33, var54, var55); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(var35, var53, 2l); /* Direct call toolcontext#ToolContext#info on */ } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var58 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var58 == NULL)) { +var56 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var56 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var56 = var58; -RET_LABEL57:(void)0; +var54 = var56; +RET_LABEL55:(void)0; } } { -var59 = nit___nit__ToolContext___check_errors(var56); +var57 = nit___nit__ToolContext___check_errors(var54); } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var62 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var62 == NULL)) { +var60 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var60 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var60 = var62; -RET_LABEL61:(void)0; +var58 = var60; +RET_LABEL59:(void)0; } } { -{ /* Inline loader#ToolContext#opt_only_parse (var60) on */ -var65 = var60->attrs[COLOR_nit__loader__ToolContext___opt_only_parse].val; /* _opt_only_parse on */ -if (unlikely(var65 == NULL)) { +{ /* Inline loader#ToolContext#opt_only_parse (var58) on */ +var63 = var58->attrs[COLOR_nit__loader__ToolContext___opt_only_parse].val; /* _opt_only_parse on */ +if (unlikely(var63 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_only_parse"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 29); -show_backtrace(1); +fatal_exit(1); } -var63 = var65; -RET_LABEL64:(void)0; +var61 = var63; +RET_LABEL62:(void)0; } } { -{ /* Inline opts#Option#value (var63) on */ -var68 = var63->attrs[COLOR_opts__Option___value].val; /* _value on */ -var66 = var68; -RET_LABEL67:(void)0; +{ /* Inline opts#Option#value (var61) on */ +var66 = var61->attrs[COLOR_opts__Option___value].val; /* _value on */ +var64 = var66; +RET_LABEL65:(void)0; } } -var69 = ((struct instance_standard__Bool*)var66)->value; /* autounbox from nullable Object to Bool */; -if (var69){ +var67 = (short int)((long)(var64)>>2); +if (var67){ { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var72 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var72 == NULL)) { +var70 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var70 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var70 = var72; -RET_LABEL71:(void)0; +var68 = var70; +RET_LABEL69:(void)0; } } -if (varonce73) { -var74 = varonce73; +if (likely(varonce71!=NULL)) { +var72 = varonce71; } else { -var75 = "*** ONLY PARSE..."; -var76 = 17; -var77 = standard___standard__NativeString___to_s_with_length(var75, var76); -var74 = var77; -varonce73 = var74; +var73 = "*** ONLY PARSE..."; +var74 = standard___standard__NativeString___to_s_with_length(var73, 17l); +var72 = var74; +varonce71 = var72; } -var78 = 1; { -nit___nit__ToolContext___info(var70, var74, var78); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(var68, var72, 1l); /* Direct call toolcontext#ToolContext#info on */ } -var79 = 0; +var75 = glob_sys; { -{ /* Inline kernel#Object#exit (self,var79) on */ -exit(var79); -RET_LABEL80:(void)0; +{ /* Inline kernel#Sys#exit (var75,0l) on */ +exit(0l); +RET_LABEL76:(void)0; } } } else { } { -var81 = standard__array___Collection___to_a(var_mmodules); +var77 = standard__array___Collection___to_a(var_mmodules); } -var = var81; +var = var77; goto RET_LABEL; RET_LABEL:; return var; @@ -692,8 +719,8 @@ val* var1 /* : Array[String] */; var1 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 146); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 192); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -706,393 +733,469 @@ val* var_anode /* var anode: nullable ANode */; val* var_mgroup /* var mgroup: nullable MGroup */; val* var_name /* var name: String */; val* var_c /* var c: nullable MGroup */; -val* var1 /* : null */; +short int var1 /* : Bool */; short int var2 /* : Bool */; -short int var3 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var7 /* : nullable String */; -val* var9 /* : nullable String */; +val* var6 /* : nullable String */; +val* var8 /* : nullable String */; val* var_dirname /* var dirname: nullable String */; -val* var10 /* : null */; -short int var11 /* : Bool */; -short int var12 /* : Bool */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; static val* varonce; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : FlatString */; -short int var17 /* : Bool */; -static val* varonce18; +val* var11 /* : String */; +char* var12 /* : NativeString */; +val* var13 /* : FlatString */; +short int var14 /* : Bool */; +static val* varonce15; +val* var16 /* : String */; +char* var17 /* : NativeString */; +val* var18 /* : FlatString */; val* var19 /* : String */; -char* var20 /* : NativeString */; -long var21 /* : Int */; -val* var22 /* : FlatString */; -val* var23 /* : String */; -val* var24 /* : String */; -static val* varonce25; -val* var26 /* : String */; -char* var27 /* : NativeString */; -long var28 /* : Int */; -val* var29 /* : FlatString */; -val* var30 /* : String */; +val* var20 /* : String */; +static val* varonce21; +val* var22 /* : String */; +char* var23 /* : NativeString */; +val* var24 /* : FlatString */; +val* var25 /* : String */; val* var_try_file /* var try_file: String */; -short int var31 /* : Bool */; -val* var32 /* : String */; -val* var33 /* : nullable ModulePath */; +short int var26 /* : Bool */; +val* var27 /* : String */; +val* var28 /* : nullable ModulePath */; val* var_res /* var res: nullable ModulePath */; -val* var34 /* : null */; -short int var35 /* : Bool */; -short int var36 /* : Bool */; -short int var38 /* : Bool */; -short int var39 /* : Bool */; +short int var29 /* : Bool */; +short int var30 /* : Bool */; +short int var32 /* : Bool */; +short int var33 /* : Bool */; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; +val* var37 /* : FlatString */; +val* var38 /* : String */; +val* var39 /* : String */; static val* varonce40; val* var41 /* : String */; char* var42 /* : NativeString */; -long var43 /* : Int */; -val* var44 /* : FlatString */; +val* var43 /* : FlatString */; +val* var44 /* : String */; val* var45 /* : String */; -val* var46 /* : String */; -static val* varonce47; -val* var48 /* : String */; -char* var49 /* : NativeString */; -long var50 /* : Int */; -val* var51 /* : FlatString */; +static val* varonce46; +val* var47 /* : String */; +char* var48 /* : NativeString */; +val* var49 /* : FlatString */; +val* var50 /* : String */; +short int var51 /* : Bool */; val* var52 /* : String */; -val* var53 /* : String */; -static val* varonce54; -val* var55 /* : String */; -char* var56 /* : NativeString */; -long var57 /* : Int */; -val* var58 /* : FlatString */; -val* var59 /* : String */; -short int var60 /* : Bool */; +val* var53 /* : nullable ModulePath */; +val* var_res54 /* var res: nullable ModulePath */; +short int var55 /* : Bool */; +short int var56 /* : Bool */; +short int var58 /* : Bool */; +short int var59 /* : Bool */; +static val* varonce60; val* var61 /* : String */; -val* var62 /* : nullable ModulePath */; -val* var_res63 /* var res: nullable ModulePath */; -val* var64 /* : null */; -short int var65 /* : Bool */; -short int var66 /* : Bool */; -short int var68 /* : Bool */; -short int var69 /* : Bool */; -val* var70 /* : nullable MGroup */; -val* var72 /* : nullable MGroup */; -val* var73 /* : Array[String] */; -val* var75 /* : Array[String] */; -val* var_lookpaths /* var lookpaths: Array[String] */; -val* var76 /* : null */; +char* var62 /* : NativeString */; +val* var63 /* : FlatString */; +val* var64 /* : String */; +val* var65 /* : String */; +static val* varonce66; +val* var67 /* : String */; +char* var68 /* : NativeString */; +val* var69 /* : FlatString */; +val* var70 /* : String */; +val* var71 /* : String */; +static val* varonce72; +val* var73 /* : String */; +char* var74 /* : NativeString */; +val* var75 /* : FlatString */; +val* var76 /* : String */; short int var77 /* : Bool */; -short int var78 /* : Bool */; -short int var80 /* : Bool */; +val* var78 /* : String */; +val* var79 /* : nullable ModulePath */; +val* var_res80 /* var res: nullable ModulePath */; short int var81 /* : Bool */; -val* var82 /* : MProject */; -val* var84 /* : MProject */; -val* var85 /* : nullable MGroup */; -val* var87 /* : nullable MGroup */; -val* var88 /* : nullable String */; -val* var90 /* : nullable String */; -val* var_dirname91 /* var dirname: nullable String */; -val* var92 /* : null */; +short int var82 /* : Bool */; +short int var84 /* : Bool */; +short int var85 /* : Bool */; +val* var86 /* : nullable MGroup */; +val* var88 /* : nullable MGroup */; +val* var89 /* : Array[String] */; +val* var91 /* : Array[String] */; +val* var_lookpaths /* var lookpaths: Array[String] */; +short int var92 /* : Bool */; short int var93 /* : Bool */; -short int var94 /* : Bool */; +short int var95 /* : Bool */; short int var96 /* : Bool */; -short int var97 /* : Bool */; -static val* varonce98; -val* var99 /* : String */; -char* var100 /* : NativeString */; -long var101 /* : Int */; -val* var102 /* : FlatString */; -val* var103 /* : String */; -val* var104 /* : String */; -short int var105 /* : Bool */; -short int var106 /* : Bool */; +val* var97 /* : MProject */; +val* var99 /* : MProject */; +val* var100 /* : nullable MGroup */; +val* var102 /* : nullable MGroup */; +val* var103 /* : nullable String */; +val* var105 /* : nullable String */; +val* var_dirname106 /* var dirname: nullable String */; short int var107 /* : Bool */; -short int var_ /* var : Bool */; short int var108 /* : Bool */; -val* var109 /* : Array[nullable Object] */; -val* var110 /* : Location */; -val* var111 /* : nullable ModulePath */; -val* var_candidate /* var candidate: nullable ModulePath */; -val* var112 /* : null */; -short int var113 /* : Bool */; -short int var114 /* : Bool */; -val* var_other116 /* var other: nullable Object */; -short int var117 /* : Bool */; +short int var110 /* : Bool */; +short int var111 /* : Bool */; +static val* varonce112; +val* var113 /* : String */; +char* var114 /* : NativeString */; +val* var115 /* : FlatString */; +val* var116 /* : String */; +val* var117 /* : String */; +short int var118 /* : Bool */; short int var119 /* : Bool */; -val* var120 /* : null */; +short int var120 /* : Bool */; +short int var_ /* var : Bool */; short int var121 /* : Bool */; -short int var122 /* : Bool */; -short int var124 /* : Bool */; +val* var122 /* : Array[nullable Object] */; +val* var123 /* : Location */; +val* var124 /* : nullable ModulePath */; +val* var_candidate /* var candidate: nullable ModulePath */; short int var125 /* : Bool */; -static val* varonce126; -val* var127 /* : String */; -char* var128 /* : NativeString */; -long var129 /* : Int */; -val* var130 /* : FlatString */; -static val* varonce131; -val* var132 /* : String */; -char* var133 /* : NativeString */; -long var134 /* : Int */; -val* var135 /* : FlatString */; -val* var136 /* : String */; -val* var138 /* : String */; +short int var126 /* : Bool */; +val* var_other128 /* var other: nullable Object */; +short int var129 /* : Bool */; +short int var131 /* : Bool */; +short int var132 /* : Bool */; +short int var133 /* : Bool */; +short int var135 /* : Bool */; +short int var136 /* : Bool */; +val* var138 /* : NativeArray[String] */; +static val* varonce137; static val* varonce139; val* var140 /* : String */; char* var141 /* : NativeString */; -long var142 /* : Int */; -val* var143 /* : FlatString */; -static val* varonce144; -val* var145 /* : String */; -char* var146 /* : NativeString */; -long var147 /* : Int */; -val* var148 /* : FlatString */; -val* var149 /* : String */; -val* var150 /* : Array[Object] */; -long var151 /* : Int */; -val* var152 /* : NativeArray[Object] */; -val* var153 /* : String */; -static val* varonce154; +val* var142 /* : FlatString */; +static val* varonce143; +val* var144 /* : String */; +char* var145 /* : NativeString */; +val* var146 /* : FlatString */; +static val* varonce147; +val* var148 /* : String */; +char* var149 /* : NativeString */; +val* var150 /* : FlatString */; +static val* varonce151; +val* var152 /* : String */; +char* var153 /* : NativeString */; +val* var154 /* : FlatString */; val* var155 /* : String */; -char* var156 /* : NativeString */; -long var157 /* : Int */; -val* var158 /* : FlatString */; -static val* varonce159; -val* var160 /* : String */; -char* var161 /* : NativeString */; -long var162 /* : Int */; -val* var163 /* : FlatString */; +val* var157 /* : String */; +static val* varonce158; +val* var159 /* : String */; +char* var160 /* : NativeString */; +val* var161 /* : FlatString */; +val* var162 /* : String */; +val* var163 /* : String */; +val* var165 /* : NativeArray[String] */; static val* varonce164; -val* var165 /* : String */; -char* var166 /* : NativeString */; -long var167 /* : Int */; -val* var168 /* : FlatString */; -val* var169 /* : String */; -val* var170 /* : Array[Object] */; -long var171 /* : Int */; -val* var172 /* : NativeArray[Object] */; -val* var173 /* : String */; -val* var174 /* : null */; +static val* varonce166; +val* var167 /* : String */; +char* var168 /* : NativeString */; +val* var169 /* : FlatString */; +static val* varonce170; +val* var171 /* : String */; +char* var172 /* : NativeString */; +val* var173 /* : FlatString */; +static val* varonce174; +val* var175 /* : String */; +char* var176 /* : NativeString */; +val* var177 /* : FlatString */; +static val* varonce178; +val* var179 /* : String */; +char* var180 /* : NativeString */; +val* var181 /* : FlatString */; +val* var182 /* : String */; +val* var183 /* : String */; var_anode = p0; var_mgroup = p1; var_name = p2; var_c = var_mgroup; for(;;) { -var1 = NULL; if (var_c == NULL) { -var2 = 0; /* is null */ +var1 = 0; /* is null */ } else { -var2 = 1; /* arg is null and recv is not */ +var1 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_c,var1) on */ -var_other = var1; +{ /* Inline kernel#Object#!= (var_c,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var5 = ((short int (*)(val* self, val* p0))(var_c->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_c, var_other) /* == on */; +var4 = ((short int(*)(val* self, val* p0))(var_c->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_c, var_other); /* == on */ } -var6 = !var5; -var3 = var6; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var5 = !var4; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -var2 = var3; +var1 = var2; } -if (var2){ +if (var1){ { { /* Inline mproject#MGroup#filepath (var_c) on */ -var9 = var_c->attrs[COLOR_nit__mproject__MGroup___filepath].val; /* _filepath on */ -var7 = var9; -RET_LABEL8:(void)0; +var8 = var_c->attrs[COLOR_nit__mproject__MGroup___filepath].val; /* _filepath on */ +var6 = var8; +RET_LABEL7:(void)0; } } -var_dirname = var7; -var10 = NULL; +var_dirname = var6; if (var_dirname == NULL) { -var11 = 1; /* is null */ +var9 = 1; /* is null */ } else { -var11 = 0; /* arg is null but recv is not */ +var9 = 0; /* arg is null but recv is not */ } if (0) { -var12 = ((short int (*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_dirname, var10) /* == on */; -var11 = var12; +var10 = ((short int(*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_dirname, ((val*)NULL)); /* == on */ +var9 = var10; } -if (var11){ +if (var9){ goto BREAK_label; } else { } -if (varonce) { -var13 = varonce; +if (likely(varonce!=NULL)) { +var11 = varonce; } else { -var14 = ".nit"; -var15 = 4; -var16 = standard___standard__NativeString___to_s_with_length(var14, var15); -var13 = var16; -varonce = var13; +var12 = ".nit"; +var13 = standard___standard__NativeString___to_s_with_length(var12, 4l); +var11 = var13; +varonce = var11; } { -var17 = standard___standard__Text___has_suffix(var_dirname, var13); +var14 = standard___standard__Text___has_suffix(var_dirname, var11); } -if (var17){ +if (var14){ goto BREAK_label; } else { } -if (varonce18) { -var19 = varonce18; +if (likely(varonce15!=NULL)) { +var16 = varonce15; } else { -var20 = "/"; -var21 = 1; -var22 = standard___standard__NativeString___to_s_with_length(var20, var21); -var19 = var22; -varonce18 = var19; +var17 = "/"; +var18 = standard___standard__NativeString___to_s_with_length(var17, 1l); +var16 = var18; +varonce15 = var16; } { -var23 = ((val* (*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__string__String___43d]))(var_dirname, var19) /* + on */; +var19 = ((val*(*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__string__String___43d]))(var_dirname, var16); /* + on */ } { -var24 = ((val* (*)(val* self, val* p0))(var23->class->vft[COLOR_standard__string__String___43d]))(var23, var_name) /* + on */; +var20 = ((val*(*)(val* self, val* p0))(var19->class->vft[COLOR_standard__string__String___43d]))(var19, var_name); /* + on */ } -if (varonce25) { -var26 = varonce25; +if (likely(varonce21!=NULL)) { +var22 = varonce21; } else { -var27 = ".nit"; -var28 = 4; -var29 = standard___standard__NativeString___to_s_with_length(var27, var28); -var26 = var29; -varonce25 = var26; +var23 = ".nit"; +var24 = standard___standard__NativeString___to_s_with_length(var23, 4l); +var22 = var24; +varonce21 = var22; } { -var30 = ((val* (*)(val* self, val* p0))(var24->class->vft[COLOR_standard__string__String___43d]))(var24, var26) /* + on */; +var25 = ((val*(*)(val* self, val* p0))(var20->class->vft[COLOR_standard__string__String___43d]))(var20, var22); /* + on */ } -var_try_file = var30; +var_try_file = var25; { -var31 = standard__file___String___file_exists(var_try_file); +var26 = standard__file___String___file_exists(var_try_file); } -if (var31){ +if (var26){ { -var32 = standard__file___String___simplify_path(var_try_file); +var27 = standard__file___String___simplify_path(var_try_file); } { -var33 = nit__loader___ModelBuilder___identify_file(self, var32); +var28 = nit__loader___ModelBuilder___identify_file(self, var27); } -var_res = var33; -var34 = NULL; +var_res = var28; if (var_res == NULL) { -var35 = 0; /* is null */ +var29 = 0; /* is null */ } else { -var35 = 1; /* arg is null and recv is not */ +var29 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res,var34) on */ -var_other = var34; +{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var38 = ((short int (*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other) /* == on */; +var32 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ } -var39 = !var38; -var36 = var39; -goto RET_LABEL37; -RET_LABEL37:(void)0; +var33 = !var32; +var30 = var33; +goto RET_LABEL31; +RET_LABEL31:(void)0; } -var35 = var36; +var29 = var30; } -if (unlikely(!var35)) { +if (unlikely(!var29)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 169); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 215); +fatal_exit(1); } var = var_res; goto RET_LABEL; } else { } -if (varonce40) { +if (likely(varonce34!=NULL)) { +var35 = varonce34; +} else { +var36 = "/"; +var37 = standard___standard__NativeString___to_s_with_length(var36, 1l); +var35 = var37; +varonce34 = var35; +} +{ +var38 = ((val*(*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__string__String___43d]))(var_dirname, var35); /* + on */ +} +{ +var39 = ((val*(*)(val* self, val* p0))(var38->class->vft[COLOR_standard__string__String___43d]))(var38, var_name); /* + on */ +} +if (likely(varonce40!=NULL)) { var41 = varonce40; } else { var42 = "/"; -var43 = 1; -var44 = standard___standard__NativeString___to_s_with_length(var42, var43); -var41 = var44; +var43 = standard___standard__NativeString___to_s_with_length(var42, 1l); +var41 = var43; varonce40 = var41; } { -var45 = ((val* (*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__string__String___43d]))(var_dirname, var41) /* + on */; +var44 = ((val*(*)(val* self, val* p0))(var39->class->vft[COLOR_standard__string__String___43d]))(var39, var41); /* + on */ } { -var46 = ((val* (*)(val* self, val* p0))(var45->class->vft[COLOR_standard__string__String___43d]))(var45, var_name) /* + on */; +var45 = ((val*(*)(val* self, val* p0))(var44->class->vft[COLOR_standard__string__String___43d]))(var44, var_name); /* + on */ } -if (varonce47) { -var48 = varonce47; +if (likely(varonce46!=NULL)) { +var47 = varonce46; } else { -var49 = "/"; -var50 = 1; -var51 = standard___standard__NativeString___to_s_with_length(var49, var50); -var48 = var51; -varonce47 = var48; +var48 = ".nit"; +var49 = standard___standard__NativeString___to_s_with_length(var48, 4l); +var47 = var49; +varonce46 = var47; } { -var52 = ((val* (*)(val* self, val* p0))(var46->class->vft[COLOR_standard__string__String___43d]))(var46, var48) /* + on */; +var50 = ((val*(*)(val* self, val* p0))(var45->class->vft[COLOR_standard__string__String___43d]))(var45, var47); /* + on */ } +var_try_file = var50; { -var53 = ((val* (*)(val* self, val* p0))(var52->class->vft[COLOR_standard__string__String___43d]))(var52, var_name) /* + on */; +var51 = standard__file___String___file_exists(var_try_file); } -if (varonce54) { -var55 = varonce54; +if (var51){ +{ +var52 = standard__file___String___simplify_path(var_try_file); +} +{ +var53 = nit__loader___ModelBuilder___identify_file(self, var52); +} +var_res54 = var53; +if (var_res54 == NULL) { +var55 = 0; /* is null */ +} else { +var55 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_res54,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var58 = ((short int(*)(val* self, val* p0))(var_res54->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res54, var_other); /* == on */ +} +var59 = !var58; +var56 = var59; +goto RET_LABEL57; +RET_LABEL57:(void)0; +} +var55 = var56; +} +if (unlikely(!var55)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 223); +fatal_exit(1); +} +var = var_res54; +goto RET_LABEL; +} else { +} +if (likely(varonce60!=NULL)) { +var61 = varonce60; } else { -var56 = ".nit"; -var57 = 4; -var58 = standard___standard__NativeString___to_s_with_length(var56, var57); -var55 = var58; -varonce54 = var55; +var62 = "/"; +var63 = standard___standard__NativeString___to_s_with_length(var62, 1l); +var61 = var63; +varonce60 = var61; } { -var59 = ((val* (*)(val* self, val* p0))(var53->class->vft[COLOR_standard__string__String___43d]))(var53, var55) /* + on */; +var64 = ((val*(*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__string__String___43d]))(var_dirname, var61); /* + on */ } -var_try_file = var59; { -var60 = standard__file___String___file_exists(var_try_file); +var65 = ((val*(*)(val* self, val* p0))(var64->class->vft[COLOR_standard__string__String___43d]))(var64, var_name); /* + on */ } -if (var60){ +if (likely(varonce66!=NULL)) { +var67 = varonce66; +} else { +var68 = "/src/"; +var69 = standard___standard__NativeString___to_s_with_length(var68, 5l); +var67 = var69; +varonce66 = var67; +} +{ +var70 = ((val*(*)(val* self, val* p0))(var65->class->vft[COLOR_standard__string__String___43d]))(var65, var67); /* + on */ +} +{ +var71 = ((val*(*)(val* self, val* p0))(var70->class->vft[COLOR_standard__string__String___43d]))(var70, var_name); /* + on */ +} +if (likely(varonce72!=NULL)) { +var73 = varonce72; +} else { +var74 = ".nit"; +var75 = standard___standard__NativeString___to_s_with_length(var74, 4l); +var73 = var75; +varonce72 = var73; +} +{ +var76 = ((val*(*)(val* self, val* p0))(var71->class->vft[COLOR_standard__string__String___43d]))(var71, var73); /* + on */ +} +var_try_file = var76; { -var61 = standard__file___String___simplify_path(var_try_file); +var77 = standard__file___String___file_exists(var_try_file); +} +if (var77){ +{ +var78 = standard__file___String___simplify_path(var_try_file); } { -var62 = nit__loader___ModelBuilder___identify_file(self, var61); +var79 = nit__loader___ModelBuilder___identify_file(self, var78); } -var_res63 = var62; -var64 = NULL; -if (var_res63 == NULL) { -var65 = 0; /* is null */ +var_res80 = var79; +if (var_res80 == NULL) { +var81 = 0; /* is null */ } else { -var65 = 1; /* arg is null and recv is not */ +var81 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res63,var64) on */ -var_other = var64; +{ /* Inline kernel#Object#!= (var_res80,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var68 = ((short int (*)(val* self, val* p0))(var_res63->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res63, var_other) /* == on */; +var84 = ((short int(*)(val* self, val* p0))(var_res80->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res80, var_other); /* == on */ } -var69 = !var68; -var66 = var69; -goto RET_LABEL67; -RET_LABEL67:(void)0; +var85 = !var84; +var82 = var85; +goto RET_LABEL83; +RET_LABEL83:(void)0; } -var65 = var66; +var81 = var82; } -if (unlikely(!var65)) { +if (unlikely(!var81)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 177); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 231); +fatal_exit(1); } -var = var_res63; +var = var_res80; goto RET_LABEL; } else { } { { /* Inline mproject#MGroup#parent (var_c) on */ -var72 = var_c->attrs[COLOR_nit__mproject__MGroup___parent].val; /* _parent on */ -var70 = var72; -RET_LABEL71:(void)0; +var88 = var_c->attrs[COLOR_nit__mproject__MGroup___parent].val; /* _parent on */ +var86 = var88; +RET_LABEL87:(void)0; } } -var_c = var70; +var_c = var86; } else { goto BREAK_label; } @@ -1100,129 +1203,126 @@ goto BREAK_label; BREAK_label: (void)0; { { /* Inline loader#ModelBuilder#paths (self) on */ -var75 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ -if (unlikely(var75 == NULL)) { +var91 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ +if (unlikely(var91 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 146); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 192); +fatal_exit(1); } -var73 = var75; -RET_LABEL74:(void)0; +var89 = var91; +RET_LABEL90:(void)0; } } -var_lookpaths = var73; -var76 = NULL; +var_lookpaths = var89; if (var_mgroup == NULL) { -var77 = 0; /* is null */ +var92 = 0; /* is null */ } else { -var77 = 1; /* arg is null and recv is not */ +var92 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mgroup,var76) on */ -var_other = var76; +{ /* Inline kernel#Object#!= (var_mgroup,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var80 = ((short int (*)(val* self, val* p0))(var_mgroup->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mgroup, var_other) /* == on */; +var95 = ((short int(*)(val* self, val* p0))(var_mgroup->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mgroup, var_other); /* == on */ } -var81 = !var80; -var78 = var81; -goto RET_LABEL79; -RET_LABEL79:(void)0; +var96 = !var95; +var93 = var96; +goto RET_LABEL94; +RET_LABEL94:(void)0; } -var77 = var78; +var92 = var93; } -if (var77){ +if (var92){ { { /* Inline mproject#MGroup#mproject (var_mgroup) on */ -var84 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ -if (unlikely(var84 == NULL)) { +var99 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ +if (unlikely(var99 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); +fatal_exit(1); } -var82 = var84; -RET_LABEL83:(void)0; +var97 = var99; +RET_LABEL98:(void)0; } } { -{ /* Inline mproject#MProject#root (var82) on */ -var87 = var82->attrs[COLOR_nit__mproject__MProject___root].val; /* _root on */ -var85 = var87; -RET_LABEL86:(void)0; +{ /* Inline mproject#MProject#root (var97) on */ +var102 = var97->attrs[COLOR_nit__mproject__MProject___root].val; /* _root on */ +var100 = var102; +RET_LABEL101:(void)0; } } -if (var85 == NULL) { +if (var100 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 190); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 244); +fatal_exit(1); } else { -{ /* Inline mproject#MGroup#filepath (var85) on */ -if (unlikely(var85 == NULL)) { +{ /* Inline mproject#MGroup#filepath (var100) on */ +if (unlikely(var100 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 93); -show_backtrace(1); +fatal_exit(1); } -var90 = var85->attrs[COLOR_nit__mproject__MGroup___filepath].val; /* _filepath on */ -var88 = var90; -RET_LABEL89:(void)0; +var105 = var100->attrs[COLOR_nit__mproject__MGroup___filepath].val; /* _filepath on */ +var103 = var105; +RET_LABEL104:(void)0; } } -var_dirname91 = var88; -var92 = NULL; -if (var_dirname91 == NULL) { -var93 = 0; /* is null */ +var_dirname106 = var103; +if (var_dirname106 == NULL) { +var107 = 0; /* is null */ } else { -var93 = 1; /* arg is null and recv is not */ +var107 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_dirname91,var92) on */ -var_other = var92; +{ /* Inline kernel#Object#!= (var_dirname106,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var96 = ((short int (*)(val* self, val* p0))(var_dirname91->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_dirname91, var_other) /* == on */; +var110 = ((short int(*)(val* self, val* p0))(var_dirname106->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_dirname106, var_other); /* == on */ } -var97 = !var96; -var94 = var97; -goto RET_LABEL95; -RET_LABEL95:(void)0; +var111 = !var110; +var108 = var111; +goto RET_LABEL109; +RET_LABEL109:(void)0; } -var93 = var94; +var107 = var108; } -if (var93){ -if (varonce98) { -var99 = varonce98; +if (var107){ +if (likely(varonce112!=NULL)) { +var113 = varonce112; } else { -var100 = ".."; -var101 = 2; -var102 = standard___standard__NativeString___to_s_with_length(var100, var101); -var99 = var102; -varonce98 = var99; +var114 = ".."; +var115 = standard___standard__NativeString___to_s_with_length(var114, 2l); +var113 = var115; +varonce112 = var113; } { -var103 = standard__file___String___join_path(var_dirname91, var99); +var116 = standard__file___String___join_path(var_dirname106, var113); } { -var104 = standard__file___String___simplify_path(var103); +var117 = standard__file___String___simplify_path(var116); } -var_dirname91 = var104; +var_dirname106 = var117; { -var106 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_lookpaths, var_dirname91); +var119 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_lookpaths, var_dirname106); } -var107 = !var106; -var_ = var107; -if (var107){ +var120 = !var119; +var_ = var120; +if (var120){ { -var108 = standard__file___String___file_exists(var_dirname91); +var121 = standard__file___String___file_exists(var_dirname106); } -var105 = var108; +var118 = var121; } else { -var105 = var_; +var118 = var_; } -if (var105){ +if (var118){ { -var109 = standard__array___Collection___to_a(var_lookpaths); +var122 = standard__array___Collection___to_a(var_lookpaths); } -var_lookpaths = var109; +var_lookpaths = var122; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_lookpaths, var_dirname91); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_lookpaths, var_dirname106); /* Direct call array#Array#add on */ } } else { } @@ -1232,182 +1332,188 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad } if (var_anode == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 200); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 254); +fatal_exit(1); } else { -var110 = ((val* (*)(val* self))(var_anode->class->vft[COLOR_nit__parser_nodes__ANode__hot_location]))(var_anode) /* hot_location on */; +var123 = ((val*(*)(val* self))(var_anode->class->vft[COLOR_nit__parser_nodes__ANode__hot_location]))(var_anode); /* hot_location on */ } { -var111 = nit__loader___ModelBuilder___search_module_in_paths(self, var110, var_name, var_lookpaths); +var124 = nit__loader___ModelBuilder___search_module_in_paths(self, var123, var_name, var_lookpaths); } -var_candidate = var111; -var112 = NULL; +var_candidate = var124; if (var_candidate == NULL) { -var113 = 1; /* is null */ +var125 = 1; /* is null */ } else { -var113 = 0; /* arg is null but recv is not */ +var125 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_candidate,var112) on */ -var_other116 = var112; +{ /* Inline kernel#Object#== (var_candidate,((val*)NULL)) on */ +var_other128 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_candidate,var_other116) on */ -var119 = var_candidate == var_other116; -var117 = var119; -goto RET_LABEL118; -RET_LABEL118:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_candidate,var_other128) on */ +var131 = var_candidate == var_other128; +var129 = var131; +goto RET_LABEL130; +RET_LABEL130:(void)0; } } -var114 = var117; -goto RET_LABEL115; -RET_LABEL115:(void)0; +var126 = var129; +goto RET_LABEL127; +RET_LABEL127:(void)0; } -var113 = var114; +var125 = var126; } -if (var113){ -var120 = NULL; +if (var125){ if (var_mgroup == NULL) { -var121 = 0; /* is null */ +var132 = 0; /* is null */ } else { -var121 = 1; /* arg is null and recv is not */ +var132 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mgroup,var120) on */ -var_other = var120; +{ /* Inline kernel#Object#!= (var_mgroup,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var124 = ((short int (*)(val* self, val* p0))(var_mgroup->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mgroup, var_other) /* == on */; +var135 = ((short int(*)(val* self, val* p0))(var_mgroup->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mgroup, var_other); /* == on */ } -var125 = !var124; -var122 = var125; -goto RET_LABEL123; -RET_LABEL123:(void)0; +var136 = !var135; +var133 = var136; +goto RET_LABEL134; +RET_LABEL134:(void)0; } -var121 = var122; +var132 = var133; } -if (var121){ -if (varonce126) { -var127 = varonce126; +if (var132){ +if (unlikely(varonce137==NULL)) { +var138 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce139!=NULL)) { +var140 = varonce139; } else { -var128 = "Error: cannot find module "; -var129 = 26; -var130 = standard___standard__NativeString___to_s_with_length(var128, var129); -var127 = var130; -varonce126 = var127; +var141 = "Error: cannot find module `"; +var142 = standard___standard__NativeString___to_s_with_length(var141, 27l); +var140 = var142; +varonce139 = var140; } -if (varonce131) { -var132 = varonce131; +((struct instance_standard__NativeArray*)var138)->values[0]=var140; +if (likely(varonce143!=NULL)) { +var144 = varonce143; } else { -var133 = " from "; -var134 = 6; -var135 = standard___standard__NativeString___to_s_with_length(var133, var134); -var132 = var135; -varonce131 = var132; +var145 = "` from `"; +var146 = standard___standard__NativeString___to_s_with_length(var145, 8l); +var144 = var146; +varonce143 = var144; +} +((struct instance_standard__NativeArray*)var138)->values[2]=var144; +if (likely(varonce147!=NULL)) { +var148 = varonce147; +} else { +var149 = "`. Tried: "; +var150 = standard___standard__NativeString___to_s_with_length(var149, 10l); +var148 = var150; +varonce147 = var148; +} +((struct instance_standard__NativeArray*)var138)->values[4]=var148; +if (likely(varonce151!=NULL)) { +var152 = varonce151; +} else { +var153 = "."; +var154 = standard___standard__NativeString___to_s_with_length(var153, 1l); +var152 = var154; +varonce151 = var152; +} +((struct instance_standard__NativeArray*)var138)->values[6]=var152; +} else { +var138 = varonce137; +varonce137 = NULL; } +((struct instance_standard__NativeArray*)var138)->values[1]=var_name; { { /* Inline mproject#MGroup#name (var_mgroup) on */ -var138 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___name].val; /* _name on */ -if (unlikely(var138 == NULL)) { +var157 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___name].val; /* _name on */ +if (unlikely(var157 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 65); -show_backtrace(1); -} -var136 = var138; -RET_LABEL137:(void)0; +fatal_exit(1); } +var155 = var157; +RET_LABEL156:(void)0; } -if (varonce139) { -var140 = varonce139; -} else { -var141 = ". tried "; -var142 = 8; -var143 = standard___standard__NativeString___to_s_with_length(var141, var142); -var140 = var143; -varonce139 = var140; } -if (varonce144) { -var145 = varonce144; +((struct instance_standard__NativeArray*)var138)->values[3]=var155; +if (likely(varonce158!=NULL)) { +var159 = varonce158; } else { -var146 = ", "; -var147 = 2; -var148 = standard___standard__NativeString___to_s_with_length(var146, var147); -var145 = var148; -varonce144 = var145; -} -{ -var149 = standard__string___Collection___join(var_lookpaths, var145); +var160 = ", "; +var161 = standard___standard__NativeString___to_s_with_length(var160, 2l); +var159 = var161; +varonce158 = var159; } -var150 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var150 = array_instance Array[Object] */ -var151 = 6; -var152 = NEW_standard__NativeArray(var151, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var152)->values[0] = (val*) var127; -((struct instance_standard__NativeArray*)var152)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var152)->values[2] = (val*) var132; -((struct instance_standard__NativeArray*)var152)->values[3] = (val*) var136; -((struct instance_standard__NativeArray*)var152)->values[4] = (val*) var140; -((struct instance_standard__NativeArray*)var152)->values[5] = (val*) var149; { -((void (*)(val* self, val* p0, long p1))(var150->class->vft[COLOR_standard__array__Array__with_native]))(var150, var152, var151) /* with_native on */; -} +var162 = standard__string___Collection___join(var_lookpaths, var159); } +((struct instance_standard__NativeArray*)var138)->values[5]=var162; { -var153 = ((val* (*)(val* self))(var150->class->vft[COLOR_standard__string__Object__to_s]))(var150) /* to_s on */; +var163 = ((val*(*)(val* self))(var138->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var138); /* native_to_s on */ } +varonce137 = var138; { -nit___nit__ModelBuilder___error(self, var_anode, var153); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_anode, var163); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { -if (varonce154) { -var155 = varonce154; +if (unlikely(varonce164==NULL)) { +var165 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce166!=NULL)) { +var167 = varonce166; } else { -var156 = "Error: cannot find module "; -var157 = 26; -var158 = standard___standard__NativeString___to_s_with_length(var156, var157); -var155 = var158; -varonce154 = var155; +var168 = "Error: cannot find module `"; +var169 = standard___standard__NativeString___to_s_with_length(var168, 27l); +var167 = var169; +varonce166 = var167; } -if (varonce159) { -var160 = varonce159; +((struct instance_standard__NativeArray*)var165)->values[0]=var167; +if (likely(varonce170!=NULL)) { +var171 = varonce170; } else { -var161 = ". tried "; -var162 = 8; -var163 = standard___standard__NativeString___to_s_with_length(var161, var162); -var160 = var163; -varonce159 = var160; +var172 = "`. Tried: "; +var173 = standard___standard__NativeString___to_s_with_length(var172, 10l); +var171 = var173; +varonce170 = var171; } -if (varonce164) { -var165 = varonce164; +((struct instance_standard__NativeArray*)var165)->values[2]=var171; +if (likely(varonce174!=NULL)) { +var175 = varonce174; } else { -var166 = ", "; -var167 = 2; -var168 = standard___standard__NativeString___to_s_with_length(var166, var167); -var165 = var168; -varonce164 = var165; +var176 = "."; +var177 = standard___standard__NativeString___to_s_with_length(var176, 1l); +var175 = var177; +varonce174 = var175; } -{ -var169 = standard__string___Collection___join(var_lookpaths, var165); +((struct instance_standard__NativeArray*)var165)->values[4]=var175; +} else { +var165 = varonce164; +varonce164 = NULL; } -var170 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var170 = array_instance Array[Object] */ -var171 = 4; -var172 = NEW_standard__NativeArray(var171, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var172)->values[0] = (val*) var155; -((struct instance_standard__NativeArray*)var172)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var172)->values[2] = (val*) var160; -((struct instance_standard__NativeArray*)var172)->values[3] = (val*) var169; -{ -((void (*)(val* self, val* p0, long p1))(var170->class->vft[COLOR_standard__array__Array__with_native]))(var170, var172, var171) /* with_native on */; +((struct instance_standard__NativeArray*)var165)->values[1]=var_name; +if (likely(varonce178!=NULL)) { +var179 = varonce178; +} else { +var180 = ", "; +var181 = standard___standard__NativeString___to_s_with_length(var180, 2l); +var179 = var181; +varonce178 = var179; } +{ +var182 = standard__string___Collection___join(var_lookpaths, var179); } +((struct instance_standard__NativeArray*)var165)->values[3]=var182; { -var173 = ((val* (*)(val* self))(var170->class->vft[COLOR_standard__string__Object__to_s]))(var170) /* to_s on */; +var183 = ((val*(*)(val* self))(var165->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var165); /* native_to_s on */ } +varonce164 = var165; { -nit___nit__ModelBuilder___error(self, var_anode, var173); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_anode, var183); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } -var174 = NULL; -var = var174; +var = ((val*)NULL); goto RET_LABEL; } else { } @@ -1424,25 +1530,21 @@ val* var_mgroup /* var mgroup: nullable MGroup */; val* var_name /* var name: String */; val* var1 /* : nullable ModulePath */; val* var_path /* var path: nullable ModulePath */; -val* var2 /* : null */; +short int var2 /* : Bool */; short int var3 /* : Bool */; -short int var4 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; -val* var9 /* : null */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; +val* var8 /* : String */; val* var10 /* : String */; -val* var12 /* : String */; -val* var13 /* : nullable AModule */; +val* var11 /* : nullable AModule */; val* var_res /* var res: nullable AModule */; -val* var14 /* : null */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -short int var20 /* : Bool */; -val* var21 /* : null */; -val* var22 /* : nullable MModule */; -val* var24 /* : nullable MModule */; +short int var17 /* : Bool */; +val* var18 /* : nullable MModule */; +val* var20 /* : nullable MModule */; var_anode = p0; var_mgroup = p1; var_name = p2; @@ -1450,77 +1552,73 @@ var_name = p2; var1 = nit__loader___ModelBuilder___search_mmodule_by_name(self, var_anode, var_mgroup, var_name); } var_path = var1; -var2 = NULL; if (var_path == NULL) { -var3 = 1; /* is null */ +var2 = 1; /* is null */ } else { -var3 = 0; /* arg is null but recv is not */ +var2 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_path,var2) on */ -var_other = var2; +{ /* Inline kernel#Object#== (var_path,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_path,var_other) on */ -var8 = var_path == var_other; -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var7 = var_path == var_other; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; } -var3 = var4; +var2 = var3; } -if (var3){ -var9 = NULL; -var = var9; +if (var2){ +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline loader#ModulePath#filepath (var_path) on */ -var12 = var_path->attrs[COLOR_nit__loader__ModulePath___filepath].val; /* _filepath on */ -if (unlikely(var12 == NULL)) { +var10 = var_path->attrs[COLOR_nit__loader__ModulePath___filepath].val; /* _filepath on */ +if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 662); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 786); +fatal_exit(1); } -var10 = var12; -RET_LABEL11:(void)0; +var8 = var10; +RET_LABEL9:(void)0; } } { -var13 = nit__loader___ModelBuilder___load_module(self, var10); +var11 = nit__loader___ModelBuilder___load_module(self, var8); } -var_res = var13; -var14 = NULL; +var_res = var11; if (var_res == NULL) { -var15 = 1; /* is null */ +var12 = 1; /* is null */ } else { -var15 = 0; /* arg is null but recv is not */ +var12 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_res,var14) on */ -var_other = var14; +{ /* Inline kernel#Object#== (var_res,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_res,var_other) on */ -var20 = var_res == var_other; -var18 = var20; -goto RET_LABEL19; -RET_LABEL19:(void)0; +var17 = var_res == var_other; +var15 = var17; +goto RET_LABEL16; +RET_LABEL16:(void)0; } } -var16 = var18; -goto RET_LABEL17; -RET_LABEL17:(void)0; +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } -var15 = var16; +var12 = var13; } -if (var15){ -var21 = NULL; -var = var21; +if (var12){ +var = ((val*)NULL); goto RET_LABEL; } else { } @@ -1529,17 +1627,12 @@ nit__loader___ModelBuilder___build_module_importation(self, var_res); /* Direct } { { /* Inline loader#AModule#mmodule (var_res) on */ -var24 = var_res->attrs[COLOR_nit__loader__AModule___mmodule].val; /* _mmodule on */ -var22 = var24; -RET_LABEL23:(void)0; -} +var20 = var_res->attrs[COLOR_nit__loader__AModule___mmodule].val; /* _mmodule on */ +var18 = var20; +RET_LABEL19:(void)0; } -if (unlikely(var22 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 225); -show_backtrace(1); } -var = var22; +var = var18; goto RET_LABEL; RET_LABEL:; return var; @@ -1550,448 +1643,659 @@ val* var /* : nullable ModulePath */; val* var_location /* var location: nullable Location */; val* var_name /* var name: String */; val* var_lookpaths /* var lookpaths: Collection[String] */; -val* var1 /* : null */; val* var_candidate /* var candidate: nullable String */; val* var_ /* var : Collection[String] */; -val* var2 /* : Iterator[nullable Object] */; -val* var_3 /* var : Iterator[String] */; -short int var4 /* : Bool */; -val* var5 /* : nullable Object */; +val* var1 /* : Iterator[nullable Object] */; +val* var_2 /* var : Iterator[String] */; +short int var3 /* : Bool */; +val* var4 /* : nullable Object */; val* var_dirname /* var dirname: String */; static val* varonce; -val* var6 /* : String */; -char* var7 /* : NativeString */; -long var8 /* : Int */; -val* var9 /* : FlatString */; -val* var10 /* : String */; +val* var5 /* : String */; +char* var6 /* : NativeString */; +val* var7 /* : FlatString */; +val* var8 /* : String */; +val* var9 /* : String */; +static val* varonce10; val* var11 /* : String */; -static val* varonce12; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : FlatString */; -val* var17 /* : String */; -val* var18 /* : String */; +char* var12 /* : NativeString */; +val* var13 /* : FlatString */; +val* var14 /* : String */; +val* var15 /* : String */; val* var_try_file /* var try_file: String */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; short int var19 /* : Bool */; -val* var20 /* : null */; +val* var_other /* var other: nullable Object */; short int var21 /* : Bool */; short int var22 /* : Bool */; -short int var23 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -val* var27 /* : String */; +val* var23 /* : String */; val* var_abs_candidate /* var abs_candidate: String */; -val* var28 /* : String */; +val* var24 /* : String */; val* var_abs_try_file /* var abs_try_file: String */; -short int var29 /* : Bool */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -val* var33 /* : ToolContext */; -val* var35 /* : ToolContext */; -static val* varonce36; -val* var37 /* : String */; -char* var38 /* : NativeString */; -long var39 /* : Int */; -val* var40 /* : FlatString */; -static val* varonce41; -val* var42 /* : String */; -char* var43 /* : NativeString */; -long var44 /* : Int */; -val* var45 /* : FlatString */; -static val* varonce46; -val* var47 /* : String */; +short int var25 /* : Bool */; +short int var27 /* : Bool */; +short int var28 /* : Bool */; +val* var29 /* : ToolContext */; +val* var31 /* : ToolContext */; +val* var33 /* : NativeArray[String] */; +static val* varonce32; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; +val* var37 /* : FlatString */; +static val* varonce38; +val* var39 /* : String */; +char* var40 /* : NativeString */; +val* var41 /* : FlatString */; +static val* varonce42; +val* var43 /* : String */; +char* var44 /* : NativeString */; +val* var45 /* : FlatString */; +static val* varonce46; +val* var47 /* : String */; char* var48 /* : NativeString */; -long var49 /* : Int */; -val* var50 /* : FlatString */; -val* var51 /* : Array[Object] */; -long var52 /* : Int */; -val* var53 /* : NativeArray[Object] */; -val* var54 /* : String */; -static val* varonce55; +val* var49 /* : FlatString */; +val* var50 /* : String */; +val* var51 /* : Message */; +static val* varonce52; +val* var53 /* : String */; +char* var54 /* : NativeString */; +val* var55 /* : FlatString */; val* var56 /* : String */; -char* var57 /* : NativeString */; -long var58 /* : Int */; -val* var59 /* : FlatString */; -val* var60 /* : String */; -val* var61 /* : String */; -static val* varonce62; +val* var57 /* : String */; +static val* varonce58; +val* var59 /* : String */; +char* var60 /* : NativeString */; +val* var61 /* : FlatString */; +val* var62 /* : String */; val* var63 /* : String */; -char* var64 /* : NativeString */; -long var65 /* : Int */; -val* var66 /* : FlatString */; -val* var67 /* : String */; +static val* varonce64; +val* var65 /* : String */; +char* var66 /* : NativeString */; +val* var67 /* : FlatString */; val* var68 /* : String */; -static val* varonce69; -val* var70 /* : String */; -char* var71 /* : NativeString */; -long var72 /* : Int */; -val* var73 /* : FlatString */; -val* var74 /* : String */; -val* var75 /* : String */; +val* var69 /* : String */; +short int var70 /* : Bool */; +short int var71 /* : Bool */; +short int var72 /* : Bool */; +short int var73 /* : Bool */; +short int var75 /* : Bool */; short int var76 /* : Bool */; -val* var77 /* : null */; -short int var78 /* : Bool */; -short int var79 /* : Bool */; -short int var80 /* : Bool */; -short int var82 /* : Bool */; +val* var77 /* : String */; +val* var_abs_candidate78 /* var abs_candidate: String */; +val* var79 /* : String */; +val* var_abs_try_file80 /* var abs_try_file: String */; +short int var81 /* : Bool */; short int var83 /* : Bool */; -val* var84 /* : String */; -val* var_abs_candidate85 /* var abs_candidate: String */; -val* var86 /* : String */; -val* var_abs_try_file87 /* var abs_try_file: String */; -short int var88 /* : Bool */; -short int var90 /* : Bool */; -short int var91 /* : Bool */; -val* var92 /* : ToolContext */; -val* var94 /* : ToolContext */; -static val* varonce95; -val* var96 /* : String */; -char* var97 /* : NativeString */; -long var98 /* : Int */; -val* var99 /* : FlatString */; -static val* varonce100; -val* var101 /* : String */; -char* var102 /* : NativeString */; -long var103 /* : Int */; -val* var104 /* : FlatString */; -static val* varonce105; +short int var84 /* : Bool */; +val* var85 /* : ToolContext */; +val* var87 /* : ToolContext */; +val* var89 /* : NativeArray[String] */; +static val* varonce88; +static val* varonce90; +val* var91 /* : String */; +char* var92 /* : NativeString */; +val* var93 /* : FlatString */; +static val* varonce94; +val* var95 /* : String */; +char* var96 /* : NativeString */; +val* var97 /* : FlatString */; +static val* varonce98; +val* var99 /* : String */; +char* var100 /* : NativeString */; +val* var101 /* : FlatString */; +static val* varonce102; +val* var103 /* : String */; +char* var104 /* : NativeString */; +val* var105 /* : FlatString */; val* var106 /* : String */; -char* var107 /* : NativeString */; -long var108 /* : Int */; -val* var109 /* : FlatString */; -val* var110 /* : Array[Object] */; -long var111 /* : Int */; -val* var112 /* : NativeArray[Object] */; +val* var107 /* : Message */; +static val* varonce108; +val* var109 /* : String */; +char* var110 /* : NativeString */; +val* var111 /* : FlatString */; +val* var112 /* : String */; val* var113 /* : String */; -val* var115 /* : null */; -short int var116 /* : Bool */; -short int var117 /* : Bool */; -val* var118 /* : null */; -val* var119 /* : nullable ModulePath */; +static val* varonce114; +val* var115 /* : String */; +char* var116 /* : NativeString */; +val* var117 /* : FlatString */; +val* var118 /* : String */; +val* var119 /* : String */; +static val* varonce120; +val* var121 /* : String */; +char* var122 /* : NativeString */; +val* var123 /* : FlatString */; +val* var124 /* : String */; +val* var125 /* : String */; +short int var126 /* : Bool */; +short int var127 /* : Bool */; +short int var128 /* : Bool */; +short int var129 /* : Bool */; +short int var131 /* : Bool */; +short int var132 /* : Bool */; +val* var133 /* : String */; +val* var_abs_candidate134 /* var abs_candidate: String */; +val* var135 /* : String */; +val* var_abs_try_file136 /* var abs_try_file: String */; +short int var137 /* : Bool */; +short int var139 /* : Bool */; +short int var140 /* : Bool */; +val* var141 /* : ToolContext */; +val* var143 /* : ToolContext */; +val* var145 /* : NativeArray[String] */; +static val* varonce144; +static val* varonce146; +val* var147 /* : String */; +char* var148 /* : NativeString */; +val* var149 /* : FlatString */; +static val* varonce150; +val* var151 /* : String */; +char* var152 /* : NativeString */; +val* var153 /* : FlatString */; +static val* varonce154; +val* var155 /* : String */; +char* var156 /* : NativeString */; +val* var157 /* : FlatString */; +static val* varonce158; +val* var159 /* : String */; +char* var160 /* : NativeString */; +val* var161 /* : FlatString */; +val* var162 /* : String */; +val* var163 /* : Message */; +short int var164 /* : Bool */; +short int var165 /* : Bool */; +val* var166 /* : nullable ModulePath */; var_location = p0; var_name = p1; var_lookpaths = p2; -var1 = NULL; -var_candidate = var1; +var_candidate = ((val*)NULL); var_ = var_lookpaths; { -var2 = ((val* (*)(val* self))(var_->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_) /* iterator on */; +var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var_3 = var2; +var_2 = var1; for(;;) { { -var4 = ((short int (*)(val* self))(var_3->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_3) /* is_ok on */; +var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on */ } -if (var4){ +if (var3){ { -var5 = ((val* (*)(val* self))(var_3->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_3) /* item on */; +var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_2); /* item on */ } -var_dirname = var5; -if (varonce) { -var6 = varonce; +var_dirname = var4; +if (likely(varonce!=NULL)) { +var5 = varonce; } else { -var7 = "/"; -var8 = 1; -var9 = standard___standard__NativeString___to_s_with_length(var7, var8); -var6 = var9; -varonce = var6; +var6 = "/"; +var7 = standard___standard__NativeString___to_s_with_length(var6, 1l); +var5 = var7; +varonce = var5; } { -var10 = ((val* (*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__string__String___43d]))(var_dirname, var6) /* + on */; +var8 = ((val*(*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__string__String___43d]))(var_dirname, var5); /* + on */ } { -var11 = ((val* (*)(val* self, val* p0))(var10->class->vft[COLOR_standard__string__String___43d]))(var10, var_name) /* + on */; +var9 = ((val*(*)(val* self, val* p0))(var8->class->vft[COLOR_standard__string__String___43d]))(var8, var_name); /* + on */ } -if (varonce12) { -var13 = varonce12; +if (likely(varonce10!=NULL)) { +var11 = varonce10; } else { -var14 = ".nit"; -var15 = 4; -var16 = standard___standard__NativeString___to_s_with_length(var14, var15); -var13 = var16; -varonce12 = var13; +var12 = ".nit"; +var13 = standard___standard__NativeString___to_s_with_length(var12, 4l); +var11 = var13; +varonce10 = var11; } { -var17 = ((val* (*)(val* self, val* p0))(var11->class->vft[COLOR_standard__string__String___43d]))(var11, var13) /* + on */; +var14 = ((val*(*)(val* self, val* p0))(var9->class->vft[COLOR_standard__string__String___43d]))(var9, var11); /* + on */ } { -var18 = standard__file___String___simplify_path(var17); +var15 = standard__file___String___simplify_path(var14); } -var_try_file = var18; +var_try_file = var15; { -var19 = standard__file___String___file_exists(var_try_file); +var16 = standard__file___String___file_exists(var_try_file); } -if (var19){ -var20 = NULL; +if (var16){ if (var_candidate == NULL) { -var21 = 1; /* is null */ +var17 = 1; /* is null */ } else { -var21 = 0; /* arg is null but recv is not */ +var17 = 0; /* arg is null but recv is not */ } if (0) { -var22 = ((short int (*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, var20) /* == on */; -var21 = var22; +var18 = ((short int(*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, ((val*)NULL)); /* == on */ +var17 = var18; } -if (var21){ +if (var17){ var_candidate = var_try_file; } else { { { /* Inline kernel#Object#!= (var_candidate,var_try_file) on */ var_other = var_try_file; { -var25 = ((short int (*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, var_other) /* == on */; +var21 = ((short int(*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, var_other); /* == on */ } -var26 = !var25; -var23 = var26; -goto RET_LABEL24; -RET_LABEL24:(void)0; +var22 = !var21; +var19 = var22; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } -if (var23){ +if (var19){ { -var27 = nit__loader___ModelBuilder___module_absolute_path(self, var_candidate); +var23 = nit__loader___ModelBuilder___module_absolute_path(self, var_candidate); } -var_abs_candidate = var27; +var_abs_candidate = var23; { -var28 = nit__loader___ModelBuilder___module_absolute_path(self, var_try_file); +var24 = nit__loader___ModelBuilder___module_absolute_path(self, var_try_file); } -var_abs_try_file = var28; +var_abs_try_file = var24; { { /* Inline kernel#Object#!= (var_abs_candidate,var_abs_try_file) on */ var_other = var_abs_try_file; { -var31 = ((short int (*)(val* self, val* p0))(var_abs_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_abs_candidate, var_other) /* == on */; +var27 = ((short int(*)(val* self, val* p0))(var_abs_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_abs_candidate, var_other); /* == on */ } -var32 = !var31; -var29 = var32; -goto RET_LABEL30; -RET_LABEL30:(void)0; +var28 = !var27; +var25 = var28; +goto RET_LABEL26; +RET_LABEL26:(void)0; } } -if (var29){ +if (var25){ { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var35 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var35 == NULL)) { +var31 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var31 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var33 = var35; -RET_LABEL34:(void)0; +var29 = var31; +RET_LABEL30:(void)0; } } -if (varonce36) { -var37 = varonce36; +if (unlikely(varonce32==NULL)) { +var33 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce34!=NULL)) { +var35 = varonce34; } else { -var38 = "Error: conflicting module file for "; -var39 = 35; -var40 = standard___standard__NativeString___to_s_with_length(var38, var39); -var37 = var40; -varonce36 = var37; +var36 = "Error: conflicting module file for `"; +var37 = standard___standard__NativeString___to_s_with_length(var36, 36l); +var35 = var37; +varonce34 = var35; +} +((struct instance_standard__NativeArray*)var33)->values[0]=var35; +if (likely(varonce38!=NULL)) { +var39 = varonce38; +} else { +var40 = "`: `"; +var41 = standard___standard__NativeString___to_s_with_length(var40, 4l); +var39 = var41; +varonce38 = var39; } -if (varonce41) { -var42 = varonce41; +((struct instance_standard__NativeArray*)var33)->values[2]=var39; +if (likely(varonce42!=NULL)) { +var43 = varonce42; } else { -var43 = ": "; -var44 = 2; -var45 = standard___standard__NativeString___to_s_with_length(var43, var44); -var42 = var45; -varonce41 = var42; +var44 = "` `"; +var45 = standard___standard__NativeString___to_s_with_length(var44, 3l); +var43 = var45; +varonce42 = var43; } -if (varonce46) { +((struct instance_standard__NativeArray*)var33)->values[4]=var43; +if (likely(varonce46!=NULL)) { var47 = varonce46; } else { -var48 = " "; -var49 = 1; -var50 = standard___standard__NativeString___to_s_with_length(var48, var49); -var47 = var50; +var48 = "`"; +var49 = standard___standard__NativeString___to_s_with_length(var48, 1l); +var47 = var49; varonce46 = var47; } -var51 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var51 = array_instance Array[Object] */ -var52 = 6; -var53 = NEW_standard__NativeArray(var52, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var53)->values[0] = (val*) var37; -((struct instance_standard__NativeArray*)var53)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var53)->values[2] = (val*) var42; -((struct instance_standard__NativeArray*)var53)->values[3] = (val*) var_candidate; -((struct instance_standard__NativeArray*)var53)->values[4] = (val*) var47; -((struct instance_standard__NativeArray*)var53)->values[5] = (val*) var_try_file; +((struct instance_standard__NativeArray*)var33)->values[6]=var47; +} else { +var33 = varonce32; +varonce32 = NULL; +} +((struct instance_standard__NativeArray*)var33)->values[1]=var_name; +((struct instance_standard__NativeArray*)var33)->values[3]=var_candidate; +((struct instance_standard__NativeArray*)var33)->values[5]=var_try_file; +{ +var50 = ((val*(*)(val* self))(var33->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var33); /* native_to_s on */ +} +varonce32 = var33; { -((void (*)(val* self, val* p0, long p1))(var51->class->vft[COLOR_standard__array__Array__with_native]))(var51, var53, var52) /* with_native on */; +var51 = nit___nit__ToolContext___error(var29, var_location, var50); } +} else { +} +} else { +} +} +} else { +} +if (likely(varonce52!=NULL)) { +var53 = varonce52; +} else { +var54 = "/"; +var55 = standard___standard__NativeString___to_s_with_length(var54, 1l); +var53 = var55; +varonce52 = var53; } { -var54 = ((val* (*)(val* self))(var51->class->vft[COLOR_standard__string__Object__to_s]))(var51) /* to_s on */; +var56 = ((val*(*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__string__String___43d]))(var_dirname, var53); /* + on */ } { -nit___nit__ToolContext___error(var33, var_location, var54); /* Direct call toolcontext#ToolContext#error on */ +var57 = ((val*(*)(val* self, val* p0))(var56->class->vft[COLOR_standard__string__String___43d]))(var56, var_name); /* + on */ } +if (likely(varonce58!=NULL)) { +var59 = varonce58; } else { +var60 = "/"; +var61 = standard___standard__NativeString___to_s_with_length(var60, 1l); +var59 = var61; +varonce58 = var59; +} +{ +var62 = ((val*(*)(val* self, val* p0))(var57->class->vft[COLOR_standard__string__String___43d]))(var57, var59); /* + on */ } +{ +var63 = ((val*(*)(val* self, val* p0))(var62->class->vft[COLOR_standard__string__String___43d]))(var62, var_name); /* + on */ +} +if (likely(varonce64!=NULL)) { +var65 = varonce64; } else { +var66 = ".nit"; +var67 = standard___standard__NativeString___to_s_with_length(var66, 4l); +var65 = var67; +varonce64 = var65; } +{ +var68 = ((val*(*)(val* self, val* p0))(var63->class->vft[COLOR_standard__string__String___43d]))(var63, var65); /* + on */ } +{ +var69 = standard__file___String___simplify_path(var68); +} +var_try_file = var69; +{ +var70 = standard__file___String___file_exists(var_try_file); +} +if (var70){ +if (var_candidate == NULL) { +var71 = 1; /* is null */ } else { +var71 = 0; /* arg is null but recv is not */ +} +if (0) { +var72 = ((short int(*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, ((val*)NULL)); /* == on */ +var71 = var72; } -if (varonce55) { -var56 = varonce55; +if (var71){ +var_candidate = var_try_file; } else { -var57 = "/"; -var58 = 1; -var59 = standard___standard__NativeString___to_s_with_length(var57, var58); -var56 = var59; -varonce55 = var56; +{ +{ /* Inline kernel#Object#!= (var_candidate,var_try_file) on */ +var_other = var_try_file; +{ +var75 = ((short int(*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, var_other); /* == on */ } +var76 = !var75; +var73 = var76; +goto RET_LABEL74; +RET_LABEL74:(void)0; +} +} +if (var73){ { -var60 = ((val* (*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__string__String___43d]))(var_dirname, var56) /* + on */; +var77 = nit__loader___ModelBuilder___module_absolute_path(self, var_candidate); } +var_abs_candidate78 = var77; { -var61 = ((val* (*)(val* self, val* p0))(var60->class->vft[COLOR_standard__string__String___43d]))(var60, var_name) /* + on */; +var79 = nit__loader___ModelBuilder___module_absolute_path(self, var_try_file); } -if (varonce62) { -var63 = varonce62; +var_abs_try_file80 = var79; +{ +{ /* Inline kernel#Object#!= (var_abs_candidate78,var_abs_try_file80) on */ +var_other = var_abs_try_file80; +{ +var83 = ((short int(*)(val* self, val* p0))(var_abs_candidate78->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_abs_candidate78, var_other); /* == on */ +} +var84 = !var83; +var81 = var84; +goto RET_LABEL82; +RET_LABEL82:(void)0; +} +} +if (var81){ +{ +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +var87 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var87 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); +fatal_exit(1); +} +var85 = var87; +RET_LABEL86:(void)0; +} +} +if (unlikely(varonce88==NULL)) { +var89 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce90!=NULL)) { +var91 = varonce90; +} else { +var92 = "Error: conflicting module file for `"; +var93 = standard___standard__NativeString___to_s_with_length(var92, 36l); +var91 = var93; +varonce90 = var91; +} +((struct instance_standard__NativeArray*)var89)->values[0]=var91; +if (likely(varonce94!=NULL)) { +var95 = varonce94; +} else { +var96 = "`: `"; +var97 = standard___standard__NativeString___to_s_with_length(var96, 4l); +var95 = var97; +varonce94 = var95; +} +((struct instance_standard__NativeArray*)var89)->values[2]=var95; +if (likely(varonce98!=NULL)) { +var99 = varonce98; } else { -var64 = "/"; -var65 = 1; -var66 = standard___standard__NativeString___to_s_with_length(var64, var65); -var63 = var66; -varonce62 = var63; +var100 = "` `"; +var101 = standard___standard__NativeString___to_s_with_length(var100, 3l); +var99 = var101; +varonce98 = var99; } +((struct instance_standard__NativeArray*)var89)->values[4]=var99; +if (likely(varonce102!=NULL)) { +var103 = varonce102; +} else { +var104 = "`"; +var105 = standard___standard__NativeString___to_s_with_length(var104, 1l); +var103 = var105; +varonce102 = var103; +} +((struct instance_standard__NativeArray*)var89)->values[6]=var103; +} else { +var89 = varonce88; +varonce88 = NULL; +} +((struct instance_standard__NativeArray*)var89)->values[1]=var_name; +((struct instance_standard__NativeArray*)var89)->values[3]=var_candidate; +((struct instance_standard__NativeArray*)var89)->values[5]=var_try_file; { -var67 = ((val* (*)(val* self, val* p0))(var61->class->vft[COLOR_standard__string__String___43d]))(var61, var63) /* + on */; +var106 = ((val*(*)(val* self))(var89->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var89); /* native_to_s on */ } +varonce88 = var89; { -var68 = ((val* (*)(val* self, val* p0))(var67->class->vft[COLOR_standard__string__String___43d]))(var67, var_name) /* + on */; +var107 = nit___nit__ToolContext___error(var85, var_location, var106); } -if (varonce69) { -var70 = varonce69; } else { -var71 = ".nit"; -var72 = 4; -var73 = standard___standard__NativeString___to_s_with_length(var71, var72); -var70 = var73; -varonce69 = var70; +} +} else { +} +} +} else { +} +if (likely(varonce108!=NULL)) { +var109 = varonce108; +} else { +var110 = "/"; +var111 = standard___standard__NativeString___to_s_with_length(var110, 1l); +var109 = var111; +varonce108 = var109; +} +{ +var112 = ((val*(*)(val* self, val* p0))(var_dirname->class->vft[COLOR_standard__string__String___43d]))(var_dirname, var109); /* + on */ +} +{ +var113 = ((val*(*)(val* self, val* p0))(var112->class->vft[COLOR_standard__string__String___43d]))(var112, var_name); /* + on */ +} +if (likely(varonce114!=NULL)) { +var115 = varonce114; +} else { +var116 = "/src/"; +var117 = standard___standard__NativeString___to_s_with_length(var116, 5l); +var115 = var117; +varonce114 = var115; } { -var74 = ((val* (*)(val* self, val* p0))(var68->class->vft[COLOR_standard__string__String___43d]))(var68, var70) /* + on */; +var118 = ((val*(*)(val* self, val* p0))(var113->class->vft[COLOR_standard__string__String___43d]))(var113, var115); /* + on */ } { -var75 = standard__file___String___simplify_path(var74); +var119 = ((val*(*)(val* self, val* p0))(var118->class->vft[COLOR_standard__string__String___43d]))(var118, var_name); /* + on */ +} +if (likely(varonce120!=NULL)) { +var121 = varonce120; +} else { +var122 = ".nit"; +var123 = standard___standard__NativeString___to_s_with_length(var122, 4l); +var121 = var123; +varonce120 = var121; +} +{ +var124 = ((val*(*)(val* self, val* p0))(var119->class->vft[COLOR_standard__string__String___43d]))(var119, var121); /* + on */ } -var_try_file = var75; { -var76 = standard__file___String___file_exists(var_try_file); +var125 = standard__file___String___simplify_path(var124); } -if (var76){ -var77 = NULL; +var_try_file = var125; +{ +var126 = standard__file___String___file_exists(var_try_file); +} +if (var126){ if (var_candidate == NULL) { -var78 = 1; /* is null */ +var127 = 1; /* is null */ } else { -var78 = 0; /* arg is null but recv is not */ +var127 = 0; /* arg is null but recv is not */ } if (0) { -var79 = ((short int (*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, var77) /* == on */; -var78 = var79; +var128 = ((short int(*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, ((val*)NULL)); /* == on */ +var127 = var128; } -if (var78){ +if (var127){ var_candidate = var_try_file; } else { { { /* Inline kernel#Object#!= (var_candidate,var_try_file) on */ var_other = var_try_file; { -var82 = ((short int (*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, var_other) /* == on */; +var131 = ((short int(*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, var_other); /* == on */ } -var83 = !var82; -var80 = var83; -goto RET_LABEL81; -RET_LABEL81:(void)0; +var132 = !var131; +var129 = var132; +goto RET_LABEL130; +RET_LABEL130:(void)0; } } -if (var80){ +if (var129){ { -var84 = nit__loader___ModelBuilder___module_absolute_path(self, var_candidate); +var133 = nit__loader___ModelBuilder___module_absolute_path(self, var_candidate); } -var_abs_candidate85 = var84; +var_abs_candidate134 = var133; { -var86 = nit__loader___ModelBuilder___module_absolute_path(self, var_try_file); +var135 = nit__loader___ModelBuilder___module_absolute_path(self, var_try_file); } -var_abs_try_file87 = var86; +var_abs_try_file136 = var135; { -{ /* Inline kernel#Object#!= (var_abs_candidate85,var_abs_try_file87) on */ -var_other = var_abs_try_file87; +{ /* Inline kernel#Object#!= (var_abs_candidate134,var_abs_try_file136) on */ +var_other = var_abs_try_file136; { -var90 = ((short int (*)(val* self, val* p0))(var_abs_candidate85->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_abs_candidate85, var_other) /* == on */; +var139 = ((short int(*)(val* self, val* p0))(var_abs_candidate134->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_abs_candidate134, var_other); /* == on */ } -var91 = !var90; -var88 = var91; -goto RET_LABEL89; -RET_LABEL89:(void)0; +var140 = !var139; +var137 = var140; +goto RET_LABEL138; +RET_LABEL138:(void)0; } } -if (var88){ +if (var137){ { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var94 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var94 == NULL)) { +var143 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var143 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var92 = var94; -RET_LABEL93:(void)0; +var141 = var143; +RET_LABEL142:(void)0; } } -if (varonce95) { -var96 = varonce95; +if (unlikely(varonce144==NULL)) { +var145 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce146!=NULL)) { +var147 = varonce146; } else { -var97 = "Error: conflicting module file for "; -var98 = 35; -var99 = standard___standard__NativeString___to_s_with_length(var97, var98); -var96 = var99; -varonce95 = var96; +var148 = "Error: conflicting module file for `"; +var149 = standard___standard__NativeString___to_s_with_length(var148, 36l); +var147 = var149; +varonce146 = var147; } -if (varonce100) { -var101 = varonce100; +((struct instance_standard__NativeArray*)var145)->values[0]=var147; +if (likely(varonce150!=NULL)) { +var151 = varonce150; } else { -var102 = ": "; -var103 = 2; -var104 = standard___standard__NativeString___to_s_with_length(var102, var103); -var101 = var104; -varonce100 = var101; +var152 = "`: `"; +var153 = standard___standard__NativeString___to_s_with_length(var152, 4l); +var151 = var153; +varonce150 = var151; } -if (varonce105) { -var106 = varonce105; +((struct instance_standard__NativeArray*)var145)->values[2]=var151; +if (likely(varonce154!=NULL)) { +var155 = varonce154; } else { -var107 = " "; -var108 = 1; -var109 = standard___standard__NativeString___to_s_with_length(var107, var108); -var106 = var109; -varonce105 = var106; +var156 = "` `"; +var157 = standard___standard__NativeString___to_s_with_length(var156, 3l); +var155 = var157; +varonce154 = var155; } -var110 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var110 = array_instance Array[Object] */ -var111 = 6; -var112 = NEW_standard__NativeArray(var111, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var112)->values[0] = (val*) var96; -((struct instance_standard__NativeArray*)var112)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var112)->values[2] = (val*) var101; -((struct instance_standard__NativeArray*)var112)->values[3] = (val*) var_candidate; -((struct instance_standard__NativeArray*)var112)->values[4] = (val*) var106; -((struct instance_standard__NativeArray*)var112)->values[5] = (val*) var_try_file; -{ -((void (*)(val* self, val* p0, long p1))(var110->class->vft[COLOR_standard__array__Array__with_native]))(var110, var112, var111) /* with_native on */; +((struct instance_standard__NativeArray*)var145)->values[4]=var155; +if (likely(varonce158!=NULL)) { +var159 = varonce158; +} else { +var160 = "`"; +var161 = standard___standard__NativeString___to_s_with_length(var160, 1l); +var159 = var161; +varonce158 = var159; } +((struct instance_standard__NativeArray*)var145)->values[6]=var159; +} else { +var145 = varonce144; +varonce144 = NULL; } +((struct instance_standard__NativeArray*)var145)->values[1]=var_name; +((struct instance_standard__NativeArray*)var145)->values[3]=var_candidate; +((struct instance_standard__NativeArray*)var145)->values[5]=var_try_file; { -var113 = ((val* (*)(val* self))(var110->class->vft[COLOR_standard__string__Object__to_s]))(var110) /* to_s on */; +var162 = ((val*(*)(val* self))(var145->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var145); /* native_to_s on */ } +varonce144 = var145; { -nit___nit__ToolContext___error(var92, var_location, var113); /* Direct call toolcontext#ToolContext#error on */ +var163 = nit___nit__ToolContext___error(var141, var_location, var162); } } else { } @@ -2001,7 +2305,7 @@ nit___nit__ToolContext___error(var92, var_location, var113); /* Direct call tool } else { } { -((void (*)(val* self))(var_3->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_3) /* next on */; +((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_2); /* next on */ } } else { goto BREAK_label; @@ -2009,30 +2313,26 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_3) on */ -RET_LABEL114:(void)0; +((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_2); /* finish on */ } -} -var115 = NULL; if (var_candidate == NULL) { -var116 = 1; /* is null */ +var164 = 1; /* is null */ } else { -var116 = 0; /* arg is null but recv is not */ +var164 = 0; /* arg is null but recv is not */ } if (0) { -var117 = ((short int (*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, var115) /* == on */; -var116 = var117; +var165 = ((short int(*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, ((val*)NULL)); /* == on */ +var164 = var165; } -if (var116){ -var118 = NULL; -var = var118; +if (var164){ +var = ((val*)NULL); goto RET_LABEL; } else { } { -var119 = nit__loader___ModelBuilder___identify_file(self, var_candidate); +var166 = nit__loader___ModelBuilder___identify_file(self, var_candidate); } -var = var119; +var = var166; goto RET_LABEL; RET_LABEL:; return var; @@ -2044,8 +2344,8 @@ val* var1 /* : HashMap[String, nullable ModulePath] */; var1 = self->attrs[COLOR_nit__loader__ModelBuilder___identified_files_by_path].val; /* _identified_files_by_path on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files_by_path"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 265); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 332); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2058,8 +2358,8 @@ val* var1 /* : Array[ModulePath] */; var1 = self->attrs[COLOR_nit__loader__ModelBuilder___identified_files].val; /* _identified_files on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 268); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 335); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2073,280 +2373,256 @@ val* var1 /* : nullable String */; static val* varonce; val* var2 /* : String */; char* var3 /* : NativeString */; -long var4 /* : Int */; -val* var5 /* : FlatString */; +val* var4 /* : FlatString */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -short int var7 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; short int var9 /* : Bool */; -short int var10 /* : Bool */; -val* var11 /* : String */; -static val* varonce12; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : FlatString */; -short int var17 /* : Bool */; -val* var18 /* : null */; -val* var19 /* : Array[String] */; -val* var21 /* : Array[String] */; -val* var22 /* : nullable ModulePath */; +val* var10 /* : String */; +static val* varonce11; +val* var12 /* : String */; +char* var13 /* : NativeString */; +val* var14 /* : FlatString */; +short int var15 /* : Bool */; +val* var16 /* : Array[String] */; +val* var18 /* : Array[String] */; +val* var19 /* : nullable ModulePath */; val* var_res /* var res: nullable ModulePath */; -val* var23 /* : null */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; short int var24 /* : Bool */; +val* var_candidate /* var candidate: nullable Object */; short int var25 /* : Bool */; +val* var26 /* : nullable MGroup */; +val* var_mgroup /* var mgroup: nullable MGroup */; short int var27 /* : Bool */; short int var28 /* : Bool */; -val* var29 /* : null */; -val* var_candidate /* var candidate: nullable Object */; short int var30 /* : Bool */; -val* var31 /* : nullable MGroup */; -val* var_mgroup /* var mgroup: nullable MGroup */; -val* var32 /* : null */; -short int var33 /* : Bool */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; -short int var37 /* : Bool */; -val* var38 /* : nullable String */; -val* var40 /* : nullable String */; -val* var41 /* : String */; +short int var31 /* : Bool */; +val* var32 /* : nullable String */; +val* var34 /* : nullable String */; +val* var35 /* : String */; +val* var37 /* : String */; +static val* varonce38; +val* var39 /* : String */; +char* var40 /* : NativeString */; +val* var41 /* : FlatString */; +val* var42 /* : String */; val* var43 /* : String */; -static val* varonce44; -val* var45 /* : String */; -char* var46 /* : NativeString */; -long var47 /* : Int */; -val* var48 /* : FlatString */; -val* var49 /* : String */; -val* var50 /* : String */; val* var_owner_path /* var owner_path: String */; -short int var51 /* : Bool */; -val* var52 /* : null */; -short int var53 /* : Bool */; -short int var54 /* : Bool */; -val* var55 /* : null */; -static val* varonce56; -val* var57 /* : String */; -char* var58 /* : NativeString */; -long var59 /* : Int */; -val* var60 /* : FlatString */; -val* var61 /* : String */; +short int var44 /* : Bool */; +short int var45 /* : Bool */; +short int var46 /* : Bool */; +static val* varonce47; +val* var48 /* : String */; +char* var49 /* : NativeString */; +val* var50 /* : FlatString */; +val* var51 /* : String */; val* var_pn /* var pn: String */; -val* var62 /* : String */; +val* var52 /* : String */; val* var_rp /* var rp: String */; -val* var63 /* : HashMap[String, nullable ModulePath] */; -val* var65 /* : HashMap[String, nullable ModulePath] */; -short int var66 /* : Bool */; -val* var67 /* : HashMap[String, nullable ModulePath] */; -val* var69 /* : HashMap[String, nullable ModulePath] */; -val* var70 /* : nullable Object */; -static val* varonce71; -val* var72 /* : String */; -char* var73 /* : NativeString */; -long var74 /* : Int */; -val* var75 /* : FlatString */; -val* var76 /* : String */; -val* var77 /* : String */; +val* var53 /* : HashMap[String, nullable ModulePath] */; +val* var55 /* : HashMap[String, nullable ModulePath] */; +short int var56 /* : Bool */; +val* var57 /* : HashMap[String, nullable ModulePath] */; +val* var59 /* : HashMap[String, nullable ModulePath] */; +val* var60 /* : nullable Object */; +static val* varonce61; +val* var62 /* : String */; +char* var63 /* : NativeString */; +val* var64 /* : FlatString */; +val* var65 /* : String */; +val* var66 /* : String */; val* var_mgrouppath /* var mgrouppath: String */; -val* var78 /* : nullable MGroup */; -val* var_mgroup79 /* var mgroup: nullable MGroup */; -val* var80 /* : null */; -short int var81 /* : Bool */; -short int var82 /* : Bool */; -val* var_other84 /* var other: nullable Object */; -short int var85 /* : Bool */; -short int var87 /* : Bool */; -val* var88 /* : MProject */; -val* var89 /* : Model */; -val* var91 /* : Model */; +val* var67 /* : nullable MGroup */; +val* var_mgroup68 /* var mgroup: nullable MGroup */; +short int var69 /* : Bool */; +short int var70 /* : Bool */; +val* var_other72 /* var other: nullable Object */; +short int var73 /* : Bool */; +short int var75 /* : Bool */; +val* var76 /* : MProject */; +val* var77 /* : Model */; +val* var79 /* : Model */; val* var_mproject /* var mproject: MProject */; -val* var92 /* : MGroup */; -val* var93 /* : null */; -val* var96 /* : ToolContext */; -val* var98 /* : ToolContext */; -static val* varonce99; -val* var100 /* : String */; -char* var101 /* : NativeString */; -long var102 /* : Int */; -val* var103 /* : FlatString */; -static val* varonce104; -val* var105 /* : String */; -char* var106 /* : NativeString */; -long var107 /* : Int */; -val* var108 /* : FlatString */; -val* var109 /* : Array[Object] */; -long var110 /* : Int */; -val* var111 /* : NativeArray[Object] */; -val* var112 /* : String */; -long var113 /* : Int */; -val* var114 /* : ModulePath */; -val* var_res115 /* var res: ModulePath */; -val* var116 /* : Array[ModulePath] */; -val* var118 /* : Array[ModulePath] */; -val* var119 /* : HashMap[String, nullable ModulePath] */; -val* var121 /* : HashMap[String, nullable ModulePath] */; -val* var122 /* : Array[ModulePath] */; -val* var124 /* : Array[ModulePath] */; +val* var80 /* : MGroup */; +val* var83 /* : ToolContext */; +val* var85 /* : ToolContext */; +val* var87 /* : NativeArray[String] */; +static val* varonce86; +static val* varonce88; +val* var89 /* : String */; +char* var90 /* : NativeString */; +val* var91 /* : FlatString */; +static val* varonce92; +val* var93 /* : String */; +char* var94 /* : NativeString */; +val* var95 /* : FlatString */; +val* var96 /* : String */; +val* var97 /* : ModulePath */; +val* var_res98 /* var res: ModulePath */; +val* var99 /* : Array[ModulePath] */; +val* var101 /* : Array[ModulePath] */; +val* var102 /* : HashMap[String, nullable ModulePath] */; +val* var104 /* : HashMap[String, nullable ModulePath] */; +val* var105 /* : Array[ModulePath] */; +val* var107 /* : Array[ModulePath] */; var_path = p0; { var1 = standard__file___String___file_extension(var_path); } -if (varonce) { +if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = "nit"; -var4 = 3; -var5 = standard___standard__NativeString___to_s_with_length(var3, var4); -var2 = var5; +var4 = standard___standard__NativeString___to_s_with_length(var3, 3l); +var2 = var4; varonce = var2; } if (var1 == NULL) { -var6 = 1; /* cannot be null */ +var5 = 1; /* cannot be null */ } else { { /* Inline kernel#Object#!= (var1,var2) on */ var_other = var2; { -var9 = ((short int (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var1, var_other) /* == on */; +var8 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var1, var_other); /* == on */ } -var10 = !var9; -var7 = var10; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var9 = !var8; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } -var6 = var7; +var5 = var6; } -if (var6){ +if (var5){ { -var11 = standard__file___String___dirname(var_path); +var10 = standard__file___String___dirname(var_path); } -if (varonce12) { -var13 = varonce12; +if (likely(varonce11!=NULL)) { +var12 = varonce11; } else { -var14 = ""; -var15 = 0; -var16 = standard___standard__NativeString___to_s_with_length(var14, var15); -var13 = var16; -varonce12 = var13; +var13 = ""; +var14 = standard___standard__NativeString___to_s_with_length(var13, 0l); +var12 = var14; +varonce11 = var12; } { -var17 = ((short int (*)(val* self, val* p0))(var11->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var11, var13) /* == on */; +var15 = ((short int(*)(val* self, val* p0))(var10->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var10, var12); /* == on */ } -if (var17){ -var18 = NULL; +if (var15){ { { /* Inline loader#ModelBuilder#paths (self) on */ -var21 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ -if (unlikely(var21 == NULL)) { +var18 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ +if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 146); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 192); +fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var16 = var18; +RET_LABEL17:(void)0; } } { -var22 = nit__loader___ModelBuilder___search_module_in_paths(self, var18, var_path, var19); +var19 = nit__loader___ModelBuilder___search_module_in_paths(self, ((val*)NULL), var_path, var16); } -var_res = var22; -var23 = NULL; +var_res = var19; if (var_res == NULL) { -var24 = 0; /* is null */ +var20 = 0; /* is null */ } else { -var24 = 1; /* arg is null and recv is not */ +var20 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res,var23) on */ -var_other = var23; +{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var27 = ((short int (*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other) /* == on */; +var23 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ } -var28 = !var27; -var25 = var28; -goto RET_LABEL26; -RET_LABEL26:(void)0; +var24 = !var23; +var21 = var24; +goto RET_LABEL22; +RET_LABEL22:(void)0; } -var24 = var25; +var20 = var21; } -if (var24){ +if (var20){ var = var_res; goto RET_LABEL; } else { } } else { } -var29 = NULL; -var_candidate = var29; +var_candidate = ((val*)NULL); { -var30 = standard__file___String___file_exists(var_path); +var25 = standard__file___String___file_exists(var_path); } -if (var30){ +if (var25){ { -var31 = nit__loader___ModelBuilder___get_mgroup(self, var_path); +var26 = nit__loader___ModelBuilder___get_mgroup(self, var_path); } -var_mgroup = var31; -var32 = NULL; +var_mgroup = var26; if (var_mgroup == NULL) { -var33 = 0; /* is null */ +var27 = 0; /* is null */ } else { -var33 = 1; /* arg is null and recv is not */ +var27 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mgroup,var32) on */ -var_other = var32; +{ /* Inline kernel#Object#!= (var_mgroup,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var36 = ((short int (*)(val* self, val* p0))(var_mgroup->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mgroup, var_other) /* == on */; +var30 = ((short int(*)(val* self, val* p0))(var_mgroup->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mgroup, var_other); /* == on */ } -var37 = !var36; -var34 = var37; -goto RET_LABEL35; -RET_LABEL35:(void)0; +var31 = !var30; +var28 = var31; +goto RET_LABEL29; +RET_LABEL29:(void)0; } -var33 = var34; +var27 = var28; } -if (var33){ +if (var27){ { { /* Inline mproject#MGroup#filepath (var_mgroup) on */ -var40 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___filepath].val; /* _filepath on */ -var38 = var40; -RET_LABEL39:(void)0; +var34 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___filepath].val; /* _filepath on */ +var32 = var34; +RET_LABEL33:(void)0; } } { { /* Inline mproject#MGroup#name (var_mgroup) on */ -var43 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___name].val; /* _name on */ -if (unlikely(var43 == NULL)) { +var37 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___name].val; /* _name on */ +if (unlikely(var37 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 65); -show_backtrace(1); +fatal_exit(1); } -var41 = var43; -RET_LABEL42:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } -if (varonce44) { -var45 = varonce44; +if (likely(varonce38!=NULL)) { +var39 = varonce38; } else { -var46 = ".nit"; -var47 = 4; -var48 = standard___standard__NativeString___to_s_with_length(var46, var47); -var45 = var48; -varonce44 = var45; +var40 = ".nit"; +var41 = standard___standard__NativeString___to_s_with_length(var40, 4l); +var39 = var41; +varonce38 = var39; } { -var49 = ((val* (*)(val* self, val* p0))(var41->class->vft[COLOR_standard__string__String___43d]))(var41, var45) /* + on */; +var42 = ((val*(*)(val* self, val* p0))(var35->class->vft[COLOR_standard__string__String___43d]))(var35, var39); /* + on */ } -if (var38 == NULL) { +if (var32 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 291); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 358); +fatal_exit(1); } else { -var50 = standard__file___String___join_path(var38, var49); +var43 = standard__file___String___join_path(var32, var42); } -var_owner_path = var50; +var_owner_path = var43; { -var51 = standard__file___String___file_exists(var_owner_path); +var44 = standard__file___String___file_exists(var_owner_path); } -if (var51){ +if (var44){ var_candidate = var_owner_path; } else { } @@ -2354,282 +2630,272 @@ var_candidate = var_owner_path; } } else { } -var52 = NULL; if (var_candidate == NULL) { -var53 = 1; /* is null */ +var45 = 1; /* is null */ } else { -var53 = 0; /* arg is null but recv is not */ +var45 = 0; /* arg is null but recv is not */ } if (0) { -var54 = ((short int (*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, var52) /* == on */; -var53 = var54; +var46 = ((short int(*)(val* self, val* p0))(var_candidate->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_candidate, ((val*)NULL)); /* == on */ +var45 = var46; } -if (var53){ -var55 = NULL; -var = var55; +if (var45){ +var = ((val*)NULL); goto RET_LABEL; } else { } var_path = var_candidate; } else { } -if (varonce56) { -var57 = varonce56; +if (likely(varonce47!=NULL)) { +var48 = varonce47; } else { -var58 = ".nit"; -var59 = 4; -var60 = standard___standard__NativeString___to_s_with_length(var58, var59); -var57 = var60; -varonce56 = var57; +var49 = ".nit"; +var50 = standard___standard__NativeString___to_s_with_length(var49, 4l); +var48 = var50; +varonce47 = var48; } { -var61 = standard__file___String___basename(var_path, var57); +var51 = standard__file___String___basename(var_path, var48); } -var_pn = var61; +var_pn = var51; { -var62 = nit__loader___ModelBuilder___module_absolute_path(self, var_path); +var52 = nit__loader___ModelBuilder___module_absolute_path(self, var_path); } -var_rp = var62; +var_rp = var52; { { /* Inline loader#ModelBuilder#identified_files_by_path (self) on */ -var65 = self->attrs[COLOR_nit__loader__ModelBuilder___identified_files_by_path].val; /* _identified_files_by_path on */ -if (unlikely(var65 == NULL)) { +var55 = self->attrs[COLOR_nit__loader__ModelBuilder___identified_files_by_path].val; /* _identified_files_by_path on */ +if (unlikely(var55 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files_by_path"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 265); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 332); +fatal_exit(1); } -var63 = var65; -RET_LABEL64:(void)0; +var53 = var55; +RET_LABEL54:(void)0; } } { -var66 = standard___standard__MapRead___has_key(var63, var_rp); +var56 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var53, var_rp); } -if (var66){ +if (var56){ { { /* Inline loader#ModelBuilder#identified_files_by_path (self) on */ -var69 = self->attrs[COLOR_nit__loader__ModelBuilder___identified_files_by_path].val; /* _identified_files_by_path on */ -if (unlikely(var69 == NULL)) { +var59 = self->attrs[COLOR_nit__loader__ModelBuilder___identified_files_by_path].val; /* _identified_files_by_path on */ +if (unlikely(var59 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files_by_path"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 265); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 332); +fatal_exit(1); } -var67 = var69; -RET_LABEL68:(void)0; +var57 = var59; +RET_LABEL58:(void)0; } } { -var70 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var67, var_rp); +var60 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var57, var_rp); } -var = var70; +var = var60; goto RET_LABEL; } else { } -if (varonce71) { -var72 = varonce71; +if (likely(varonce61!=NULL)) { +var62 = varonce61; } else { -var73 = ".."; -var74 = 2; -var75 = standard___standard__NativeString___to_s_with_length(var73, var74); -var72 = var75; -varonce71 = var72; +var63 = ".."; +var64 = standard___standard__NativeString___to_s_with_length(var63, 2l); +var62 = var64; +varonce61 = var62; } { -var76 = standard__file___String___join_path(var_path, var72); +var65 = standard__file___String___join_path(var_path, var62); } { -var77 = standard__file___String___simplify_path(var76); +var66 = standard__file___String___simplify_path(var65); } -var_mgrouppath = var77; +var_mgrouppath = var66; { -var78 = nit__loader___ModelBuilder___get_mgroup(self, var_mgrouppath); +var67 = nit__loader___ModelBuilder___get_mgroup(self, var_mgrouppath); } -var_mgroup79 = var78; -var80 = NULL; -if (var_mgroup79 == NULL) { -var81 = 1; /* is null */ +var_mgroup68 = var67; +if (var_mgroup68 == NULL) { +var69 = 1; /* is null */ } else { -var81 = 0; /* arg is null but recv is not */ +var69 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mgroup79,var80) on */ -var_other84 = var80; +{ /* Inline kernel#Object#== (var_mgroup68,((val*)NULL)) on */ +var_other72 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_mgroup79,var_other84) on */ -var87 = var_mgroup79 == var_other84; -var85 = var87; -goto RET_LABEL86; -RET_LABEL86:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_mgroup68,var_other72) on */ +var75 = var_mgroup68 == var_other72; +var73 = var75; +goto RET_LABEL74; +RET_LABEL74:(void)0; } } -var82 = var85; -goto RET_LABEL83; -RET_LABEL83:(void)0; +var70 = var73; +goto RET_LABEL71; +RET_LABEL71:(void)0; } -var81 = var82; +var69 = var70; } -if (var81){ -var88 = NEW_nit__MProject(&type_nit__MProject); +if (var69){ +var76 = NEW_nit__MProject(&type_nit__MProject); { { /* Inline modelbuilder_base#ModelBuilder#model (self) on */ -var91 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ -if (unlikely(var91 == NULL)) { +var79 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ +if (unlikely(var79 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 44); -show_backtrace(1); +fatal_exit(1); } -var89 = var91; -RET_LABEL90:(void)0; +var77 = var79; +RET_LABEL78:(void)0; } } { -((void (*)(val* self, val* p0))(var88->class->vft[COLOR_nit__mproject__MProject__name_61d]))(var88, var_pn) /* name= on */; +((void(*)(val* self, val* p0))(var76->class->vft[COLOR_nit__mproject__MProject__name_61d]))(var76, var_pn); /* name= on */ } { -((void (*)(val* self, val* p0))(var88->class->vft[COLOR_nit__mproject__MProject__model_61d]))(var88, var89) /* model= on */; +((void(*)(val* self, val* p0))(var76->class->vft[COLOR_nit__mproject__MProject__model_61d]))(var76, var77); /* model= on */ } { -((void (*)(val* self))(var88->class->vft[COLOR_standard__kernel__Object__init]))(var88) /* init on */; +((void(*)(val* self))(var76->class->vft[COLOR_standard__kernel__Object__init]))(var76); /* init on */ } -var_mproject = var88; -var92 = NEW_nit__MGroup(&type_nit__MGroup); -var93 = NULL; +var_mproject = var76; +var80 = NEW_nit__MGroup(&type_nit__MGroup); { -((void (*)(val* self, val* p0))(var92->class->vft[COLOR_nit__mproject__MGroup__name_61d]))(var92, var_pn) /* name= on */; +((void(*)(val* self, val* p0))(var80->class->vft[COLOR_nit__mproject__MGroup__name_61d]))(var80, var_pn); /* name= on */ } { -((void (*)(val* self, val* p0))(var92->class->vft[COLOR_nit__mproject__MGroup__mproject_61d]))(var92, var_mproject) /* mproject= on */; +((void(*)(val* self, val* p0))(var80->class->vft[COLOR_nit__mproject__MGroup__mproject_61d]))(var80, var_mproject); /* mproject= on */ } { -((void (*)(val* self, val* p0))(var92->class->vft[COLOR_nit__mproject__MGroup__parent_61d]))(var92, var93) /* parent= on */; +((void(*)(val* self, val* p0))(var80->class->vft[COLOR_nit__mproject__MGroup__parent_61d]))(var80, ((val*)NULL)); /* parent= on */ } { -((void (*)(val* self))(var92->class->vft[COLOR_standard__kernel__Object__init]))(var92) /* init on */; +((void(*)(val* self))(var80->class->vft[COLOR_standard__kernel__Object__init]))(var80); /* init on */ } -var_mgroup79 = var92; +var_mgroup68 = var80; { -{ /* Inline mproject#MGroup#filepath= (var_mgroup79,var_path) on */ -var_mgroup79->attrs[COLOR_nit__mproject__MGroup___filepath].val = var_path; /* _filepath on */ -RET_LABEL94:(void)0; +{ /* Inline mproject#MGroup#filepath= (var_mgroup68,var_path) on */ +var_mgroup68->attrs[COLOR_nit__mproject__MGroup___filepath].val = var_path; /* _filepath on */ +RET_LABEL81:(void)0; } } { -{ /* Inline mproject#MProject#root= (var_mproject,var_mgroup79) on */ -var_mproject->attrs[COLOR_nit__mproject__MProject___root].val = var_mgroup79; /* _root on */ -RET_LABEL95:(void)0; +{ /* Inline mproject#MProject#root= (var_mproject,var_mgroup68) on */ +var_mproject->attrs[COLOR_nit__mproject__MProject___root].val = var_mgroup68; /* _root on */ +RET_LABEL82:(void)0; } } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var98 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var98 == NULL)) { +var85 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var85 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var96 = var98; -RET_LABEL97:(void)0; +var83 = var85; +RET_LABEL84:(void)0; } } -if (varonce99) { -var100 = varonce99; +if (unlikely(varonce86==NULL)) { +var87 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce88!=NULL)) { +var89 = varonce88; } else { -var101 = "found project `"; -var102 = 15; -var103 = standard___standard__NativeString___to_s_with_length(var101, var102); -var100 = var103; -varonce99 = var100; +var90 = "found project `"; +var91 = standard___standard__NativeString___to_s_with_length(var90, 15l); +var89 = var91; +varonce88 = var89; } -if (varonce104) { -var105 = varonce104; +((struct instance_standard__NativeArray*)var87)->values[0]=var89; +if (likely(varonce92!=NULL)) { +var93 = varonce92; } else { -var106 = "` at "; -var107 = 5; -var108 = standard___standard__NativeString___to_s_with_length(var106, var107); -var105 = var108; -varonce104 = var105; -} -var109 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var109 = array_instance Array[Object] */ -var110 = 4; -var111 = NEW_standard__NativeArray(var110, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var111)->values[0] = (val*) var100; -((struct instance_standard__NativeArray*)var111)->values[1] = (val*) var_pn; -((struct instance_standard__NativeArray*)var111)->values[2] = (val*) var105; -((struct instance_standard__NativeArray*)var111)->values[3] = (val*) var_path; -{ -((void (*)(val* self, val* p0, long p1))(var109->class->vft[COLOR_standard__array__Array__with_native]))(var109, var111, var110) /* with_native on */; +var94 = "` at "; +var95 = standard___standard__NativeString___to_s_with_length(var94, 5l); +var93 = var95; +varonce92 = var93; } +((struct instance_standard__NativeArray*)var87)->values[2]=var93; +} else { +var87 = varonce86; +varonce86 = NULL; } +((struct instance_standard__NativeArray*)var87)->values[1]=var_pn; +((struct instance_standard__NativeArray*)var87)->values[3]=var_path; { -var112 = ((val* (*)(val* self))(var109->class->vft[COLOR_standard__string__Object__to_s]))(var109) /* to_s on */; +var96 = ((val*(*)(val* self))(var87->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var87); /* native_to_s on */ } -var113 = 2; +varonce86 = var87; { -nit___nit__ToolContext___info(var96, var112, var113); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(var83, var96, 2l); /* Direct call toolcontext#ToolContext#info on */ } } else { } -var114 = NEW_nit__ModulePath(&type_nit__ModulePath); +var97 = NEW_nit__ModulePath(&type_nit__ModulePath); { -((void (*)(val* self, val* p0))(var114->class->vft[COLOR_nit__loader__ModulePath__name_61d]))(var114, var_pn) /* name= on */; +((void(*)(val* self, val* p0))(var97->class->vft[COLOR_nit__loader__ModulePath__name_61d]))(var97, var_pn); /* name= on */ } { -((void (*)(val* self, val* p0))(var114->class->vft[COLOR_nit__loader__ModulePath__filepath_61d]))(var114, var_path) /* filepath= on */; +((void(*)(val* self, val* p0))(var97->class->vft[COLOR_nit__loader__ModulePath__filepath_61d]))(var97, var_path); /* filepath= on */ } { -((void (*)(val* self, val* p0))(var114->class->vft[COLOR_nit__loader__ModulePath__mgroup_61d]))(var114, var_mgroup79) /* mgroup= on */; +((void(*)(val* self, val* p0))(var97->class->vft[COLOR_nit__loader__ModulePath__mgroup_61d]))(var97, var_mgroup68); /* mgroup= on */ } { -((void (*)(val* self))(var114->class->vft[COLOR_standard__kernel__Object__init]))(var114) /* init on */; +((void(*)(val* self))(var97->class->vft[COLOR_standard__kernel__Object__init]))(var97); /* init on */ } -var_res115 = var114; +var_res98 = var97; { -{ /* Inline loader#MGroup#module_paths (var_mgroup79) on */ -var118 = var_mgroup79->attrs[COLOR_nit__loader__MGroup___module_paths].val; /* _module_paths on */ -if (unlikely(var118 == NULL)) { +{ /* Inline loader#MGroup#module_paths (var_mgroup68) on */ +var101 = var_mgroup68->attrs[COLOR_nit__loader__MGroup___module_paths].val; /* _module_paths on */ +if (unlikely(var101 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _module_paths"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 675); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 799); +fatal_exit(1); } -var116 = var118; -RET_LABEL117:(void)0; +var99 = var101; +RET_LABEL100:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var116, var_res115); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var99, var_res98); /* Direct call array#Array#add on */ } { { /* Inline loader#ModelBuilder#identified_files_by_path (self) on */ -var121 = self->attrs[COLOR_nit__loader__ModelBuilder___identified_files_by_path].val; /* _identified_files_by_path on */ -if (unlikely(var121 == NULL)) { +var104 = self->attrs[COLOR_nit__loader__ModelBuilder___identified_files_by_path].val; /* _identified_files_by_path on */ +if (unlikely(var104 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files_by_path"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 265); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 332); +fatal_exit(1); } -var119 = var121; -RET_LABEL120:(void)0; +var102 = var104; +RET_LABEL103:(void)0; } } { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var119, var_rp, var_res115); /* Direct call hash_collection#HashMap#[]= on */ +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var102, var_rp, var_res98); /* Direct call hash_collection#HashMap#[]= on */ } { { /* Inline loader#ModelBuilder#identified_files (self) on */ -var124 = self->attrs[COLOR_nit__loader__ModelBuilder___identified_files].val; /* _identified_files on */ -if (unlikely(var124 == NULL)) { +var107 = self->attrs[COLOR_nit__loader__ModelBuilder___identified_files].val; /* _identified_files on */ +if (unlikely(var107 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _identified_files"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 268); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 335); +fatal_exit(1); } -var122 = var124; -RET_LABEL123:(void)0; +var105 = var107; +RET_LABEL106:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var122, var_res115); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var105, var_res98); /* Direct call array#Array#add on */ } -var = var_res115; +var = var_res98; goto RET_LABEL; RET_LABEL:; return var; @@ -2641,8 +2907,8 @@ val* var1 /* : HashMap[String, nullable MGroup] */; var1 = self->attrs[COLOR_nit__loader__ModelBuilder___mgroups].val; /* _mgroups on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 395); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2665,136 +2931,136 @@ val* var_p /* var p: String */; val* var10 /* : String */; val* var_try /* var try: String */; short int var11 /* : Bool */; -val* var13 /* : null */; -val* var14 /* : String */; +val* var12 /* : String */; val* var_rdp /* var rdp: String */; +val* var13 /* : HashMap[String, nullable MGroup] */; val* var15 /* : HashMap[String, nullable MGroup] */; +short int var16 /* : Bool */; val* var17 /* : HashMap[String, nullable MGroup] */; -short int var18 /* : Bool */; val* var19 /* : HashMap[String, nullable MGroup] */; -val* var21 /* : HashMap[String, nullable MGroup] */; -val* var22 /* : nullable Object */; +val* var20 /* : nullable Object */; static val* varonce; -val* var23 /* : String */; -char* var24 /* : NativeString */; -long var25 /* : Int */; -val* var26 /* : FlatString */; -val* var27 /* : String */; +val* var21 /* : String */; +char* var22 /* : NativeString */; +val* var23 /* : FlatString */; +val* var24 /* : String */; val* var_pn /* var pn: String */; -static val* varonce28; +static val* varonce25; +val* var26 /* : String */; +char* var27 /* : NativeString */; +val* var28 /* : FlatString */; val* var29 /* : String */; -char* var30 /* : NativeString */; -long var31 /* : Int */; -val* var32 /* : FlatString */; -val* var33 /* : String */; -val* var34 /* : String */; -val* var35 /* : String */; +val* var30 /* : String */; +val* var31 /* : String */; val* var_mp /* var mp: String */; val* var_dirpath2 /* var dirpath2: String */; -short int var36 /* : Bool */; -short int var37 /* : Bool */; -static val* varonce38; +short int var32 /* : Bool */; +short int var33 /* : Bool */; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; +val* var37 /* : FlatString */; +short int var38 /* : Bool */; val* var39 /* : String */; -char* var40 /* : NativeString */; -long var41 /* : Int */; -val* var42 /* : FlatString */; -short int var43 /* : Bool */; +static val* varonce40; +val* var41 /* : String */; +char* var42 /* : NativeString */; +val* var43 /* : FlatString */; val* var44 /* : String */; static val* varonce45; val* var46 /* : String */; char* var47 /* : NativeString */; -long var48 /* : Int */; -val* var49 /* : FlatString */; -val* var50 /* : String */; -val* var51 /* : null */; +val* var48 /* : FlatString */; +val* var49 /* : String */; +short int var50 /* : Bool */; +short int var51 /* : Bool */; static val* varonce52; val* var53 /* : String */; char* var54 /* : NativeString */; -long var55 /* : Int */; -val* var56 /* : FlatString */; +val* var55 /* : FlatString */; +val* var56 /* : String */; val* var57 /* : String */; -val* var58 /* : String */; val* var_parentpath /* var parentpath: String */; -val* var59 /* : nullable MGroup */; +val* var58 /* : nullable MGroup */; val* var_parent /* var parent: nullable MGroup */; -val* var60 /* : null */; -short int var61 /* : Bool */; -short int var62 /* : Bool */; +short int var59 /* : Bool */; +short int var60 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var62 /* : Bool */; short int var64 /* : Bool */; -short int var66 /* : Bool */; -val* var67 /* : MProject */; +val* var65 /* : MProject */; +val* var66 /* : Model */; val* var68 /* : Model */; -val* var70 /* : Model */; val* var_mproject /* var mproject: MProject */; -val* var71 /* : MGroup */; -val* var72 /* : null */; +val* var69 /* : MGroup */; val* var_mgroup /* var mgroup: nullable Object */; -val* var74 /* : ToolContext */; -val* var76 /* : ToolContext */; -static val* varonce77; -val* var78 /* : String */; -char* var79 /* : NativeString */; -long var80 /* : Int */; -val* var81 /* : FlatString */; -static val* varonce82; -val* var83 /* : String */; -char* var84 /* : NativeString */; -long var85 /* : Int */; -val* var86 /* : FlatString */; -val* var87 /* : Array[Object] */; -long var88 /* : Int */; -val* var89 /* : NativeArray[Object] */; -val* var90 /* : String */; -long var91 /* : Int */; -val* var92 /* : MGroup */; -val* var93 /* : MProject */; -val* var95 /* : MProject */; -val* var96 /* : ToolContext */; -val* var98 /* : ToolContext */; +val* var71 /* : ToolContext */; +val* var73 /* : ToolContext */; +val* var75 /* : NativeArray[String] */; +static val* varonce74; +static val* varonce76; +val* var77 /* : String */; +char* var78 /* : NativeString */; +val* var79 /* : FlatString */; +static val* varonce80; +val* var81 /* : String */; +char* var82 /* : NativeString */; +val* var83 /* : FlatString */; +val* var84 /* : String */; +val* var85 /* : String */; +val* var86 /* : MGroup */; +val* var87 /* : MProject */; +val* var89 /* : MProject */; +val* var90 /* : ToolContext */; +val* var92 /* : ToolContext */; +val* var94 /* : NativeArray[String] */; +static val* varonce93; +static val* varonce95; +val* var96 /* : String */; +char* var97 /* : NativeString */; +val* var98 /* : FlatString */; static val* varonce99; val* var100 /* : String */; char* var101 /* : NativeString */; -long var102 /* : Int */; -val* var103 /* : FlatString */; +val* var102 /* : FlatString */; +val* var103 /* : String */; val* var104 /* : String */; static val* varonce105; val* var106 /* : String */; char* var107 /* : NativeString */; -long var108 /* : Int */; -val* var109 /* : FlatString */; -val* var110 /* : Array[Object] */; -long var111 /* : Int */; -val* var112 /* : NativeArray[Object] */; +val* var108 /* : FlatString */; +val* var109 /* : String */; +val* var_readme /* var readme: String */; +short int var110 /* : Bool */; +short int var111 /* : Bool */; +static val* varonce112; val* var113 /* : String */; -long var114 /* : Int */; -static val* varonce115; +char* var114 /* : NativeString */; +val* var115 /* : FlatString */; val* var116 /* : String */; -char* var117 /* : NativeString */; -long var118 /* : Int */; -val* var119 /* : FlatString */; +short int var117 /* : Bool */; +short int var118 /* : Bool */; +static val* varonce119; val* var120 /* : String */; -val* var_readme /* var readme: String */; -short int var121 /* : Bool */; -short int var122 /* : Bool */; -static val* varonce123; -val* var124 /* : String */; -char* var125 /* : NativeString */; -long var126 /* : Int */; -val* var127 /* : FlatString */; -val* var128 /* : String */; -short int var129 /* : Bool */; -val* var130 /* : MDoc */; +char* var121 /* : NativeString */; +val* var122 /* : FlatString */; +val* var123 /* : String */; +short int var124 /* : Bool */; +short int var125 /* : Bool */; +static val* varonce126; +val* var127 /* : String */; +char* var128 /* : NativeString */; +val* var129 /* : FlatString */; +val* var130 /* : String */; +short int var131 /* : Bool */; +val* var132 /* : MDoc */; val* var_mdoc /* var mdoc: MDoc */; -val* var132 /* : IFStream */; -val* var_s /* var s: IFStream */; -short int var133 /* : Bool */; -short int var134 /* : Bool */; -val* var135 /* : Array[String] */; -val* var137 /* : Array[String] */; -val* var138 /* : String */; -val* var143 /* : HashMap[String, nullable MGroup] */; -val* var145 /* : HashMap[String, nullable MGroup] */; +val* var136 /* : HashMap[String, nullable MGroup] */; +val* var138 /* : HashMap[String, nullable MGroup] */; +val* var139 /* : String */; +val* var140 /* : HashMap[String, nullable MGroup] */; +val* var142 /* : HashMap[String, nullable MGroup] */; +val* var143 /* : String */; var_dirpath = p0; { var1 = standard__file___String___file_exists(var_dirpath); @@ -2806,8 +3072,8 @@ if (var2){ var5 = self->attrs[COLOR_nit__loader__ModelBuilder___paths].val; /* _paths on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _paths"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 146); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 192); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -2848,461 +3114,582 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_7) on */ -RET_LABEL12:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_7); /* Direct call array#ArrayIterator#finish on */ } -var13 = NULL; -var = var13; +var = ((val*)NULL); goto RET_LABEL; BREAK_: (void)0; } else { } { -var14 = nit__loader___ModelBuilder___module_absolute_path(self, var_dirpath); +var12 = nit__loader___ModelBuilder___module_absolute_path(self, var_dirpath); } -var_rdp = var14; +var_rdp = var12; { { /* Inline loader#ModelBuilder#mgroups (self) on */ -var17 = self->attrs[COLOR_nit__loader__ModelBuilder___mgroups].val; /* _mgroups on */ -if (unlikely(var17 == NULL)) { +var15 = self->attrs[COLOR_nit__loader__ModelBuilder___mgroups].val; /* _mgroups on */ +if (unlikely(var15 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 395); +fatal_exit(1); } -var15 = var17; -RET_LABEL16:(void)0; +var13 = var15; +RET_LABEL14:(void)0; } } { -var18 = standard___standard__MapRead___has_key(var15, var_rdp); +var16 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var13, var_rdp); } -if (var18){ +if (var16){ { { /* Inline loader#ModelBuilder#mgroups (self) on */ -var21 = self->attrs[COLOR_nit__loader__ModelBuilder___mgroups].val; /* _mgroups on */ -if (unlikely(var21 == NULL)) { +var19 = self->attrs[COLOR_nit__loader__ModelBuilder___mgroups].val; /* _mgroups on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 395); +fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } { -var22 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var19, var_rdp); +var20 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var17, var_rdp); } -var = var22; +var = var20; goto RET_LABEL; } else { } -if (varonce) { -var23 = varonce; +if (likely(varonce!=NULL)) { +var21 = varonce; } else { -var24 = ".nit"; -var25 = 4; -var26 = standard___standard__NativeString___to_s_with_length(var24, var25); -var23 = var26; -varonce = var23; +var22 = ".nit"; +var23 = standard___standard__NativeString___to_s_with_length(var22, 4l); +var21 = var23; +varonce = var21; } { -var27 = standard__file___String___basename(var_rdp, var23); +var24 = standard__file___String___basename(var_rdp, var21); } -var_pn = var27; -if (varonce28) { -var29 = varonce28; +var_pn = var24; +if (likely(varonce25!=NULL)) { +var26 = varonce25; } else { -var30 = ".nit"; -var31 = 4; -var32 = standard___standard__NativeString___to_s_with_length(var30, var31); -var29 = var32; -varonce28 = var29; +var27 = ".nit"; +var28 = standard___standard__NativeString___to_s_with_length(var27, 4l); +var26 = var28; +varonce25 = var26; } { -var33 = ((val* (*)(val* self, val* p0))(var_pn->class->vft[COLOR_standard__string__String___43d]))(var_pn, var29) /* + on */; +var29 = ((val*(*)(val* self, val* p0))(var_pn->class->vft[COLOR_standard__string__String___43d]))(var_pn, var26); /* + on */ } { -var34 = standard__file___String___join_path(var_dirpath, var33); +var30 = standard__file___String___join_path(var_dirpath, var29); } { -var35 = standard__file___String___simplify_path(var34); +var31 = standard__file___String___simplify_path(var30); } -var_mp = var35; +var_mp = var31; var_dirpath2 = var_dirpath; { -var36 = standard__file___String___file_exists(var_mp); +var32 = standard__file___String___file_exists(var_mp); } -var37 = !var36; -if (var37){ -if (varonce38) { -var39 = varonce38; +var33 = !var32; +if (var33){ +if (likely(varonce34!=NULL)) { +var35 = varonce34; } else { -var40 = "src"; -var41 = 3; -var42 = standard___standard__NativeString___to_s_with_length(var40, var41); -var39 = var42; -varonce38 = var39; +var36 = "src"; +var37 = standard___standard__NativeString___to_s_with_length(var36, 3l); +var35 = var37; +varonce34 = var35; } { -var43 = ((short int (*)(val* self, val* p0))(var_pn->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pn, var39) /* == on */; +var38 = ((short int(*)(val* self, val* p0))(var_pn->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_pn, var35); /* == on */ +} +if (var38){ +{ +var39 = standard__file___String___dirname(var_rdp); +} +var_dirpath2 = var39; +if (likely(varonce40!=NULL)) { +var41 = varonce40; +} else { +var42 = ""; +var43 = standard___standard__NativeString___to_s_with_length(var42, 0l); +var41 = var43; +varonce40 = var41; } -if (var43){ { -var44 = standard__file___String___dirname(var_rdp); +var44 = standard__file___String___basename(var_dirpath2, var41); } -var_dirpath2 = var44; -if (varonce45) { +var_pn = var44; +} else { +if (likely(varonce45!=NULL)) { var46 = varonce45; } else { -var47 = ""; -var48 = 0; -var49 = standard___standard__NativeString___to_s_with_length(var47, var48); -var46 = var49; +var47 = "src"; +var48 = standard___standard__NativeString___to_s_with_length(var47, 3l); +var46 = var48; varonce45 = var46; } { -var50 = standard__file___String___basename(var_dirpath2, var46); +var49 = standard__file___String____47d(var_dirpath2, var46); } -var_pn = var50; -} else { -var51 = NULL; -var = var51; +var_dirpath = var49; +{ +var50 = standard__file___String___file_exists(var_dirpath); +} +var51 = !var50; +if (var51){ +var = ((val*)NULL); goto RET_LABEL; +} else { +} } } else { } -if (varonce52) { +if (likely(varonce52!=NULL)) { var53 = varonce52; } else { var54 = ".."; -var55 = 2; -var56 = standard___standard__NativeString___to_s_with_length(var54, var55); -var53 = var56; +var55 = standard___standard__NativeString___to_s_with_length(var54, 2l); +var53 = var55; varonce52 = var53; } { -var57 = standard__file___String___join_path(var_dirpath, var53); +var56 = standard__file___String___join_path(var_dirpath2, var53); } { -var58 = standard__file___String___simplify_path(var57); +var57 = standard__file___String___simplify_path(var56); } -var_parentpath = var58; +var_parentpath = var57; { -var59 = nit__loader___ModelBuilder___get_mgroup(self, var_parentpath); +var58 = nit__loader___ModelBuilder___get_mgroup(self, var_parentpath); } -var_parent = var59; -var60 = NULL; +var_parent = var58; if (var_parent == NULL) { -var61 = 1; /* is null */ +var59 = 1; /* is null */ } else { -var61 = 0; /* arg is null but recv is not */ +var59 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_parent,var60) on */ -var_other = var60; +{ /* Inline kernel#Object#== (var_parent,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_parent,var_other) on */ -var66 = var_parent == var_other; -var64 = var66; -goto RET_LABEL65; -RET_LABEL65:(void)0; -} -} +var64 = var_parent == var_other; var62 = var64; goto RET_LABEL63; RET_LABEL63:(void)0; } -var61 = var62; } -if (var61){ -var67 = NEW_nit__MProject(&type_nit__MProject); +var60 = var62; +goto RET_LABEL61; +RET_LABEL61:(void)0; +} +var59 = var60; +} +if (var59){ +var65 = NEW_nit__MProject(&type_nit__MProject); { { /* Inline modelbuilder_base#ModelBuilder#model (self) on */ -var70 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ -if (unlikely(var70 == NULL)) { +var68 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ +if (unlikely(var68 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 44); -show_backtrace(1); +fatal_exit(1); } -var68 = var70; -RET_LABEL69:(void)0; +var66 = var68; +RET_LABEL67:(void)0; } } { -((void (*)(val* self, val* p0))(var67->class->vft[COLOR_nit__mproject__MProject__name_61d]))(var67, var_pn) /* name= on */; +((void(*)(val* self, val* p0))(var65->class->vft[COLOR_nit__mproject__MProject__name_61d]))(var65, var_pn); /* name= on */ } { -((void (*)(val* self, val* p0))(var67->class->vft[COLOR_nit__mproject__MProject__model_61d]))(var67, var68) /* model= on */; +((void(*)(val* self, val* p0))(var65->class->vft[COLOR_nit__mproject__MProject__model_61d]))(var65, var66); /* model= on */ } { -((void (*)(val* self))(var67->class->vft[COLOR_standard__kernel__Object__init]))(var67) /* init on */; +((void(*)(val* self))(var65->class->vft[COLOR_standard__kernel__Object__init]))(var65); /* init on */ } -var_mproject = var67; -var71 = NEW_nit__MGroup(&type_nit__MGroup); -var72 = NULL; +var_mproject = var65; +var69 = NEW_nit__MGroup(&type_nit__MGroup); { -((void (*)(val* self, val* p0))(var71->class->vft[COLOR_nit__mproject__MGroup__name_61d]))(var71, var_pn) /* name= on */; +((void(*)(val* self, val* p0))(var69->class->vft[COLOR_nit__mproject__MGroup__name_61d]))(var69, var_pn); /* name= on */ } { -((void (*)(val* self, val* p0))(var71->class->vft[COLOR_nit__mproject__MGroup__mproject_61d]))(var71, var_mproject) /* mproject= on */; +((void(*)(val* self, val* p0))(var69->class->vft[COLOR_nit__mproject__MGroup__mproject_61d]))(var69, var_mproject); /* mproject= on */ } { -((void (*)(val* self, val* p0))(var71->class->vft[COLOR_nit__mproject__MGroup__parent_61d]))(var71, var72) /* parent= on */; +((void(*)(val* self, val* p0))(var69->class->vft[COLOR_nit__mproject__MGroup__parent_61d]))(var69, ((val*)NULL)); /* parent= on */ } { -((void (*)(val* self))(var71->class->vft[COLOR_standard__kernel__Object__init]))(var71) /* init on */; +((void(*)(val* self))(var69->class->vft[COLOR_standard__kernel__Object__init]))(var69); /* init on */ } -var_mgroup = var71; +var_mgroup = var69; { { /* Inline mproject#MProject#root= (var_mproject,var_mgroup) on */ var_mproject->attrs[COLOR_nit__mproject__MProject___root].val = var_mgroup; /* _root on */ -RET_LABEL73:(void)0; +RET_LABEL70:(void)0; } } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var76 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var76 == NULL)) { +var73 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var73 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var74 = var76; -RET_LABEL75:(void)0; +var71 = var73; +RET_LABEL72:(void)0; } } -if (varonce77) { -var78 = varonce77; +if (unlikely(varonce74==NULL)) { +var75 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce76!=NULL)) { +var77 = varonce76; +} else { +var78 = "found project `"; +var79 = standard___standard__NativeString___to_s_with_length(var78, 15l); +var77 = var79; +varonce76 = var77; +} +((struct instance_standard__NativeArray*)var75)->values[0]=var77; +if (likely(varonce80!=NULL)) { +var81 = varonce80; } else { -var79 = "found project `"; -var80 = 15; -var81 = standard___standard__NativeString___to_s_with_length(var79, var80); -var78 = var81; -varonce77 = var78; +var82 = "` at "; +var83 = standard___standard__NativeString___to_s_with_length(var82, 5l); +var81 = var83; +varonce80 = var81; } -if (varonce82) { -var83 = varonce82; +((struct instance_standard__NativeArray*)var75)->values[2]=var81; } else { -var84 = "` at "; -var85 = 5; -var86 = standard___standard__NativeString___to_s_with_length(var84, var85); -var83 = var86; -varonce82 = var83; +var75 = varonce74; +varonce74 = NULL; } -var87 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var87 = array_instance Array[Object] */ -var88 = 4; -var89 = NEW_standard__NativeArray(var88, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var89)->values[0] = (val*) var78; -((struct instance_standard__NativeArray*)var89)->values[1] = (val*) var_mproject; -((struct instance_standard__NativeArray*)var89)->values[2] = (val*) var83; -((struct instance_standard__NativeArray*)var89)->values[3] = (val*) var_dirpath; { -((void (*)(val* self, val* p0, long p1))(var87->class->vft[COLOR_standard__array__Array__with_native]))(var87, var89, var88) /* with_native on */; -} +var84 = ((val*(*)(val* self))(var_mproject->class->vft[COLOR_standard__string__Object__to_s]))(var_mproject); /* to_s on */ } +((struct instance_standard__NativeArray*)var75)->values[1]=var84; +((struct instance_standard__NativeArray*)var75)->values[3]=var_dirpath; { -var90 = ((val* (*)(val* self))(var87->class->vft[COLOR_standard__string__Object__to_s]))(var87) /* to_s on */; +var85 = ((val*(*)(val* self))(var75->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var75); /* native_to_s on */ } -var91 = 2; +varonce74 = var75; { -nit___nit__ToolContext___info(var74, var90, var91); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(var71, var85, 2l); /* Direct call toolcontext#ToolContext#info on */ } } else { -var92 = NEW_nit__MGroup(&type_nit__MGroup); +var86 = NEW_nit__MGroup(&type_nit__MGroup); { { /* Inline mproject#MGroup#mproject (var_parent) on */ -var95 = var_parent->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ -if (unlikely(var95 == NULL)) { +var89 = var_parent->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ +if (unlikely(var89 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); +fatal_exit(1); +} +var87 = var89; +RET_LABEL88:(void)0; +} +} +{ +((void(*)(val* self, val* p0))(var86->class->vft[COLOR_nit__mproject__MGroup__name_61d]))(var86, var_pn); /* name= on */ +} +{ +((void(*)(val* self, val* p0))(var86->class->vft[COLOR_nit__mproject__MGroup__mproject_61d]))(var86, var87); /* mproject= on */ +} +{ +((void(*)(val* self, val* p0))(var86->class->vft[COLOR_nit__mproject__MGroup__parent_61d]))(var86, var_parent); /* parent= on */ +} +{ +((void(*)(val* self))(var86->class->vft[COLOR_standard__kernel__Object__init]))(var86); /* init on */ +} +var_mgroup = var86; +{ +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +var92 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var92 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); +fatal_exit(1); +} +var90 = var92; +RET_LABEL91:(void)0; +} +} +if (unlikely(varonce93==NULL)) { +var94 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce95!=NULL)) { +var96 = varonce95; +} else { +var97 = "found sub group `"; +var98 = standard___standard__NativeString___to_s_with_length(var97, 17l); +var96 = var98; +varonce95 = var96; +} +((struct instance_standard__NativeArray*)var94)->values[0]=var96; +if (likely(varonce99!=NULL)) { +var100 = varonce99; +} else { +var101 = "` at "; +var102 = standard___standard__NativeString___to_s_with_length(var101, 5l); +var100 = var102; +varonce99 = var100; +} +((struct instance_standard__NativeArray*)var94)->values[2]=var100; +} else { +var94 = varonce93; +varonce93 = NULL; +} +{ +var103 = nit___nit__MGroup___nit__model_base__MEntity__full_name(var_mgroup); +} +((struct instance_standard__NativeArray*)var94)->values[1]=var103; +((struct instance_standard__NativeArray*)var94)->values[3]=var_dirpath; +{ +var104 = ((val*(*)(val* self))(var94->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var94); /* native_to_s on */ +} +varonce93 = var94; +{ +nit___nit__ToolContext___info(var90, var104, 2l); /* Direct call toolcontext#ToolContext#info on */ } -var93 = var95; -RET_LABEL94:(void)0; } +if (likely(varonce105!=NULL)) { +var106 = varonce105; +} else { +var107 = "README.md"; +var108 = standard___standard__NativeString___to_s_with_length(var107, 9l); +var106 = var108; +varonce105 = var106; } { -((void (*)(val* self, val* p0))(var92->class->vft[COLOR_nit__mproject__MGroup__name_61d]))(var92, var_pn) /* name= on */; +var109 = standard__file___String___join_path(var_dirpath, var106); } +var_readme = var109; { -((void (*)(val* self, val* p0))(var92->class->vft[COLOR_nit__mproject__MGroup__mproject_61d]))(var92, var93) /* mproject= on */; +var110 = standard__file___String___file_exists(var_readme); } -{ -((void (*)(val* self, val* p0))(var92->class->vft[COLOR_nit__mproject__MGroup__parent_61d]))(var92, var_parent) /* parent= on */; +var111 = !var110; +if (var111){ +if (likely(varonce112!=NULL)) { +var113 = varonce112; +} else { +var114 = "README"; +var115 = standard___standard__NativeString___to_s_with_length(var114, 6l); +var113 = var115; +varonce112 = var113; } { -((void (*)(val* self))(var92->class->vft[COLOR_standard__kernel__Object__init]))(var92) /* init on */; +var116 = standard__file___String___join_path(var_dirpath, var113); +} +var_readme = var116; +} else { } -var_mgroup = var92; { -{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var98 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var98 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +var117 = standard__file___String___file_exists(var_readme); } -var96 = var98; -RET_LABEL97:(void)0; +var118 = !var117; +if (var118){ +if (likely(varonce119!=NULL)) { +var120 = varonce119; +} else { +var121 = "README.md"; +var122 = standard___standard__NativeString___to_s_with_length(var121, 9l); +var120 = var122; +varonce119 = var120; } +{ +var123 = standard__file___String___join_path(var_dirpath2, var120); } -if (varonce99) { -var100 = varonce99; +var_readme = var123; } else { -var101 = "found sub group `"; -var102 = 17; -var103 = standard___standard__NativeString___to_s_with_length(var101, var102); -var100 = var103; -varonce99 = var100; } { -var104 = nit___nit__MGroup___nit__model_base__MEntity__full_name(var_mgroup); +var124 = standard__file___String___file_exists(var_readme); } -if (varonce105) { -var106 = varonce105; +var125 = !var124; +if (var125){ +if (likely(varonce126!=NULL)) { +var127 = varonce126; } else { -var107 = "` at "; -var108 = 5; -var109 = standard___standard__NativeString___to_s_with_length(var107, var108); -var106 = var109; -varonce105 = var106; +var128 = "README"; +var129 = standard___standard__NativeString___to_s_with_length(var128, 6l); +var127 = var129; +varonce126 = var127; } -var110 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var110 = array_instance Array[Object] */ -var111 = 4; -var112 = NEW_standard__NativeArray(var111, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var112)->values[0] = (val*) var100; -((struct instance_standard__NativeArray*)var112)->values[1] = (val*) var104; -((struct instance_standard__NativeArray*)var112)->values[2] = (val*) var106; -((struct instance_standard__NativeArray*)var112)->values[3] = (val*) var_dirpath; { -((void (*)(val* self, val* p0, long p1))(var110->class->vft[COLOR_standard__array__Array__with_native]))(var110, var112, var111) /* with_native on */; +var130 = standard__file___String___join_path(var_dirpath2, var127); } +var_readme = var130; +} else { } { -var113 = ((val* (*)(val* self))(var110->class->vft[COLOR_standard__string__Object__to_s]))(var110) /* to_s on */; +var131 = standard__file___String___file_exists(var_readme); } -var114 = 2; +if (var131){ { -nit___nit__ToolContext___info(var96, var113, var114); /* Direct call toolcontext#ToolContext#info on */ +var132 = nit__loader___ModelBuilder___load_markdown(self, var_readme); } +var_mdoc = var132; +{ +{ /* Inline mdoc#MEntity#mdoc= (var_mgroup,var_mdoc) on */ +var_mgroup->attrs[COLOR_nit__mdoc__MEntity___mdoc].val = var_mdoc; /* _mdoc on */ +RET_LABEL133:(void)0; } -if (varonce115) { -var116 = varonce115; -} else { -var117 = "README.md"; -var118 = 9; -var119 = standard___standard__NativeString___to_s_with_length(var117, var118); -var116 = var119; -varonce115 = var116; } { -var120 = standard__file___String___join_path(var_dirpath2, var116); +{ /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mgroup) on */ +var_mdoc->attrs[COLOR_nit__mdoc__MDoc___original_mentity].val = var_mgroup; /* _original_mentity on */ +RET_LABEL134:(void)0; } -var_readme = var120; -{ -var121 = standard__file___String___file_exists(var_readme); } -var122 = !var121; -if (var122){ -if (varonce123) { -var124 = varonce123; } else { -var125 = "README"; -var126 = 6; -var127 = standard___standard__NativeString___to_s_with_length(var125, var126); -var124 = var127; -varonce123 = var124; } { -var128 = standard__file___String___join_path(var_dirpath2, var124); +{ /* Inline mproject#MGroup#filepath= (var_mgroup,var_dirpath) on */ +var_mgroup->attrs[COLOR_nit__mproject__MGroup___filepath].val = var_dirpath; /* _filepath on */ +RET_LABEL135:(void)0; } -var_readme = var128; -} else { } { -var129 = standard__file___String___file_exists(var_readme); +{ /* Inline loader#ModelBuilder#mgroups (self) on */ +var138 = self->attrs[COLOR_nit__loader__ModelBuilder___mgroups].val; /* _mgroups on */ +if (unlikely(var138 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 395); +fatal_exit(1); +} +var136 = var138; +RET_LABEL137:(void)0; +} } -if (var129){ -var130 = NEW_nit__MDoc(&type_nit__MDoc); { -{ /* Inline kernel#Object#init (var130) on */ -RET_LABEL131:(void)0; +var139 = nit__loader___ModelBuilder___module_absolute_path(self, var_dirpath); } +{ +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var136, var139, var_mgroup); /* Direct call hash_collection#HashMap#[]= on */ } -var_mdoc = var130; -var132 = NEW_standard__IFStream(&type_standard__IFStream); { -standard___standard__IFStream___open(var132, var_readme); /* Direct call file#IFStream#open on */ +{ /* Inline loader#ModelBuilder#mgroups (self) on */ +var142 = self->attrs[COLOR_nit__loader__ModelBuilder___mgroups].val; /* _mgroups on */ +if (unlikely(var142 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 395); +fatal_exit(1); +} +var140 = var142; +RET_LABEL141:(void)0; +} } -var_s = var132; -for(;;) { { -var133 = standard___standard__BufferedIStream___IStream__eof(var_s); +var143 = nit__loader___ModelBuilder___module_absolute_path(self, var_dirpath2); } -var134 = !var133; -if (var134){ { -{ /* Inline mdoc#MDoc#content (var_mdoc) on */ -var137 = var_mdoc->attrs[COLOR_nit__mdoc__MDoc___content].val; /* _content on */ -if (unlikely(var137 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__mdoc, 22); -show_backtrace(1); +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var140, var143, var_mgroup); /* Direct call hash_collection#HashMap#[]= on */ } -var135 = var137; -RET_LABEL136:(void)0; +var = var_mgroup; +goto RET_LABEL; +RET_LABEL:; +return var; } +/* method loader#ModelBuilder#load_markdown for (self: ModelBuilder, String): MDoc */ +val* nit__loader___ModelBuilder___load_markdown(val* self, val* p0) { +val* var /* : MDoc */; +val* var_filepath /* var filepath: String */; +val* var1 /* : MDoc */; +val* var2 /* : Location */; +val* var3 /* : SourceFile */; +static val* varonce; +val* var4 /* : String */; +char* var5 /* : NativeString */; +val* var6 /* : FlatString */; +val* var_mdoc /* var mdoc: MDoc */; +val* var7 /* : FileReader */; +val* var_s /* var s: FileReader */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : Array[String] */; +val* var12 /* : Array[String] */; +val* var13 /* : String */; +var_filepath = p0; +var1 = NEW_nit__MDoc(&type_nit__MDoc); +var2 = NEW_nit__Location(&type_nit__Location); +var3 = NEW_nit__SourceFile(&type_nit__SourceFile); +if (likely(varonce!=NULL)) { +var4 = varonce; +} else { +var5 = ""; +var6 = standard___standard__NativeString___to_s_with_length(var5, 0l); +var4 = var6; +varonce = var4; } { -var138 = standard___standard__IStream___read_line(var_s); +nit___nit__SourceFile___from_string(var3, var_filepath, var4); /* Direct call location#SourceFile#from_string on */ } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var135, var138); /* Direct call array#Array#add on */ +((void(*)(val* self, val* p0))(var2->class->vft[COLOR_nit__location__Location__file_61d]))(var2, var3); /* file= on */ } -} else { -goto BREAK_label139; +{ +((void(*)(val* self, long p0))(var2->class->vft[COLOR_nit__location__Location__line_start_61d]))(var2, 0l); /* line_start= on */ } +{ +((void(*)(val* self, long p0))(var2->class->vft[COLOR_nit__location__Location__line_end_61d]))(var2, 0l); /* line_end= on */ } -BREAK_label139: (void)0; { -{ /* Inline mdoc#MEntity#mdoc= (var_mgroup,var_mdoc) on */ -var_mgroup->attrs[COLOR_nit__mdoc__MEntity___mdoc].val = var_mdoc; /* _mdoc on */ -RET_LABEL140:(void)0; +((void(*)(val* self, long p0))(var2->class->vft[COLOR_nit__location__Location__column_start_61d]))(var2, 0l); /* column_start= on */ } +{ +((void(*)(val* self, long p0))(var2->class->vft[COLOR_nit__location__Location__column_end_61d]))(var2, 0l); /* column_end= on */ } { -{ /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mgroup) on */ -var_mdoc->attrs[COLOR_nit__mdoc__MDoc___original_mentity].val = var_mgroup; /* _original_mentity on */ -RET_LABEL141:(void)0; +((void(*)(val* self))(var2->class->vft[COLOR_standard__kernel__Object__init]))(var2); /* init on */ } +{ +((void(*)(val* self, val* p0))(var1->class->vft[COLOR_nit__mdoc__MDoc__location_61d]))(var1, var2); /* location= on */ } -} else { +{ +((void(*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1); /* init on */ } +var_mdoc = var1; +var7 = NEW_standard__FileReader(&type_standard__FileReader); { -{ /* Inline mproject#MGroup#filepath= (var_mgroup,var_dirpath) on */ -var_mgroup->attrs[COLOR_nit__mproject__MGroup___filepath].val = var_dirpath; /* _filepath on */ -RET_LABEL142:(void)0; +standard___standard__FileReader___open(var7, var_filepath); /* Direct call file#FileReader#open on */ } +var_s = var7; +for(;;) { +{ +var8 = standard___standard__BufferedReader___Reader__eof(var_s); } +var9 = !var8; +if (var9){ { -{ /* Inline loader#ModelBuilder#mgroups (self) on */ -var145 = self->attrs[COLOR_nit__loader__ModelBuilder___mgroups].val; /* _mgroups on */ -if (unlikely(var145 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroups"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 328); -show_backtrace(1); +{ /* Inline mdoc#MDoc#content (var_mdoc) on */ +var12 = var_mdoc->attrs[COLOR_nit__mdoc__MDoc___content].val; /* _content on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__mdoc, 23); +fatal_exit(1); } -var143 = var145; -RET_LABEL144:(void)0; +var10 = var12; +RET_LABEL11:(void)0; } } { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var143, var_rdp, var_mgroup); /* Direct call hash_collection#HashMap#[]= on */ +var13 = standard___standard__Reader___read_line(var_s); } -var = var_mgroup; +{ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var10, var13); /* Direct call array#Array#add on */ +} +} else { +goto BREAK_label; +} +} +BREAK_label: (void)0; +var = var_mdoc; goto RET_LABEL; RET_LABEL:; return var; @@ -3311,20 +3698,22 @@ return var; val* nit__loader___ModelBuilder___module_absolute_path(val* self, val* p0) { val* var /* : String */; val* var_path /* var path: String */; -val* var1 /* : String */; +val* var1 /* : Sys */; val* var2 /* : String */; val* var3 /* : String */; +val* var4 /* : String */; var_path = p0; +var1 = glob_sys; { -var1 = standard__file___Object___getcwd(self); +var2 = standard__file___Sys___getcwd(var1); } { -var2 = standard__file___String___join_path(var1, var_path); +var3 = standard__file___String___join_path(var2, var_path); } { -var3 = standard__file___String___simplify_path(var2); +var4 = standard__file___String___simplify_path(var3); } -var = var3; +var = var4; goto RET_LABEL; RET_LABEL:; return var; @@ -3337,381 +3726,351 @@ val* var1 /* : nullable String */; static val* varonce; val* var2 /* : String */; char* var3 /* : NativeString */; -long var4 /* : Int */; -val* var5 /* : FlatString */; +val* var4 /* : FlatString */; +short int var5 /* : Bool */; short int var6 /* : Bool */; -short int var7 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; short int var9 /* : Bool */; -short int var10 /* : Bool */; -val* var11 /* : ToolContext */; -val* var13 /* : ToolContext */; -val* var14 /* : null */; +val* var10 /* : ToolContext */; +val* var12 /* : ToolContext */; +val* var14 /* : NativeArray[String] */; +static val* varonce13; static val* varonce15; val* var16 /* : String */; char* var17 /* : NativeString */; -long var18 /* : Int */; -val* var19 /* : FlatString */; -static val* varonce20; -val* var21 /* : String */; -char* var22 /* : NativeString */; -long var23 /* : Int */; -val* var24 /* : FlatString */; -val* var25 /* : Array[Object] */; -long var26 /* : Int */; -val* var27 /* : NativeArray[Object] */; -val* var28 /* : String */; -val* var29 /* : null */; -short int var30 /* : Bool */; -short int var31 /* : Bool */; -val* var32 /* : ToolContext */; -val* var34 /* : ToolContext */; -val* var35 /* : null */; +val* var18 /* : FlatString */; +static val* varonce19; +val* var20 /* : String */; +char* var21 /* : NativeString */; +val* var22 /* : FlatString */; +val* var23 /* : String */; +val* var24 /* : Message */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +val* var27 /* : ToolContext */; +val* var29 /* : ToolContext */; +val* var31 /* : NativeArray[String] */; +static val* varonce30; +static val* varonce32; +val* var33 /* : String */; +char* var34 /* : NativeString */; +val* var35 /* : FlatString */; static val* varonce36; val* var37 /* : String */; char* var38 /* : NativeString */; -long var39 /* : Int */; -val* var40 /* : FlatString */; -static val* varonce41; -val* var42 /* : String */; -char* var43 /* : NativeString */; -long var44 /* : Int */; -val* var45 /* : FlatString */; -val* var46 /* : Array[Object] */; -long var47 /* : Int */; -val* var48 /* : NativeArray[Object] */; -val* var49 /* : String */; -val* var50 /* : null */; -val* var51 /* : ToolContext */; -val* var53 /* : ToolContext */; -static val* varonce54; -val* var55 /* : String */; -char* var56 /* : NativeString */; -long var57 /* : Int */; -val* var58 /* : FlatString */; -val* var59 /* : Array[Object] */; -long var60 /* : Int */; -val* var61 /* : NativeArray[Object] */; -val* var62 /* : String */; -long var63 /* : Int */; -val* var64 /* : IFStream */; -val* var_file /* var file: IFStream */; -val* var65 /* : Lexer */; -val* var66 /* : SourceFile */; +val* var39 /* : FlatString */; +val* var40 /* : String */; +val* var41 /* : Message */; +val* var42 /* : ToolContext */; +val* var44 /* : ToolContext */; +val* var46 /* : NativeArray[String] */; +static val* varonce45; +static val* varonce47; +val* var48 /* : String */; +char* var49 /* : NativeString */; +val* var50 /* : FlatString */; +val* var51 /* : String */; +val* var52 /* : FileReader */; +val* var_file /* var file: FileReader */; +val* var53 /* : Lexer */; +val* var54 /* : SourceFile */; val* var_lexer /* var lexer: Lexer */; -val* var67 /* : Parser */; +val* var55 /* : Parser */; val* var_parser /* var parser: Parser */; -val* var68 /* : Start */; +val* var56 /* : Start */; val* var_tree /* var tree: Start */; -val* var69 /* : nullable AModule */; -val* var71 /* : nullable AModule */; +val* var57 /* : nullable AModule */; +val* var59 /* : nullable AModule */; val* var_nmodule /* var nmodule: nullable AModule */; -val* var72 /* : null */; -short int var73 /* : Bool */; -short int var74 /* : Bool */; -val* var_other76 /* var other: nullable Object */; -short int var77 /* : Bool */; -short int var79 /* : Bool */; -val* var80 /* : EOF */; -val* var82 /* : EOF */; +short int var60 /* : Bool */; +short int var61 /* : Bool */; +val* var_other63 /* var other: nullable Object */; +short int var64 /* : Bool */; +short int var66 /* : Bool */; +val* var67 /* : EOF */; +val* var69 /* : EOF */; val* var_neof /* var neof: EOF */; -short int var83 /* : Bool */; +short int var70 /* : Bool */; int cltype; int idtype; -val* var84 /* : String */; -val* var86 /* : String */; -val* var87 /* : null */; +val* var71 /* : String */; +val* var73 /* : String */; var_filename = p0; { var1 = standard__file___String___file_extension(var_filename); } -if (varonce) { +if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = "nit"; -var4 = 3; -var5 = standard___standard__NativeString___to_s_with_length(var3, var4); -var2 = var5; +var4 = standard___standard__NativeString___to_s_with_length(var3, 3l); +var2 = var4; varonce = var2; } if (var1 == NULL) { -var6 = 1; /* cannot be null */ +var5 = 1; /* cannot be null */ } else { { /* Inline kernel#Object#!= (var1,var2) on */ var_other = var2; { -var9 = ((short int (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var1, var_other) /* == on */; +var8 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var1, var_other); /* == on */ } -var10 = !var9; -var7 = var10; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var9 = !var8; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } -var6 = var7; +var5 = var6; } -if (var6){ +if (var5){ { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var13 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var13 == NULL)) { +var12 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var11 = var13; -RET_LABEL12:(void)0; +var10 = var12; +RET_LABEL11:(void)0; } } -var14 = NULL; -if (varonce15) { +if (unlikely(varonce13==NULL)) { +var14 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce15!=NULL)) { var16 = varonce15; } else { -var17 = "Error: file "; -var18 = 12; -var19 = standard___standard__NativeString___to_s_with_length(var17, var18); -var16 = var19; +var17 = "Error: file `"; +var18 = standard___standard__NativeString___to_s_with_length(var17, 13l); +var16 = var18; varonce15 = var16; } -if (varonce20) { -var21 = varonce20; +((struct instance_standard__NativeArray*)var14)->values[0]=var16; +if (likely(varonce19!=NULL)) { +var20 = varonce19; } else { -var22 = " is not a valid nit module."; -var23 = 27; -var24 = standard___standard__NativeString___to_s_with_length(var22, var23); -var21 = var24; -varonce20 = var21; -} -var25 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var25 = array_instance Array[Object] */ -var26 = 3; -var27 = NEW_standard__NativeArray(var26, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var27)->values[0] = (val*) var16; -((struct instance_standard__NativeArray*)var27)->values[1] = (val*) var_filename; -((struct instance_standard__NativeArray*)var27)->values[2] = (val*) var21; -{ -((void (*)(val* self, val* p0, long p1))(var25->class->vft[COLOR_standard__array__Array__with_native]))(var25, var27, var26) /* with_native on */; +var21 = "` is not a valid nit module."; +var22 = standard___standard__NativeString___to_s_with_length(var21, 28l); +var20 = var22; +varonce19 = var20; } +((struct instance_standard__NativeArray*)var14)->values[2]=var20; +} else { +var14 = varonce13; +varonce13 = NULL; } +((struct instance_standard__NativeArray*)var14)->values[1]=var_filename; { -var28 = ((val* (*)(val* self))(var25->class->vft[COLOR_standard__string__Object__to_s]))(var25) /* to_s on */; +var23 = ((val*(*)(val* self))(var14->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var14); /* native_to_s on */ } +varonce13 = var14; { -nit___nit__ToolContext___error(var11, var14, var28); /* Direct call toolcontext#ToolContext#error on */ +var24 = nit___nit__ToolContext___error(var10, ((val*)NULL), var23); } -var29 = NULL; -var = var29; +var = ((val*)NULL); goto RET_LABEL; } else { } { -var30 = standard__file___String___file_exists(var_filename); +var25 = standard__file___String___file_exists(var_filename); } -var31 = !var30; -if (var31){ +var26 = !var25; +if (var26){ { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var34 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var34 == NULL)) { +var29 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); +} +var27 = var29; +RET_LABEL28:(void)0; } -var32 = var34; -RET_LABEL33:(void)0; } +if (unlikely(varonce30==NULL)) { +var31 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce32!=NULL)) { +var33 = varonce32; +} else { +var34 = "Error: file `"; +var35 = standard___standard__NativeString___to_s_with_length(var34, 13l); +var33 = var35; +varonce32 = var33; } -var35 = NULL; -if (varonce36) { +((struct instance_standard__NativeArray*)var31)->values[0]=var33; +if (likely(varonce36!=NULL)) { var37 = varonce36; } else { -var38 = "Error: file "; -var39 = 12; -var40 = standard___standard__NativeString___to_s_with_length(var38, var39); -var37 = var40; +var38 = "` not found."; +var39 = standard___standard__NativeString___to_s_with_length(var38, 12l); +var37 = var39; varonce36 = var37; } -if (varonce41) { -var42 = varonce41; +((struct instance_standard__NativeArray*)var31)->values[2]=var37; } else { -var43 = " not found."; -var44 = 11; -var45 = standard___standard__NativeString___to_s_with_length(var43, var44); -var42 = var45; -varonce41 = var42; -} -var46 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var46 = array_instance Array[Object] */ -var47 = 3; -var48 = NEW_standard__NativeArray(var47, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var48)->values[0] = (val*) var37; -((struct instance_standard__NativeArray*)var48)->values[1] = (val*) var_filename; -((struct instance_standard__NativeArray*)var48)->values[2] = (val*) var42; -{ -((void (*)(val* self, val* p0, long p1))(var46->class->vft[COLOR_standard__array__Array__with_native]))(var46, var48, var47) /* with_native on */; -} +var31 = varonce30; +varonce30 = NULL; } +((struct instance_standard__NativeArray*)var31)->values[1]=var_filename; { -var49 = ((val* (*)(val* self))(var46->class->vft[COLOR_standard__string__Object__to_s]))(var46) /* to_s on */; +var40 = ((val*(*)(val* self))(var31->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var31); /* native_to_s on */ } +varonce30 = var31; { -nit___nit__ToolContext___error(var32, var35, var49); /* Direct call toolcontext#ToolContext#error on */ +var41 = nit___nit__ToolContext___error(var27, ((val*)NULL), var40); } -var50 = NULL; -var = var50; +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var53 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var53 == NULL)) { +var44 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var44 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var51 = var53; -RET_LABEL52:(void)0; +var42 = var44; +RET_LABEL43:(void)0; } } -if (varonce54) { -var55 = varonce54; +if (unlikely(varonce45==NULL)) { +var46 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce47!=NULL)) { +var48 = varonce47; } else { -var56 = "load module "; -var57 = 12; -var58 = standard___standard__NativeString___to_s_with_length(var56, var57); -var55 = var58; -varonce54 = var55; -} -var59 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var59 = array_instance Array[Object] */ -var60 = 2; -var61 = NEW_standard__NativeArray(var60, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var61)->values[0] = (val*) var55; -((struct instance_standard__NativeArray*)var61)->values[1] = (val*) var_filename; -{ -((void (*)(val* self, val* p0, long p1))(var59->class->vft[COLOR_standard__array__Array__with_native]))(var59, var61, var60) /* with_native on */; +var49 = "load module "; +var50 = standard___standard__NativeString___to_s_with_length(var49, 12l); +var48 = var50; +varonce47 = var48; } +((struct instance_standard__NativeArray*)var46)->values[0]=var48; +} else { +var46 = varonce45; +varonce45 = NULL; } +((struct instance_standard__NativeArray*)var46)->values[1]=var_filename; { -var62 = ((val* (*)(val* self))(var59->class->vft[COLOR_standard__string__Object__to_s]))(var59) /* to_s on */; +var51 = ((val*(*)(val* self))(var46->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var46); /* native_to_s on */ } -var63 = 2; +varonce45 = var46; { -nit___nit__ToolContext___info(var51, var62, var63); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(var42, var51, 2l); /* Direct call toolcontext#ToolContext#info on */ } -var64 = NEW_standard__IFStream(&type_standard__IFStream); +var52 = NEW_standard__FileReader(&type_standard__FileReader); { -standard___standard__IFStream___open(var64, var_filename); /* Direct call file#IFStream#open on */ +standard___standard__FileReader___open(var52, var_filename); /* Direct call file#FileReader#open on */ } -var_file = var64; -var65 = NEW_nit__Lexer(&type_nit__Lexer); -var66 = NEW_nit__SourceFile(&type_nit__SourceFile); +var_file = var52; +var53 = NEW_nit__Lexer(&type_nit__Lexer); +var54 = NEW_nit__SourceFile(&type_nit__SourceFile); { -((void (*)(val* self, val* p0))(var66->class->vft[COLOR_nit__location__SourceFile__filename_61d]))(var66, var_filename) /* filename= on */; +((void(*)(val* self, val* p0))(var54->class->vft[COLOR_nit__location__SourceFile__filename_61d]))(var54, var_filename); /* filename= on */ } { -((void (*)(val* self, val* p0))(var66->class->vft[COLOR_nit__location__SourceFile__stream_61d]))(var66, var_file) /* stream= on */; +((void(*)(val* self, val* p0))(var54->class->vft[COLOR_nit__location__SourceFile__stream_61d]))(var54, var_file); /* stream= on */ } { -((void (*)(val* self))(var66->class->vft[COLOR_standard__kernel__Object__init]))(var66) /* init on */; +((void(*)(val* self))(var54->class->vft[COLOR_standard__kernel__Object__init]))(var54); /* init on */ } { -((void (*)(val* self, val* p0))(var65->class->vft[COLOR_nit__lexer_work__Lexer__file_61d]))(var65, var66) /* file= on */; +((void(*)(val* self, val* p0))(var53->class->vft[COLOR_nit__lexer_work__Lexer__file_61d]))(var53, var54); /* file= on */ } { -((void (*)(val* self))(var65->class->vft[COLOR_standard__kernel__Object__init]))(var65) /* init on */; +((void(*)(val* self))(var53->class->vft[COLOR_standard__kernel__Object__init]))(var53); /* init on */ } -var_lexer = var65; -var67 = NEW_nit__Parser(&type_nit__Parser); +var_lexer = var53; +var55 = NEW_nit__Parser(&type_nit__Parser); { -((void (*)(val* self, val* p0))(var67->class->vft[COLOR_nit__parser_work__Parser__lexer_61d]))(var67, var_lexer) /* lexer= on */; +((void(*)(val* self, val* p0))(var55->class->vft[COLOR_nit__parser_work__Parser__lexer_61d]))(var55, var_lexer); /* lexer= on */ } { -((void (*)(val* self))(var67->class->vft[COLOR_standard__kernel__Object__init]))(var67) /* init on */; +((void(*)(val* self))(var55->class->vft[COLOR_standard__kernel__Object__init]))(var55); /* init on */ } -var_parser = var67; +var_parser = var55; { -var68 = nit___nit__Parser___parse(var_parser); +var56 = nit___nit__Parser___parse(var_parser); } -var_tree = var68; +var_tree = var56; { -standard___standard__IFStream___standard__stream__IOS__close(var_file); /* Direct call file#IFStream#close on */ +standard___standard__FileReader___standard__stream__Stream__close(var_file); /* Direct call file#FileReader#close on */ } { { /* Inline parser_nodes#Start#n_base (var_tree) on */ -var71 = var_tree->attrs[COLOR_nit__parser_nodes__Start___n_base].val; /* _n_base on */ -var69 = var71; -RET_LABEL70:(void)0; +var59 = var_tree->attrs[COLOR_nit__parser_nodes__Start___n_base].val; /* _n_base on */ +var57 = var59; +RET_LABEL58:(void)0; } } -var_nmodule = var69; -var72 = NULL; +var_nmodule = var57; if (var_nmodule == NULL) { -var73 = 1; /* is null */ +var60 = 1; /* is null */ } else { -var73 = 0; /* arg is null but recv is not */ +var60 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_nmodule,var72) on */ -var_other76 = var72; +{ /* Inline kernel#Object#== (var_nmodule,((val*)NULL)) on */ +var_other63 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_nmodule,var_other76) on */ -var79 = var_nmodule == var_other76; -var77 = var79; -goto RET_LABEL78; -RET_LABEL78:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_nmodule,var_other63) on */ +var66 = var_nmodule == var_other63; +var64 = var66; +goto RET_LABEL65; +RET_LABEL65:(void)0; } } -var74 = var77; -goto RET_LABEL75; -RET_LABEL75:(void)0; +var61 = var64; +goto RET_LABEL62; +RET_LABEL62:(void)0; } -var73 = var74; +var60 = var61; } -if (var73){ +if (var60){ { { /* Inline parser_nodes#Start#n_eof (var_tree) on */ -var82 = var_tree->attrs[COLOR_nit__parser_nodes__Start___n_eof].val; /* _n_eof on */ -if (unlikely(var82 == NULL)) { +var69 = var_tree->attrs[COLOR_nit__parser_nodes__Start___n_eof].val; /* _n_eof on */ +if (unlikely(var69 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_eof"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2601); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 3037); +fatal_exit(1); } -var80 = var82; -RET_LABEL81:(void)0; +var67 = var69; +RET_LABEL68:(void)0; } } -var_neof = var80; +var_neof = var67; /* isa AError */ cltype = type_nit__AError.color; idtype = type_nit__AError.id; if(cltype >= var_neof->type->table_size) { -var83 = 0; +var70 = 0; } else { -var83 = var_neof->type->type_table[cltype] == idtype; +var70 = var_neof->type->type_table[cltype] == idtype; } -if (unlikely(!var83)) { +if (unlikely(!var70)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 443); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 532); +fatal_exit(1); } { { /* Inline lexer_work#AError#message (var_neof) on */ -var86 = var_neof->attrs[COLOR_nit__lexer_work__AError___message].val; /* _message on */ -if (unlikely(var86 == NULL)) { +var73 = var_neof->attrs[COLOR_nit__lexer_work__AError___message].val; /* _message on */ +if (unlikely(var73 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__lexer_work, 50); -show_backtrace(1); +fatal_exit(1); } -var84 = var86; -RET_LABEL85:(void)0; +var71 = var73; +RET_LABEL72:(void)0; } } { -nit___nit__ModelBuilder___error(self, var_neof, var84); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_neof, var71); /* Direct call modelbuilder_base#ModelBuilder#error on */ } -var87 = NULL; -var = var87; +var = ((val*)NULL); goto RET_LABEL; } else { } @@ -3726,298 +4085,342 @@ val* var /* : nullable AModule */; val* var_filename /* var filename: String */; val* var1 /* : nullable ModulePath */; val* var_file /* var file: nullable ModulePath */; -val* var2 /* : null */; +short int var2 /* : Bool */; short int var3 /* : Bool */; -short int var4 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var6 /* : Bool */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; short int var8 /* : Bool */; val* var9 /* : ToolContext */; val* var11 /* : ToolContext */; -val* var12 /* : null */; +val* var12 /* : NativeArray[String] */; static val* varonce; -val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; +static val* varonce13; +val* var14 /* : String */; +char* var15 /* : NativeString */; val* var16 /* : FlatString */; static val* varonce17; val* var18 /* : String */; char* var19 /* : NativeString */; -long var20 /* : Int */; -val* var21 /* : FlatString */; -val* var22 /* : Array[Object] */; -long var23 /* : Int */; -val* var24 /* : NativeArray[Object] */; -val* var25 /* : String */; -val* var26 /* : null */; -val* var27 /* : nullable MModule */; -val* var29 /* : nullable MModule */; +val* var20 /* : FlatString */; +val* var21 /* : String */; +val* var22 /* : Message */; +val* var23 /* : ToolContext */; +val* var25 /* : ToolContext */; +val* var27 /* : NativeArray[String] */; +static val* varonce26; +static val* varonce28; +val* var29 /* : String */; +char* var30 /* : NativeString */; +val* var31 /* : FlatString */; +static val* varonce32; +val* var33 /* : String */; +char* var34 /* : NativeString */; +val* var35 /* : FlatString */; +val* var36 /* : String */; +val* var37 /* : Message */; +val* var38 /* : nullable MModule */; +val* var40 /* : nullable MModule */; val* var_mmodule /* var mmodule: nullable MModule */; -val* var30 /* : null */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; -val* var_other34 /* var other: nullable Object */; -short int var35 /* : Bool */; -short int var36 /* : Bool */; -val* var37 /* : HashMap[MModule, AModule] */; -val* var39 /* : HashMap[MModule, AModule] */; -val* var40 /* : nullable Object */; -val* var41 /* : String */; -val* var43 /* : String */; -val* var44 /* : nullable AModule */; -val* var_nmodule /* var nmodule: nullable AModule */; -val* var45 /* : null */; +short int var41 /* : Bool */; +short int var42 /* : Bool */; +val* var_other44 /* var other: nullable Object */; +short int var45 /* : Bool */; short int var46 /* : Bool */; -short int var47 /* : Bool */; -short int var49 /* : Bool */; -short int var51 /* : Bool */; -val* var52 /* : null */; -val* var53 /* : MGroup */; -val* var55 /* : MGroup */; -val* var56 /* : String */; -val* var58 /* : String */; -val* var59 /* : nullable MModule */; -val* var60 /* : null */; -short int var61 /* : Bool */; -short int var62 /* : Bool */; -short int var64 /* : Bool */; -short int var66 /* : Bool */; -val* var67 /* : null */; +val* var47 /* : HashMap[MModule, AModule] */; +val* var49 /* : HashMap[MModule, AModule] */; +val* var50 /* : nullable Object */; +val* var51 /* : String */; +val* var53 /* : String */; +val* var54 /* : nullable AModule */; +val* var_nmodule /* var nmodule: nullable AModule */; +short int var55 /* : Bool */; +short int var56 /* : Bool */; +short int var58 /* : Bool */; +short int var60 /* : Bool */; +val* var61 /* : MGroup */; +val* var63 /* : MGroup */; +val* var64 /* : String */; +val* var66 /* : String */; +val* var67 /* : nullable MModule */; +short int var68 /* : Bool */; +short int var69 /* : Bool */; +short int var71 /* : Bool */; +short int var73 /* : Bool */; var_filename = p0; { var1 = nit__loader___ModelBuilder___identify_file(self, var_filename); } var_file = var1; -var2 = NULL; if (var_file == NULL) { -var3 = 1; /* is null */ +var2 = 1; /* is null */ } else { -var3 = 0; /* arg is null but recv is not */ +var2 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_file,var2) on */ -var_other = var2; +{ /* Inline kernel#Object#== (var_file,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_file,var_other) on */ -var8 = var_file == var_other; -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var7 = var_file == var_other; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; } -var3 = var4; +var2 = var3; } -if (var3){ +if (var2){ +{ +var8 = standard__file___String___file_exists(var_filename); +} +if (var8){ { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ var11 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } var9 = var11; RET_LABEL10:(void)0; } } -var12 = NULL; -if (varonce) { -var13 = varonce; +if (unlikely(varonce==NULL)) { +var12 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce13!=NULL)) { +var14 = varonce13; } else { -var14 = "Error: cannot find module `"; -var15 = 27; -var16 = standard___standard__NativeString___to_s_with_length(var14, var15); -var13 = var16; -varonce = var13; +var15 = "Error: `"; +var16 = standard___standard__NativeString___to_s_with_length(var15, 8l); +var14 = var16; +varonce13 = var14; } -if (varonce17) { +((struct instance_standard__NativeArray*)var12)->values[0]=var14; +if (likely(varonce17!=NULL)) { var18 = varonce17; } else { -var19 = "`."; -var20 = 2; -var21 = standard___standard__NativeString___to_s_with_length(var19, var20); -var18 = var21; +var19 = "` is not a Nit source file."; +var20 = standard___standard__NativeString___to_s_with_length(var19, 27l); +var18 = var20; varonce17 = var18; } -var22 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var22 = array_instance Array[Object] */ -var23 = 3; -var24 = NEW_standard__NativeArray(var23, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var24)->values[0] = (val*) var13; -((struct instance_standard__NativeArray*)var24)->values[1] = (val*) var_filename; -((struct instance_standard__NativeArray*)var24)->values[2] = (val*) var18; +((struct instance_standard__NativeArray*)var12)->values[2]=var18; +} else { +var12 = varonce; +varonce = NULL; +} +((struct instance_standard__NativeArray*)var12)->values[1]=var_filename; +{ +var21 = ((val*(*)(val* self))(var12->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var12); /* native_to_s on */ +} +varonce = var12; +{ +var22 = nit___nit__ToolContext___error(var9, ((val*)NULL), var21); +} +} else { { -((void (*)(val* self, val* p0, long p1))(var22->class->vft[COLOR_standard__array__Array__with_native]))(var22, var24, var23) /* with_native on */; +{ /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ +var25 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var25 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); +fatal_exit(1); +} +var23 = var25; +RET_LABEL24:(void)0; +} +} +if (unlikely(varonce26==NULL)) { +var27 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce28!=NULL)) { +var29 = varonce28; +} else { +var30 = "Error: cannot find module `"; +var31 = standard___standard__NativeString___to_s_with_length(var30, 27l); +var29 = var31; +varonce28 = var29; +} +((struct instance_standard__NativeArray*)var27)->values[0]=var29; +if (likely(varonce32!=NULL)) { +var33 = varonce32; +} else { +var34 = "`."; +var35 = standard___standard__NativeString___to_s_with_length(var34, 2l); +var33 = var35; +varonce32 = var33; } +((struct instance_standard__NativeArray*)var27)->values[2]=var33; +} else { +var27 = varonce26; +varonce26 = NULL; } +((struct instance_standard__NativeArray*)var27)->values[1]=var_filename; { -var25 = ((val* (*)(val* self))(var22->class->vft[COLOR_standard__string__Object__to_s]))(var22) /* to_s on */; +var36 = ((val*(*)(val* self))(var27->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var27); /* native_to_s on */ } +varonce26 = var27; { -nit___nit__ToolContext___error(var9, var12, var25); /* Direct call toolcontext#ToolContext#error on */ +var37 = nit___nit__ToolContext___error(var23, ((val*)NULL), var36); } -var26 = NULL; -var = var26; +} +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline loader#ModulePath#mmodule (var_file) on */ -var29 = var_file->attrs[COLOR_nit__loader__ModulePath___mmodule].val; /* _mmodule on */ -var27 = var29; -RET_LABEL28:(void)0; +var40 = var_file->attrs[COLOR_nit__loader__ModulePath___mmodule].val; /* _mmodule on */ +var38 = var40; +RET_LABEL39:(void)0; } } -var_mmodule = var27; -var30 = NULL; +var_mmodule = var38; if (var_mmodule == NULL) { -var31 = 0; /* is null */ +var41 = 0; /* is null */ } else { -var31 = 1; /* arg is null and recv is not */ +var41 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mmodule,var30) on */ -var_other34 = var30; +{ /* Inline kernel#Object#!= (var_mmodule,((val*)NULL)) on */ +var_other44 = ((val*)NULL); { -var35 = ((short int (*)(val* self, val* p0))(var_mmodule->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mmodule, var_other34) /* == on */; +var45 = ((short int(*)(val* self, val* p0))(var_mmodule->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mmodule, var_other44); /* == on */ } -var36 = !var35; -var32 = var36; -goto RET_LABEL33; -RET_LABEL33:(void)0; +var46 = !var45; +var42 = var46; +goto RET_LABEL43; +RET_LABEL43:(void)0; } -var31 = var32; +var41 = var42; } -if (var31){ +if (var41){ { { /* Inline loader#ModelBuilder#mmodule2nmodule (self) on */ -var39 = self->attrs[COLOR_nit__loader__ModelBuilder___mmodule2nmodule].val; /* _mmodule2nmodule on */ -if (unlikely(var39 == NULL)) { +var49 = self->attrs[COLOR_nit__loader__ModelBuilder___mmodule2nmodule].val; /* _mmodule2nmodule on */ +if (unlikely(var49 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 641); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 765); +fatal_exit(1); } -var37 = var39; -RET_LABEL38:(void)0; +var47 = var49; +RET_LABEL48:(void)0; } } { -var40 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var37, var_mmodule); +var50 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var47, var_mmodule); } -var = var40; +var = var50; goto RET_LABEL; } else { } { { /* Inline loader#ModulePath#filepath (var_file) on */ -var43 = var_file->attrs[COLOR_nit__loader__ModulePath___filepath].val; /* _filepath on */ -if (unlikely(var43 == NULL)) { +var53 = var_file->attrs[COLOR_nit__loader__ModulePath___filepath].val; /* _filepath on */ +if (unlikely(var53 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 662); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 786); +fatal_exit(1); } -var41 = var43; -RET_LABEL42:(void)0; +var51 = var53; +RET_LABEL52:(void)0; } } { -var44 = nit__loader___ModelBuilder___load_module_ast(self, var41); +var54 = nit__loader___ModelBuilder___load_module_ast(self, var51); } -var_nmodule = var44; -var45 = NULL; +var_nmodule = var54; if (var_nmodule == NULL) { -var46 = 1; /* is null */ +var55 = 1; /* is null */ } else { -var46 = 0; /* arg is null but recv is not */ +var55 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_nmodule,var45) on */ -var_other = var45; +{ /* Inline kernel#Object#== (var_nmodule,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_nmodule,var_other) on */ -var51 = var_nmodule == var_other; -var49 = var51; -goto RET_LABEL50; -RET_LABEL50:(void)0; +var60 = var_nmodule == var_other; +var58 = var60; +goto RET_LABEL59; +RET_LABEL59:(void)0; } } -var47 = var49; -goto RET_LABEL48; -RET_LABEL48:(void)0; +var56 = var58; +goto RET_LABEL57; +RET_LABEL57:(void)0; } -var46 = var47; +var55 = var56; } -if (var46){ -var52 = NULL; -var = var52; +if (var55){ +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline loader#ModulePath#mgroup (var_file) on */ -var55 = var_file->attrs[COLOR_nit__loader__ModulePath___mgroup].val; /* _mgroup on */ -if (unlikely(var55 == NULL)) { +var63 = var_file->attrs[COLOR_nit__loader__ModulePath___mgroup].val; /* _mgroup on */ +if (unlikely(var63 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroup"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 665); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 789); +fatal_exit(1); } -var53 = var55; -RET_LABEL54:(void)0; +var61 = var63; +RET_LABEL62:(void)0; } } { { /* Inline loader#ModulePath#name (var_file) on */ -var58 = var_file->attrs[COLOR_nit__loader__ModulePath___name].val; /* _name on */ -if (unlikely(var58 == NULL)) { +var66 = var_file->attrs[COLOR_nit__loader__ModulePath___name].val; /* _name on */ +if (unlikely(var66 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 658); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 782); +fatal_exit(1); } -var56 = var58; -RET_LABEL57:(void)0; +var64 = var66; +RET_LABEL65:(void)0; } } { -var59 = nit__loader___ModelBuilder___build_a_mmodule(self, var53, var56, var_nmodule); +var67 = nit__loader___ModelBuilder___build_a_mmodule(self, var61, var64, var_nmodule); } -var_mmodule = var59; -var60 = NULL; +var_mmodule = var67; if (var_mmodule == NULL) { -var61 = 1; /* is null */ +var68 = 1; /* is null */ } else { -var61 = 0; /* arg is null but recv is not */ +var68 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_mmodule,var60) on */ -var_other = var60; +{ /* Inline kernel#Object#== (var_mmodule,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_mmodule,var_other) on */ -var66 = var_mmodule == var_other; -var64 = var66; -goto RET_LABEL65; -RET_LABEL65:(void)0; +var73 = var_mmodule == var_other; +var71 = var73; +goto RET_LABEL72; +RET_LABEL72:(void)0; } } -var62 = var64; -goto RET_LABEL63; -RET_LABEL63:(void)0; +var69 = var71; +goto RET_LABEL70; +RET_LABEL70:(void)0; } -var61 = var62; +var68 = var69; } -if (var61){ -var67 = NULL; -var = var67; +if (var68){ +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline loader#ModulePath#mmodule= (var_file,var_mmodule) on */ var_file->attrs[COLOR_nit__loader__ModulePath___mmodule].val = var_mmodule; /* _mmodule on */ -RET_LABEL68:(void)0; +RET_LABEL74:(void)0; } } var = var_nmodule; @@ -4034,170 +4437,160 @@ val* var_nmodule /* var nmodule: AModule */; val* var1 /* : nullable AModuledecl */; val* var3 /* : nullable AModuledecl */; val* var_decl /* var decl: nullable AModuledecl */; -val* var4 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : AModuleName */; -val* var12 /* : AModuleName */; -val* var13 /* : TId */; -val* var15 /* : TId */; -val* var16 /* : String */; +val* var9 /* : AModuleName */; +val* var11 /* : AModuleName */; +val* var12 /* : TId */; +val* var14 /* : TId */; +val* var15 /* : String */; val* var_decl_name /* var decl_name: String */; -short int var17 /* : Bool */; +short int var16 /* : Bool */; +short int var18 /* : Bool */; short int var19 /* : Bool */; -short int var20 /* : Bool */; -val* var21 /* : AModuleName */; -val* var23 /* : AModuleName */; +val* var20 /* : AModuleName */; +val* var22 /* : AModuleName */; +val* var23 /* : NativeArray[String] */; static val* varonce; -val* var24 /* : String */; -char* var25 /* : NativeString */; -long var26 /* : Int */; +static val* varonce24; +val* var25 /* : String */; +char* var26 /* : NativeString */; val* var27 /* : FlatString */; static val* varonce28; val* var29 /* : String */; char* var30 /* : NativeString */; -long var31 /* : Int */; -val* var32 /* : FlatString */; -val* var33 /* : Array[Object] */; -long var34 /* : Int */; -val* var35 /* : NativeArray[Object] */; +val* var31 /* : FlatString */; +static val* varonce32; +val* var33 /* : String */; +char* var34 /* : NativeString */; +val* var35 /* : FlatString */; val* var36 /* : String */; -val* var37 /* : null */; +short int var37 /* : Bool */; short int var38 /* : Bool */; -short int var39 /* : Bool */; +short int var40 /* : Bool */; short int var41 /* : Bool */; -short int var42 /* : Bool */; -val* var43 /* : Model */; -val* var45 /* : Model */; -val* var46 /* : nullable Array[MModule] */; +val* var42 /* : Model */; +val* var44 /* : Model */; +val* var45 /* : nullable Array[MModule] */; val* var_others /* var others: nullable Array[MModule] */; -val* var47 /* : null */; -short int var48 /* : Bool */; +short int var46 /* : Bool */; +short int var47 /* : Bool */; short int var49 /* : Bool */; -short int var51 /* : Bool */; -short int var52 /* : Bool */; +short int var50 /* : Bool */; val* var_ /* var : Array[MModule] */; -val* var53 /* : ArrayIterator[nullable Object] */; -val* var_54 /* var : ArrayIterator[MModule] */; -short int var55 /* : Bool */; -val* var56 /* : nullable Object */; -val* var_other57 /* var other: MModule */; -short int var58 /* : Bool */; +val* var51 /* : ArrayIterator[nullable Object] */; +val* var_52 /* var : ArrayIterator[MModule] */; +short int var53 /* : Bool */; +val* var54 /* : nullable Object */; +val* var_other55 /* var other: MModule */; +short int var56 /* : Bool */; +val* var57 /* : nullable MGroup */; val* var59 /* : nullable MGroup */; -val* var61 /* : nullable MGroup */; -val* var62 /* : null */; +short int var60 /* : Bool */; +short int var61 /* : Bool */; short int var63 /* : Bool */; short int var64 /* : Bool */; -short int var66 /* : Bool */; -short int var67 /* : Bool */; -short int var_68 /* var : Bool */; -val* var69 /* : nullable MGroup */; -val* var71 /* : nullable MGroup */; +short int var_65 /* var : Bool */; +val* var66 /* : nullable MGroup */; +val* var68 /* : nullable MGroup */; +val* var69 /* : MProject */; +val* var71 /* : MProject */; val* var72 /* : MProject */; val* var74 /* : MProject */; -val* var75 /* : MProject */; -val* var77 /* : MProject */; +short int var75 /* : Bool */; +val* var_other77 /* var other: nullable Object */; short int var78 /* : Bool */; -val* var_other80 /* var other: nullable Object */; +short int var80 /* : Bool */; short int var81 /* : Bool */; -short int var83 /* : Bool */; -val* var84 /* : null */; -short int var85 /* : Bool */; +short int var82 /* : Bool */; +short int var84 /* : Bool */; short int var86 /* : Bool */; -short int var88 /* : Bool */; -short int var90 /* : Bool */; val* var_node /* var node: ANode */; -val* var91 /* : AModuleName */; -val* var93 /* : AModuleName */; -static val* varonce94; -val* var95 /* : String */; -char* var96 /* : NativeString */; -long var97 /* : Int */; -val* var98 /* : FlatString */; -val* var99 /* : String */; +val* var87 /* : AModuleName */; +val* var89 /* : AModuleName */; +val* var91 /* : NativeArray[String] */; +static val* varonce90; +static val* varonce92; +val* var93 /* : String */; +char* var94 /* : NativeString */; +val* var95 /* : FlatString */; +static val* varonce96; +val* var97 /* : String */; +char* var98 /* : NativeString */; +val* var99 /* : FlatString */; static val* varonce100; val* var101 /* : String */; char* var102 /* : NativeString */; -long var103 /* : Int */; -val* var104 /* : FlatString */; +val* var103 /* : FlatString */; +val* var104 /* : String */; val* var105 /* : Location */; val* var107 /* : Location */; -val* var108 /* : Array[Object] */; -long var109 /* : Int */; -val* var110 /* : NativeArray[Object] */; -val* var111 /* : String */; -val* var113 /* : MModule */; -val* var114 /* : Model */; -val* var116 /* : Model */; -val* var117 /* : Location */; -val* var119 /* : Location */; +val* var108 /* : String */; +val* var109 /* : String */; +val* var110 /* : MModule */; +val* var111 /* : Model */; +val* var113 /* : Model */; +val* var114 /* : Location */; +val* var116 /* : Location */; val* var_mmodule /* var mmodule: MModule */; -val* var121 /* : Array[AModule] */; -val* var123 /* : Array[AModule] */; -val* var124 /* : HashMap[MModule, AModule] */; -val* var126 /* : HashMap[MModule, AModule] */; -val* var127 /* : Location */; -val* var129 /* : Location */; -val* var130 /* : nullable SourceFile */; -val* var132 /* : nullable SourceFile */; +val* var118 /* : Array[AModule] */; +val* var120 /* : Array[AModule] */; +val* var121 /* : HashMap[MModule, AModule] */; +val* var123 /* : HashMap[MModule, AModule] */; +val* var124 /* : Location */; +val* var126 /* : Location */; +val* var127 /* : nullable SourceFile */; +val* var129 /* : nullable SourceFile */; val* var_source /* var source: nullable SourceFile */; -val* var133 /* : null */; +short int var130 /* : Bool */; +short int var131 /* : Bool */; +short int var133 /* : Bool */; short int var134 /* : Bool */; -short int var135 /* : Bool */; -short int var137 /* : Bool */; +val* var135 /* : nullable MModule */; +val* var137 /* : nullable MModule */; short int var138 /* : Bool */; -val* var139 /* : nullable MModule */; -val* var141 /* : nullable MModule */; -val* var142 /* : null */; +short int var139 /* : Bool */; +short int var141 /* : Bool */; short int var143 /* : Bool */; -short int var144 /* : Bool */; +short int var145 /* : Bool */; short int var146 /* : Bool */; short int var148 /* : Bool */; -val* var150 /* : null */; -short int var151 /* : Bool */; -short int var152 /* : Bool */; -short int var154 /* : Bool */; -short int var155 /* : Bool */; -val* var156 /* : nullable ADoc */; -val* var158 /* : nullable ADoc */; +short int var149 /* : Bool */; +val* var150 /* : nullable ADoc */; +val* var152 /* : nullable ADoc */; val* var_ndoc /* var ndoc: nullable ADoc */; -val* var159 /* : null */; -short int var160 /* : Bool */; -short int var161 /* : Bool */; -short int var163 /* : Bool */; -short int var164 /* : Bool */; -val* var165 /* : MDoc */; +short int var153 /* : Bool */; +short int var154 /* : Bool */; +short int var156 /* : Bool */; +short int var157 /* : Bool */; +val* var158 /* : MDoc */; val* var_mdoc /* var mdoc: MDoc */; -static val* varonce168; -val* var169 /* : String */; -char* var170 /* : NativeString */; -long var171 /* : Int */; -val* var172 /* : FlatString */; -static val* varonce173; -val* var174 /* : String */; -char* var175 /* : NativeString */; -long var176 /* : Int */; -val* var177 /* : FlatString */; -static val* varonce178; -val* var179 /* : String */; -char* var180 /* : NativeString */; -long var181 /* : Int */; -val* var182 /* : FlatString */; -val* var183 /* : Array[Object] */; -long var184 /* : Int */; -val* var185 /* : NativeArray[Object] */; -val* var186 /* : String */; -static val* varonce187; -val* var188 /* : String */; -char* var189 /* : NativeString */; -long var190 /* : Int */; -val* var191 /* : FlatString */; -val* var192 /* : Array[AAnnotation] */; -short int var193 /* : Bool */; -short int var194 /* : Bool */; +static val* varonce161; +val* var162 /* : String */; +char* var163 /* : NativeString */; +val* var164 /* : FlatString */; +val* var166 /* : NativeArray[String] */; +static val* varonce165; +static val* varonce167; +val* var168 /* : String */; +char* var169 /* : NativeString */; +val* var170 /* : FlatString */; +static val* varonce171; +val* var172 /* : String */; +char* var173 /* : NativeString */; +val* var174 /* : FlatString */; +val* var175 /* : String */; +val* var176 /* : String */; +static val* varonce177; +val* var178 /* : String */; +char* var179 /* : NativeString */; +val* var180 /* : FlatString */; +val* var181 /* : Array[AAnnotation] */; +short int var182 /* : Bool */; +short int var183 /* : Bool */; var_mgroup = p0; var_mod_name = p1; var_nmodule = p2; @@ -4209,374 +4602,384 @@ RET_LABEL2:(void)0; } } var_decl = var1; -var4 = NULL; if (var_decl == NULL) { -var5 = 0; /* is null */ +var4 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_decl,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#!= (var_decl,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var8 = ((short int (*)(val* self, val* p0))(var_decl->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_decl, var_other) /* == on */; +var7 = ((short int(*)(val* self, val* p0))(var_decl->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_decl, var_other); /* == on */ } -var9 = !var8; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var8 = !var7; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var5 = var6; +var4 = var5; } -if (var5){ +if (var4){ { { /* Inline parser_nodes#AModuledecl#n_name (var_decl) on */ -var12 = var_decl->attrs[COLOR_nit__parser_nodes__AModuledecl___n_name].val; /* _n_name on */ -if (unlikely(var12 == NULL)) { +var11 = var_decl->attrs[COLOR_nit__parser_nodes__AModuledecl___n_name].val; /* _n_name on */ +if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 943); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1120); +fatal_exit(1); } -var10 = var12; -RET_LABEL11:(void)0; +var9 = var11; +RET_LABEL10:(void)0; } } { -{ /* Inline parser_nodes#AModuleName#n_id (var10) on */ -var15 = var10->attrs[COLOR_nit__parser_nodes__AModuleName___n_id].val; /* _n_id on */ -if (unlikely(var15 == NULL)) { +{ /* Inline parser_nodes#AModuleName#n_id (var9) on */ +var14 = var9->attrs[COLOR_nit__parser_nodes__AModuleName___n_id].val; /* _n_id on */ +if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2470); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2900); +fatal_exit(1); } -var13 = var15; -RET_LABEL14:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } { -var16 = nit__lexer_work___Token___text(var13); +var15 = nit__lexer_work___Token___text(var12); } -var_decl_name = var16; +var_decl_name = var15; { { /* Inline kernel#Object#!= (var_decl_name,var_mod_name) on */ var_other = var_mod_name; { -var19 = ((short int (*)(val* self, val* p0))(var_decl_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_decl_name, var_other) /* == on */; +var18 = ((short int(*)(val* self, val* p0))(var_decl_name->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_decl_name, var_other); /* == on */ } -var20 = !var19; -var17 = var20; -goto RET_LABEL18; -RET_LABEL18:(void)0; +var19 = !var18; +var16 = var19; +goto RET_LABEL17; +RET_LABEL17:(void)0; } } -if (var17){ +if (var16){ { { /* Inline parser_nodes#AModuledecl#n_name (var_decl) on */ -var23 = var_decl->attrs[COLOR_nit__parser_nodes__AModuledecl___n_name].val; /* _n_name on */ -if (unlikely(var23 == NULL)) { +var22 = var_decl->attrs[COLOR_nit__parser_nodes__AModuledecl___n_name].val; /* _n_name on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 943); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1120); +fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } -if (varonce) { -var24 = varonce; +if (unlikely(varonce==NULL)) { +var23 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce24!=NULL)) { +var25 = varonce24; } else { -var25 = "Error: module name missmatch; declared "; -var26 = 39; -var27 = standard___standard__NativeString___to_s_with_length(var25, var26); -var24 = var27; -varonce = var24; +var26 = "Error: module name mismatch; declared "; +var27 = standard___standard__NativeString___to_s_with_length(var26, 38l); +var25 = var27; +varonce24 = var25; } -if (varonce28) { +((struct instance_standard__NativeArray*)var23)->values[0]=var25; +if (likely(varonce28!=NULL)) { var29 = varonce28; } else { var30 = " file named "; -var31 = 12; -var32 = standard___standard__NativeString___to_s_with_length(var30, var31); -var29 = var32; +var31 = standard___standard__NativeString___to_s_with_length(var30, 12l); +var29 = var31; varonce28 = var29; } -var33 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var33 = array_instance Array[Object] */ -var34 = 4; -var35 = NEW_standard__NativeArray(var34, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var35)->values[0] = (val*) var24; -((struct instance_standard__NativeArray*)var35)->values[1] = (val*) var_decl_name; -((struct instance_standard__NativeArray*)var35)->values[2] = (val*) var29; -((struct instance_standard__NativeArray*)var35)->values[3] = (val*) var_mod_name; -{ -((void (*)(val* self, val* p0, long p1))(var33->class->vft[COLOR_standard__array__Array__with_native]))(var33, var35, var34) /* with_native on */; +((struct instance_standard__NativeArray*)var23)->values[2]=var29; +if (likely(varonce32!=NULL)) { +var33 = varonce32; +} else { +var34 = "."; +var35 = standard___standard__NativeString___to_s_with_length(var34, 1l); +var33 = var35; +varonce32 = var33; } +((struct instance_standard__NativeArray*)var23)->values[4]=var33; +} else { +var23 = varonce; +varonce = NULL; } +((struct instance_standard__NativeArray*)var23)->values[1]=var_decl_name; +((struct instance_standard__NativeArray*)var23)->values[3]=var_mod_name; { -var36 = ((val* (*)(val* self))(var33->class->vft[COLOR_standard__string__Object__to_s]))(var33) /* to_s on */; +var36 = ((val*(*)(val* self))(var23->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var23); /* native_to_s on */ } +varonce = var23; { -nit___nit__ModelBuilder___error(self, var21, var36); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var20, var36); /* Direct call modelbuilder_base#ModelBuilder#error on */ } } else { } } else { } -var37 = NULL; if (var_mgroup == NULL) { -var38 = 0; /* is null */ +var37 = 0; /* is null */ } else { -var38 = 1; /* arg is null and recv is not */ +var37 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_mgroup,var37) on */ -var_other = var37; +{ /* Inline kernel#Object#!= (var_mgroup,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var41 = ((short int (*)(val* self, val* p0))(var_mgroup->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mgroup, var_other) /* == on */; +var40 = ((short int(*)(val* self, val* p0))(var_mgroup->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_mgroup, var_other); /* == on */ } -var42 = !var41; -var39 = var42; -goto RET_LABEL40; -RET_LABEL40:(void)0; +var41 = !var40; +var38 = var41; +goto RET_LABEL39; +RET_LABEL39:(void)0; } -var38 = var39; +var37 = var38; } -if (var38){ +if (var37){ { { /* Inline modelbuilder_base#ModelBuilder#model (self) on */ -var45 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ -if (unlikely(var45 == NULL)) { +var44 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ +if (unlikely(var44 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 44); -show_backtrace(1); +fatal_exit(1); } -var43 = var45; -RET_LABEL44:(void)0; +var42 = var44; +RET_LABEL43:(void)0; } } { -var46 = nit__mmodule___Model___get_mmodules_by_name(var43, var_mod_name); +var45 = nit__mmodule___Model___get_mmodules_by_name(var42, var_mod_name); } -var_others = var46; -var47 = NULL; +var_others = var45; if (var_others == NULL) { -var48 = 0; /* is null */ +var46 = 0; /* is null */ } else { -var48 = 1; /* arg is null and recv is not */ +var46 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_others,var47) on */ -var_other = var47; +{ /* Inline kernel#Object#!= (var_others,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var51 = ((short int (*)(val* self, val* p0))(var_others->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_others, var_other) /* == on */; +var49 = ((short int(*)(val* self, val* p0))(var_others->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_others, var_other); /* == on */ } -var52 = !var51; -var49 = var52; -goto RET_LABEL50; -RET_LABEL50:(void)0; +var50 = !var49; +var47 = var50; +goto RET_LABEL48; +RET_LABEL48:(void)0; } -var48 = var49; +var46 = var47; } -if (var48){ +if (var46){ var_ = var_others; { -var53 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var51 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_54 = var53; +var_52 = var51; for(;;) { { -var55 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_54); +var53 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_52); } -if (var55){ +if (var53){ { -var56 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_54); +var54 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_52); } -var_other57 = var56; +var_other55 = var54; { -{ /* Inline mmodule#MModule#mgroup (var_other57) on */ -var61 = var_other57->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ -var59 = var61; -RET_LABEL60:(void)0; +{ /* Inline mmodule#MModule#mgroup (var_other55) on */ +var59 = var_other55->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ +var57 = var59; +RET_LABEL58:(void)0; } } -var62 = NULL; -if (var59 == NULL) { -var63 = 0; /* is null */ +if (var57 == NULL) { +var60 = 0; /* is null */ } else { -var63 = 1; /* arg is null and recv is not */ +var60 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var59,var62) on */ -var_other = var62; +{ /* Inline kernel#Object#!= (var57,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var66 = ((short int (*)(val* self, val* p0))(var59->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var59, var_other) /* == on */; +var63 = ((short int(*)(val* self, val* p0))(var57->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var57, var_other); /* == on */ } -var67 = !var66; -var64 = var67; -goto RET_LABEL65; -RET_LABEL65:(void)0; +var64 = !var63; +var61 = var64; +goto RET_LABEL62; +RET_LABEL62:(void)0; } -var63 = var64; +var60 = var61; } -var_68 = var63; -if (var63){ +var_65 = var60; +if (var60){ { -{ /* Inline mmodule#MModule#mgroup (var_other57) on */ -var71 = var_other57->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ -var69 = var71; -RET_LABEL70:(void)0; +{ /* Inline mmodule#MModule#mgroup (var_other55) on */ +var68 = var_other55->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ +var66 = var68; +RET_LABEL67:(void)0; } } -if (var69 == NULL) { +if (var66 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 528); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 641); +fatal_exit(1); } else { -{ /* Inline mproject#MGroup#mproject (var69) on */ -if (unlikely(var69 == NULL)) { +{ /* Inline mproject#MGroup#mproject (var66) on */ +if (unlikely(var66 == NULL)) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); +fatal_exit(1); } -var74 = var69->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ -if (unlikely(var74 == NULL)) { +var71 = var66->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ +if (unlikely(var71 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); +fatal_exit(1); } -var72 = var74; -RET_LABEL73:(void)0; +var69 = var71; +RET_LABEL70:(void)0; } } { { /* Inline mproject#MGroup#mproject (var_mgroup) on */ -var77 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ -if (unlikely(var77 == NULL)) { +var74 = var_mgroup->attrs[COLOR_nit__mproject__MGroup___mproject].val; /* _mproject on */ +if (unlikely(var74 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproject"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mproject, 69); -show_backtrace(1); +fatal_exit(1); } -var75 = var77; -RET_LABEL76:(void)0; +var72 = var74; +RET_LABEL73:(void)0; } } { -{ /* Inline kernel#Object#== (var72,var75) on */ -var_other80 = var75; +{ /* Inline kernel#Object#== (var69,var72) on */ +var_other77 = var72; { -{ /* Inline kernel#Object#is_same_instance (var72,var_other80) on */ -var83 = var72 == var_other80; -var81 = var83; -goto RET_LABEL82; -RET_LABEL82:(void)0; -} -} -var78 = var81; +{ /* Inline kernel#Object#is_same_instance (var69,var_other77) on */ +var80 = var69 == var_other77; +var78 = var80; goto RET_LABEL79; RET_LABEL79:(void)0; } } -var58 = var78; +var75 = var78; +goto RET_LABEL76; +RET_LABEL76:(void)0; +} +} +var56 = var75; } else { -var58 = var_68; +var56 = var_65; } -if (var58){ -var84 = NULL; +if (var56){ if (var_decl == NULL) { -var85 = 1; /* is null */ +var81 = 1; /* is null */ } else { -var85 = 0; /* arg is null but recv is not */ +var81 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_decl,var84) on */ -var_other80 = var84; +{ /* Inline kernel#Object#== (var_decl,((val*)NULL)) on */ +var_other77 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_decl,var_other80) on */ -var90 = var_decl == var_other80; -var88 = var90; -goto RET_LABEL89; -RET_LABEL89:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_decl,var_other77) on */ +var86 = var_decl == var_other77; +var84 = var86; +goto RET_LABEL85; +RET_LABEL85:(void)0; } } -var86 = var88; -goto RET_LABEL87; -RET_LABEL87:(void)0; +var82 = var84; +goto RET_LABEL83; +RET_LABEL83:(void)0; } -var85 = var86; +var81 = var82; } -if (var85){ +if (var81){ var_node = var_nmodule; } else { { { /* Inline parser_nodes#AModuledecl#n_name (var_decl) on */ -var93 = var_decl->attrs[COLOR_nit__parser_nodes__AModuledecl___n_name].val; /* _n_name on */ -if (unlikely(var93 == NULL)) { +var89 = var_decl->attrs[COLOR_nit__parser_nodes__AModuledecl___n_name].val; /* _n_name on */ +if (unlikely(var89 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 943); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1120); +fatal_exit(1); } -var91 = var93; -RET_LABEL92:(void)0; +var87 = var89; +RET_LABEL88:(void)0; } } -var_node = var91; +var_node = var87; } -if (varonce94) { -var95 = varonce94; +if (unlikely(varonce90==NULL)) { +var91 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce92!=NULL)) { +var93 = varonce92; } else { -var96 = "Error: A module named `"; -var97 = 23; -var98 = standard___standard__NativeString___to_s_with_length(var96, var97); -var95 = var98; -varonce94 = var95; +var94 = "Error: a module named `"; +var95 = standard___standard__NativeString___to_s_with_length(var94, 23l); +var93 = var95; +varonce92 = var93; } -{ -var99 = nit___nit__MModule___nit__model_base__MEntity__full_name(var_other57); +((struct instance_standard__NativeArray*)var91)->values[0]=var93; +if (likely(varonce96!=NULL)) { +var97 = varonce96; +} else { +var98 = "` already exists at "; +var99 = standard___standard__NativeString___to_s_with_length(var98, 20l); +var97 = var99; +varonce96 = var97; } -if (varonce100) { +((struct instance_standard__NativeArray*)var91)->values[2]=var97; +if (likely(varonce100!=NULL)) { var101 = varonce100; } else { -var102 = "` already exists at "; -var103 = 20; -var104 = standard___standard__NativeString___to_s_with_length(var102, var103); -var101 = var104; +var102 = "."; +var103 = standard___standard__NativeString___to_s_with_length(var102, 1l); +var101 = var103; varonce100 = var101; } +((struct instance_standard__NativeArray*)var91)->values[4]=var101; +} else { +var91 = varonce90; +varonce90 = NULL; +} +{ +var104 = nit___nit__MModule___nit__model_base__MEntity__full_name(var_other55); +} +((struct instance_standard__NativeArray*)var91)->values[1]=var104; { -{ /* Inline mmodule#MModule#location (var_other57) on */ -var107 = var_other57->attrs[COLOR_nit__mmodule__MModule___location].val; /* _location on */ +{ /* Inline mmodule#MModule#location (var_other55) on */ +var107 = var_other55->attrs[COLOR_nit__mmodule__MModule___location].val; /* _location on */ if (unlikely(var107 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 90); -show_backtrace(1); +fatal_exit(1); } var105 = var107; RET_LABEL106:(void)0; } } -var108 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var108 = array_instance Array[Object] */ -var109 = 4; -var110 = NEW_standard__NativeArray(var109, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var110)->values[0] = (val*) var95; -((struct instance_standard__NativeArray*)var110)->values[1] = (val*) var99; -((struct instance_standard__NativeArray*)var110)->values[2] = (val*) var101; -((struct instance_standard__NativeArray*)var110)->values[3] = (val*) var105; { -((void (*)(val* self, val* p0, long p1))(var108->class->vft[COLOR_standard__array__Array__with_native]))(var108, var110, var109) /* with_native on */; -} +var108 = ((val*(*)(val* self))(var105->class->vft[COLOR_standard__string__Object__to_s]))(var105); /* to_s on */ } +((struct instance_standard__NativeArray*)var91)->values[3]=var108; { -var111 = ((val* (*)(val* self))(var108->class->vft[COLOR_standard__string__Object__to_s]))(var108) /* to_s on */; +var109 = ((val*(*)(val* self))(var91->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var91); /* native_to_s on */ } +varonce90 = var91; { -nit___nit__ModelBuilder___error(self, var_node, var111); /* Direct call modelbuilder_base#ModelBuilder#error on */ +nit___nit__ModelBuilder___error(self, var_node, var109); /* Direct call modelbuilder_base#ModelBuilder#error on */ } goto BREAK_label; } else { } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_54); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_52); /* Direct call array#ArrayIterator#next on */ } } else { goto BREAK_label; @@ -4584,304 +4987,296 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_54) on */ -RET_LABEL112:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_52); /* Direct call array#ArrayIterator#finish on */ } } else { } } else { } -var113 = NEW_nit__MModule(&type_nit__MModule); +var110 = NEW_nit__MModule(&type_nit__MModule); { { /* Inline modelbuilder_base#ModelBuilder#model (self) on */ -var116 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ -if (unlikely(var116 == NULL)) { +var113 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___model].val; /* _model on */ +if (unlikely(var113 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _model"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 44); -show_backtrace(1); +fatal_exit(1); } -var114 = var116; -RET_LABEL115:(void)0; +var111 = var113; +RET_LABEL112:(void)0; } } { { /* Inline parser_nodes#ANode#location (var_nmodule) on */ -var119 = var_nmodule->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var119 == NULL)) { +var116 = var_nmodule->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var116 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var117 = var119; -RET_LABEL118:(void)0; +var114 = var116; +RET_LABEL115:(void)0; } } { -((void (*)(val* self, val* p0))(var113->class->vft[COLOR_nit__mmodule__MModule__model_61d]))(var113, var114) /* model= on */; +((void(*)(val* self, val* p0))(var110->class->vft[COLOR_nit__mmodule__MModule__model_61d]))(var110, var111); /* model= on */ } { -((void (*)(val* self, val* p0))(var113->class->vft[COLOR_nit__mmodule__MModule__mgroup_61d]))(var113, var_mgroup) /* mgroup= on */; +((void(*)(val* self, val* p0))(var110->class->vft[COLOR_nit__mmodule__MModule__mgroup_61d]))(var110, var_mgroup); /* mgroup= on */ } { -((void (*)(val* self, val* p0))(var113->class->vft[COLOR_nit__mmodule__MModule__name_61d]))(var113, var_mod_name) /* name= on */; +((void(*)(val* self, val* p0))(var110->class->vft[COLOR_nit__mmodule__MModule__name_61d]))(var110, var_mod_name); /* name= on */ } { -((void (*)(val* self, val* p0))(var113->class->vft[COLOR_nit__mmodule__MModule__location_61d]))(var113, var117) /* location= on */; +((void(*)(val* self, val* p0))(var110->class->vft[COLOR_nit__mmodule__MModule__location_61d]))(var110, var114); /* location= on */ } { -((void (*)(val* self))(var113->class->vft[COLOR_standard__kernel__Object__init]))(var113) /* init on */; +((void(*)(val* self))(var110->class->vft[COLOR_standard__kernel__Object__init]))(var110); /* init on */ } -var_mmodule = var113; +var_mmodule = var110; { { /* Inline loader#AModule#mmodule= (var_nmodule,var_mmodule) on */ var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val = var_mmodule; /* _mmodule on */ -RET_LABEL120:(void)0; +RET_LABEL117:(void)0; } } { { /* Inline loader#ModelBuilder#nmodules (self) on */ -var123 = self->attrs[COLOR_nit__loader__ModelBuilder___nmodules].val; /* _nmodules on */ -if (unlikely(var123 == NULL)) { +var120 = self->attrs[COLOR_nit__loader__ModelBuilder___nmodules].val; /* _nmodules on */ +if (unlikely(var120 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nmodules"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 638); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 762); +fatal_exit(1); } -var121 = var123; -RET_LABEL122:(void)0; +var118 = var120; +RET_LABEL119:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var121, var_nmodule); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var118, var_nmodule); /* Direct call array#Array#add on */ } { { /* Inline loader#ModelBuilder#mmodule2nmodule (self) on */ -var126 = self->attrs[COLOR_nit__loader__ModelBuilder___mmodule2nmodule].val; /* _mmodule2nmodule on */ -if (unlikely(var126 == NULL)) { +var123 = self->attrs[COLOR_nit__loader__ModelBuilder___mmodule2nmodule].val; /* _mmodule2nmodule on */ +if (unlikely(var123 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 641); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 765); +fatal_exit(1); } -var124 = var126; -RET_LABEL125:(void)0; +var121 = var123; +RET_LABEL122:(void)0; } } { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var124, var_mmodule, var_nmodule); /* Direct call hash_collection#HashMap#[]= on */ +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var121, var_mmodule, var_nmodule); /* Direct call hash_collection#HashMap#[]= on */ } { { /* Inline parser_nodes#ANode#location (var_nmodule) on */ -var129 = var_nmodule->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ -if (unlikely(var129 == NULL)) { +var126 = var_nmodule->attrs[COLOR_nit__parser_nodes__ANode___location].val; /* _location on */ +if (unlikely(var126 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 23); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 24); +fatal_exit(1); } -var127 = var129; -RET_LABEL128:(void)0; +var124 = var126; +RET_LABEL125:(void)0; } } { -{ /* Inline location#Location#file (var127) on */ -var132 = var127->attrs[COLOR_nit__location__Location___file].val; /* _file on */ -var130 = var132; -RET_LABEL131:(void)0; +{ /* Inline location#Location#file (var124) on */ +var129 = var124->attrs[COLOR_nit__location__Location___file].val; /* _file on */ +var127 = var129; +RET_LABEL128:(void)0; } } -var_source = var130; -var133 = NULL; +var_source = var127; if (var_source == NULL) { -var134 = 0; /* is null */ +var130 = 0; /* is null */ } else { -var134 = 1; /* arg is null and recv is not */ +var130 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_source,var133) on */ -var_other = var133; +{ /* Inline kernel#Object#!= (var_source,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var137 = ((short int (*)(val* self, val* p0))(var_source->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_source, var_other) /* == on */; +var133 = ((short int(*)(val* self, val* p0))(var_source->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_source, var_other); /* == on */ } -var138 = !var137; -var135 = var138; -goto RET_LABEL136; -RET_LABEL136:(void)0; +var134 = !var133; +var131 = var134; +goto RET_LABEL132; +RET_LABEL132:(void)0; } -var134 = var135; +var130 = var131; } -if (var134){ +if (var130){ { { /* Inline loader#SourceFile#mmodule (var_source) on */ -var141 = var_source->attrs[COLOR_nit__loader__SourceFile___mmodule].val; /* _mmodule on */ -var139 = var141; -RET_LABEL140:(void)0; +var137 = var_source->attrs[COLOR_nit__loader__SourceFile___mmodule].val; /* _mmodule on */ +var135 = var137; +RET_LABEL136:(void)0; } } -var142 = NULL; -if (var139 == NULL) { -var143 = 1; /* is null */ +if (var135 == NULL) { +var138 = 1; /* is null */ } else { -var143 = 0; /* arg is null but recv is not */ +var138 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var139,var142) on */ -var_other80 = var142; +{ /* Inline kernel#Object#== (var135,((val*)NULL)) on */ +var_other77 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var139,var_other80) on */ -var148 = var139 == var_other80; -var146 = var148; -goto RET_LABEL147; -RET_LABEL147:(void)0; +{ /* Inline kernel#Object#is_same_instance (var135,var_other77) on */ +var143 = var135 == var_other77; +var141 = var143; +goto RET_LABEL142; +RET_LABEL142:(void)0; } } -var144 = var146; -goto RET_LABEL145; -RET_LABEL145:(void)0; +var139 = var141; +goto RET_LABEL140; +RET_LABEL140:(void)0; } -var143 = var144; +var138 = var139; } -if (unlikely(!var143)) { +if (unlikely(!var138)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 545); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 658); +fatal_exit(1); } { { /* Inline loader#SourceFile#mmodule= (var_source,var_mmodule) on */ var_source->attrs[COLOR_nit__loader__SourceFile___mmodule].val = var_mmodule; /* _mmodule on */ -RET_LABEL149:(void)0; +RET_LABEL144:(void)0; } } } else { } -var150 = NULL; if (var_decl == NULL) { -var151 = 0; /* is null */ +var145 = 0; /* is null */ } else { -var151 = 1; /* arg is null and recv is not */ +var145 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_decl,var150) on */ -var_other = var150; +{ /* Inline kernel#Object#!= (var_decl,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var154 = ((short int (*)(val* self, val* p0))(var_decl->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_decl, var_other) /* == on */; +var148 = ((short int(*)(val* self, val* p0))(var_decl->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_decl, var_other); /* == on */ } -var155 = !var154; -var152 = var155; -goto RET_LABEL153; -RET_LABEL153:(void)0; +var149 = !var148; +var146 = var149; +goto RET_LABEL147; +RET_LABEL147:(void)0; } -var151 = var152; +var145 = var146; } -if (var151){ +if (var145){ { { /* Inline parser_nodes#ADefinition#n_doc (var_decl) on */ -var158 = var_decl->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on */ -var156 = var158; -RET_LABEL157:(void)0; +var152 = var_decl->attrs[COLOR_nit__parser_nodes__ADefinition___n_doc].val; /* _n_doc on */ +var150 = var152; +RET_LABEL151:(void)0; } } -var_ndoc = var156; -var159 = NULL; +var_ndoc = var150; if (var_ndoc == NULL) { -var160 = 0; /* is null */ +var153 = 0; /* is null */ } else { -var160 = 1; /* arg is null and recv is not */ +var153 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_ndoc,var159) on */ -var_other = var159; +{ /* Inline kernel#Object#!= (var_ndoc,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var163 = ((short int (*)(val* self, val* p0))(var_ndoc->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ndoc, var_other) /* == on */; +var156 = ((short int(*)(val* self, val* p0))(var_ndoc->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_ndoc, var_other); /* == on */ } -var164 = !var163; -var161 = var164; -goto RET_LABEL162; -RET_LABEL162:(void)0; +var157 = !var156; +var154 = var157; +goto RET_LABEL155; +RET_LABEL155:(void)0; } -var160 = var161; +var153 = var154; } -if (var160){ +if (var153){ { -var165 = nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc); +var158 = nit__modelbuilder_base___ADoc___to_mdoc(var_ndoc); } -var_mdoc = var165; +var_mdoc = var158; { { /* Inline mdoc#MEntity#mdoc= (var_mmodule,var_mdoc) on */ var_mmodule->attrs[COLOR_nit__mdoc__MEntity___mdoc].val = var_mdoc; /* _mdoc on */ -RET_LABEL166:(void)0; +RET_LABEL159:(void)0; } } { { /* Inline mdoc#MDoc#original_mentity= (var_mdoc,var_mmodule) on */ var_mdoc->attrs[COLOR_nit__mdoc__MDoc___original_mentity].val = var_mmodule; /* _original_mentity on */ -RET_LABEL167:(void)0; +RET_LABEL160:(void)0; } } } else { -if (varonce168) { -var169 = varonce168; +if (likely(varonce161!=NULL)) { +var162 = varonce161; } else { -var170 = "missing-doc"; -var171 = 11; -var172 = standard___standard__NativeString___to_s_with_length(var170, var171); -var169 = var172; -varonce168 = var169; +var163 = "missing-doc"; +var164 = standard___standard__NativeString___to_s_with_length(var163, 11l); +var162 = var164; +varonce161 = var162; } -if (varonce173) { -var174 = varonce173; +if (unlikely(varonce165==NULL)) { +var166 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce167!=NULL)) { +var168 = varonce167; } else { -var175 = "Documentation warning: Undocumented module `"; -var176 = 44; -var177 = standard___standard__NativeString___to_s_with_length(var175, var176); -var174 = var177; -varonce173 = var174; +var169 = "Documentation warning: Undocumented module `"; +var170 = standard___standard__NativeString___to_s_with_length(var169, 44l); +var168 = var170; +varonce167 = var168; } -if (varonce178) { -var179 = varonce178; +((struct instance_standard__NativeArray*)var166)->values[0]=var168; +if (likely(varonce171!=NULL)) { +var172 = varonce171; } else { -var180 = "`"; -var181 = 1; -var182 = standard___standard__NativeString___to_s_with_length(var180, var181); -var179 = var182; -varonce178 = var179; +var173 = "`"; +var174 = standard___standard__NativeString___to_s_with_length(var173, 1l); +var172 = var174; +varonce171 = var172; } -var183 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var183 = array_instance Array[Object] */ -var184 = 3; -var185 = NEW_standard__NativeArray(var184, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var185)->values[0] = (val*) var174; -((struct instance_standard__NativeArray*)var185)->values[1] = (val*) var_mmodule; -((struct instance_standard__NativeArray*)var185)->values[2] = (val*) var179; -{ -((void (*)(val* self, val* p0, long p1))(var183->class->vft[COLOR_standard__array__Array__with_native]))(var183, var185, var184) /* with_native on */; +((struct instance_standard__NativeArray*)var166)->values[2]=var172; +} else { +var166 = varonce165; +varonce165 = NULL; } +{ +var175 = ((val*(*)(val* self))(var_mmodule->class->vft[COLOR_standard__string__Object__to_s]))(var_mmodule); /* to_s on */ } +((struct instance_standard__NativeArray*)var166)->values[1]=var175; { -var186 = ((val* (*)(val* self))(var183->class->vft[COLOR_standard__string__Object__to_s]))(var183) /* to_s on */; +var176 = ((val*(*)(val* self))(var166->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var166); /* native_to_s on */ } +varonce165 = var166; { -nit___nit__ModelBuilder___advice(self, var_decl, var169, var186); /* Direct call modelbuilder_base#ModelBuilder#advice on */ +nit___nit__ModelBuilder___advice(self, var_decl, var162, var176); /* Direct call modelbuilder_base#ModelBuilder#advice on */ } } -if (varonce187) { -var188 = varonce187; +if (likely(varonce177!=NULL)) { +var178 = varonce177; } else { -var189 = "test_suite"; -var190 = 10; -var191 = standard___standard__NativeString___to_s_with_length(var189, var190); -var188 = var191; -varonce187 = var188; +var179 = "test_suite"; +var180 = standard___standard__NativeString___to_s_with_length(var179, 10l); +var178 = var180; +varonce177 = var178; } { -var192 = nit___nit__Prod___get_annotations(var_decl, var188); +var181 = nit___nit__Prod___get_annotations(var_decl, var178); } { -var193 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var192); +var182 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var181); } -var194 = !var193; +var183 = !var182; { -{ /* Inline mmodule#MModule#is_test_suite= (var_mmodule,var194) on */ -var_mmodule->attrs[COLOR_nit__mmodule__MModule___is_test_suite].s = var194; /* _is_test_suite on */ -RET_LABEL195:(void)0; +{ /* Inline mmodule#MModule#is_test_suite= (var_mmodule,var183) on */ +var_mmodule->attrs[COLOR_nit__mmodule__MModule___is_test_suite].s = var183; /* _is_test_suite on */ +RET_LABEL184:(void)0; } } } else { @@ -4896,211 +5291,194 @@ void nit__loader___ModelBuilder___build_module_importation(val* self, val* p0) { val* var_nmodule /* var nmodule: AModule */; short int var /* : Bool */; short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var5 /* : nullable MModule */; -val* var7 /* : nullable MModule */; +val* var4 /* : nullable MModule */; +val* var6 /* : nullable MModule */; val* var_mmodule /* var mmodule: MModule */; -short int var8 /* : Bool */; short int var_stdimport /* var stdimport: Bool */; -val* var9 /* : Array[MModule] */; +val* var7 /* : Array[MModule] */; val* var_imported_modules /* var imported_modules: Array[MModule] */; +val* var8 /* : ANodes[AImport] */; val* var10 /* : ANodes[AImport] */; -val* var12 /* : ANodes[AImport] */; val* var_ /* var : ANodes[AImport] */; -val* var13 /* : Iterator[ANode] */; -val* var_14 /* var : Iterator[AImport] */; -short int var15 /* : Bool */; -val* var16 /* : nullable Object */; +val* var11 /* : Iterator[ANode] */; +val* var_12 /* var : Iterator[AImport] */; +short int var13 /* : Bool */; +val* var14 /* : nullable Object */; val* var_aimport /* var aimport: AImport */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; +short int var15 /* : Bool */; int cltype; int idtype; -short int var19 /* : Bool */; -val* var20 /* : nullable MGroup */; -val* var22 /* : nullable MGroup */; +short int var16 /* : Bool */; +val* var17 /* : nullable MGroup */; +val* var19 /* : nullable MGroup */; val* var_mgroup /* var mgroup: nullable MGroup */; -val* var23 /* : AModuleName */; -val* var25 /* : AModuleName */; -val* var26 /* : nullable TQuad */; -val* var28 /* : nullable TQuad */; -val* var29 /* : null */; -short int var30 /* : Bool */; -short int var31 /* : Bool */; +val* var20 /* : AModuleName */; +val* var22 /* : AModuleName */; +val* var23 /* : nullable TQuad */; +val* var25 /* : nullable TQuad */; +short int var26 /* : Bool */; +short int var27 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var33 /* : Bool */; -short int var34 /* : Bool */; -val* var35 /* : null */; -val* var36 /* : AModuleName */; -val* var38 /* : AModuleName */; -val* var39 /* : ANodes[TId] */; -val* var41 /* : ANodes[TId] */; -val* var_42 /* var : ANodes[TId] */; -val* var43 /* : Iterator[ANode] */; -val* var_44 /* var : Iterator[TId] */; -short int var45 /* : Bool */; -val* var46 /* : nullable Object */; +short int var29 /* : Bool */; +short int var30 /* : Bool */; +val* var31 /* : AModuleName */; +val* var33 /* : AModuleName */; +val* var34 /* : ANodes[TId] */; +val* var36 /* : ANodes[TId] */; +val* var_37 /* var : ANodes[TId] */; +val* var38 /* : Iterator[ANode] */; +val* var_39 /* var : Iterator[TId] */; +short int var40 /* : Bool */; +val* var41 /* : nullable Object */; val* var_grp /* var grp: TId */; -val* var47 /* : String */; -val* var48 /* : nullable ModulePath */; +val* var42 /* : String */; +val* var43 /* : nullable ModulePath */; val* var_path /* var path: nullable ModulePath */; -val* var49 /* : null */; +short int var44 /* : Bool */; +short int var45 /* : Bool */; +val* var_other47 /* var other: nullable Object */; +short int var48 /* : Bool */; short int var50 /* : Bool */; -short int var51 /* : Bool */; -val* var_other53 /* var other: nullable Object */; -short int var54 /* : Bool */; -short int var56 /* : Bool */; -val* var57 /* : MGroup */; -val* var59 /* : MGroup */; -val* var62 /* : AModuleName */; -val* var64 /* : AModuleName */; -val* var65 /* : TId */; -val* var67 /* : TId */; -val* var68 /* : String */; +val* var52 /* : MGroup */; +val* var54 /* : MGroup */; +val* var56 /* : AModuleName */; +val* var58 /* : AModuleName */; +val* var59 /* : TId */; +val* var61 /* : TId */; +val* var62 /* : String */; val* var_mod_name /* var mod_name: String */; -val* var69 /* : AModuleName */; -val* var71 /* : AModuleName */; -val* var72 /* : nullable MModule */; +val* var63 /* : AModuleName */; +val* var65 /* : AModuleName */; +val* var66 /* : nullable MModule */; val* var_sup /* var sup: nullable MModule */; -val* var73 /* : null */; -short int var74 /* : Bool */; -short int var75 /* : Bool */; -short int var77 /* : Bool */; -short int var79 /* : Bool */; -val* var81 /* : AVisibility */; -val* var83 /* : AVisibility */; -val* var84 /* : MVisibility */; +short int var67 /* : Bool */; +short int var68 /* : Bool */; +short int var70 /* : Bool */; +short int var72 /* : Bool */; +val* var75 /* : AVisibility */; +val* var77 /* : AVisibility */; +val* var78 /* : MVisibility */; val* var_mvisibility /* var mvisibility: MVisibility */; -val* var85 /* : MVisibility */; -short int var86 /* : Bool */; -short int var88 /* : Bool */; -short int var90 /* : Bool */; -val* var91 /* : AVisibility */; -val* var93 /* : AVisibility */; +val* var79 /* : Sys */; +val* var80 /* : MVisibility */; +short int var81 /* : Bool */; +short int var83 /* : Bool */; +short int var85 /* : Bool */; +val* var86 /* : AVisibility */; +val* var88 /* : AVisibility */; static val* varonce; -val* var94 /* : String */; -char* var95 /* : NativeString */; -long var96 /* : Int */; -val* var97 /* : FlatString */; -short int var98 /* : Bool */; -short int var100 /* : Bool */; -short int var102 /* : Bool */; -val* var103 /* : AModuleName */; -val* var105 /* : AModuleName */; -static val* varonce106; -val* var107 /* : String */; -char* var108 /* : NativeString */; -long var109 /* : Int */; +val* var89 /* : String */; +char* var90 /* : NativeString */; +val* var91 /* : FlatString */; +short int var93 /* : Bool */; +short int var95 /* : Bool */; +short int var97 /* : Bool */; +val* var98 /* : AModuleName */; +val* var100 /* : AModuleName */; +val* var102 /* : NativeArray[String] */; +static val* varonce101; +static val* varonce103; +val* var104 /* : String */; +char* var105 /* : NativeString */; +val* var106 /* : FlatString */; +static val* varonce107; +val* var108 /* : String */; +char* var109 /* : NativeString */; val* var110 /* : FlatString */; -static val* varonce111; +val* var111 /* : String */; val* var112 /* : String */; -char* var113 /* : NativeString */; -long var114 /* : Int */; -val* var115 /* : FlatString */; -val* var116 /* : Array[Object] */; -long var117 /* : Int */; -val* var118 /* : NativeArray[Object] */; -val* var119 /* : String */; -val* var120 /* : POSetElement[MModule] */; -val* var122 /* : POSetElement[MModule] */; -short int var123 /* : Bool */; -val* var124 /* : AModuleName */; -val* var126 /* : AModuleName */; +val* var114 /* : POSetElement[MModule] */; +val* var116 /* : POSetElement[MModule] */; +short int var117 /* : Bool */; +val* var118 /* : AModuleName */; +val* var120 /* : AModuleName */; +val* var122 /* : NativeArray[String] */; +static val* varonce121; +static val* varonce123; +val* var124 /* : String */; +char* var125 /* : NativeString */; +val* var126 /* : FlatString */; static val* varonce127; val* var128 /* : String */; char* var129 /* : NativeString */; -long var130 /* : Int */; -val* var131 /* : FlatString */; -static val* varonce132; -val* var133 /* : String */; -char* var134 /* : NativeString */; -long var135 /* : Int */; -val* var136 /* : FlatString */; -static val* varonce137; -val* var138 /* : String */; -char* var139 /* : NativeString */; -long var140 /* : Int */; -val* var141 /* : FlatString */; -val* var142 /* : Array[Object] */; -long var143 /* : Int */; -val* var144 /* : NativeArray[Object] */; -val* var145 /* : String */; -static val* varonce148; -val* var149 /* : String */; -char* var150 /* : NativeString */; -long var151 /* : Int */; -val* var152 /* : FlatString */; -val* var_mod_name153 /* var mod_name: String */; -val* var154 /* : null */; -val* var155 /* : nullable MModule */; -val* var_sup156 /* var sup: nullable MModule */; -val* var157 /* : null */; -short int var158 /* : Bool */; -short int var159 /* : Bool */; -short int var161 /* : Bool */; -short int var162 /* : Bool */; -val* var163 /* : MVisibility */; -val* var164 /* : ToolContext */; -val* var166 /* : ToolContext */; -static val* varonce167; -val* var168 /* : String */; -char* var169 /* : NativeString */; -long var170 /* : Int */; -val* var171 /* : FlatString */; -static val* varonce172; -val* var173 /* : String */; -char* var174 /* : NativeString */; -long var175 /* : Int */; -val* var176 /* : FlatString */; -val* var177 /* : String */; -val* var178 /* : Array[Object] */; -long var179 /* : Int */; -val* var180 /* : NativeArray[Object] */; -val* var181 /* : String */; -long var182 /* : Int */; -val* var183 /* : POSetElement[MModule] */; -val* var185 /* : POSetElement[MModule] */; -val* var186 /* : Collection[nullable Object] */; -val* var_187 /* var : Collection[MModule] */; -val* var188 /* : Iterator[nullable Object] */; -val* var_189 /* var : Iterator[MModule] */; -short int var190 /* : Bool */; -val* var191 /* : nullable Object */; -val* var_sup192 /* var sup: MModule */; -val* var193 /* : String */; -val* var195 /* : String */; -static val* varonce196; -val* var197 /* : String */; -char* var198 /* : NativeString */; -long var199 /* : Int */; -val* var200 /* : FlatString */; -short int var201 /* : Bool */; -val* var202 /* : MVisibility */; -val* var205 /* : POSetElement[MModule] */; -val* var207 /* : POSetElement[MModule] */; -val* var208 /* : Collection[nullable Object] */; +val* var130 /* : FlatString */; +static val* varonce131; +val* var132 /* : String */; +char* var133 /* : NativeString */; +val* var134 /* : FlatString */; +val* var135 /* : String */; +val* var136 /* : String */; +val* var137 /* : String */; +static val* varonce140; +val* var141 /* : String */; +char* var142 /* : NativeString */; +val* var143 /* : FlatString */; +val* var_mod_name144 /* var mod_name: String */; +val* var145 /* : nullable MModule */; +val* var_sup146 /* var sup: nullable MModule */; +short int var147 /* : Bool */; +short int var148 /* : Bool */; +short int var150 /* : Bool */; +short int var152 /* : Bool */; +val* var154 /* : Sys */; +val* var155 /* : MVisibility */; +val* var156 /* : ToolContext */; +val* var158 /* : ToolContext */; +val* var160 /* : NativeArray[String] */; +static val* varonce159; +static val* varonce161; +val* var162 /* : String */; +char* var163 /* : NativeString */; +val* var164 /* : FlatString */; +val* var165 /* : String */; +static val* varonce166; +val* var167 /* : String */; +char* var168 /* : NativeString */; +val* var169 /* : FlatString */; +val* var170 /* : String */; +val* var171 /* : String */; +val* var172 /* : POSetElement[MModule] */; +val* var174 /* : POSetElement[MModule] */; +val* var175 /* : Collection[nullable Object] */; +val* var_176 /* var : Collection[MModule] */; +val* var177 /* : Iterator[nullable Object] */; +val* var_178 /* var : Iterator[MModule] */; +short int var179 /* : Bool */; +val* var180 /* : nullable Object */; +val* var_sup181 /* var sup: MModule */; +val* var182 /* : String */; +val* var184 /* : String */; +static val* varonce185; +val* var186 /* : String */; +char* var187 /* : NativeString */; +val* var188 /* : FlatString */; +short int var189 /* : Bool */; +val* var190 /* : Sys */; +val* var191 /* : MVisibility */; +val* var193 /* : POSetElement[MModule] */; +val* var195 /* : POSetElement[MModule] */; +val* var196 /* : Collection[nullable Object] */; val* var_directs /* var directs: Collection[MModule] */; -val* var209 /* : ANodes[AImport] */; -val* var211 /* : ANodes[AImport] */; -val* var_212 /* var : ANodes[AImport] */; -val* var213 /* : Iterator[ANode] */; -val* var_214 /* var : Iterator[AImport] */; -short int var215 /* : Bool */; -val* var216 /* : nullable Object */; +val* var197 /* : ANodes[AImport] */; +val* var199 /* : ANodes[AImport] */; +val* var_200 /* var : ANodes[AImport] */; +val* var201 /* : Iterator[ANode] */; +val* var_202 /* var : Iterator[AImport] */; +short int var203 /* : Bool */; +val* var204 /* : nullable Object */; val* var_nim /* var nim: AImport */; -short int var217 /* : Bool */; -int cltype218; -int idtype219; -short int var220 /* : Bool */; -val* var222 /* : nullable MModule */; -val* var224 /* : nullable MModule */; +short int var205 /* : Bool */; +int cltype206; +int idtype207; +short int var208 /* : Bool */; +val* var210 /* : nullable MModule */; +val* var212 /* : nullable MModule */; val* var_im /* var im: nullable MModule */; -val* var225 /* : null */; -short int var226 /* : Bool */; -short int var227 /* : Bool */; -short int var229 /* : Bool */; -short int var231 /* : Bool */; -short int var232 /* : Bool */; +short int var213 /* : Bool */; +short int var214 /* : Bool */; +short int var216 /* : Bool */; +short int var218 /* : Bool */; +short int var219 /* : Bool */; var_nmodule = p0; { { /* Inline loader#AModule#is_importation_done (var_nmodule) on */ @@ -5113,298 +5491,301 @@ if (var){ goto RET_LABEL; } else { } -var3 = 1; { -{ /* Inline loader#AModule#is_importation_done= (var_nmodule,var3) on */ -var_nmodule->attrs[COLOR_nit__loader__AModule___is_importation_done].s = var3; /* _is_importation_done on */ -RET_LABEL4:(void)0; +{ /* Inline loader#AModule#is_importation_done= (var_nmodule,1) on */ +var_nmodule->attrs[COLOR_nit__loader__AModule___is_importation_done].s = 1; /* _is_importation_done on */ +RET_LABEL3:(void)0; } } { { /* Inline loader#AModule#mmodule (var_nmodule) on */ -var7 = var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val; /* _mmodule on */ -var5 = var7; -RET_LABEL6:(void)0; +var6 = var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val; /* _mmodule on */ +var4 = var6; +RET_LABEL5:(void)0; } } -if (unlikely(var5 == NULL)) { +if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 573); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 686); +fatal_exit(1); } -var_mmodule = var5; -var8 = 1; -var_stdimport = var8; -var9 = NEW_standard__Array(&type_standard__Array__nit__MModule); +var_mmodule = var4; +var_stdimport = 1; +var7 = NEW_standard__Array(&type_standard__Array__nit__MModule); { -standard___standard__Array___standard__kernel__Object__init(var9); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var7); /* Direct call array#Array#init on */ } -var_imported_modules = var9; +var_imported_modules = var7; { { /* Inline parser_nodes#AModule#n_imports (var_nmodule) on */ -var12 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_imports].val; /* _n_imports on */ -if (unlikely(var12 == NULL)) { +var10 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_imports].val; /* _n_imports on */ +if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 913); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1090); +fatal_exit(1); } -var10 = var12; -RET_LABEL11:(void)0; +var8 = var10; +RET_LABEL9:(void)0; } } -var_ = var10; +var_ = var8; { -var13 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_); +var11 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_); } -var_14 = var13; +var_12 = var11; for(;;) { { -var15 = ((short int (*)(val* self))(var_14->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_14) /* is_ok on */; +var13 = ((short int(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_12); /* is_ok on */ } -if (var15){ +if (var13){ { -var16 = ((val* (*)(val* self))(var_14->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_14) /* item on */; +var14 = ((val*(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_12); /* item on */ } -var_aimport = var16; -var17 = 0; -var_stdimport = var17; +var_aimport = var14; +var_stdimport = 0; /* isa AStdImport */ cltype = type_nit__AStdImport.color; idtype = type_nit__AStdImport.id; if(cltype >= var_aimport->type->table_size) { -var18 = 0; +var15 = 0; } else { -var18 = var_aimport->type->type_table[cltype] == idtype; +var15 = var_aimport->type->type_table[cltype] == idtype; } -var19 = !var18; -if (var19){ +var16 = !var15; +if (var16){ goto BREAK_label; } else { } { { /* Inline mmodule#MModule#mgroup (var_mmodule) on */ -var22 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ -var20 = var22; -RET_LABEL21:(void)0; +var19 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___mgroup].val; /* _mgroup on */ +var17 = var19; +RET_LABEL18:(void)0; } } -var_mgroup = var20; +var_mgroup = var17; { { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on */ -var25 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ -if (unlikely(var25 == NULL)) { +var22 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 961); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1138); +fatal_exit(1); } -var23 = var25; -RET_LABEL24:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { -{ /* Inline parser_nodes#AModuleName#n_quad (var23) on */ -var28 = var23->attrs[COLOR_nit__parser_nodes__AModuleName___n_quad].val; /* _n_quad on */ -var26 = var28; -RET_LABEL27:(void)0; +{ /* Inline parser_nodes#AModuleName#n_quad (var20) on */ +var25 = var20->attrs[COLOR_nit__parser_nodes__AModuleName___n_quad].val; /* _n_quad on */ +var23 = var25; +RET_LABEL24:(void)0; } } -var29 = NULL; -if (var26 == NULL) { -var30 = 0; /* is null */ +if (var23 == NULL) { +var26 = 0; /* is null */ } else { -var30 = 1; /* arg is null and recv is not */ +var26 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var26,var29) on */ -var_other = var29; +{ /* Inline kernel#Object#!= (var23,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var33 = ((short int (*)(val* self, val* p0))(var26->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var26, var_other) /* == on */; +var29 = ((short int(*)(val* self, val* p0))(var23->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var23, var_other); /* == on */ } -var34 = !var33; -var31 = var34; -goto RET_LABEL32; -RET_LABEL32:(void)0; +var30 = !var29; +var27 = var30; +goto RET_LABEL28; +RET_LABEL28:(void)0; } -var30 = var31; +var26 = var27; } -if (var30){ -var35 = NULL; -var_mgroup = var35; +if (var26){ +var_mgroup = ((val*)NULL); } else { } { { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on */ -var38 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ -if (unlikely(var38 == NULL)) { +var33 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ +if (unlikely(var33 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 961); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1138); +fatal_exit(1); } -var36 = var38; -RET_LABEL37:(void)0; +var31 = var33; +RET_LABEL32:(void)0; } } { -{ /* Inline parser_nodes#AModuleName#n_path (var36) on */ -var41 = var36->attrs[COLOR_nit__parser_nodes__AModuleName___n_path].val; /* _n_path on */ -if (unlikely(var41 == NULL)) { +{ /* Inline parser_nodes#AModuleName#n_path (var31) on */ +var36 = var31->attrs[COLOR_nit__parser_nodes__AModuleName___n_path].val; /* _n_path on */ +if (unlikely(var36 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_path"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2467); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2897); +fatal_exit(1); } -var39 = var41; -RET_LABEL40:(void)0; +var34 = var36; +RET_LABEL35:(void)0; } } -var_42 = var39; +var_37 = var34; { -var43 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_42); +var38 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_37); } -var_44 = var43; +var_39 = var38; for(;;) { { -var45 = ((short int (*)(val* self))(var_44->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_44) /* is_ok on */; +var40 = ((short int(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_39); /* is_ok on */ } -if (var45){ +if (var40){ { -var46 = ((val* (*)(val* self))(var_44->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_44) /* item on */; +var41 = ((val*(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_39); /* item on */ } -var_grp = var46; +var_grp = var41; { -var47 = nit__lexer_work___Token___text(var_grp); +var42 = nit__lexer_work___Token___text(var_grp); } { -var48 = nit__loader___ModelBuilder___search_mmodule_by_name(self, var_grp, var_mgroup, var47); +var43 = nit__loader___ModelBuilder___search_mmodule_by_name(self, var_grp, var_mgroup, var42); } -var_path = var48; -var49 = NULL; +var_path = var43; if (var_path == NULL) { -var50 = 1; /* is null */ +var44 = 1; /* is null */ } else { -var50 = 0; /* arg is null but recv is not */ +var44 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_path,var49) on */ -var_other53 = var49; +{ /* Inline kernel#Object#== (var_path,((val*)NULL)) on */ +var_other47 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_path,var_other53) on */ -var56 = var_path == var_other53; -var54 = var56; -goto RET_LABEL55; -RET_LABEL55:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_path,var_other47) on */ +var50 = var_path == var_other47; +var48 = var50; +goto RET_LABEL49; +RET_LABEL49:(void)0; } } -var51 = var54; -goto RET_LABEL52; -RET_LABEL52:(void)0; +var45 = var48; +goto RET_LABEL46; +RET_LABEL46:(void)0; +} +var44 = var45; +} +if (var44){ +{ +{ /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on */ +var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val = ((val*)NULL); /* _mmodule on */ +RET_LABEL51:(void)0; } -var50 = var51; } -if (var50){ goto RET_LABEL; } else { } { { /* Inline loader#ModulePath#mgroup (var_path) on */ -var59 = var_path->attrs[COLOR_nit__loader__ModulePath___mgroup].val; /* _mgroup on */ -if (unlikely(var59 == NULL)) { +var54 = var_path->attrs[COLOR_nit__loader__ModulePath___mgroup].val; /* _mgroup on */ +if (unlikely(var54 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroup"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 665); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 789); +fatal_exit(1); } -var57 = var59; -RET_LABEL58:(void)0; +var52 = var54; +RET_LABEL53:(void)0; } } -var_mgroup = var57; +var_mgroup = var52; { -((void (*)(val* self))(var_44->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_44) /* next on */; +((void(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_39); /* next on */ } } else { -goto BREAK_label60; +goto BREAK_label55; } } -BREAK_label60: (void)0; +BREAK_label55: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_44) on */ -RET_LABEL61:(void)0; -} +((void(*)(val* self))((((long)var_39&3)?class_info[((long)var_39&3)]:var_39->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_39); /* finish on */ } { { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on */ -var64 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ -if (unlikely(var64 == NULL)) { +var58 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ +if (unlikely(var58 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 961); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1138); +fatal_exit(1); } -var62 = var64; -RET_LABEL63:(void)0; +var56 = var58; +RET_LABEL57:(void)0; } } { -{ /* Inline parser_nodes#AModuleName#n_id (var62) on */ -var67 = var62->attrs[COLOR_nit__parser_nodes__AModuleName___n_id].val; /* _n_id on */ -if (unlikely(var67 == NULL)) { +{ /* Inline parser_nodes#AModuleName#n_id (var56) on */ +var61 = var56->attrs[COLOR_nit__parser_nodes__AModuleName___n_id].val; /* _n_id on */ +if (unlikely(var61 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_id"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2470); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 2900); +fatal_exit(1); } -var65 = var67; -RET_LABEL66:(void)0; +var59 = var61; +RET_LABEL60:(void)0; } } { -var68 = nit__lexer_work___Token___text(var65); +var62 = nit__lexer_work___Token___text(var59); } -var_mod_name = var68; +var_mod_name = var62; { { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on */ -var71 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ -if (unlikely(var71 == NULL)) { +var65 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ +if (unlikely(var65 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 961); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1138); +fatal_exit(1); } -var69 = var71; -RET_LABEL70:(void)0; +var63 = var65; +RET_LABEL64:(void)0; } } { -var72 = nit__loader___ModelBuilder___get_mmodule_by_name(self, var69, var_mgroup, var_mod_name); +var66 = nit__loader___ModelBuilder___get_mmodule_by_name(self, var63, var_mgroup, var_mod_name); } -var_sup = var72; -var73 = NULL; +var_sup = var66; if (var_sup == NULL) { -var74 = 1; /* is null */ +var67 = 1; /* is null */ } else { -var74 = 0; /* arg is null but recv is not */ +var67 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_sup,var73) on */ -var_other53 = var73; +{ /* Inline kernel#Object#== (var_sup,((val*)NULL)) on */ +var_other47 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_sup,var_other53) on */ -var79 = var_sup == var_other53; -var77 = var79; -goto RET_LABEL78; -RET_LABEL78:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_sup,var_other47) on */ +var72 = var_sup == var_other47; +var70 = var72; +goto RET_LABEL71; +RET_LABEL71:(void)0; } } -var75 = var77; -goto RET_LABEL76; -RET_LABEL76:(void)0; +var68 = var70; +goto RET_LABEL69; +RET_LABEL69:(void)0; +} +var67 = var68; +} +if (var67){ +{ +{ /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on */ +var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val = ((val*)NULL); /* _mmodule on */ +RET_LABEL73:(void)0; } -var74 = var75; } -if (var74){ goto BREAK_label; } else { } { { /* Inline loader#AStdImport#mmodule= (var_aimport,var_sup) on */ var_aimport->attrs[COLOR_nit__loader__AStdImport___mmodule].val = var_sup; /* _mmodule on */ -RET_LABEL80:(void)0; +RET_LABEL74:(void)0; } } { @@ -5412,206 +5793,226 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad } { { /* Inline parser_nodes#AImport#n_visibility (var_aimport) on */ -var83 = var_aimport->attrs[COLOR_nit__parser_nodes__AImport___n_visibility].val; /* _n_visibility on */ -if (unlikely(var83 == NULL)) { +var77 = var_aimport->attrs[COLOR_nit__parser_nodes__AImport___n_visibility].val; /* _n_visibility on */ +if (unlikely(var77 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 951); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1128); +fatal_exit(1); } -var81 = var83; -RET_LABEL82:(void)0; +var75 = var77; +RET_LABEL76:(void)0; } } { -var84 = ((val* (*)(val* self))(var81->class->vft[COLOR_nit__modelbuilder_base__AVisibility__mvisibility]))(var81) /* mvisibility on */; +var78 = ((val*(*)(val* self))(var75->class->vft[COLOR_nit__modelbuilder_base__AVisibility__mvisibility]))(var75); /* mvisibility on */ } -var_mvisibility = var84; +var_mvisibility = var78; +var79 = glob_sys; { -var85 = nit__model_base___standard__Object___protected_visibility(self); +var80 = nit__model_base___standard__Sys___protected_visibility(var79); } { -{ /* Inline kernel#Object#== (var_mvisibility,var85) on */ -var_other53 = var85; +{ /* Inline kernel#Object#== (var_mvisibility,var80) on */ +var_other47 = var80; { -{ /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other53) on */ -var90 = var_mvisibility == var_other53; -var88 = var90; -goto RET_LABEL89; -RET_LABEL89:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_mvisibility,var_other47) on */ +var85 = var_mvisibility == var_other47; +var83 = var85; +goto RET_LABEL84; +RET_LABEL84:(void)0; } } -var86 = var88; -goto RET_LABEL87; -RET_LABEL87:(void)0; +var81 = var83; +goto RET_LABEL82; +RET_LABEL82:(void)0; } } -if (var86){ +if (var81){ { { /* Inline parser_nodes#AImport#n_visibility (var_aimport) on */ -var93 = var_aimport->attrs[COLOR_nit__parser_nodes__AImport___n_visibility].val; /* _n_visibility on */ -if (unlikely(var93 == NULL)) { +var88 = var_aimport->attrs[COLOR_nit__parser_nodes__AImport___n_visibility].val; /* _n_visibility on */ +if (unlikely(var88 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_visibility"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 951); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1128); +fatal_exit(1); } -var91 = var93; -RET_LABEL92:(void)0; +var86 = var88; +RET_LABEL87:(void)0; } } -if (varonce) { -var94 = varonce; +if (likely(varonce!=NULL)) { +var89 = varonce; } else { -var95 = "Error: only properties can be protected."; -var96 = 40; -var97 = standard___standard__NativeString___to_s_with_length(var95, var96); -var94 = var97; -varonce = var94; +var90 = "Error: only properties can be protected."; +var91 = standard___standard__NativeString___to_s_with_length(var90, 40l); +var89 = var91; +varonce = var89; +} +{ +nit___nit__ModelBuilder___error(self, var86, var89); /* Direct call modelbuilder_base#ModelBuilder#error on */ } { -nit___nit__ModelBuilder___error(self, var91, var94); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on */ +var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val = ((val*)NULL); /* _mmodule on */ +RET_LABEL92:(void)0; +} } goto RET_LABEL; } else { } { { /* Inline kernel#Object#== (var_sup,var_mmodule) on */ -var_other53 = var_mmodule; +var_other47 = var_mmodule; { -{ /* Inline kernel#Object#is_same_instance (var_sup,var_other53) on */ -var102 = var_sup == var_other53; -var100 = var102; -goto RET_LABEL101; -RET_LABEL101:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_sup,var_other47) on */ +var97 = var_sup == var_other47; +var95 = var97; +goto RET_LABEL96; +RET_LABEL96:(void)0; } } -var98 = var100; -goto RET_LABEL99; -RET_LABEL99:(void)0; +var93 = var95; +goto RET_LABEL94; +RET_LABEL94:(void)0; } } -if (var98){ +if (var93){ { { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on */ -var105 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ -if (unlikely(var105 == NULL)) { +var100 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ +if (unlikely(var100 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 961); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1138); +fatal_exit(1); +} +var98 = var100; +RET_LABEL99:(void)0; } -var103 = var105; -RET_LABEL104:(void)0; } +if (unlikely(varonce101==NULL)) { +var102 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce103!=NULL)) { +var104 = varonce103; +} else { +var105 = "Error: dependency loop in module "; +var106 = standard___standard__NativeString___to_s_with_length(var105, 33l); +var104 = var106; +varonce103 = var104; } -if (varonce106) { -var107 = varonce106; +((struct instance_standard__NativeArray*)var102)->values[0]=var104; +if (likely(varonce107!=NULL)) { +var108 = varonce107; } else { -var108 = "Error: Dependency loop in module "; -var109 = 33; -var110 = standard___standard__NativeString___to_s_with_length(var108, var109); -var107 = var110; -varonce106 = var107; +var109 = "."; +var110 = standard___standard__NativeString___to_s_with_length(var109, 1l); +var108 = var110; +varonce107 = var108; } -if (varonce111) { -var112 = varonce111; +((struct instance_standard__NativeArray*)var102)->values[2]=var108; } else { -var113 = "."; -var114 = 1; -var115 = standard___standard__NativeString___to_s_with_length(var113, var114); -var112 = var115; -varonce111 = var112; +var102 = varonce101; +varonce101 = NULL; } -var116 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var116 = array_instance Array[Object] */ -var117 = 3; -var118 = NEW_standard__NativeArray(var117, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var118)->values[0] = (val*) var107; -((struct instance_standard__NativeArray*)var118)->values[1] = (val*) var_mmodule; -((struct instance_standard__NativeArray*)var118)->values[2] = (val*) var112; { -((void (*)(val* self, val* p0, long p1))(var116->class->vft[COLOR_standard__array__Array__with_native]))(var116, var118, var117) /* with_native on */; +var111 = ((val*(*)(val* self))(var_mmodule->class->vft[COLOR_standard__string__Object__to_s]))(var_mmodule); /* to_s on */ } +((struct instance_standard__NativeArray*)var102)->values[1]=var111; +{ +var112 = ((val*(*)(val* self))(var102->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var102); /* native_to_s on */ } +varonce101 = var102; { -var119 = ((val* (*)(val* self))(var116->class->vft[COLOR_standard__string__Object__to_s]))(var116) /* to_s on */; +nit___nit__ModelBuilder___error(self, var98, var112); /* Direct call modelbuilder_base#ModelBuilder#error on */ } { -nit___nit__ModelBuilder___error(self, var103, var119); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on */ +var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val = ((val*)NULL); /* _mmodule on */ +RET_LABEL113:(void)0; +} } } else { } { { /* Inline mmodule#MModule#in_importation (var_sup) on */ -var122 = var_sup->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ -if (unlikely(var122 == NULL)) { +var116 = var_sup->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var116 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96); -show_backtrace(1); +fatal_exit(1); } -var120 = var122; -RET_LABEL121:(void)0; +var114 = var116; +RET_LABEL115:(void)0; } } { -var123 = poset___poset__POSetElement____60d(var120, var_mmodule); +var117 = poset___poset__POSetElement____60d(var114, var_mmodule); } -if (var123){ +if (var117){ { { /* Inline parser_nodes#AStdImport#n_name (var_aimport) on */ -var126 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ -if (unlikely(var126 == NULL)) { +var120 = var_aimport->attrs[COLOR_nit__parser_nodes__AStdImport___n_name].val; /* _n_name on */ +if (unlikely(var120 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 961); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1138); +fatal_exit(1); } -var124 = var126; -RET_LABEL125:(void)0; +var118 = var120; +RET_LABEL119:(void)0; } } -if (varonce127) { +if (unlikely(varonce121==NULL)) { +var122 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce123!=NULL)) { +var124 = varonce123; +} else { +var125 = "Error: dependency loop between modules "; +var126 = standard___standard__NativeString___to_s_with_length(var125, 39l); +var124 = var126; +varonce123 = var124; +} +((struct instance_standard__NativeArray*)var122)->values[0]=var124; +if (likely(varonce127!=NULL)) { var128 = varonce127; } else { -var129 = "Error: Dependency loop between modules "; -var130 = 39; -var131 = standard___standard__NativeString___to_s_with_length(var129, var130); -var128 = var131; +var129 = " and "; +var130 = standard___standard__NativeString___to_s_with_length(var129, 5l); +var128 = var130; varonce127 = var128; } -if (varonce132) { -var133 = varonce132; +((struct instance_standard__NativeArray*)var122)->values[2]=var128; +if (likely(varonce131!=NULL)) { +var132 = varonce131; } else { -var134 = " and "; -var135 = 5; -var136 = standard___standard__NativeString___to_s_with_length(var134, var135); -var133 = var136; -varonce132 = var133; +var133 = "."; +var134 = standard___standard__NativeString___to_s_with_length(var133, 1l); +var132 = var134; +varonce131 = var132; } -if (varonce137) { -var138 = varonce137; +((struct instance_standard__NativeArray*)var122)->values[4]=var132; } else { -var139 = "."; -var140 = 1; -var141 = standard___standard__NativeString___to_s_with_length(var139, var140); -var138 = var141; -varonce137 = var138; +var122 = varonce121; +varonce121 = NULL; +} +{ +var135 = ((val*(*)(val* self))(var_mmodule->class->vft[COLOR_standard__string__Object__to_s]))(var_mmodule); /* to_s on */ } -var142 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var142 = array_instance Array[Object] */ -var143 = 5; -var144 = NEW_standard__NativeArray(var143, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var144)->values[0] = (val*) var128; -((struct instance_standard__NativeArray*)var144)->values[1] = (val*) var_mmodule; -((struct instance_standard__NativeArray*)var144)->values[2] = (val*) var133; -((struct instance_standard__NativeArray*)var144)->values[3] = (val*) var_sup; -((struct instance_standard__NativeArray*)var144)->values[4] = (val*) var138; +((struct instance_standard__NativeArray*)var122)->values[1]=var135; { -((void (*)(val* self, val* p0, long p1))(var142->class->vft[COLOR_standard__array__Array__with_native]))(var142, var144, var143) /* with_native on */; +var136 = ((val*(*)(val* self))(var_sup->class->vft[COLOR_standard__string__Object__to_s]))(var_sup); /* to_s on */ } +((struct instance_standard__NativeArray*)var122)->values[3]=var136; +{ +var137 = ((val*(*)(val* self))(var122->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var122); /* native_to_s on */ } +varonce121 = var122; { -var145 = ((val* (*)(val* self))(var142->class->vft[COLOR_standard__string__Object__to_s]))(var142) /* to_s on */; +nit___nit__ModelBuilder___error(self, var118, var137); /* Direct call modelbuilder_base#ModelBuilder#error on */ } { -nit___nit__ModelBuilder___error(self, var124, var145); /* Direct call modelbuilder_base#ModelBuilder#error on */ +{ /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on */ +var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val = ((val*)NULL); /* _mmodule on */ +RET_LABEL138:(void)0; +} } goto RET_LABEL; } else { @@ -5621,306 +6022,306 @@ nit___nit__MModule___set_visibility_for(var_mmodule, var_sup, var_mvisibility); } BREAK_label: (void)0; { -((void (*)(val* self))(var_14->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_14) /* next on */; +((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_12); /* next on */ } } else { -goto BREAK_label146; +goto BREAK_label139; } } -BREAK_label146: (void)0; +BREAK_label139: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_14) on */ -RET_LABEL147:(void)0; -} +((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_12); /* finish on */ } if (var_stdimport){ -if (varonce148) { -var149 = varonce148; +if (likely(varonce140!=NULL)) { +var141 = varonce140; } else { -var150 = "standard"; -var151 = 8; -var152 = standard___standard__NativeString___to_s_with_length(var150, var151); -var149 = var152; -varonce148 = var149; +var142 = "standard"; +var143 = standard___standard__NativeString___to_s_with_length(var142, 8l); +var141 = var143; +varonce140 = var141; } -var_mod_name153 = var149; -var154 = NULL; +var_mod_name144 = var141; { -var155 = nit__loader___ModelBuilder___get_mmodule_by_name(self, var_nmodule, var154, var_mod_name153); +var145 = nit__loader___ModelBuilder___get_mmodule_by_name(self, var_nmodule, ((val*)NULL), var_mod_name144); } -var_sup156 = var155; -var157 = NULL; -if (var_sup156 == NULL) { -var158 = 0; /* is null */ +var_sup146 = var145; +if (var_sup146 == NULL) { +var147 = 1; /* is null */ } else { -var158 = 1; /* arg is null and recv is not */ +var147 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_sup156,var157) on */ -var_other = var157; +{ /* Inline kernel#Object#== (var_sup146,((val*)NULL)) on */ +var_other47 = ((val*)NULL); { -var161 = ((short int (*)(val* self, val* p0))(var_sup156->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_sup156, var_other) /* == on */; +{ /* Inline kernel#Object#is_same_instance (var_sup146,var_other47) on */ +var152 = var_sup146 == var_other47; +var150 = var152; +goto RET_LABEL151; +RET_LABEL151:(void)0; } -var162 = !var161; -var159 = var162; -goto RET_LABEL160; -RET_LABEL160:(void)0; } -var158 = var159; +var148 = var150; +goto RET_LABEL149; +RET_LABEL149:(void)0; +} +var147 = var148; +} +if (var147){ +{ +{ /* Inline loader#AModule#mmodule= (var_nmodule,((val*)NULL)) on */ +var_nmodule->attrs[COLOR_nit__loader__AModule___mmodule].val = ((val*)NULL); /* _mmodule on */ +RET_LABEL153:(void)0; +} } -if (var158){ +} else { { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_imported_modules, var_sup156); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_imported_modules, var_sup146); /* Direct call array#Array#add on */ } +var154 = glob_sys; { -var163 = nit__model_base___standard__Object___public_visibility(self); +var155 = nit__model_base___standard__Sys___public_visibility(var154); } { -nit___nit__MModule___set_visibility_for(var_mmodule, var_sup156, var163); /* Direct call mmodule#MModule#set_visibility_for on */ +nit___nit__MModule___set_visibility_for(var_mmodule, var_sup146, var155); /* Direct call mmodule#MModule#set_visibility_for on */ } -} else { } } else { } { { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on */ -var166 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ -if (unlikely(var166 == NULL)) { +var158 = self->attrs[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext].val; /* _toolcontext on */ +if (unlikely(var158 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base, 47); -show_backtrace(1); +fatal_exit(1); } -var164 = var166; -RET_LABEL165:(void)0; +var156 = var158; +RET_LABEL157:(void)0; } } -if (varonce167) { -var168 = varonce167; +if (unlikely(varonce159==NULL)) { +var160 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce161!=NULL)) { +var162 = varonce161; } else { -var169 = " imports "; -var170 = 9; -var171 = standard___standard__NativeString___to_s_with_length(var169, var170); -var168 = var171; -varonce167 = var168; +var163 = " imports "; +var164 = standard___standard__NativeString___to_s_with_length(var163, 9l); +var162 = var164; +varonce161 = var162; } -if (varonce172) { -var173 = varonce172; +((struct instance_standard__NativeArray*)var160)->values[1]=var162; } else { -var174 = ", "; -var175 = 2; -var176 = standard___standard__NativeString___to_s_with_length(var174, var175); -var173 = var176; -varonce172 = var173; +var160 = varonce159; +varonce159 = NULL; } { -var177 = standard__string___Collection___join(var_imported_modules, var173); +var165 = ((val*(*)(val* self))(var_mmodule->class->vft[COLOR_standard__string__Object__to_s]))(var_mmodule); /* to_s on */ } -var178 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var178 = array_instance Array[Object] */ -var179 = 3; -var180 = NEW_standard__NativeArray(var179, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var180)->values[0] = (val*) var_mmodule; -((struct instance_standard__NativeArray*)var180)->values[1] = (val*) var168; -((struct instance_standard__NativeArray*)var180)->values[2] = (val*) var177; -{ -((void (*)(val* self, val* p0, long p1))(var178->class->vft[COLOR_standard__array__Array__with_native]))(var178, var180, var179) /* with_native on */; +((struct instance_standard__NativeArray*)var160)->values[0]=var165; +if (likely(varonce166!=NULL)) { +var167 = varonce166; +} else { +var168 = ", "; +var169 = standard___standard__NativeString___to_s_with_length(var168, 2l); +var167 = var169; +varonce166 = var167; } +{ +var170 = standard__string___Collection___join(var_imported_modules, var167); } +((struct instance_standard__NativeArray*)var160)->values[2]=var170; { -var181 = ((val* (*)(val* self))(var178->class->vft[COLOR_standard__string__Object__to_s]))(var178) /* to_s on */; +var171 = ((val*(*)(val* self))(var160->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var160); /* native_to_s on */ } -var182 = 3; +varonce159 = var160; { -nit___nit__ToolContext___info(var164, var181, var182); /* Direct call toolcontext#ToolContext#info on */ +nit___nit__ToolContext___info(var156, var171, 3l); /* Direct call toolcontext#ToolContext#info on */ } { nit___nit__MModule___set_imported_mmodules(var_mmodule, var_imported_modules); /* Direct call mmodule#MModule#set_imported_mmodules on */ } { { /* Inline mmodule#MModule#in_importation (var_mmodule) on */ -var185 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ -if (unlikely(var185 == NULL)) { +var174 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var174 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96); -show_backtrace(1); +fatal_exit(1); } -var183 = var185; -RET_LABEL184:(void)0; +var172 = var174; +RET_LABEL173:(void)0; } } { -var186 = poset___poset__POSetElement___greaters(var183); +var175 = poset___poset__POSetElement___greaters(var172); } -var_187 = var186; +var_176 = var175; { -var188 = ((val* (*)(val* self))(var_187->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_187) /* iterator on */; +var177 = ((val*(*)(val* self))((((long)var_176&3)?class_info[((long)var_176&3)]:var_176->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_176); /* iterator on */ } -var_189 = var188; +var_178 = var177; for(;;) { { -var190 = ((short int (*)(val* self))(var_189->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_189) /* is_ok on */; +var179 = ((short int(*)(val* self))((((long)var_178&3)?class_info[((long)var_178&3)]:var_178->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_178); /* is_ok on */ } -if (var190){ +if (var179){ { -var191 = ((val* (*)(val* self))(var_189->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_189) /* item on */; +var180 = ((val*(*)(val* self))((((long)var_178&3)?class_info[((long)var_178&3)]:var_178->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_178); /* item on */ } -var_sup192 = var191; +var_sup181 = var180; { -{ /* Inline mmodule#MModule#name (var_sup192) on */ -var195 = var_sup192->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on */ -if (unlikely(var195 == NULL)) { +{ /* Inline mmodule#MModule#name (var_sup181) on */ +var184 = var_sup181->attrs[COLOR_nit__mmodule__MModule___name].val; /* _name on */ +if (unlikely(var184 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 87); -show_backtrace(1); +fatal_exit(1); } -var193 = var195; -RET_LABEL194:(void)0; +var182 = var184; +RET_LABEL183:(void)0; } } -if (varonce196) { -var197 = varonce196; +if (likely(varonce185!=NULL)) { +var186 = varonce185; } else { -var198 = "standard"; -var199 = 8; -var200 = standard___standard__NativeString___to_s_with_length(var198, var199); -var197 = var200; -varonce196 = var197; +var187 = "standard"; +var188 = standard___standard__NativeString___to_s_with_length(var187, 8l); +var186 = var188; +varonce185 = var186; } { -var201 = ((short int (*)(val* self, val* p0))(var193->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var193, var197) /* == on */; +var189 = ((short int(*)(val* self, val* p0))(var182->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var182, var186); /* == on */ } -if (var201){ +if (var189){ +var190 = glob_sys; { -var202 = nit__model_base___standard__Object___public_visibility(self); +var191 = nit__model_base___standard__Sys___public_visibility(var190); } { -nit___nit__MModule___set_visibility_for(var_mmodule, var_sup192, var202); /* Direct call mmodule#MModule#set_visibility_for on */ +nit___nit__MModule___set_visibility_for(var_mmodule, var_sup181, var191); /* Direct call mmodule#MModule#set_visibility_for on */ } } else { } { -((void (*)(val* self))(var_189->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_189) /* next on */; +((void(*)(val* self))((((long)var_178&3)?class_info[((long)var_178&3)]:var_178->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_178); /* next on */ } } else { -goto BREAK_label203; +goto BREAK_label192; } } -BREAK_label203: (void)0; +BREAK_label192: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_189) on */ -RET_LABEL204:(void)0; -} +((void(*)(val* self))((((long)var_178&3)?class_info[((long)var_178&3)]:var_178->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_178); /* finish on */ } { { /* Inline mmodule#MModule#in_importation (var_mmodule) on */ -var207 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ -if (unlikely(var207 == NULL)) { +var195 = var_mmodule->attrs[COLOR_nit__mmodule__MModule___in_importation].val; /* _in_importation on */ +if (unlikely(var195 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule, 96); -show_backtrace(1); +fatal_exit(1); } -var205 = var207; -RET_LABEL206:(void)0; +var193 = var195; +RET_LABEL194:(void)0; } } { -var208 = poset___poset__POSetElement___direct_greaters(var205); +var196 = poset___poset__POSetElement___direct_greaters(var193); } -var_directs = var208; +var_directs = var196; { { /* Inline parser_nodes#AModule#n_imports (var_nmodule) on */ -var211 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_imports].val; /* _n_imports on */ -if (unlikely(var211 == NULL)) { +var199 = var_nmodule->attrs[COLOR_nit__parser_nodes__AModule___n_imports].val; /* _n_imports on */ +if (unlikely(var199 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_imports"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 913); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser_nodes, 1090); +fatal_exit(1); } -var209 = var211; -RET_LABEL210:(void)0; +var197 = var199; +RET_LABEL198:(void)0; } } -var_212 = var209; +var_200 = var197; { -var213 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_212); +var201 = nit___nit__ANodes___standard__abstract_collection__Collection__iterator(var_200); } -var_214 = var213; +var_202 = var201; for(;;) { { -var215 = ((short int (*)(val* self))(var_214->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_214) /* is_ok on */; +var203 = ((short int(*)(val* self))((((long)var_202&3)?class_info[((long)var_202&3)]:var_202->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_202); /* is_ok on */ } -if (var215){ +if (var203){ { -var216 = ((val* (*)(val* self))(var_214->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_214) /* item on */; +var204 = ((val*(*)(val* self))((((long)var_202&3)?class_info[((long)var_202&3)]:var_202->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_202); /* item on */ } -var_nim = var216; +var_nim = var204; /* isa AStdImport */ -cltype218 = type_nit__AStdImport.color; -idtype219 = type_nit__AStdImport.id; -if(cltype218 >= var_nim->type->table_size) { -var217 = 0; +cltype206 = type_nit__AStdImport.color; +idtype207 = type_nit__AStdImport.id; +if(cltype206 >= var_nim->type->table_size) { +var205 = 0; } else { -var217 = var_nim->type->type_table[cltype218] == idtype219; +var205 = var_nim->type->type_table[cltype206] == idtype207; } -var220 = !var217; -if (var220){ -goto BREAK_label221; +var208 = !var205; +if (var208){ +goto BREAK_label209; } else { } { { /* Inline loader#AStdImport#mmodule (var_nim) on */ -var224 = var_nim->attrs[COLOR_nit__loader__AStdImport___mmodule].val; /* _mmodule on */ -var222 = var224; -RET_LABEL223:(void)0; +var212 = var_nim->attrs[COLOR_nit__loader__AStdImport___mmodule].val; /* _mmodule on */ +var210 = var212; +RET_LABEL211:(void)0; } } -var_im = var222; -var225 = NULL; +var_im = var210; if (var_im == NULL) { -var226 = 1; /* is null */ +var213 = 1; /* is null */ } else { -var226 = 0; /* arg is null but recv is not */ +var213 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_im,var225) on */ -var_other53 = var225; +{ /* Inline kernel#Object#== (var_im,((val*)NULL)) on */ +var_other47 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_im,var_other53) on */ -var231 = var_im == var_other53; -var229 = var231; -goto RET_LABEL230; -RET_LABEL230:(void)0; +{ /* Inline kernel#Object#is_same_instance (var_im,var_other47) on */ +var218 = var_im == var_other47; +var216 = var218; +goto RET_LABEL217; +RET_LABEL217:(void)0; } } -var227 = var229; -goto RET_LABEL228; -RET_LABEL228:(void)0; +var214 = var216; +goto RET_LABEL215; +RET_LABEL215:(void)0; } -var226 = var227; +var213 = var214; } -if (var226){ -goto BREAK_label221; +if (var213){ +goto BREAK_label209; } else { } { -var232 = ((short int (*)(val* self, val* p0))(var_directs->class->vft[COLOR_standard__abstract_collection__Collection__has]))(var_directs, var_im) /* has on */; +var219 = ((short int(*)(val* self, val* p0))((((long)var_directs&3)?class_info[((long)var_directs&3)]:var_directs->class)->vft[COLOR_standard__abstract_collection__Collection__has]))(var_directs, var_im); /* has on */ } -if (var232){ -goto BREAK_label221; +if (var219){ +goto BREAK_label209; } else { } -BREAK_label221: (void)0; +BREAK_label209: (void)0; { -((void (*)(val* self))(var_214->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_214) /* next on */; +((void(*)(val* self))((((long)var_202&3)?class_info[((long)var_202&3)]:var_202->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_202); /* next on */ } } else { -goto BREAK_label233; +goto BREAK_label220; } } -BREAK_label233: (void)0; +BREAK_label220: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_214) on */ -RET_LABEL234:(void)0; -} +((void(*)(val* self))((((long)var_202&3)?class_info[((long)var_202&3)]:var_202->class)->vft[COLOR_standard__abstract_collection__Iterator__finish]))(var_202); /* finish on */ } RET_LABEL:; } @@ -5931,8 +6332,8 @@ val* var1 /* : Array[AModule] */; var1 = self->attrs[COLOR_nit__loader__ModelBuilder___nmodules].val; /* _nmodules on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nmodules"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 638); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 762); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -5945,8 +6346,8 @@ val* var1 /* : HashMap[MModule, AModule] */; var1 = self->attrs[COLOR_nit__loader__ModelBuilder___mmodule2nmodule].val; /* _mmodule2nmodule on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 641); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 765); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -5965,8 +6366,8 @@ var_mmodule = p0; var3 = self->attrs[COLOR_nit__loader__ModelBuilder___mmodule2nmodule].val; /* _mmodule2nmodule on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule2nmodule"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 641); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 765); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -5987,8 +6388,8 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_nit__loader__ModulePath___name].val; /* _name on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 658); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 782); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -6006,8 +6407,8 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_nit__loader__ModulePath___filepath].val; /* _filepath on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 662); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 786); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -6025,8 +6426,8 @@ val* var1 /* : MGroup */; var1 = self->attrs[COLOR_nit__loader__ModulePath___mgroup].val; /* _mgroup on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mgroup"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 665); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 789); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -6061,8 +6462,8 @@ val* var3 /* : String */; var3 = self->attrs[COLOR_nit__loader__ModulePath___filepath].val; /* _filepath on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filepath"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 662); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 786); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -6076,7 +6477,7 @@ return var; /* method loader#ModulePath#init for (self: ModulePath) */ void nit___nit__ModulePath___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__ModulePath___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__ModulePath___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } @@ -6087,8 +6488,8 @@ val* var1 /* : Array[ModulePath] */; var1 = self->attrs[COLOR_nit__loader__MGroup___module_paths].val; /* _module_paths on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _module_paths"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 675); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__loader, 799); +fatal_exit(1); } var = var1; RET_LABEL:;