X-Git-Url: http://nitlanguage.org diff --git a/c_src/nit__toolcontext.sep.1.c b/c_src/nit__toolcontext.sep.1.c index d2b05ba..34863d2 100644 --- a/c_src/nit__toolcontext.sep.1.c +++ b/c_src/nit__toolcontext.sep.1.c @@ -35,7 +35,7 @@ var1 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on isa OTHER */ /* isa OTHER */ type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; @@ -85,8 +81,8 @@ var1 = p0->type->type_table[cltype] == idtype; if (unlikely(!var1)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 49); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 61); +fatal_exit(1); } var_other = p0; { @@ -96,73 +92,201 @@ var2 = var4; RET_LABEL3:(void)0; } } -var5 = NULL; if (var2 == NULL) { -var6 = 1; /* is null */ +var5 = 1; /* is null */ } else { -var6 = 0; /* arg is null but recv is not */ +var5 = 0; /* arg is null but recv is not */ } if (0) { -var7 = nit___nit__Location___standard__kernel__Object___61d_61d(var2, var5); -var6 = var7; +var6 = nit___nit__Location___standard__kernel__Object___61d_61d(var2, ((val*)NULL)); +var5 = var6; } -if (var6){ -var8 = 1; -var = var8; +if (var5){ +var = 1; goto RET_LABEL; } else { } { { /* Inline toolcontext#Message#location (var_other) on */ -var11 = var_other->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on */ -var9 = var11; -RET_LABEL10:(void)0; +var9 = var_other->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on */ +var7 = var9; +RET_LABEL8:(void)0; } } -var12 = NULL; -if (var9 == NULL) { -var13 = 1; /* is null */ +if (var7 == NULL) { +var10 = 1; /* is null */ } else { -var13 = 0; /* arg is null but recv is not */ +var10 = 0; /* arg is null but recv is not */ } if (0) { -var14 = nit___nit__Location___standard__kernel__Object___61d_61d(var9, var12); -var13 = var14; +var11 = nit___nit__Location___standard__kernel__Object___61d_61d(var7, ((val*)NULL)); +var10 = var11; } -if (var13){ -var15 = 0; -var = var15; +if (var10){ +var = 0; goto RET_LABEL; } else { } { { /* Inline toolcontext#Message#location (self) on */ -var18 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on */ -var16 = var18; -RET_LABEL17:(void)0; +var14 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on */ +var12 = var14; +RET_LABEL13:(void)0; } } -if (unlikely(var16 == NULL)) { +if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 54); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 66); +fatal_exit(1); } { { /* Inline toolcontext#Message#location (var_other) on */ -var21 = var_other->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on */ -var19 = var21; -RET_LABEL20:(void)0; +var17 = var_other->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on */ +var15 = var17; +RET_LABEL16:(void)0; } } -if (unlikely(var19 == NULL)) { +if (unlikely(var15 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 54); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 66); +fatal_exit(1); +} +{ +var18 = nit___nit__Location___standard__kernel__Comparable___60d(var12, var15); +} +var = var18; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method toolcontext#Message#== for (self: Message, nullable Object): Bool */ +short int nit___nit__Message___standard__kernel__Object___61d_61d(val* self, val* p0) { +short int var /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +val* var5 /* : nullable Location */; +val* var7 /* : nullable Location */; +val* var8 /* : nullable Location */; +val* var10 /* : nullable Location */; +short int var11 /* : Bool */; +short int var12 /* : Bool */; +short int var_ /* var : Bool */; +val* var13 /* : nullable String */; +val* var15 /* : nullable String */; +val* var16 /* : nullable String */; +val* var18 /* : nullable String */; +short int var19 /* : Bool */; +short int var20 /* : Bool */; +short int var_21 /* var : Bool */; +val* var22 /* : String */; +val* var24 /* : String */; +val* var25 /* : String */; +val* var27 /* : String */; +short int var28 /* : Bool */; +var_other = p0; +/* isa Message */ +cltype = type_nit__Message.color; +idtype = type_nit__Message.id; +if(var_other == NULL) { +var1 = 0; +} else { +if(cltype >= (((long)var_other&3)?type_info[((long)var_other&3)]:var_other->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_other&3)?type_info[((long)var_other&3)]:var_other->type)->type_table[cltype] == idtype; +} +} +var2 = !var1; +if (var2){ +var = 0; +goto RET_LABEL; +} else { +} +{ +{ /* Inline toolcontext#Message#location (self) on */ +var7 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on */ +var5 = var7; +RET_LABEL6:(void)0; +} +} +{ +{ /* Inline toolcontext#Message#location (var_other) on */ +var10 = var_other->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on */ +var8 = var10; +RET_LABEL9:(void)0; +} +} +if (var5 == NULL) { +var11 = (var8 == NULL); +} else { +var12 = nit___nit__Location___standard__kernel__Object___61d_61d(var5, var8); +var11 = var12; } +var_ = var11; +if (var11){ { -var22 = nit___nit__Location___standard__kernel__Comparable___60d(var16, var19); +{ /* Inline toolcontext#Message#tag (self) on */ +var15 = self->attrs[COLOR_nit__toolcontext__Message___tag].val; /* _tag on */ +var13 = var15; +RET_LABEL14:(void)0; +} +} +{ +{ /* Inline toolcontext#Message#tag (var_other) on */ +var18 = var_other->attrs[COLOR_nit__toolcontext__Message___tag].val; /* _tag on */ +var16 = var18; +RET_LABEL17:(void)0; } -var = var22; +} +if (var13 == NULL) { +var19 = (var16 == NULL); +} else { +var20 = ((short int(*)(val* self, val* p0))(var13->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var13, var16); /* == on */ +var19 = var20; +} +var4 = var19; +} else { +var4 = var_; +} +var_21 = var4; +if (var4){ +{ +{ /* Inline toolcontext#Message#text (self) on */ +var24 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ +if (unlikely(var24 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42); +fatal_exit(1); +} +var22 = var24; +RET_LABEL23:(void)0; +} +} +{ +{ /* Inline toolcontext#Message#text (var_other) on */ +var27 = var_other->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ +if (unlikely(var27 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42); +fatal_exit(1); +} +var25 = var27; +RET_LABEL26:(void)0; +} +} +{ +var28 = ((short int(*)(val* self, val* p0))(var22->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var22, var25); /* == on */ +} +var3 = var28; +} else { +var3 = var_21; +} +var = var3; goto RET_LABEL; RET_LABEL:; return var; @@ -173,22 +297,20 @@ val* var /* : String */; val* var1 /* : nullable Location */; val* var3 /* : nullable Location */; val* var_l /* var l: nullable Location */; -val* var4 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; -val* var7 /* : String */; -val* var9 /* : String */; +val* var6 /* : String */; +val* var8 /* : String */; +val* var9 /* : NativeArray[String] */; static val* varonce; -val* var10 /* : String */; -char* var11 /* : NativeString */; -long var12 /* : Int */; +static val* varonce10; +val* var11 /* : String */; +char* var12 /* : NativeString */; val* var13 /* : FlatString */; val* var14 /* : String */; -val* var16 /* : String */; -val* var17 /* : Array[Object] */; -long var18 /* : Int */; -val* var19 /* : NativeArray[Object] */; -val* var20 /* : String */; +val* var15 /* : String */; +val* var17 /* : String */; +val* var18 /* : String */; { { /* Inline toolcontext#Message#location (self) on */ var3 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on */ @@ -197,68 +319,68 @@ RET_LABEL2:(void)0; } } var_l = var1; -var4 = NULL; if (var_l == NULL) { -var5 = 1; /* is null */ +var4 = 1; /* is null */ } else { -var5 = 0; /* arg is null but recv is not */ +var4 = 0; /* arg is null but recv is not */ } if (0) { -var6 = nit___nit__Location___standard__kernel__Object___61d_61d(var_l, var4); -var5 = var6; +var5 = nit___nit__Location___standard__kernel__Object___61d_61d(var_l, ((val*)NULL)); +var4 = var5; } -if (var5){ +if (var4){ { { /* Inline toolcontext#Message#text (self) on */ -var9 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ -if (unlikely(var9 == NULL)) { +var8 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ +if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42); -show_backtrace(1); +fatal_exit(1); } -var7 = var9; -RET_LABEL8:(void)0; +var6 = var8; +RET_LABEL7:(void)0; } } -var = var7; +var = var6; goto RET_LABEL; } else { -if (varonce) { -var10 = varonce; +if (unlikely(varonce==NULL)) { +var9 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce10!=NULL)) { +var11 = varonce10; } else { -var11 = ": "; -var12 = 2; -var13 = standard___standard__NativeString___to_s_with_length(var11, var12); -var10 = var13; -varonce = var10; +var12 = ": "; +var13 = standard___standard__NativeString___to_s_with_length(var12, 2l); +var11 = var13; +varonce10 = var11; +} +((struct instance_standard__NativeArray*)var9)->values[1]=var11; +} else { +var9 = varonce; +varonce = NULL; +} +{ +var14 = ((val*(*)(val* self))(var_l->class->vft[COLOR_standard__string__Object__to_s]))(var_l); /* to_s on */ } +((struct instance_standard__NativeArray*)var9)->values[0]=var14; { { /* Inline toolcontext#Message#text (self) on */ -var16 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ -if (unlikely(var16 == NULL)) { +var17 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ +if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42); -show_backtrace(1); -} -var14 = var16; -RET_LABEL15:(void)0; +fatal_exit(1); } -} -var17 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var17 = array_instance Array[Object] */ -var18 = 3; -var19 = NEW_standard__NativeArray(var18, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var19)->values[0] = (val*) var_l; -((struct instance_standard__NativeArray*)var19)->values[1] = (val*) var10; -((struct instance_standard__NativeArray*)var19)->values[2] = (val*) var14; -{ -((void (*)(val* self, val* p0, long p1))(var17->class->vft[COLOR_standard__array__Array__with_native]))(var17, var19, var18) /* with_native on */; +var15 = var17; +RET_LABEL16:(void)0; } } +((struct instance_standard__NativeArray*)var9)->values[2]=var15; { -var20 = ((val* (*)(val* self))(var17->class->vft[COLOR_standard__string__Object__to_s]))(var17) /* to_s on */; +var18 = ((val*(*)(val* self))(var9->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var9); /* native_to_s on */ } -var = var20; +varonce = var9; +var = var18; goto RET_LABEL; } RET_LABEL:; @@ -267,435 +389,465 @@ return var; /* method toolcontext#Message#to_color_string for (self: Message): String */ val* nit___nit__Message___to_color_string(val* self) { val* var /* : String */; -long var1 /* : Int */; -char var2 /* : Char */; -char var4 /* : Char */; -char var_esc /* var esc: Char */; +uint32_t var1 /* : Char */; +uint32_t var3 /* : Char */; +uint32_t var_esc /* var esc: Char */; +val* var4 /* : NativeArray[String] */; static val* varonce; -val* var5 /* : String */; -char* var6 /* : NativeString */; -long var7 /* : Int */; +static val* varonce5; +val* var6 /* : String */; +char* var7 /* : NativeString */; val* var8 /* : FlatString */; -val* var9 /* : Array[Object] */; -long var10 /* : Int */; -val* var11 /* : NativeArray[Object] */; -val* var12 /* : Object */; -val* var13 /* : String */; +val* var9 /* : String */; +val* var10 /* : String */; val* var_yellow /* var yellow: String */; -static val* varonce14; -val* var15 /* : String */; -char* var16 /* : NativeString */; -long var17 /* : Int */; -val* var18 /* : FlatString */; -val* var19 /* : Array[Object] */; -long var20 /* : Int */; -val* var21 /* : NativeArray[Object] */; -val* var22 /* : Object */; -val* var23 /* : String */; +val* var12 /* : NativeArray[String] */; +static val* varonce11; +static val* varonce13; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +val* var17 /* : String */; +val* var18 /* : String */; val* var_def /* var def: String */; -val* var24 /* : nullable String */; -val* var26 /* : nullable String */; +val* var19 /* : nullable String */; +val* var21 /* : nullable String */; val* var_tag /* var tag: nullable String */; -val* var27 /* : null */; -short int var28 /* : Bool */; -short int var29 /* : Bool */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var31 /* : Bool */; -short int var32 /* : Bool */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +val* var28 /* : NativeArray[String] */; +static val* varonce27; +static val* varonce29; +val* var30 /* : String */; +char* var31 /* : NativeString */; +val* var32 /* : FlatString */; static val* varonce33; val* var34 /* : String */; char* var35 /* : NativeString */; -long var36 /* : Int */; -val* var37 /* : FlatString */; +val* var36 /* : FlatString */; +val* var37 /* : String */; static val* varonce38; val* var39 /* : String */; char* var40 /* : NativeString */; -long var41 /* : Int */; -val* var42 /* : FlatString */; -val* var43 /* : Array[Object] */; -long var44 /* : Int */; -val* var45 /* : NativeArray[Object] */; -val* var46 /* : String */; -static val* varonce47; -val* var48 /* : String */; -char* var49 /* : NativeString */; -long var50 /* : Int */; -val* var51 /* : FlatString */; -val* var52 /* : nullable Location */; -val* var54 /* : nullable Location */; +val* var41 /* : FlatString */; +val* var42 /* : nullable Location */; +val* var44 /* : nullable Location */; val* var_l /* var l: nullable Location */; -val* var55 /* : null */; +short int var45 /* : Bool */; +short int var46 /* : Bool */; +val* var48 /* : NativeArray[String] */; +static val* varonce47; +val* var49 /* : String */; +val* var51 /* : String */; +val* var52 /* : String */; +val* var53 /* : nullable SourceFile */; +val* var55 /* : nullable SourceFile */; short int var56 /* : Bool */; short int var57 /* : Bool */; -val* var58 /* : String */; -val* var60 /* : String */; -val* var61 /* : Array[Object] */; -long var62 /* : Int */; -val* var63 /* : NativeArray[Object] */; -val* var64 /* : String */; -val* var65 /* : nullable SourceFile */; -val* var67 /* : nullable SourceFile */; -val* var68 /* : null */; -short int var69 /* : Bool */; -short int var70 /* : Bool */; -val* var_other72 /* var other: nullable Object */; -short int var73 /* : Bool */; -short int var75 /* : Bool */; +val* var_other59 /* var other: nullable Object */; +short int var60 /* : Bool */; +short int var62 /* : Bool */; +val* var64 /* : NativeArray[String] */; +static val* varonce63; +static val* varonce65; +val* var66 /* : String */; +char* var67 /* : NativeString */; +val* var68 /* : FlatString */; +val* var69 /* : String */; +val* var70 /* : String */; +val* var72 /* : String */; +val* var73 /* : String */; +val* var75 /* : NativeArray[String] */; +static val* varonce74; static val* varonce76; val* var77 /* : String */; char* var78 /* : NativeString */; -long var79 /* : Int */; -val* var80 /* : FlatString */; +val* var79 /* : FlatString */; +static val* varonce80; val* var81 /* : String */; -val* var83 /* : String */; -val* var84 /* : Array[Object] */; -long var85 /* : Int */; -val* var86 /* : NativeArray[Object] */; +char* var82 /* : NativeString */; +val* var83 /* : FlatString */; +val* var84 /* : String */; +val* var85 /* : String */; val* var87 /* : String */; static val* varonce88; val* var89 /* : String */; char* var90 /* : NativeString */; -long var91 /* : Int */; -val* var92 /* : FlatString */; +val* var91 /* : FlatString */; +val* var92 /* : String */; val* var93 /* : String */; -val* var95 /* : String */; -static val* varonce96; -val* var97 /* : String */; -char* var98 /* : NativeString */; -long var99 /* : Int */; -val* var100 /* : FlatString */; -static val* varonce101; -val* var102 /* : String */; -char* var103 /* : NativeString */; -long var104 /* : Int */; -val* var105 /* : FlatString */; -val* var106 /* : String */; -val* var107 /* : Array[Object] */; -long var108 /* : Int */; -val* var109 /* : NativeArray[Object] */; -val* var110 /* : String */; -var1 = 27; { -{ /* Inline kernel#Int#ascii (var1) on */ -var4 = var1; -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; +{ /* Inline kernel#Int#ascii (27l) on <27l:Int> */ +var3 = (uint32_t)27l; +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -var_esc = var2; -if (varonce) { -var5 = varonce; +var_esc = var1; +if (unlikely(varonce==NULL)) { +var4 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce5!=NULL)) { +var6 = varonce5; } else { -var6 = "[0;33m"; -var7 = 6; -var8 = standard___standard__NativeString___to_s_with_length(var6, var7); -var5 = var8; -varonce = var5; -} -var9 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var9 = array_instance Array[Object] */ -var10 = 2; -var11 = NEW_standard__NativeArray(var10, &type_standard__NativeArray__standard__Object); -var12 = BOX_standard__Char(var_esc); /* autobox from Char to Object */ -((struct instance_standard__NativeArray*)var11)->values[0] = (val*) var12; -((struct instance_standard__NativeArray*)var11)->values[1] = (val*) var5; -{ -((void (*)(val* self, val* p0, long p1))(var9->class->vft[COLOR_standard__array__Array__with_native]))(var9, var11, var10) /* with_native on */; +var7 = "[0;33m"; +var8 = standard___standard__NativeString___to_s_with_length(var7, 6l); +var6 = var8; +varonce5 = var6; } +((struct instance_standard__NativeArray*)var4)->values[1]=var6; +} else { +var4 = varonce; +varonce = NULL; } +var9 = standard__string___Char___Object__to_s(var_esc); +((struct instance_standard__NativeArray*)var4)->values[0]=var9; { -var13 = ((val* (*)(val* self))(var9->class->vft[COLOR_standard__string__Object__to_s]))(var9) /* to_s on */; +var10 = ((val*(*)(val* self))(var4->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var4); /* native_to_s on */ } -var_yellow = var13; -if (varonce14) { -var15 = varonce14; +varonce = var4; +var_yellow = var10; +if (unlikely(varonce11==NULL)) { +var12 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce13!=NULL)) { +var14 = varonce13; } else { -var16 = "[0m"; -var17 = 3; -var18 = standard___standard__NativeString___to_s_with_length(var16, var17); -var15 = var18; -varonce14 = var15; -} -var19 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var19 = array_instance Array[Object] */ -var20 = 2; -var21 = NEW_standard__NativeArray(var20, &type_standard__NativeArray__standard__Object); -var22 = BOX_standard__Char(var_esc); /* autobox from Char to Object */ -((struct instance_standard__NativeArray*)var21)->values[0] = (val*) var22; -((struct instance_standard__NativeArray*)var21)->values[1] = (val*) var15; -{ -((void (*)(val* self, val* p0, long p1))(var19->class->vft[COLOR_standard__array__Array__with_native]))(var19, var21, var20) /* with_native on */; +var15 = "[0m"; +var16 = standard___standard__NativeString___to_s_with_length(var15, 3l); +var14 = var16; +varonce13 = var14; } +((struct instance_standard__NativeArray*)var12)->values[1]=var14; +} else { +var12 = varonce11; +varonce11 = NULL; } +var17 = standard__string___Char___Object__to_s(var_esc); +((struct instance_standard__NativeArray*)var12)->values[0]=var17; { -var23 = ((val* (*)(val* self))(var19->class->vft[COLOR_standard__string__Object__to_s]))(var19) /* to_s on */; +var18 = ((val*(*)(val* self))(var12->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var12); /* native_to_s on */ } -var_def = var23; +varonce11 = var12; +var_def = var18; { { /* Inline toolcontext#Message#tag (self) on */ -var26 = self->attrs[COLOR_nit__toolcontext__Message___tag].val; /* _tag on */ -var24 = var26; -RET_LABEL25:(void)0; +var21 = self->attrs[COLOR_nit__toolcontext__Message___tag].val; /* _tag on */ +var19 = var21; +RET_LABEL20:(void)0; } } -var_tag = var24; -var27 = NULL; +var_tag = var19; if (var_tag == NULL) { -var28 = 0; /* is null */ +var22 = 0; /* is null */ } else { -var28 = 1; /* arg is null and recv is not */ +var22 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_tag,var27) on */ -var_other = var27; +{ /* Inline kernel#Object#!= (var_tag,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var31 = ((short int (*)(val* self, val* p0))(var_tag->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_tag, var_other) /* == on */; +var25 = ((short int(*)(val* self, val* p0))(var_tag->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_tag, var_other); /* == on */ } -var32 = !var31; -var29 = var32; -goto RET_LABEL30; -RET_LABEL30:(void)0; +var26 = !var25; +var23 = var26; +goto RET_LABEL24; +RET_LABEL24:(void)0; } -var28 = var29; +var22 = var23; } -if (var28){ -if (varonce33) { +if (var22){ +if (unlikely(varonce27==NULL)) { +var28 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce29!=NULL)) { +var30 = varonce29; +} else { +var31 = " ("; +var32 = standard___standard__NativeString___to_s_with_length(var31, 2l); +var30 = var32; +varonce29 = var30; +} +((struct instance_standard__NativeArray*)var28)->values[0]=var30; +if (likely(varonce33!=NULL)) { var34 = varonce33; } else { -var35 = " ("; -var36 = 2; -var37 = standard___standard__NativeString___to_s_with_length(var35, var36); -var34 = var37; +var35 = ")"; +var36 = standard___standard__NativeString___to_s_with_length(var35, 1l); +var34 = var36; varonce33 = var34; } -if (varonce38) { -var39 = varonce38; +((struct instance_standard__NativeArray*)var28)->values[2]=var34; } else { -var40 = ")"; -var41 = 1; -var42 = standard___standard__NativeString___to_s_with_length(var40, var41); -var39 = var42; -varonce38 = var39; -} -var43 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var43 = array_instance Array[Object] */ -var44 = 3; -var45 = NEW_standard__NativeArray(var44, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var45)->values[0] = (val*) var34; -((struct instance_standard__NativeArray*)var45)->values[1] = (val*) var_tag; -((struct instance_standard__NativeArray*)var45)->values[2] = (val*) var39; -{ -((void (*)(val* self, val* p0, long p1))(var43->class->vft[COLOR_standard__array__Array__with_native]))(var43, var45, var44) /* with_native on */; -} +var28 = varonce27; +varonce27 = NULL; } +((struct instance_standard__NativeArray*)var28)->values[1]=var_tag; { -var46 = ((val* (*)(val* self))(var43->class->vft[COLOR_standard__string__Object__to_s]))(var43) /* to_s on */; +var37 = ((val*(*)(val* self))(var28->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var28); /* native_to_s on */ } -var_tag = var46; +varonce27 = var28; +var_tag = var37; } else { -if (varonce47) { -var48 = varonce47; +if (likely(varonce38!=NULL)) { +var39 = varonce38; } else { -var49 = ""; -var50 = 0; -var51 = standard___standard__NativeString___to_s_with_length(var49, var50); -var48 = var51; -varonce47 = var48; +var40 = ""; +var41 = standard___standard__NativeString___to_s_with_length(var40, 0l); +var39 = var41; +varonce38 = var39; } -var_tag = var48; +var_tag = var39; } { { /* Inline toolcontext#Message#location (self) on */ -var54 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on */ -var52 = var54; -RET_LABEL53:(void)0; +var44 = self->attrs[COLOR_nit__toolcontext__Message___location].val; /* _location on */ +var42 = var44; +RET_LABEL43:(void)0; } } -var_l = var52; -var55 = NULL; +var_l = var42; if (var_l == NULL) { -var56 = 1; /* is null */ +var45 = 1; /* is null */ } else { -var56 = 0; /* arg is null but recv is not */ +var45 = 0; /* arg is null but recv is not */ } if (0) { -var57 = nit___nit__Location___standard__kernel__Object___61d_61d(var_l, var55); -var56 = var57; +var46 = nit___nit__Location___standard__kernel__Object___61d_61d(var_l, ((val*)NULL)); +var45 = var46; +} +if (var45){ +if (unlikely(varonce47==NULL)) { +var48 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +} else { +var48 = varonce47; +varonce47 = NULL; } -if (var56){ { { /* Inline toolcontext#Message#text (self) on */ -var60 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ -if (unlikely(var60 == NULL)) { +var51 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ +if (unlikely(var51 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42); -show_backtrace(1); -} -var58 = var60; -RET_LABEL59:(void)0; +fatal_exit(1); } -} -var61 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var61 = array_instance Array[Object] */ -var62 = 2; -var63 = NEW_standard__NativeArray(var62, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var63)->values[0] = (val*) var58; -((struct instance_standard__NativeArray*)var63)->values[1] = (val*) var_tag; -{ -((void (*)(val* self, val* p0, long p1))(var61->class->vft[COLOR_standard__array__Array__with_native]))(var61, var63, var62) /* with_native on */; +var49 = var51; +RET_LABEL50:(void)0; } } +((struct instance_standard__NativeArray*)var48)->values[0]=var49; +((struct instance_standard__NativeArray*)var48)->values[1]=var_tag; { -var64 = ((val* (*)(val* self))(var61->class->vft[COLOR_standard__string__Object__to_s]))(var61) /* to_s on */; +var52 = ((val*(*)(val* self))(var48->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var48); /* native_to_s on */ } -var = var64; +varonce47 = var48; +var = var52; goto RET_LABEL; } else { { { /* Inline location#Location#file (var_l) on */ -var67 = var_l->attrs[COLOR_nit__location__Location___file].val; /* _file on */ -var65 = var67; -RET_LABEL66:(void)0; +var55 = var_l->attrs[COLOR_nit__location__Location___file].val; /* _file on */ +var53 = var55; +RET_LABEL54:(void)0; } } -var68 = NULL; -if (var65 == NULL) { -var69 = 1; /* is null */ +if (var53 == NULL) { +var56 = 1; /* is null */ } else { -var69 = 0; /* arg is null but recv is not */ +var56 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var65,var68) on */ -var_other72 = var68; +{ /* Inline kernel#Object#== (var53,((val*)NULL)) on */ +var_other59 = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var65,var_other72) on */ -var75 = var65 == var_other72; -var73 = var75; -goto RET_LABEL74; -RET_LABEL74:(void)0; +{ /* Inline kernel#Object#is_same_instance (var53,var_other59) on */ +var62 = var53 == var_other59; +var60 = var62; +goto RET_LABEL61; +RET_LABEL61:(void)0; +} +} +var57 = var60; +goto RET_LABEL58; +RET_LABEL58:(void)0; +} +var56 = var57; +} +if (var56){ +if (unlikely(varonce63==NULL)) { +var64 = NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String); +if (likely(varonce65!=NULL)) { +var66 = varonce65; +} else { +var67 = ": "; +var68 = standard___standard__NativeString___to_s_with_length(var67, 2l); +var66 = var68; +varonce65 = var66; +} +((struct instance_standard__NativeArray*)var64)->values[3]=var66; +} else { +var64 = varonce63; +varonce63 = NULL; +} +((struct instance_standard__NativeArray*)var64)->values[0]=var_yellow; +{ +var69 = ((val*(*)(val* self))(var_l->class->vft[COLOR_standard__string__Object__to_s]))(var_l); /* to_s on */ } +((struct instance_standard__NativeArray*)var64)->values[1]=var69; +((struct instance_standard__NativeArray*)var64)->values[2]=var_def; +{ +{ /* Inline toolcontext#Message#text (self) on */ +var72 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ +if (unlikely(var72 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42); +fatal_exit(1); } -var70 = var73; -goto RET_LABEL71; +var70 = var72; RET_LABEL71:(void)0; } -var69 = var70; } -if (var69){ -if (varonce76) { +((struct instance_standard__NativeArray*)var64)->values[4]=var70; +((struct instance_standard__NativeArray*)var64)->values[5]=var_tag; +{ +var73 = ((val*(*)(val* self))(var64->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var64); /* native_to_s on */ +} +varonce63 = var64; +var = var73; +goto RET_LABEL; +} else { +if (unlikely(varonce74==NULL)) { +var75 = NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String); +if (likely(varonce76!=NULL)) { var77 = varonce76; } else { var78 = ": "; -var79 = 2; -var80 = standard___standard__NativeString___to_s_with_length(var78, var79); -var77 = var80; +var79 = standard___standard__NativeString___to_s_with_length(var78, 2l); +var77 = var79; varonce76 = var77; } -{ -{ /* Inline toolcontext#Message#text (self) on */ -var83 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ -if (unlikely(var83 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42); -show_backtrace(1); -} +((struct instance_standard__NativeArray*)var75)->values[3]=var77; +if (likely(varonce80!=NULL)) { +var81 = varonce80; +} else { +var82 = "\n"; +var83 = standard___standard__NativeString___to_s_with_length(var82, 1l); var81 = var83; -RET_LABEL82:(void)0; +varonce80 = var81; } +((struct instance_standard__NativeArray*)var75)->values[6]=var81; +} else { +var75 = varonce74; +varonce74 = NULL; } -var84 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var84 = array_instance Array[Object] */ -var85 = 6; -var86 = NEW_standard__NativeArray(var85, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var86)->values[0] = (val*) var_yellow; -((struct instance_standard__NativeArray*)var86)->values[1] = (val*) var_l; -((struct instance_standard__NativeArray*)var86)->values[2] = (val*) var_def; -((struct instance_standard__NativeArray*)var86)->values[3] = (val*) var77; -((struct instance_standard__NativeArray*)var86)->values[4] = (val*) var81; -((struct instance_standard__NativeArray*)var86)->values[5] = (val*) var_tag; +((struct instance_standard__NativeArray*)var75)->values[0]=var_yellow; { -((void (*)(val* self, val* p0, long p1))(var84->class->vft[COLOR_standard__array__Array__with_native]))(var84, var86, var85) /* with_native on */; -} +var84 = ((val*(*)(val* self))(var_l->class->vft[COLOR_standard__string__Object__to_s]))(var_l); /* to_s on */ } +((struct instance_standard__NativeArray*)var75)->values[1]=var84; +((struct instance_standard__NativeArray*)var75)->values[2]=var_def; { -var87 = ((val* (*)(val* self))(var84->class->vft[COLOR_standard__string__Object__to_s]))(var84) /* to_s on */; +{ /* Inline toolcontext#Message#text (self) on */ +var87 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ +if (unlikely(var87 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42); +fatal_exit(1); } -var = var87; -goto RET_LABEL; -} else { -if (varonce88) { +var85 = var87; +RET_LABEL86:(void)0; +} +} +((struct instance_standard__NativeArray*)var75)->values[4]=var85; +((struct instance_standard__NativeArray*)var75)->values[5]=var_tag; +if (likely(varonce88!=NULL)) { var89 = varonce88; } else { -var90 = ": "; -var91 = 2; -var92 = standard___standard__NativeString___to_s_with_length(var90, var91); -var89 = var92; +var90 = "1;31"; +var91 = standard___standard__NativeString___to_s_with_length(var90, 4l); +var89 = var91; varonce88 = var89; } { -{ /* Inline toolcontext#Message#text (self) on */ -var95 = self->attrs[COLOR_nit__toolcontext__Message___text].val; /* _text on */ -if (unlikely(var95 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 42); -show_backtrace(1); +var92 = nit___nit__Location___colored_line(var_l, var89); } -var93 = var95; -RET_LABEL94:(void)0; +((struct instance_standard__NativeArray*)var75)->values[7]=var92; +{ +var93 = ((val*(*)(val* self))(var75->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var75); /* native_to_s on */ } +varonce74 = var75; +var = var93; +goto RET_LABEL; } -if (varonce96) { -var97 = varonce96; -} else { -var98 = "\n"; -var99 = 1; -var100 = standard___standard__NativeString___to_s_with_length(var98, var99); -var97 = var100; -varonce96 = var97; } -if (varonce101) { -var102 = varonce101; -} else { -var103 = "1;31"; -var104 = 4; -var105 = standard___standard__NativeString___to_s_with_length(var103, var104); -var102 = var105; -varonce101 = var102; +RET_LABEL:; +return var; } +/* method toolcontext#Message#init for (self: Message) */ +void nit___nit__Message___standard__kernel__Object__init(val* self) { { -var106 = nit___nit__Location___colored_line(var_l, var102); +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__Message___standard__kernel__Object__init]))(self); /* init on */ +} +RET_LABEL:; +} +/* method toolcontext#Location#messages for (self: Location): nullable Array[Message] */ +val* nit__toolcontext___Location___messages(val* self) { +val* var /* : nullable Array[Message] */; +val* var1 /* : nullable Array[Message] */; +var1 = self->attrs[COLOR_nit__toolcontext__Location___messages].val; /* _messages on */ +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#Location#messages= for (self: Location, nullable Array[Message]) */ +void nit__toolcontext___Location___messages_61d(val* self, val* p0) { +self->attrs[COLOR_nit__toolcontext__Location___messages].val = p0; /* _messages on */ +RET_LABEL:; } -var107 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var107 = array_instance Array[Object] */ -var108 = 8; -var109 = NEW_standard__NativeArray(var108, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var109)->values[0] = (val*) var_yellow; -((struct instance_standard__NativeArray*)var109)->values[1] = (val*) var_l; -((struct instance_standard__NativeArray*)var109)->values[2] = (val*) var_def; -((struct instance_standard__NativeArray*)var109)->values[3] = (val*) var89; -((struct instance_standard__NativeArray*)var109)->values[4] = (val*) var93; -((struct instance_standard__NativeArray*)var109)->values[5] = (val*) var_tag; -((struct instance_standard__NativeArray*)var109)->values[6] = (val*) var97; -((struct instance_standard__NativeArray*)var109)->values[7] = (val*) var106; +/* method toolcontext#Location#add_message for (self: Location, Message) */ +void nit__toolcontext___Location___add_message(val* self, val* p0) { +val* var_m /* var m: Message */; +val* var /* : nullable Array[Message] */; +val* var2 /* : nullable Array[Message] */; +val* var_ms /* var ms: nullable Array[Message] */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +val* var5 /* : Array[Message] */; +var_m = p0; { -((void (*)(val* self, val* p0, long p1))(var107->class->vft[COLOR_standard__array__Array__with_native]))(var107, var109, var108) /* with_native on */; +{ /* Inline toolcontext#Location#messages (self) on */ +var2 = self->attrs[COLOR_nit__toolcontext__Location___messages].val; /* _messages on */ +var = var2; +RET_LABEL1:(void)0; } } +var_ms = var; +if (var_ms == NULL) { +var3 = 1; /* is null */ +} else { +var3 = 0; /* arg is null but recv is not */ +} +if (0) { +var4 = standard___standard__Array___standard__kernel__Object___61d_61d(var_ms, ((val*)NULL)); +var3 = var4; +} +if (var3){ +var5 = NEW_standard__Array(&type_standard__Array__nit__Message); { -var110 = ((val* (*)(val* self))(var107->class->vft[COLOR_standard__string__Object__to_s]))(var107) /* to_s on */; +standard___standard__Array___standard__kernel__Object__init(var5); /* Direct call array#Array#init on */ } -var = var110; -goto RET_LABEL; +var_ms = var5; +{ +{ /* Inline toolcontext#Location#messages= (self,var_ms) on */ +self->attrs[COLOR_nit__toolcontext__Location___messages].val = var_ms; /* _messages on */ +RET_LABEL6:(void)0; } } -RET_LABEL:; -return var; +} else { } -/* method toolcontext#Message#init for (self: Message) */ -void nit___nit__Message___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__Message___standard__kernel__Object__init]))(self) /* init on */; +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ms, var_m); /* Direct call array#Array#add on */ } RET_LABEL:; } @@ -734,8 +886,8 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val; /* _log_directory on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _log_directory"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 102); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 137); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -746,6 +898,20 @@ void nit___nit__ToolContext___log_directory_61d(val* self, val* p0) { self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val = p0; /* _log_directory on */ RET_LABEL:; } +/* method toolcontext#ToolContext#log_info for (self: ToolContext): nullable Writer */ +val* nit___nit__ToolContext___log_info(val* self) { +val* var /* : nullable Writer */; +val* var1 /* : nullable Writer */; +var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val; /* _log_info on */ +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#log_info= for (self: ToolContext, nullable Writer) */ +void nit___nit__ToolContext___log_info_61d(val* self, val* p0) { +self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val = p0; /* _log_info on */ +RET_LABEL:; +} /* method toolcontext#ToolContext#messages for (self: ToolContext): Array[Message] */ val* nit___nit__ToolContext___messages(val* self) { val* var /* : Array[Message] */; @@ -753,8 +919,8 @@ val* var1 /* : Array[Message] */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 105); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -767,8 +933,8 @@ val* var1 /* : Comparator */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___message_sorter].val; /* _message_sorter on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message_sorter"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 107); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 145); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -783,6 +949,11 @@ var = var1; RET_LABEL:; return var; } +/* method toolcontext#ToolContext#keep_going= for (self: ToolContext, Bool) */ +void nit___nit__ToolContext___keep_going_61d(val* self, short int p0) { +self->attrs[COLOR_nit__toolcontext__ToolContext___keep_going].s = p0; /* _keep_going on */ +RET_LABEL:; +} /* method toolcontext#ToolContext#warning_blacklist for (self: ToolContext): MultiHashMap[SourceFile, String] */ val* nit___nit__ToolContext___warning_blacklist(val* self) { val* var /* : MultiHashMap[SourceFile, String] */; @@ -790,8 +961,8 @@ val* var1 /* : MultiHashMap[SourceFile, String] */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_blacklist].val; /* _warning_blacklist on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _warning_blacklist"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 115); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 153); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -802,146 +973,132 @@ short int nit___nit__ToolContext___is_warning_blacklisted(val* self, val* p0, va short int var /* : Bool */; val* var_l /* var l: nullable Location */; val* var_tag /* var tag: String */; -val* var1 /* : null */; +short int var1 /* : Bool */; short int var2 /* : Bool */; -short int var3 /* : Bool */; -short int var4 /* : Bool */; +val* var3 /* : nullable SourceFile */; val* var5 /* : nullable SourceFile */; -val* var7 /* : nullable SourceFile */; val* var_f /* var f: nullable SourceFile */; -val* var8 /* : null */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var12 /* : Bool */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -val* var16 /* : MultiHashMap[SourceFile, String] */; -val* var18 /* : MultiHashMap[SourceFile, String] */; -val* var19 /* : nullable Object */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; +val* var12 /* : MultiHashMap[SourceFile, String] */; +val* var14 /* : MultiHashMap[SourceFile, String] */; +val* var15 /* : nullable Object */; val* var_tags /* var tags: nullable Array[String] */; -val* var20 /* : null */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -short int var24 /* : Bool */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; static val* varonce; -val* var25 /* : String */; -char* var26 /* : NativeString */; -long var27 /* : Int */; -val* var28 /* : FlatString */; -short int var29 /* : Bool */; +val* var19 /* : String */; +char* var20 /* : NativeString */; +val* var21 /* : FlatString */; +short int var22 /* : Bool */; short int var_ /* var : Bool */; -short int var30 /* : Bool */; +short int var23 /* : Bool */; var_l = p0; var_tag = p1; -var1 = NULL; if (var_l == NULL) { -var2 = 1; /* is null */ +var1 = 1; /* is null */ } else { -var2 = 0; /* arg is null but recv is not */ +var1 = 0; /* arg is null but recv is not */ } if (0) { -var3 = nit___nit__Location___standard__kernel__Object___61d_61d(var_l, var1); -var2 = var3; +var2 = nit___nit__Location___standard__kernel__Object___61d_61d(var_l, ((val*)NULL)); +var1 = var2; } -if (var2){ -var4 = 0; -var = var4; +if (var1){ +var = 0; goto RET_LABEL; } else { } { { /* Inline location#Location#file (var_l) on */ -var7 = var_l->attrs[COLOR_nit__location__Location___file].val; /* _file on */ -var5 = var7; -RET_LABEL6:(void)0; +var5 = var_l->attrs[COLOR_nit__location__Location___file].val; /* _file on */ +var3 = var5; +RET_LABEL4:(void)0; } } -var_f = var5; -var8 = NULL; +var_f = var3; if (var_f == NULL) { -var9 = 1; /* is null */ +var6 = 1; /* is null */ } else { -var9 = 0; /* arg is null but recv is not */ +var6 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_f,var8) on */ -var_other = var8; +{ /* Inline kernel#Object#== (var_f,((val*)NULL)) on */ +var_other = ((val*)NULL); { { /* Inline kernel#Object#is_same_instance (var_f,var_other) on */ -var14 = var_f == var_other; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +var11 = var_f == var_other; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; } -var9 = var10; +var6 = var7; } -if (var9){ -var15 = 0; -var = var15; +if (var6){ +var = 0; goto RET_LABEL; } else { } { { /* Inline toolcontext#ToolContext#warning_blacklist (self) on */ -var18 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_blacklist].val; /* _warning_blacklist on */ -if (unlikely(var18 == NULL)) { +var14 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_blacklist].val; /* _warning_blacklist on */ +if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _warning_blacklist"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 115); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 153); +fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } { -var19 = standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var16, var_f); +var15 = standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var12, var_f); } -var_tags = var19; -var20 = NULL; +var_tags = var15; if (var_tags == NULL) { -var21 = 1; /* is null */ +var16 = 1; /* is null */ } else { -var21 = 0; /* arg is null but recv is not */ +var16 = 0; /* arg is null but recv is not */ } if (0) { -var22 = standard___standard__Array___standard__kernel__Object___61d_61d(var_tags, var20); -var21 = var22; +var17 = standard___standard__Array___standard__kernel__Object___61d_61d(var_tags, ((val*)NULL)); +var16 = var17; } -if (var21){ -var23 = 0; -var = var23; +if (var16){ +var = 0; goto RET_LABEL; } else { } -if (varonce) { -var25 = varonce; +if (likely(varonce!=NULL)) { +var19 = varonce; } else { -var26 = "all"; -var27 = 3; -var28 = standard___standard__NativeString___to_s_with_length(var26, var27); -var25 = var28; -varonce = var25; +var20 = "all"; +var21 = standard___standard__NativeString___to_s_with_length(var20, 3l); +var19 = var21; +varonce = var19; } { -var29 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_tags, var25); +var22 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_tags, var19); } -var_ = var29; -if (var29){ -var24 = var_; +var_ = var22; +if (var22){ +var18 = var_; } else { { -var30 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_tags, var_tag); +var23 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_tags, var_tag); } -var24 = var30; +var18 = var23; } -var = var24; +var = var18; goto RET_LABEL; RET_LABEL:; return var; @@ -953,81 +1110,72 @@ val* var1 /* : Array[Message] */; val* var3 /* : Array[Message] */; long var4 /* : Int */; long var6 /* : Int */; -long var7 /* : Int */; -short int var8 /* : Bool */; -short int var10 /* : Bool */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var11 /* : Bool */; -val* var12 /* : Comparator */; -val* var14 /* : Comparator */; -val* var15 /* : Array[Message] */; +short int var10 /* : Bool */; +val* var11 /* : Comparator */; +val* var13 /* : Comparator */; +val* var14 /* : Array[Message] */; +val* var16 /* : Array[Message] */; val* var17 /* : Array[Message] */; -val* var18 /* : Array[Message] */; -val* var20 /* : Array[Message] */; +val* var19 /* : Array[Message] */; val* var_ /* var : Array[Message] */; -val* var21 /* : ArrayIterator[nullable Object] */; -val* var_22 /* var : ArrayIterator[Message] */; -short int var23 /* : Bool */; -val* var24 /* : nullable Object */; +val* var20 /* : ArrayIterator[nullable Object] */; +val* var_21 /* var : ArrayIterator[Message] */; +short int var22 /* : Bool */; +val* var23 /* : nullable Object */; val* var_m /* var m: Message */; -val* var25 /* : OptionBool */; -val* var27 /* : OptionBool */; -val* var28 /* : nullable Object */; -val* var30 /* : nullable Object */; -short int var31 /* : Bool */; -val* var32 /* : Sys */; -val* var34 /* : Sys */; -val* var35 /* : OStream */; -val* var37 /* : OStream */; +val* var24 /* : OptionBool */; +val* var26 /* : OptionBool */; +val* var27 /* : nullable Object */; +val* var29 /* : nullable Object */; +short int var30 /* : Bool */; +val* var31 /* : Sys */; +val* var33 /* : Sys */; +val* var34 /* : Writer */; +val* var35 /* : NativeArray[String] */; static val* varonce; -val* var38 /* : String */; -char* var39 /* : NativeString */; -long var40 /* : Int */; -val* var41 /* : FlatString */; -val* var42 /* : Array[Object] */; -long var43 /* : Int */; -val* var44 /* : NativeArray[Object] */; -val* var45 /* : String */; -val* var46 /* : Sys */; -val* var48 /* : Sys */; -val* var49 /* : OStream */; -val* var51 /* : OStream */; +static val* varonce36; +val* var37 /* : String */; +char* var38 /* : NativeString */; +val* var39 /* : FlatString */; +val* var40 /* : String */; +val* var41 /* : String */; +val* var42 /* : Sys */; +val* var44 /* : Sys */; +val* var45 /* : Writer */; +val* var47 /* : NativeArray[String] */; +static val* varonce46; +static val* varonce48; +val* var49 /* : String */; +char* var50 /* : NativeString */; +val* var51 /* : FlatString */; val* var52 /* : String */; -static val* varonce53; -val* var54 /* : String */; -char* var55 /* : NativeString */; -long var56 /* : Int */; -val* var57 /* : FlatString */; -val* var58 /* : Array[Object] */; +val* var53 /* : String */; +val* var54 /* : Array[Message] */; +val* var56 /* : Array[Message] */; +long var57 /* : Int */; long var59 /* : Int */; -val* var60 /* : NativeArray[Object] */; -val* var61 /* : String */; -val* var63 /* : Array[Message] */; -val* var65 /* : Array[Message] */; -long var66 /* : Int */; -long var68 /* : Int */; -long var69 /* : Int */; +short int var60 /* : Bool */; +short int var62 /* : Bool */; +int cltype63; +int idtype64; +const char* var_class_name65; +short int var66 /* : Bool */; +short int var67 /* : Bool */; +short int var69 /* : Bool */; short int var70 /* : Bool */; -short int var72 /* : Bool */; -int cltype73; -int idtype74; -const char* var_class_name75; -short int var76 /* : Bool */; -short int var77 /* : Bool */; -short int var79 /* : Bool */; -short int var80 /* : Bool */; -long var81 /* : Int */; -short int var83 /* : Bool */; -short int var84 /* : Bool */; +val* var71 /* : Sys */; { { /* Inline toolcontext#ToolContext#messages (self) on */ var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 105); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -1040,196 +1188,176 @@ var4 = var6; RET_LABEL5:(void)0; } } -var7 = 0; { -{ /* Inline kernel#Int#> (var4,var7) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var10 = 1; /* easy isa OTHER*/ -if (unlikely(!var10)) { +{ /* Inline kernel#Int#> (var4,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var9 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var9)) { 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, 412); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var11 = var4 > var7; -var8 = var11; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var10 = var4 > 0l; +var7 = var10; +goto RET_LABEL8; +RET_LABEL8:(void)0; } } -if (var8){ +if (var7){ { { /* Inline toolcontext#ToolContext#message_sorter (self) on */ -var14 = self->attrs[COLOR_nit__toolcontext__ToolContext___message_sorter].val; /* _message_sorter on */ -if (unlikely(var14 == NULL)) { +var13 = self->attrs[COLOR_nit__toolcontext__ToolContext___message_sorter].val; /* _message_sorter on */ +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message_sorter"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 107); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 145); +fatal_exit(1); } -var12 = var14; -RET_LABEL13:(void)0; +var11 = var13; +RET_LABEL12:(void)0; } } { { /* Inline toolcontext#ToolContext#messages (self) on */ -var17 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ -if (unlikely(var17 == NULL)) { +var16 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 105); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143); +fatal_exit(1); } -var15 = var17; -RET_LABEL16:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } { -standard___standard__Comparator___sort(var12, var15); /* Direct call sorter#Comparator#sort on */ +standard___standard__Comparator___sort(var11, var14); /* Direct call sorter#Comparator#sort on */ } { { /* Inline toolcontext#ToolContext#messages (self) on */ -var20 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ -if (unlikely(var20 == NULL)) { +var19 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 105); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143); +fatal_exit(1); } -var18 = var20; -RET_LABEL19:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } -var_ = var18; +var_ = var17; { -var21 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var20 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_22 = var21; +var_21 = var20; for(;;) { { -var23 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_22); +var22 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_21); } -if (var23){ +if (var22){ { -var24 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_22); +var23 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_21); } -var_m = var24; +var_m = var23; { { /* Inline toolcontext#ToolContext#opt_no_color (self) on */ -var27 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ -if (unlikely(var27 == NULL)) { +var26 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ +if (unlikely(var26 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 306); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 371); +fatal_exit(1); } -var25 = var27; -RET_LABEL26:(void)0; +var24 = var26; +RET_LABEL25:(void)0; } } { -{ /* Inline opts#Option#value (var25) on */ -var30 = var25->attrs[COLOR_opts__Option___value].val; /* _value on */ -var28 = var30; -RET_LABEL29:(void)0; +{ /* Inline opts#Option#value (var24) on */ +var29 = var24->attrs[COLOR_opts__Option___value].val; /* _value on */ +var27 = var29; +RET_LABEL28:(void)0; } } -var31 = ((struct instance_standard__Bool*)var28)->value; /* autounbox from nullable Object to Bool */; -if (var31){ +var30 = (short int)((long)(var27)>>2); +if (var30){ { { /* Inline kernel#Object#sys (self) on */ -var34 = glob_sys; -var32 = var34; -goto RET_LABEL33; -RET_LABEL33:(void)0; +var33 = glob_sys; +var31 = var33; +goto RET_LABEL32; +RET_LABEL32:(void)0; } } { -{ /* Inline file#Sys#stderr (var32) on */ -var37 = var32->attrs[COLOR_standard__file__Sys___stderr].val; /* _stderr on */ -if (unlikely(var37 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__file, 1011); -show_backtrace(1); -} -var35 = var37; -RET_LABEL36:(void)0; +var34 = standard__file___Sys___stderr(var31); } +if (unlikely(varonce==NULL)) { +var35 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce36!=NULL)) { +var37 = varonce36; +} else { +var38 = "\n"; +var39 = standard___standard__NativeString___to_s_with_length(var38, 1l); +var37 = var39; +varonce36 = var37; } -if (varonce) { -var38 = varonce; +((struct instance_standard__NativeArray*)var35)->values[1]=var37; } else { -var39 = "\n"; -var40 = 1; -var41 = standard___standard__NativeString___to_s_with_length(var39, var40); -var38 = var41; -varonce = var38; +var35 = varonce; +varonce = NULL; } -var42 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var42 = array_instance Array[Object] */ -var43 = 2; -var44 = NEW_standard__NativeArray(var43, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var44)->values[0] = (val*) var_m; -((struct instance_standard__NativeArray*)var44)->values[1] = (val*) var38; { -((void (*)(val* self, val* p0, long p1))(var42->class->vft[COLOR_standard__array__Array__with_native]))(var42, var44, var43) /* with_native on */; -} +var40 = ((val*(*)(val* self))(var_m->class->vft[COLOR_standard__string__Object__to_s]))(var_m); /* to_s on */ } +((struct instance_standard__NativeArray*)var35)->values[0]=var40; { -var45 = ((val* (*)(val* self))(var42->class->vft[COLOR_standard__string__Object__to_s]))(var42) /* to_s on */; +var41 = ((val*(*)(val* self))(var35->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var35); /* native_to_s on */ } +varonce = var35; { -standard___standard__OFStream___standard__stream__OStream__write(var35, var45); /* Direct call file#OFStream#write on */ +standard___standard__FileWriter___standard__stream__Writer__write(var34, var41); /* Direct call file#FileWriter#write on */ } } else { { { /* Inline kernel#Object#sys (self) on */ -var48 = glob_sys; -var46 = var48; -goto RET_LABEL47; -RET_LABEL47:(void)0; +var44 = glob_sys; +var42 = var44; +goto RET_LABEL43; +RET_LABEL43:(void)0; } } { -{ /* Inline file#Sys#stderr (var46) on */ -var51 = var46->attrs[COLOR_standard__file__Sys___stderr].val; /* _stderr on */ -if (unlikely(var51 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__file, 1011); -show_backtrace(1); +var45 = standard__file___Sys___stderr(var42); } +if (unlikely(varonce46==NULL)) { +var47 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce48!=NULL)) { +var49 = varonce48; +} else { +var50 = "\n"; +var51 = standard___standard__NativeString___to_s_with_length(var50, 1l); var49 = var51; -RET_LABEL50:(void)0; -} +varonce48 = var49; } -{ -var52 = nit___nit__Message___to_color_string(var_m); -} -if (varonce53) { -var54 = varonce53; +((struct instance_standard__NativeArray*)var47)->values[1]=var49; } else { -var55 = "\n"; -var56 = 1; -var57 = standard___standard__NativeString___to_s_with_length(var55, var56); -var54 = var57; -varonce53 = var54; +var47 = varonce46; +varonce46 = NULL; } -var58 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var58 = array_instance Array[Object] */ -var59 = 2; -var60 = NEW_standard__NativeArray(var59, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var60)->values[0] = (val*) var52; -((struct instance_standard__NativeArray*)var60)->values[1] = (val*) var54; { -((void (*)(val* self, val* p0, long p1))(var58->class->vft[COLOR_standard__array__Array__with_native]))(var58, var60, var59) /* with_native on */; -} +var52 = nit___nit__Message___to_color_string(var_m); } +((struct instance_standard__NativeArray*)var47)->values[0]=var52; { -var61 = ((val* (*)(val* self))(var58->class->vft[COLOR_standard__string__Object__to_s]))(var58) /* to_s on */; +var53 = ((val*(*)(val* self))(var47->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var47); /* native_to_s on */ } +varonce46 = var47; { -standard___standard__OFStream___standard__stream__OStream__write(var49, var61); /* Direct call file#OFStream#write on */ +standard___standard__FileWriter___standard__stream__Writer__write(var45, var53); /* Direct call file#FileWriter#write on */ } } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_22); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_21); /* Direct call array#ArrayIterator#next on */ } } else { goto BREAK_label; @@ -1237,81 +1365,76 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_22) on */ -RET_LABEL62:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_21); /* Direct call array#ArrayIterator#finish on */ } { { /* Inline toolcontext#ToolContext#messages (self) on */ -var65 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ -if (unlikely(var65 == NULL)) { +var56 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var56 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 105); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143); +fatal_exit(1); } -var63 = var65; -RET_LABEL64:(void)0; +var54 = var56; +RET_LABEL55:(void)0; } } { -standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var63); /* Direct call array#AbstractArray#clear on */ +standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var54); /* Direct call array#AbstractArray#clear on */ } } else { } { { /* Inline toolcontext#ToolContext#error_count (self) on */ -var68 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var66 = var68; -RET_LABEL67:(void)0; +var59 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var57 = var59; +RET_LABEL58:(void)0; } } -var69 = 0; { -{ /* Inline kernel#Int#> (var66,var69) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var72 = 1; /* easy isa OTHER*/ -if (unlikely(!var72)) { -var_class_name75 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); -} -var76 = var66 > var69; -var70 = var76; -goto RET_LABEL71; -RET_LABEL71:(void)0; +{ /* Inline kernel#Int#> (var57,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var62 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var62)) { +var_class_name65 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } +var66 = var57 > 0l; +var60 = var66; +goto RET_LABEL61; +RET_LABEL61:(void)0; } -if (var70){ -{ -nit___nit__ToolContext___errors_info(self); /* Direct call toolcontext#ToolContext#errors_info on */ } +if (var60){ { { /* Inline toolcontext#ToolContext#keep_going (self) on */ -var79 = self->attrs[COLOR_nit__toolcontext__ToolContext___keep_going].s; /* _keep_going on */ -var77 = var79; -RET_LABEL78:(void)0; +var69 = self->attrs[COLOR_nit__toolcontext__ToolContext___keep_going].s; /* _keep_going on */ +var67 = var69; +RET_LABEL68:(void)0; } } -var80 = !var77; -if (var80){ -var81 = 1; +var70 = !var67; +if (var70){ { -{ /* Inline kernel#Object#exit (self,var81) on */ -exit(var81); -RET_LABEL82:(void)0; +nit___nit__ToolContext___errors_info(self); /* Direct call toolcontext#ToolContext#errors_info on */ +} +var71 = glob_sys; +{ +{ /* Inline kernel#Sys#exit (var71,1l) on */ +exit(1l); +RET_LABEL72:(void)0; } } } else { } -var83 = 0; -var = var83; +var = 0; goto RET_LABEL; } else { } -var84 = 1; -var = var84; +var = 1; goto RET_LABEL; RET_LABEL:; return var; @@ -1321,51 +1444,42 @@ void nit___nit__ToolContext___errors_info(val* self) { short int var /* : Bool */; long var1 /* : Int */; long var3 /* : Int */; -long var4 /* : Int */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; short int var_ /* var : Bool */; -long var8 /* : Int */; -long var10 /* : Int */; -long var11 /* : Int */; +long var7 /* : Int */; +long var9 /* : Int */; +short int var10 /* : Bool */; short int var12 /* : Bool */; -short int var14 /* : Bool */; +val* var13 /* : OptionBool */; val* var15 /* : OptionBool */; -val* var17 /* : OptionBool */; +val* var16 /* : nullable Object */; val* var18 /* : nullable Object */; -val* var20 /* : nullable Object */; -short int var21 /* : Bool */; +short int var19 /* : Bool */; +val* var20 /* : Sys */; val* var22 /* : Sys */; -val* var24 /* : Sys */; -val* var25 /* : OStream */; -val* var27 /* : OStream */; +val* var23 /* : Writer */; +val* var24 /* : NativeArray[String] */; static val* varonce; -val* var28 /* : String */; -char* var29 /* : NativeString */; -long var30 /* : Int */; -val* var31 /* : FlatString */; -long var32 /* : Int */; -long var34 /* : Int */; -static val* varonce35; -val* var36 /* : String */; -char* var37 /* : NativeString */; -long var38 /* : Int */; -val* var39 /* : FlatString */; -long var40 /* : Int */; -long var42 /* : Int */; -static val* varonce43; +static val* varonce25; +val* var26 /* : String */; +char* var27 /* : NativeString */; +val* var28 /* : FlatString */; +static val* varonce29; +val* var30 /* : String */; +char* var31 /* : NativeString */; +val* var32 /* : FlatString */; +static val* varonce33; +val* var34 /* : String */; +char* var35 /* : NativeString */; +val* var36 /* : FlatString */; +long var37 /* : Int */; +long var39 /* : Int */; +val* var40 /* : String */; +long var41 /* : Int */; +long var43 /* : Int */; val* var44 /* : String */; -char* var45 /* : NativeString */; -long var46 /* : Int */; -val* var47 /* : FlatString */; -val* var48 /* : Array[Object] */; -long var49 /* : Int */; -val* var50 /* : NativeArray[Object] */; -val* var51 /* : Object */; -val* var52 /* : Object */; -val* var53 /* : String */; -long var54 /* : Int */; -long var56 /* : Int */; +val* var45 /* : String */; { { /* Inline toolcontext#ToolContext#error_count (self) on */ var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ @@ -1373,34 +1487,32 @@ var1 = var3; RET_LABEL2:(void)0; } } -var4 = 0; { -{ /* Inline kernel#Int#== (var1,var4) on */ -var7 = var1 == var4; -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; +{ /* Inline kernel#Int#== (var1,0l) on */ +var6 = var1 == 0l; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } -var_ = var5; -if (var5){ +var_ = var4; +if (var4){ { { /* Inline toolcontext#ToolContext#warning_count (self) on */ -var10 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on */ -var8 = var10; -RET_LABEL9:(void)0; +var9 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on */ +var7 = var9; +RET_LABEL8:(void)0; } } -var11 = 0; { -{ /* Inline kernel#Int#== (var8,var11) on */ -var14 = var8 == var11; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +{ /* Inline kernel#Int#== (var7,0l) on */ +var12 = var7 == 0l; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } } -var = var12; +var = var10; } else { var = var_; } @@ -1410,791 +1522,922 @@ goto RET_LABEL; } { { /* Inline toolcontext#ToolContext#opt_no_color (self) on */ -var17 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ -if (unlikely(var17 == NULL)) { +var15 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ +if (unlikely(var15 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 306); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 371); +fatal_exit(1); } -var15 = var17; -RET_LABEL16:(void)0; +var13 = var15; +RET_LABEL14:(void)0; } } { -{ /* Inline opts#Option#value (var15) on */ -var20 = var15->attrs[COLOR_opts__Option___value].val; /* _value on */ -var18 = var20; -RET_LABEL19:(void)0; +{ /* Inline opts#Option#value (var13) on */ +var18 = var13->attrs[COLOR_opts__Option___value].val; /* _value on */ +var16 = var18; +RET_LABEL17:(void)0; } } -var21 = ((struct instance_standard__Bool*)var18)->value; /* autounbox from nullable Object to Bool */; -if (var21){ +var19 = (short int)((long)(var16)>>2); +if (var19){ goto RET_LABEL; } else { } { { /* Inline kernel#Object#sys (self) on */ -var24 = glob_sys; -var22 = var24; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var22 = glob_sys; +var20 = var22; +goto RET_LABEL21; +RET_LABEL21:(void)0; } } { -{ /* Inline file#Sys#stderr (var22) on */ -var27 = var22->attrs[COLOR_standard__file__Sys___stderr].val; /* _stderr on */ -if (unlikely(var27 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__file, 1011); -show_backtrace(1); -} -var25 = var27; -RET_LABEL26:(void)0; -} +var23 = standard__file___Sys___stderr(var20); } -if (varonce) { -var28 = varonce; +if (unlikely(varonce==NULL)) { +var24 = NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String); +if (likely(varonce25!=NULL)) { +var26 = varonce25; } else { -var29 = "Errors: "; -var30 = 8; -var31 = standard___standard__NativeString___to_s_with_length(var29, var30); -var28 = var31; -varonce = var28; +var27 = "Errors: "; +var28 = standard___standard__NativeString___to_s_with_length(var27, 8l); +var26 = var28; +varonce25 = var26; } -{ -{ /* Inline toolcontext#ToolContext#error_count (self) on */ -var34 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var32 = var34; -RET_LABEL33:(void)0; -} -} -if (varonce35) { -var36 = varonce35; +((struct instance_standard__NativeArray*)var24)->values[0]=var26; +if (likely(varonce29!=NULL)) { +var30 = varonce29; } else { -var37 = ". Warnings: "; -var38 = 12; -var39 = standard___standard__NativeString___to_s_with_length(var37, var38); -var36 = var39; -varonce35 = var36; -} -{ -{ /* Inline toolcontext#ToolContext#warning_count (self) on */ -var42 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on */ -var40 = var42; -RET_LABEL41:(void)0; +var31 = ". Warnings: "; +var32 = standard___standard__NativeString___to_s_with_length(var31, 12l); +var30 = var32; +varonce29 = var30; } +((struct instance_standard__NativeArray*)var24)->values[2]=var30; +if (likely(varonce33!=NULL)) { +var34 = varonce33; +} else { +var35 = ".\n"; +var36 = standard___standard__NativeString___to_s_with_length(var35, 2l); +var34 = var36; +varonce33 = var34; } -if (varonce43) { -var44 = varonce43; +((struct instance_standard__NativeArray*)var24)->values[4]=var34; } else { -var45 = ".\n"; -var46 = 2; -var47 = standard___standard__NativeString___to_s_with_length(var45, var46); -var44 = var47; -varonce43 = var44; +var24 = varonce; +varonce = NULL; } -var48 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var48 = array_instance Array[Object] */ -var49 = 5; -var50 = NEW_standard__NativeArray(var49, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var50)->values[0] = (val*) var28; -var51 = BOX_standard__Int(var32); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var50)->values[1] = (val*) var51; -((struct instance_standard__NativeArray*)var50)->values[2] = (val*) var36; -var52 = BOX_standard__Int(var40); /* autobox from Int to Object */ -((struct instance_standard__NativeArray*)var50)->values[3] = (val*) var52; -((struct instance_standard__NativeArray*)var50)->values[4] = (val*) var44; { -((void (*)(val* self, val* p0, long p1))(var48->class->vft[COLOR_standard__array__Array__with_native]))(var48, var50, var49) /* with_native on */; +{ /* Inline toolcontext#ToolContext#error_count (self) on */ +var39 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var37 = var39; +RET_LABEL38:(void)0; } } +var40 = standard__string___Int___Object__to_s(var37); +((struct instance_standard__NativeArray*)var24)->values[1]=var40; { -var53 = ((val* (*)(val* self))(var48->class->vft[COLOR_standard__string__Object__to_s]))(var48) /* to_s on */; +{ /* Inline toolcontext#ToolContext#warning_count (self) on */ +var43 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on */ +var41 = var43; +RET_LABEL42:(void)0; } -{ -standard___standard__OFStream___standard__stream__OStream__write(var25, var53); /* Direct call file#OFStream#write on */ } -var54 = 0; +var44 = standard__string___Int___Object__to_s(var41); +((struct instance_standard__NativeArray*)var24)->values[3]=var44; { -{ /* Inline toolcontext#ToolContext#error_count= (self,var54) on */ -self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l = var54; /* _error_count on */ -RET_LABEL55:(void)0; +var45 = ((val*(*)(val* self))(var24->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var24); /* native_to_s on */ } -} -var56 = 0; +varonce = var24; { -{ /* Inline toolcontext#ToolContext#warning_count= (self,var56) on */ -self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l = var56; /* _warning_count on */ -RET_LABEL57:(void)0; -} +standard___standard__FileWriter___standard__stream__Writer__write(var23, var45); /* Direct call file#FileWriter#write on */ } RET_LABEL:; } -/* method toolcontext#ToolContext#error for (self: ToolContext, nullable Location, String) */ -void nit___nit__ToolContext___error(val* self, val* p0, val* p1) { +/* method toolcontext#ToolContext#error for (self: ToolContext, nullable Location, String): Message */ +val* nit___nit__ToolContext___error(val* self, val* p0, val* p1) { +val* var /* : Message */; val* var_l /* var l: nullable Location */; val* var_s /* var s: String */; -val* var /* : Array[Message] */; +val* var1 /* : Message */; +val* var_m /* var m: Message */; val* var2 /* : Array[Message] */; -val* var3 /* : Message */; -val* var4 /* : null */; -long var5 /* : Int */; -long var7 /* : Int */; -long var8 /* : Int */; -long var9 /* : Int */; -short int var11 /* : Bool */; +val* var4 /* : Array[Message] */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +val* var11 /* : Array[Message] */; +val* var13 /* : Array[Message] */; +long var14 /* : Int */; +long var16 /* : Int */; +long var17 /* : Int */; +short int var19 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var12 /* : Int */; -val* var14 /* : OptionBool */; -val* var16 /* : OptionBool */; -val* var17 /* : nullable Object */; -val* var19 /* : nullable Object */; -short int var20 /* : Bool */; -short int var21 /* : Bool */; +long var20 /* : Int */; +val* var22 /* : OptionBool */; +val* var24 /* : OptionBool */; +val* var25 /* : nullable Object */; +val* var27 /* : nullable Object */; +short int var28 /* : Bool */; +short int var29 /* : Bool */; var_l = p0; var_s = p1; +var1 = NEW_nit__Message(&type_nit__Message); +{ +((void(*)(val* self, val* p0))(var1->class->vft[COLOR_nit__toolcontext__Message__location_61d]))(var1, var_l); /* location= on */ +} +{ +((void(*)(val* self, val* p0))(var1->class->vft[COLOR_nit__toolcontext__Message__tag_61d]))(var1, ((val*)NULL)); /* tag= on */ +} +{ +((void(*)(val* self, val* p0))(var1->class->vft[COLOR_nit__toolcontext__Message__text_61d]))(var1, var_s); /* text= on */ +} +{ +((void(*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1); /* init on */ +} +var_m = var1; { { /* Inline toolcontext#ToolContext#messages (self) on */ -var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ -if (unlikely(var2 == NULL)) { +var4 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 105); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143); +fatal_exit(1); } -var = var2; -RET_LABEL1:(void)0; +var2 = var4; +RET_LABEL3:(void)0; } } -var3 = NEW_nit__Message(&type_nit__Message); -var4 = NULL; { -((void (*)(val* self, val* p0))(var3->class->vft[COLOR_nit__toolcontext__Message__location_61d]))(var3, var_l) /* location= on */; +var5 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var2, var_m); +} +if (var5){ +var = var_m; +goto RET_LABEL; +} else { +} +if (var_l == NULL) { +var6 = 0; /* is null */ +} else { +var6 = 1; /* arg is null and recv is not */ } +if (0) { +{ /* Inline kernel#Object#!= (var_l,((val*)NULL)) on */ +var_other = ((val*)NULL); { -((void (*)(val* self, val* p0))(var3->class->vft[COLOR_nit__toolcontext__Message__tag_61d]))(var3, var4) /* tag= on */; +var9 = ((short int(*)(val* self, val* p0))(var_l->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_l, var_other); /* == on */ +} +var10 = !var9; +var7 = var10; +goto RET_LABEL8; +RET_LABEL8:(void)0; } +var6 = var7; +} +if (var6){ { -((void (*)(val* self, val* p0))(var3->class->vft[COLOR_nit__toolcontext__Message__text_61d]))(var3, var_s) /* text= on */; +nit__toolcontext___Location___add_message(var_l, var_m); /* Direct call toolcontext#Location#add_message on */ +} +} else { } { -((void (*)(val* self))(var3->class->vft[COLOR_standard__kernel__Object__init]))(var3) /* init on */; +{ /* Inline toolcontext#ToolContext#messages (self) on */ +var13 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var13 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143); +fatal_exit(1); +} +var11 = var13; +RET_LABEL12:(void)0; +} } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var, var3); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var11, var_m); /* Direct call array#Array#add on */ } { { /* Inline toolcontext#ToolContext#error_count (self) on */ -var7 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ -var5 = var7; -RET_LABEL6:(void)0; +var16 = self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l; /* _error_count on */ +var14 = var16; +RET_LABEL15:(void)0; } } -var8 = 1; { -{ /* Inline kernel#Int#+ (var5,var8) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var11 = 1; /* easy isa OTHER*/ -if (unlikely(!var11)) { +{ /* Inline kernel#Int#+ (var14,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var19 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var19)) { 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, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var12 = var5 + var8; -var9 = var12; -goto RET_LABEL10; -RET_LABEL10:(void)0; +var20 = var14 + 1l; +var17 = var20; +goto RET_LABEL18; +RET_LABEL18:(void)0; } } { -{ /* Inline toolcontext#ToolContext#error_count= (self,var9) on */ -self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l = var9; /* _error_count on */ -RET_LABEL13:(void)0; +{ /* Inline toolcontext#ToolContext#error_count= (self,var17) on */ +self->attrs[COLOR_nit__toolcontext__ToolContext___error_count].l = var17; /* _error_count on */ +RET_LABEL21:(void)0; } } { { /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on */ -var16 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ -if (unlikely(var16 == NULL)) { +var24 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ +if (unlikely(var24 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 303); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 365); +fatal_exit(1); } -var14 = var16; -RET_LABEL15:(void)0; +var22 = var24; +RET_LABEL23:(void)0; } } { -{ /* Inline opts#Option#value (var14) on */ -var19 = var14->attrs[COLOR_opts__Option___value].val; /* _value on */ -var17 = var19; -RET_LABEL18:(void)0; +{ /* Inline opts#Option#value (var22) on */ +var27 = var22->attrs[COLOR_opts__Option___value].val; /* _value on */ +var25 = var27; +RET_LABEL26:(void)0; } } -var20 = ((struct instance_standard__Bool*)var17)->value; /* autounbox from nullable Object to Bool */; -if (var20){ +var28 = (short int)((long)(var25)>>2); +if (var28){ { -var21 = nit___nit__ToolContext___check_errors(self); +var29 = nit___nit__ToolContext___check_errors(self); } } else { } +var = var_m; +goto RET_LABEL; RET_LABEL:; +return var; } /* method toolcontext#ToolContext#fatal_error for (self: ToolContext, nullable Location, String) */ void nit___nit__ToolContext___fatal_error(val* self, val* p0, val* p1) { val* var_l /* var l: nullable Location */; val* var_s /* var s: String */; -short int var /* : Bool */; +val* var /* : Message */; +short int var1 /* : Bool */; var_l = p0; var_s = p1; { -nit___nit__ToolContext___error(self, var_l, var_s); /* Direct call toolcontext#ToolContext#error on */ +var = nit___nit__ToolContext___error(self, var_l, var_s); } { -var = nit___nit__ToolContext___check_errors(self); +var1 = nit___nit__ToolContext___check_errors(self); } RET_LABEL:; } -/* method toolcontext#ToolContext#warning for (self: ToolContext, nullable Location, String, String) */ -void nit___nit__ToolContext___warning(val* self, val* p0, val* p1, val* p2) { +/* method toolcontext#ToolContext#warning for (self: ToolContext, nullable Location, String, String): nullable Message */ +val* nit___nit__ToolContext___warning(val* self, val* p0, val* p1, val* p2) { +val* var /* : nullable Message */; val* var_l /* var l: nullable Location */; val* var_tag /* var tag: String */; val* var_text /* var text: String */; -val* var /* : OptionArray */; -val* var2 /* : OptionArray */; -val* var3 /* : nullable Object */; -val* var5 /* : nullable Object */; +val* var1 /* : OptionArray */; +val* var3 /* : OptionArray */; +val* var4 /* : nullable Object */; +val* var6 /* : nullable Object */; +val* var7 /* : NativeArray[String] */; static val* varonce; -val* var6 /* : String */; -char* var7 /* : NativeString */; -long var8 /* : Int */; -val* var9 /* : FlatString */; -val* var10 /* : Array[Object] */; -long var11 /* : Int */; -val* var12 /* : NativeArray[Object] */; -val* var13 /* : String */; +static val* varonce8; +val* var9 /* : String */; +char* var10 /* : NativeString */; +val* var11 /* : FlatString */; +val* var12 /* : String */; +short int var13 /* : Bool */; short int var14 /* : Bool */; -short int var15 /* : Bool */; -val* var16 /* : OptionArray */; -val* var18 /* : OptionArray */; -val* var19 /* : nullable Object */; -val* var21 /* : nullable Object */; +val* var15 /* : OptionArray */; +val* var17 /* : OptionArray */; +val* var18 /* : nullable Object */; +val* var20 /* : nullable Object */; +short int var21 /* : Bool */; short int var22 /* : Bool */; -short int var23 /* : Bool */; short int var_ /* var : Bool */; -val* var24 /* : OptionCount */; -val* var26 /* : OptionCount */; -val* var27 /* : nullable Object */; -val* var29 /* : nullable Object */; -long var30 /* : Int */; +val* var23 /* : OptionCount */; +val* var25 /* : OptionCount */; +val* var26 /* : nullable Object */; +val* var28 /* : nullable Object */; +short int var29 /* : Bool */; short int var31 /* : Bool */; +long var32 /* : Int */; short int var33 /* : Bool */; -long var34 /* : Int */; -short int var35 /* : Bool */; -val* var36 /* : Array[Message] */; -val* var38 /* : Array[Message] */; -val* var39 /* : Message */; -long var40 /* : Int */; -long var42 /* : Int */; -long var43 /* : Int */; -long var44 /* : Int */; -short int var46 /* : Bool */; +val* var34 /* : Message */; +val* var_m /* var m: Message */; +val* var35 /* : Array[Message] */; +val* var37 /* : Array[Message] */; +short int var38 /* : Bool */; +short int var39 /* : Bool */; +short int var40 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +val* var44 /* : Array[Message] */; +val* var46 /* : Array[Message] */; +long var47 /* : Int */; +long var49 /* : Int */; +long var50 /* : Int */; +short int var52 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var47 /* : Int */; -val* var49 /* : OptionBool */; -val* var51 /* : OptionBool */; -val* var52 /* : nullable Object */; -val* var54 /* : nullable Object */; -short int var55 /* : Bool */; -short int var56 /* : Bool */; +long var53 /* : Int */; +val* var55 /* : OptionBool */; +val* var57 /* : OptionBool */; +val* var58 /* : nullable Object */; +val* var60 /* : nullable Object */; +short int var61 /* : Bool */; +short int var62 /* : Bool */; var_l = p0; var_tag = p1; var_text = p2; { { /* Inline toolcontext#ToolContext#opt_warning (self) on */ -var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ -if (unlikely(var2 == NULL)) { +var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ +if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 276); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338); +fatal_exit(1); } -var = var2; -RET_LABEL1:(void)0; +var1 = var3; +RET_LABEL2:(void)0; } } { -{ /* Inline opts#Option#value (var) on */ -var5 = var->attrs[COLOR_opts__Option___value].val; /* _value on */ -var3 = var5; -RET_LABEL4:(void)0; +{ /* Inline opts#Option#value (var1) on */ +var6 = var1->attrs[COLOR_opts__Option___value].val; /* _value on */ +var4 = var6; +RET_LABEL5:(void)0; } } -if (varonce) { -var6 = varonce; +if (unlikely(varonce==NULL)) { +var7 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce8!=NULL)) { +var9 = varonce8; } else { -var7 = "no-"; -var8 = 3; -var9 = standard___standard__NativeString___to_s_with_length(var7, var8); -var6 = var9; -varonce = var6; -} -var10 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var10 = array_instance Array[Object] */ -var11 = 2; -var12 = NEW_standard__NativeArray(var11, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var12)->values[0] = (val*) var6; -((struct instance_standard__NativeArray*)var12)->values[1] = (val*) var_tag; -{ -((void (*)(val* self, val* p0, long p1))(var10->class->vft[COLOR_standard__array__Array__with_native]))(var10, var12, var11) /* with_native on */; +var10 = "no-"; +var11 = standard___standard__NativeString___to_s_with_length(var10, 3l); +var9 = var11; +varonce8 = var9; } +((struct instance_standard__NativeArray*)var7)->values[0]=var9; +} else { +var7 = varonce; +varonce = NULL; } +((struct instance_standard__NativeArray*)var7)->values[1]=var_tag; { -var13 = ((val* (*)(val* self))(var10->class->vft[COLOR_standard__string__Object__to_s]))(var10) /* to_s on */; +var12 = ((val*(*)(val* self))(var7->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var7); /* native_to_s on */ } +varonce = var7; { -var14 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var3, var13); +var13 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var4, var12); } -if (var14){ +if (var13){ +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline toolcontext#ToolContext#opt_warning (self) on */ -var18 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ -if (unlikely(var18 == NULL)) { +var17 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ +if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 276); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338); +fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } { -{ /* Inline opts#Option#value (var16) on */ -var21 = var16->attrs[COLOR_opts__Option___value].val; /* _value on */ -var19 = var21; -RET_LABEL20:(void)0; +{ /* Inline opts#Option#value (var15) on */ +var20 = var15->attrs[COLOR_opts__Option___value].val; /* _value on */ +var18 = var20; +RET_LABEL19:(void)0; } } { -var22 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var19, var_tag); +var21 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var18, var_tag); } -var23 = !var22; -var_ = var23; -if (var23){ +var22 = !var21; +var_ = var22; +if (var22){ { { /* Inline toolcontext#ToolContext#opt_warn (self) on */ -var26 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ -if (unlikely(var26 == NULL)) { +var25 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 273); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -{ /* Inline opts#Option#value (var24) on */ -var29 = var24->attrs[COLOR_opts__Option___value].val; /* _value on */ -var27 = var29; -RET_LABEL28:(void)0; +{ /* Inline opts#Option#value (var23) on */ +var28 = var23->attrs[COLOR_opts__Option___value].val; /* _value on */ +var26 = var28; +RET_LABEL27:(void)0; } } -var30 = 0; { -{ /* Inline kernel#Int#== (var27,var30) on */ -var33 = (var27 != NULL) && (var27->class == &class_standard__Int); -if (var33) { -var34 = ((struct instance_standard__Int*)var27)->value; /* autounbox from nullable Object to Int */; -var33 = (var34 == var30); -} -var31 = var33; -goto RET_LABEL32; -RET_LABEL32:(void)0; +{ /* Inline kernel#Int#== (var26,0l) on */ +var32 = (long)(var26)>>2; +var31 = (var26 != NULL) && (var32 == 0l); +var29 = var31; +goto RET_LABEL30; +RET_LABEL30:(void)0; } } -var15 = var31; +var14 = var29; } else { -var15 = var_; +var14 = var_; } -if (var15){ +if (var14){ +var = ((val*)NULL); goto RET_LABEL; } else { } { -var35 = nit___nit__ToolContext___is_warning_blacklisted(self, var_l, var_tag); +var33 = nit___nit__ToolContext___is_warning_blacklisted(self, var_l, var_tag); } -if (var35){ +if (var33){ +var = ((val*)NULL); goto RET_LABEL; } else { } +var34 = NEW_nit__Message(&type_nit__Message); +{ +((void(*)(val* self, val* p0))(var34->class->vft[COLOR_nit__toolcontext__Message__location_61d]))(var34, var_l); /* location= on */ +} +{ +((void(*)(val* self, val* p0))(var34->class->vft[COLOR_nit__toolcontext__Message__tag_61d]))(var34, var_tag); /* tag= on */ +} +{ +((void(*)(val* self, val* p0))(var34->class->vft[COLOR_nit__toolcontext__Message__text_61d]))(var34, var_text); /* text= on */ +} +{ +((void(*)(val* self))(var34->class->vft[COLOR_standard__kernel__Object__init]))(var34); /* init on */ +} +var_m = var34; { { /* Inline toolcontext#ToolContext#messages (self) on */ -var38 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ -if (unlikely(var38 == NULL)) { +var37 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var37 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 105); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143); +fatal_exit(1); } -var36 = var38; -RET_LABEL37:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } -var39 = NEW_nit__Message(&type_nit__Message); { -((void (*)(val* self, val* p0))(var39->class->vft[COLOR_nit__toolcontext__Message__location_61d]))(var39, var_l) /* location= on */; +var38 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var35, var_m); +} +if (var38){ +var = ((val*)NULL); +goto RET_LABEL; +} else { +} +if (var_l == NULL) { +var39 = 0; /* is null */ +} else { +var39 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_l,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var42 = ((short int(*)(val* self, val* p0))(var_l->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_l, var_other); /* == on */ +} +var43 = !var42; +var40 = var43; +goto RET_LABEL41; +RET_LABEL41:(void)0; +} +var39 = var40; +} +if (var39){ +{ +nit__toolcontext___Location___add_message(var_l, var_m); /* Direct call toolcontext#Location#add_message on */ +} +} else { } { -((void (*)(val* self, val* p0))(var39->class->vft[COLOR_nit__toolcontext__Message__tag_61d]))(var39, var_tag) /* tag= on */; +{ /* Inline toolcontext#ToolContext#messages (self) on */ +var46 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var46 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143); +fatal_exit(1); } -{ -((void (*)(val* self, val* p0))(var39->class->vft[COLOR_nit__toolcontext__Message__text_61d]))(var39, var_text) /* text= on */; +var44 = var46; +RET_LABEL45:(void)0; } -{ -((void (*)(val* self))(var39->class->vft[COLOR_standard__kernel__Object__init]))(var39) /* init on */; } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var36, var39); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var44, var_m); /* Direct call array#Array#add on */ } { { /* Inline toolcontext#ToolContext#warning_count (self) on */ -var42 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on */ -var40 = var42; -RET_LABEL41:(void)0; +var49 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on */ +var47 = var49; +RET_LABEL48:(void)0; } } -var43 = 1; { -{ /* Inline kernel#Int#+ (var40,var43) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var46 = 1; /* easy isa OTHER*/ -if (unlikely(!var46)) { +{ /* Inline kernel#Int#+ (var47,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var52 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var52)) { 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, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var47 = var40 + var43; -var44 = var47; -goto RET_LABEL45; -RET_LABEL45:(void)0; +var53 = var47 + 1l; +var50 = var53; +goto RET_LABEL51; +RET_LABEL51:(void)0; } } { -{ /* Inline toolcontext#ToolContext#warning_count= (self,var44) on */ -self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l = var44; /* _warning_count on */ -RET_LABEL48:(void)0; +{ /* Inline toolcontext#ToolContext#warning_count= (self,var50) on */ +self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l = var50; /* _warning_count on */ +RET_LABEL54:(void)0; } } { { /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on */ -var51 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ -if (unlikely(var51 == NULL)) { +var57 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ +if (unlikely(var57 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 303); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 365); +fatal_exit(1); } -var49 = var51; -RET_LABEL50:(void)0; +var55 = var57; +RET_LABEL56:(void)0; } } { -{ /* Inline opts#Option#value (var49) on */ -var54 = var49->attrs[COLOR_opts__Option___value].val; /* _value on */ -var52 = var54; -RET_LABEL53:(void)0; +{ /* Inline opts#Option#value (var55) on */ +var60 = var55->attrs[COLOR_opts__Option___value].val; /* _value on */ +var58 = var60; +RET_LABEL59:(void)0; } } -var55 = ((struct instance_standard__Bool*)var52)->value; /* autounbox from nullable Object to Bool */; -if (var55){ +var61 = (short int)((long)(var58)>>2); +if (var61){ { -var56 = nit___nit__ToolContext___check_errors(self); +var62 = nit___nit__ToolContext___check_errors(self); } } else { } +var = var_m; +goto RET_LABEL; RET_LABEL:; +return var; } -/* method toolcontext#ToolContext#advice for (self: ToolContext, nullable Location, String, String) */ -void nit___nit__ToolContext___advice(val* self, val* p0, val* p1, val* p2) { +/* method toolcontext#ToolContext#advice for (self: ToolContext, nullable Location, String, String): nullable Message */ +val* nit___nit__ToolContext___advice(val* self, val* p0, val* p1, val* p2) { +val* var /* : nullable Message */; val* var_l /* var l: nullable Location */; val* var_tag /* var tag: String */; val* var_text /* var text: String */; -val* var /* : OptionArray */; -val* var2 /* : OptionArray */; -val* var3 /* : nullable Object */; -val* var5 /* : nullable Object */; +val* var1 /* : OptionArray */; +val* var3 /* : OptionArray */; +val* var4 /* : nullable Object */; +val* var6 /* : nullable Object */; +val* var7 /* : NativeArray[String] */; static val* varonce; -val* var6 /* : String */; -char* var7 /* : NativeString */; -long var8 /* : Int */; -val* var9 /* : FlatString */; -val* var10 /* : Array[Object] */; -long var11 /* : Int */; -val* var12 /* : NativeArray[Object] */; -val* var13 /* : String */; +static val* varonce8; +val* var9 /* : String */; +char* var10 /* : NativeString */; +val* var11 /* : FlatString */; +val* var12 /* : String */; +short int var13 /* : Bool */; short int var14 /* : Bool */; -short int var15 /* : Bool */; -val* var16 /* : OptionArray */; -val* var18 /* : OptionArray */; -val* var19 /* : nullable Object */; -val* var21 /* : nullable Object */; +val* var15 /* : OptionArray */; +val* var17 /* : OptionArray */; +val* var18 /* : nullable Object */; +val* var20 /* : nullable Object */; +short int var21 /* : Bool */; short int var22 /* : Bool */; -short int var23 /* : Bool */; short int var_ /* var : Bool */; -val* var24 /* : OptionCount */; -val* var26 /* : OptionCount */; -val* var27 /* : nullable Object */; -val* var29 /* : nullable Object */; -long var30 /* : Int */; +val* var23 /* : OptionCount */; +val* var25 /* : OptionCount */; +val* var26 /* : nullable Object */; +val* var28 /* : nullable Object */; +short int var29 /* : Bool */; short int var31 /* : Bool */; -short int var33 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var34 /* : Int */; -short int var35 /* : Bool */; -short int var36 /* : Bool */; -val* var37 /* : Array[Message] */; -val* var39 /* : Array[Message] */; -val* var40 /* : Message */; -long var41 /* : Int */; -long var43 /* : Int */; -long var44 /* : Int */; -long var45 /* : Int */; -short int var47 /* : Bool */; -int cltype48; -int idtype49; -const char* var_class_name50; +long var32 /* : Int */; +short int var33 /* : Bool */; +short int var34 /* : Bool */; +val* var35 /* : Message */; +val* var_m /* var m: Message */; +val* var36 /* : Array[Message] */; +val* var38 /* : Array[Message] */; +short int var39 /* : Bool */; +short int var40 /* : Bool */; +short int var41 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var43 /* : Bool */; +short int var44 /* : Bool */; +val* var45 /* : Array[Message] */; +val* var47 /* : Array[Message] */; +long var48 /* : Int */; +long var50 /* : Int */; long var51 /* : Int */; -val* var53 /* : OptionBool */; -val* var55 /* : OptionBool */; -val* var56 /* : nullable Object */; -val* var58 /* : nullable Object */; -short int var59 /* : Bool */; -short int var60 /* : Bool */; +short int var53 /* : Bool */; +int cltype54; +int idtype55; +const char* var_class_name56; +long var57 /* : Int */; +val* var59 /* : OptionBool */; +val* var61 /* : OptionBool */; +val* var62 /* : nullable Object */; +val* var64 /* : nullable Object */; +short int var65 /* : Bool */; +short int var66 /* : Bool */; var_l = p0; var_tag = p1; var_text = p2; { { /* Inline toolcontext#ToolContext#opt_warning (self) on */ -var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ -if (unlikely(var2 == NULL)) { +var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ +if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 276); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338); +fatal_exit(1); } -var = var2; -RET_LABEL1:(void)0; +var1 = var3; +RET_LABEL2:(void)0; } } { -{ /* Inline opts#Option#value (var) on */ -var5 = var->attrs[COLOR_opts__Option___value].val; /* _value on */ -var3 = var5; -RET_LABEL4:(void)0; +{ /* Inline opts#Option#value (var1) on */ +var6 = var1->attrs[COLOR_opts__Option___value].val; /* _value on */ +var4 = var6; +RET_LABEL5:(void)0; } } -if (varonce) { -var6 = varonce; +if (unlikely(varonce==NULL)) { +var7 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce8!=NULL)) { +var9 = varonce8; } else { -var7 = "no-"; -var8 = 3; -var9 = standard___standard__NativeString___to_s_with_length(var7, var8); -var6 = var9; -varonce = var6; -} -var10 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var10 = array_instance Array[Object] */ -var11 = 2; -var12 = NEW_standard__NativeArray(var11, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var12)->values[0] = (val*) var6; -((struct instance_standard__NativeArray*)var12)->values[1] = (val*) var_tag; -{ -((void (*)(val* self, val* p0, long p1))(var10->class->vft[COLOR_standard__array__Array__with_native]))(var10, var12, var11) /* with_native on */; +var10 = "no-"; +var11 = standard___standard__NativeString___to_s_with_length(var10, 3l); +var9 = var11; +varonce8 = var9; } +((struct instance_standard__NativeArray*)var7)->values[0]=var9; +} else { +var7 = varonce; +varonce = NULL; } +((struct instance_standard__NativeArray*)var7)->values[1]=var_tag; { -var13 = ((val* (*)(val* self))(var10->class->vft[COLOR_standard__string__Object__to_s]))(var10) /* to_s on */; +var12 = ((val*(*)(val* self))(var7->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var7); /* native_to_s on */ } +varonce = var7; { -var14 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var3, var13); +var13 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var4, var12); } -if (var14){ +if (var13){ +var = ((val*)NULL); goto RET_LABEL; } else { } { { /* Inline toolcontext#ToolContext#opt_warning (self) on */ -var18 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ -if (unlikely(var18 == NULL)) { +var17 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ +if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 276); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338); +fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } { -{ /* Inline opts#Option#value (var16) on */ -var21 = var16->attrs[COLOR_opts__Option___value].val; /* _value on */ -var19 = var21; -RET_LABEL20:(void)0; +{ /* Inline opts#Option#value (var15) on */ +var20 = var15->attrs[COLOR_opts__Option___value].val; /* _value on */ +var18 = var20; +RET_LABEL19:(void)0; } } { -var22 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var19, var_tag); +var21 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var18, var_tag); } -var23 = !var22; -var_ = var23; -if (var23){ +var22 = !var21; +var_ = var22; +if (var22){ { { /* Inline toolcontext#ToolContext#opt_warn (self) on */ -var26 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ -if (unlikely(var26 == NULL)) { +var25 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ +if (unlikely(var25 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 273); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335); +fatal_exit(1); } -var24 = var26; -RET_LABEL25:(void)0; +var23 = var25; +RET_LABEL24:(void)0; } } { -{ /* Inline opts#Option#value (var24) on */ -var29 = var24->attrs[COLOR_opts__Option___value].val; /* _value on */ -var27 = var29; -RET_LABEL28:(void)0; +{ /* Inline opts#Option#value (var23) on */ +var28 = var23->attrs[COLOR_opts__Option___value].val; /* _value on */ +var26 = var28; +RET_LABEL27:(void)0; } } -var30 = 1; { -{ /* Inline kernel#Int#<= (var27,var30) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var33 = 1; /* easy isa OTHER*/ -if (unlikely(!var33)) { +{ /* Inline kernel#Int#<= (var26,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var31 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var31)) { 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, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var34 = ((struct instance_standard__Int*)var27)->value; /* autounbox from nullable Object to Int */; -var35 = var34 <= var30; -var31 = var35; -goto RET_LABEL32; -RET_LABEL32:(void)0; +var32 = (long)(var26)>>2; +var33 = var32 <= 1l; +var29 = var33; +goto RET_LABEL30; +RET_LABEL30:(void)0; } } -var15 = var31; +var14 = var29; } else { -var15 = var_; +var14 = var_; } -if (var15){ +if (var14){ +var = ((val*)NULL); goto RET_LABEL; } else { } { -var36 = nit___nit__ToolContext___is_warning_blacklisted(self, var_l, var_tag); +var34 = nit___nit__ToolContext___is_warning_blacklisted(self, var_l, var_tag); } -if (var36){ +if (var34){ +var = ((val*)NULL); goto RET_LABEL; } else { } +var35 = NEW_nit__Message(&type_nit__Message); +{ +((void(*)(val* self, val* p0))(var35->class->vft[COLOR_nit__toolcontext__Message__location_61d]))(var35, var_l); /* location= on */ +} +{ +((void(*)(val* self, val* p0))(var35->class->vft[COLOR_nit__toolcontext__Message__tag_61d]))(var35, var_tag); /* tag= on */ +} +{ +((void(*)(val* self, val* p0))(var35->class->vft[COLOR_nit__toolcontext__Message__text_61d]))(var35, var_text); /* text= on */ +} +{ +((void(*)(val* self))(var35->class->vft[COLOR_standard__kernel__Object__init]))(var35); /* init on */ +} +var_m = var35; { { /* Inline toolcontext#ToolContext#messages (self) on */ -var39 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ -if (unlikely(var39 == NULL)) { +var38 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var38 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 105); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143); +fatal_exit(1); } -var37 = var39; -RET_LABEL38:(void)0; +var36 = var38; +RET_LABEL37:(void)0; } } -var40 = NEW_nit__Message(&type_nit__Message); { -((void (*)(val* self, val* p0))(var40->class->vft[COLOR_nit__toolcontext__Message__location_61d]))(var40, var_l) /* location= on */; +var39 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var36, var_m); +} +if (var39){ +var = ((val*)NULL); +goto RET_LABEL; +} else { } +if (var_l == NULL) { +var40 = 0; /* is null */ +} else { +var40 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_l,((val*)NULL)) on */ +var_other = ((val*)NULL); { -((void (*)(val* self, val* p0))(var40->class->vft[COLOR_nit__toolcontext__Message__tag_61d]))(var40, var_tag) /* tag= on */; +var43 = ((short int(*)(val* self, val* p0))(var_l->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_l, var_other); /* == on */ } +var44 = !var43; +var41 = var44; +goto RET_LABEL42; +RET_LABEL42:(void)0; +} +var40 = var41; +} +if (var40){ { -((void (*)(val* self, val* p0))(var40->class->vft[COLOR_nit__toolcontext__Message__text_61d]))(var40, var_text) /* text= on */; +nit__toolcontext___Location___add_message(var_l, var_m); /* Direct call toolcontext#Location#add_message on */ +} +} else { } { -((void (*)(val* self))(var40->class->vft[COLOR_standard__kernel__Object__init]))(var40) /* init on */; +{ /* Inline toolcontext#ToolContext#messages (self) on */ +var47 = self->attrs[COLOR_nit__toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var47 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 143); +fatal_exit(1); +} +var45 = var47; +RET_LABEL46:(void)0; +} } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var37, var40); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var45, var_m); /* Direct call array#Array#add on */ } { { /* Inline toolcontext#ToolContext#warning_count (self) on */ -var43 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on */ -var41 = var43; -RET_LABEL42:(void)0; +var50 = self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l; /* _warning_count on */ +var48 = var50; +RET_LABEL49:(void)0; } } -var44 = 1; { -{ /* Inline kernel#Int#+ (var41,var44) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var47 = 1; /* easy isa OTHER*/ -if (unlikely(!var47)) { -var_class_name50 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var48,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var53 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var53)) { +var_class_name56 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var51 = var41 + var44; -var45 = var51; -goto RET_LABEL46; -RET_LABEL46:(void)0; +var57 = var48 + 1l; +var51 = var57; +goto RET_LABEL52; +RET_LABEL52:(void)0; } } { -{ /* Inline toolcontext#ToolContext#warning_count= (self,var45) on */ -self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l = var45; /* _warning_count on */ -RET_LABEL52:(void)0; +{ /* Inline toolcontext#ToolContext#warning_count= (self,var51) on */ +self->attrs[COLOR_nit__toolcontext__ToolContext___warning_count].l = var51; /* _warning_count on */ +RET_LABEL58:(void)0; } } { { /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on */ -var55 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ -if (unlikely(var55 == NULL)) { +var61 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ +if (unlikely(var61 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 303); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 365); +fatal_exit(1); } -var53 = var55; -RET_LABEL54:(void)0; +var59 = var61; +RET_LABEL60:(void)0; } } { -{ /* Inline opts#Option#value (var53) on */ -var58 = var53->attrs[COLOR_opts__Option___value].val; /* _value on */ -var56 = var58; -RET_LABEL57:(void)0; +{ /* Inline opts#Option#value (var59) on */ +var64 = var59->attrs[COLOR_opts__Option___value].val; /* _value on */ +var62 = var64; +RET_LABEL63:(void)0; } } -var59 = ((struct instance_standard__Bool*)var56)->value; /* autounbox from nullable Object to Bool */; -if (var59){ +var65 = (short int)((long)(var62)>>2); +if (var65){ { -var60 = nit___nit__ToolContext___check_errors(self); +var66 = nit___nit__ToolContext___check_errors(self); } } else { } +var = var_m; +goto RET_LABEL; RET_LABEL:; +return var; } /* method toolcontext#ToolContext#info for (self: ToolContext, String, Int) */ void nit___nit__ToolContext___info(val* self, val* p0, long p1) { @@ -2208,10 +2451,25 @@ int cltype; int idtype; const char* var_class_name; short int var6 /* : Bool */; -val* var7 /* : Array[Object] */; -long var8 /* : Int */; -val* var9 /* : NativeArray[Object] */; -val* var10 /* : String */; +val* var7 /* : Sys */; +val* var8 /* : NativeArray[String] */; +static val* varonce; +val* var9 /* : String */; +val* var10 /* : nullable Writer */; +val* var12 /* : nullable Writer */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +val* var18 /* : nullable Writer */; +val* var20 /* : nullable Writer */; +val* var21 /* : nullable Writer */; +val* var23 /* : nullable Writer */; +static val* varonce24; +val* var25 /* : String */; +char* var26 /* : NativeString */; +val* var27 /* : FlatString */; var_s = p0; var_level = p1; { @@ -2229,8 +2487,8 @@ var5 = 1; /* easy isa OTHER*/ if (unlikely(!var5)) { 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, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } var6 = var_level <= var; var3 = var6; @@ -2239,20 +2497,84 @@ RET_LABEL4:(void)0; } } if (var3){ -var7 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var7 = array_instance Array[Object] */ -var8 = 1; -var9 = NEW_standard__NativeArray(var8, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var9)->values[0] = (val*) var_s; +var7 = glob_sys; +if (unlikely(varonce==NULL)) { +var8 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__String); +} else { +var8 = varonce; +varonce = NULL; +} +((struct instance_standard__NativeArray*)var8)->values[0]=var_s; +{ +var9 = ((val*(*)(val* self))(var8->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var8); /* native_to_s on */ +} +varonce = var8; +{ +standard__file___Sys___print(var7, var9); /* Direct call file#Sys#print on */ +} +} else { +} +{ +{ /* Inline toolcontext#ToolContext#log_info (self) on */ +var12 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val; /* _log_info on */ +var10 = var12; +RET_LABEL11:(void)0; +} +} +if (var10 == NULL) { +var13 = 0; /* is null */ +} else { +var13 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var10,((val*)NULL)) on */ +var_other = ((val*)NULL); { -((void (*)(val* self, val* p0, long p1))(var7->class->vft[COLOR_standard__array__Array__with_native]))(var7, var9, var8) /* with_native on */; +var16 = ((short int(*)(val* self, val* p0))(var10->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var10, var_other); /* == on */ +} +var17 = !var16; +var14 = var17; +goto RET_LABEL15; +RET_LABEL15:(void)0; } +var13 = var14; } +if (var13){ { -var10 = ((val* (*)(val* self))(var7->class->vft[COLOR_standard__string__Object__to_s]))(var7) /* to_s on */; +{ /* Inline toolcontext#ToolContext#log_info (self) on */ +var20 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val; /* _log_info on */ +var18 = var20; +RET_LABEL19:(void)0; +} +} +if (var18 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 298); +fatal_exit(1); +} else { +standard___standard__FileWriter___standard__stream__Writer__write(var18, var_s); /* Direct call file#FileWriter#write on */ } { -standard__file___Object___print(self, var10); /* Direct call file#Object#print on */ +{ /* Inline toolcontext#ToolContext#log_info (self) on */ +var23 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val; /* _log_info on */ +var21 = var23; +RET_LABEL22:(void)0; +} +} +if (likely(varonce24!=NULL)) { +var25 = varonce24; +} else { +var26 = "\n"; +var27 = standard___standard__NativeString___to_s_with_length(var26, 1l); +var25 = var27; +varonce24 = var25; +} +if (var21 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 299); +fatal_exit(1); +} else { +standard___standard__FileWriter___standard__stream__Writer__write(var21, var25); /* Direct call file#FileWriter#write on */ } } else { } @@ -2265,8 +2587,8 @@ val* var1 /* : OptionContext */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ if (unlikely(var1 == 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 = var1; RET_LABEL:; @@ -2279,8 +2601,8 @@ val* var1 /* : OptionCount */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 273); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2293,8 +2615,8 @@ val* var1 /* : OptionArray */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 276); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2307,8 +2629,8 @@ val* var1 /* : OptionBool */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 279); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 341); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2321,8 +2643,8 @@ val* var1 /* : OptionBool */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log].val; /* _opt_log on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 282); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 344); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2335,8 +2657,8 @@ val* var1 /* : OptionString */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 285); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 347); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2349,8 +2671,8 @@ val* var1 /* : OptionString */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_nit_dir].val; /* _opt_nit_dir on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_nit_dir"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 288); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 350); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2363,8 +2685,8 @@ val* var1 /* : OptionBool */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_help].val; /* _opt_help on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 291); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 353); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2377,8 +2699,8 @@ val* var1 /* : OptionBool */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_version].val; /* _opt_version on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 294); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 356); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2391,8 +2713,8 @@ val* var1 /* : OptionBool */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 297); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 359); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2405,8 +2727,8 @@ val* var1 /* : OptionCount */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 300); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 362); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2419,8 +2741,22 @@ val* var1 /* : OptionBool */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 303); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 365); +fatal_exit(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#opt_keep_going for (self: ToolContext): OptionBool */ +val* nit___nit__ToolContext___opt_keep_going(val* self) { +val* var /* : OptionBool */; +val* var1 /* : OptionBool */; +var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_keep_going].val; /* _opt_keep_going on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_keep_going"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 368); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2433,8 +2769,8 @@ val* var1 /* : OptionBool */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 306); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 371); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2447,8 +2783,8 @@ val* var1 /* : OptionBool */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 309); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 374); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2461,8 +2797,8 @@ val* var1 /* : OptionBool */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 312); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 377); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2498,41 +2834,39 @@ val* var15 /* : OptionBool */; val* var17 /* : OptionBool */; val* var18 /* : OptionBool */; val* var20 /* : OptionBool */; -val* var21 /* : OptionString */; -val* var23 /* : OptionString */; +val* var21 /* : OptionBool */; +val* var23 /* : OptionBool */; val* var24 /* : OptionString */; val* var26 /* : OptionString */; -val* var27 /* : OptionBool */; -val* var29 /* : OptionBool */; +val* var27 /* : OptionString */; +val* var29 /* : OptionString */; val* var30 /* : OptionBool */; val* var32 /* : OptionBool */; val* var33 /* : OptionBool */; val* var35 /* : OptionBool */; -val* var36 /* : OptionCount */; -val* var38 /* : OptionCount */; -val* var39 /* : OptionBool */; -val* var41 /* : OptionBool */; +val* var36 /* : OptionBool */; +val* var38 /* : OptionBool */; +val* var39 /* : OptionCount */; +val* var41 /* : OptionCount */; val* var42 /* : OptionBool */; val* var44 /* : OptionBool */; -val* var45 /* : Array[Option] */; -long var46 /* : Int */; -val* var47 /* : NativeArray[Option] */; -val* var48 /* : OptionBool */; +val* var45 /* : OptionBool */; +val* var47 /* : OptionBool */; +val* var48 /* : Array[Option] */; +val* var49 /* : NativeArray[Option] */; val* var50 /* : OptionBool */; -short int var51 /* : Bool */; -val* var53 /* : OptionBool */; -val* var55 /* : OptionBool */; -short int var56 /* : Bool */; +val* var52 /* : OptionBool */; +val* var54 /* : OptionBool */; +val* var56 /* : OptionBool */; val* var58 /* : OptionBool */; val* var60 /* : OptionBool */; -short int var61 /* : Bool */; { { /* 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; @@ -2543,8 +2877,8 @@ RET_LABEL1:(void)0; var5 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 273); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335); +fatal_exit(1); } var3 = var5; RET_LABEL4:(void)0; @@ -2555,8 +2889,8 @@ RET_LABEL4:(void)0; var8 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 276); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 338); +fatal_exit(1); } var6 = var8; RET_LABEL7:(void)0; @@ -2567,8 +2901,8 @@ RET_LABEL7:(void)0; var11 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on */ if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 279); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 341); +fatal_exit(1); } var9 = var11; RET_LABEL10:(void)0; @@ -2579,193 +2913,203 @@ RET_LABEL10:(void)0; var14 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 303); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 365); +fatal_exit(1); } var12 = var14; RET_LABEL13:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_no_color (self) on */ -var17 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ +{ /* Inline toolcontext#ToolContext#opt_keep_going (self) on */ +var17 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_keep_going].val; /* _opt_keep_going on */ if (unlikely(var17 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 306); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_keep_going"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 368); +fatal_exit(1); } var15 = var17; RET_LABEL16:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_log (self) on */ -var20 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log].val; /* _opt_log on */ +{ /* Inline toolcontext#ToolContext#opt_no_color (self) on */ +var20 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ if (unlikely(var20 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 282); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 371); +fatal_exit(1); } var18 = var20; RET_LABEL19:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_log_dir (self) on */ -var23 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ +{ /* Inline toolcontext#ToolContext#opt_log (self) on */ +var23 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log].val; /* _opt_log on */ if (unlikely(var23 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 285); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 344); +fatal_exit(1); } var21 = var23; RET_LABEL22:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_nit_dir (self) on */ -var26 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_nit_dir].val; /* _opt_nit_dir on */ +{ /* Inline toolcontext#ToolContext#opt_log_dir (self) on */ +var26 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ if (unlikely(var26 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_nit_dir"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 288); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 347); +fatal_exit(1); } var24 = var26; RET_LABEL25:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_help (self) on */ -var29 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_help].val; /* _opt_help on */ +{ /* Inline toolcontext#ToolContext#opt_nit_dir (self) on */ +var29 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_nit_dir].val; /* _opt_nit_dir on */ if (unlikely(var29 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 291); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_nit_dir"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 350); +fatal_exit(1); } var27 = var29; RET_LABEL28:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_version (self) on */ -var32 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_version].val; /* _opt_version on */ +{ /* Inline toolcontext#ToolContext#opt_help (self) on */ +var32 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_help].val; /* _opt_help on */ if (unlikely(var32 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 294); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 353); +fatal_exit(1); } var30 = var32; RET_LABEL31:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on */ -var35 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on */ +{ /* Inline toolcontext#ToolContext#opt_version (self) on */ +var35 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_version].val; /* _opt_version on */ if (unlikely(var35 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 297); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 356); +fatal_exit(1); } var33 = var35; RET_LABEL34:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_verbose (self) on */ -var38 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on */ +{ /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on */ +var38 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on */ if (unlikely(var38 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 300); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 359); +fatal_exit(1); } var36 = var38; RET_LABEL37:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_bash_completion (self) on */ -var41 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on */ +{ /* Inline toolcontext#ToolContext#opt_verbose (self) on */ +var41 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on */ if (unlikely(var41 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 309); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 362); +fatal_exit(1); } var39 = var41; RET_LABEL40:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_stub_man (self) on */ -var44 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on */ +{ /* Inline toolcontext#ToolContext#opt_bash_completion (self) on */ +var44 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on */ if (unlikely(var44 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 312); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 374); +fatal_exit(1); } var42 = var44; RET_LABEL43:(void)0; } } -var45 = NEW_standard__Array(&type_standard__Array__opts__Option); -{ /* var45 = array_instance Array[Option] */ -var46 = 14; -var47 = NEW_standard__NativeArray(var46, &type_standard__NativeArray__opts__Option); -((struct instance_standard__NativeArray*)var47)->values[0] = (val*) var3; -((struct instance_standard__NativeArray*)var47)->values[1] = (val*) var6; -((struct instance_standard__NativeArray*)var47)->values[2] = (val*) var9; -((struct instance_standard__NativeArray*)var47)->values[3] = (val*) var12; -((struct instance_standard__NativeArray*)var47)->values[4] = (val*) var15; -((struct instance_standard__NativeArray*)var47)->values[5] = (val*) var18; -((struct instance_standard__NativeArray*)var47)->values[6] = (val*) var21; -((struct instance_standard__NativeArray*)var47)->values[7] = (val*) var24; -((struct instance_standard__NativeArray*)var47)->values[8] = (val*) var27; -((struct instance_standard__NativeArray*)var47)->values[9] = (val*) var30; -((struct instance_standard__NativeArray*)var47)->values[10] = (val*) var33; -((struct instance_standard__NativeArray*)var47)->values[11] = (val*) var36; -((struct instance_standard__NativeArray*)var47)->values[12] = (val*) var39; -((struct instance_standard__NativeArray*)var47)->values[13] = (val*) var42; { -((void (*)(val* self, val* p0, long p1))(var45->class->vft[COLOR_standard__array__Array__with_native]))(var45, var47, var46) /* with_native on */; +{ /* Inline toolcontext#ToolContext#opt_stub_man (self) on */ +var47 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on */ +if (unlikely(var47 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 377); +fatal_exit(1); +} +var45 = var47; +RET_LABEL46:(void)0; +} +} +var48 = NEW_standard__Array(&type_standard__Array__opts__Option); +{ /* var48 = array_instance Array[Option] */ +var49 = NEW_standard__NativeArray(15l, &type_standard__NativeArray__opts__Option); +((struct instance_standard__NativeArray*)var49)->values[0] = (val*) var3; +((struct instance_standard__NativeArray*)var49)->values[1] = (val*) var6; +((struct instance_standard__NativeArray*)var49)->values[2] = (val*) var9; +((struct instance_standard__NativeArray*)var49)->values[3] = (val*) var12; +((struct instance_standard__NativeArray*)var49)->values[4] = (val*) var15; +((struct instance_standard__NativeArray*)var49)->values[5] = (val*) var18; +((struct instance_standard__NativeArray*)var49)->values[6] = (val*) var21; +((struct instance_standard__NativeArray*)var49)->values[7] = (val*) var24; +((struct instance_standard__NativeArray*)var49)->values[8] = (val*) var27; +((struct instance_standard__NativeArray*)var49)->values[9] = (val*) var30; +((struct instance_standard__NativeArray*)var49)->values[10] = (val*) var33; +((struct instance_standard__NativeArray*)var49)->values[11] = (val*) var36; +((struct instance_standard__NativeArray*)var49)->values[12] = (val*) var39; +((struct instance_standard__NativeArray*)var49)->values[13] = (val*) var42; +((struct instance_standard__NativeArray*)var49)->values[14] = (val*) var45; +{ +((void(*)(val* self, val* p0, long p1))(var48->class->vft[COLOR_standard__array__Array__with_native]))(var48, var49, 15l); /* with_native on */ } } { -opts___opts__OptionContext___add_option(var, var45); /* Direct call opts#OptionContext#add_option on */ +opts___opts__OptionContext___add_option(var, var48); /* Direct call opts#OptionContext#add_option on */ } { { /* Inline toolcontext#ToolContext#opt_stub_man (self) on */ -var50 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on */ -if (unlikely(var50 == NULL)) { +var52 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on */ +if (unlikely(var52 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 312); -show_backtrace(1); -} -var48 = var50; -RET_LABEL49:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 377); +fatal_exit(1); +} +var50 = var52; +RET_LABEL51:(void)0; } } -var51 = 1; { -{ /* Inline opts#Option#hidden= (var48,var51) on */ -var48->attrs[COLOR_opts__Option___hidden].s = var51; /* _hidden on */ -RET_LABEL52:(void)0; +{ /* Inline opts#Option#hidden= (var50,1) on */ +var50->attrs[COLOR_opts__Option___hidden].s = 1; /* _hidden on */ +RET_LABEL53:(void)0; } } { { /* Inline toolcontext#ToolContext#opt_bash_completion (self) on */ -var55 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on */ -if (unlikely(var55 == NULL)) { +var56 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on */ +if (unlikely(var56 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 309); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 374); +fatal_exit(1); } -var53 = var55; -RET_LABEL54:(void)0; +var54 = var56; +RET_LABEL55:(void)0; } } -var56 = 1; { -{ /* Inline opts#Option#hidden= (var53,var56) on */ -var53->attrs[COLOR_opts__Option___hidden].s = var56; /* _hidden on */ +{ /* Inline opts#Option#hidden= (var54,1) on */ +var54->attrs[COLOR_opts__Option___hidden].s = 1; /* _hidden on */ RET_LABEL57:(void)0; } } @@ -2774,18 +3118,17 @@ RET_LABEL57:(void)0; var60 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on */ if (unlikely(var60 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 297); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 359); +fatal_exit(1); } var58 = var60; RET_LABEL59:(void)0; } } -var61 = 1; { -{ /* Inline opts#Option#hidden= (var58,var61) on */ -var58->attrs[COLOR_opts__Option___hidden].s = var61; /* _hidden on */ -RET_LABEL62:(void)0; +{ /* Inline opts#Option#hidden= (var58,1) on */ +var58->attrs[COLOR_opts__Option___hidden].s = 1; /* _hidden on */ +RET_LABEL61:(void)0; } } RET_LABEL:; @@ -2797,8 +3140,8 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 393); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -2820,39 +3163,41 @@ return var; } /* method toolcontext#ToolContext#usage for (self: ToolContext) */ void nit___nit__ToolContext___usage(val* self) { -val* var /* : String */; -val* var2 /* : String */; -val* var3 /* : OptionContext */; -val* var5 /* : OptionContext */; +val* var /* : Sys */; +val* var1 /* : String */; +val* var3 /* : String */; +val* var4 /* : OptionContext */; +val* var6 /* : OptionContext */; +var = glob_sys; { { /* Inline toolcontext#ToolContext#tooldescription (self) on */ -var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ -if (unlikely(var2 == NULL)) { +var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 393); +fatal_exit(1); } -var = var2; -RET_LABEL1:(void)0; +var1 = var3; +RET_LABEL2:(void)0; } } { -standard__file___Object___print(self, var); /* Direct call file#Object#print on */ +standard__file___Sys___print(var, var1); /* Direct call file#Sys#print on */ } { { /* Inline toolcontext#ToolContext#option_context (self) on */ -var5 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ -if (unlikely(var5 == NULL)) { +var6 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var6 == 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); } -var3 = var5; -RET_LABEL4:(void)0; +var4 = var6; +RET_LABEL5:(void)0; } } { -opts___opts__OptionContext___usage(var3); /* Direct call opts#OptionContext#usage on */ +opts___opts__OptionContext___usage(var4); /* Direct call opts#OptionContext#usage on */ } RET_LABEL:; } @@ -2861,28 +3206,28 @@ void nit___nit__ToolContext___process_options(val* self, val* p0) { val* var_args /* var args: Sequence[String] */; val* var /* : OptionCount */; val* var2 /* : OptionCount */; -long var3 /* : Int */; -short int var5 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -val* var6 /* : nullable Object */; -val* var7 /* : OptionContext */; -val* var9 /* : OptionContext */; -val* var10 /* : OptionBool */; -val* var12 /* : OptionBool */; -val* var13 /* : nullable Object */; -val* var15 /* : nullable Object */; -short int var16 /* : Bool */; -long var17 /* : Int */; -val* var19 /* : OptionBool */; -val* var21 /* : OptionBool */; -val* var22 /* : nullable Object */; -val* var24 /* : nullable Object */; -short int var25 /* : Bool */; +val* var5 /* : nullable Object */; +val* var6 /* : OptionContext */; +val* var8 /* : OptionContext */; +val* var9 /* : OptionBool */; +val* var11 /* : OptionBool */; +val* var12 /* : nullable Object */; +val* var14 /* : nullable Object */; +short int var15 /* : Bool */; +val* var16 /* : Sys */; +val* var18 /* : OptionBool */; +val* var20 /* : OptionBool */; +val* var21 /* : nullable Object */; +val* var23 /* : nullable Object */; +short int var24 /* : Bool */; +val* var25 /* : Sys */; val* var26 /* : String */; -long var27 /* : Int */; +val* var27 /* : Sys */; val* var29 /* : OptionBool */; val* var31 /* : OptionBool */; val* var32 /* : nullable Object */; @@ -2892,328 +3237,328 @@ val* var36 /* : BashCompletion */; val* var_bash_completion /* var bash_completion: BashCompletion */; val* var37 /* : Sys */; val* var39 /* : Sys */; -val* var40 /* : OStream */; -val* var42 /* : OStream */; -long var43 /* : Int */; +val* var40 /* : Writer */; +val* var41 /* : Sys */; +val* var43 /* : OptionBool */; val* var45 /* : OptionBool */; -val* var47 /* : OptionBool */; +val* var46 /* : nullable Object */; val* var48 /* : nullable Object */; -val* var50 /* : nullable Object */; -short int var51 /* : Bool */; +short int var49 /* : Bool */; +val* var50 /* : Sys */; +val* var51 /* : NativeArray[String] */; static val* varonce; -val* var52 /* : String */; -char* var53 /* : NativeString */; -long var54 /* : Int */; +static val* varonce52; +val* var53 /* : String */; +char* var54 /* : NativeString */; val* var55 /* : FlatString */; -val* var56 /* : String */; +static val* varonce56; val* var57 /* : String */; -static val* varonce58; -val* var59 /* : String */; -char* var60 /* : NativeString */; -long var61 /* : Int */; -val* var62 /* : FlatString */; -val* var63 /* : String */; +char* var58 /* : NativeString */; +val* var59 /* : FlatString */; +static val* varonce60; +val* var61 /* : String */; +char* var62 /* : NativeString */; +val* var63 /* : FlatString */; +static val* varonce64; val* var65 /* : String */; -static val* varonce66; -val* var67 /* : String */; -char* var68 /* : NativeString */; -long var69 /* : Int */; -val* var70 /* : FlatString */; -val* var71 /* : Array[String] */; -long var72 /* : Int */; -val* var73 /* : nullable Object */; -static val* varonce74; -val* var75 /* : String */; -char* var76 /* : NativeString */; -long var77 /* : Int */; -val* var78 /* : FlatString */; +char* var66 /* : NativeString */; +val* var67 /* : FlatString */; +val* var68 /* : String */; +val* var69 /* : String */; +val* var70 /* : String */; +val* var72 /* : String */; +static val* varonce73; +val* var74 /* : String */; +char* var75 /* : NativeString */; +val* var76 /* : FlatString */; +val* var77 /* : Array[String] */; +val* var78 /* : nullable Object */; val* var79 /* : String */; -static val* varonce80; -val* var81 /* : String */; -char* var82 /* : NativeString */; -long var83 /* : Int */; -val* var84 /* : FlatString */; -val* var85 /* : Array[Object] */; -long var86 /* : Int */; -val* var87 /* : NativeArray[Object] */; -val* var88 /* : String */; -val* var89 /* : OptionContext */; -val* var91 /* : OptionContext */; -val* var92 /* : Array[Option] */; -val* var94 /* : Array[Option] */; +val* var80 /* : String */; +val* var81 /* : OptionContext */; +val* var83 /* : OptionContext */; +val* var84 /* : Array[Option] */; +val* var86 /* : Array[Option] */; val* var_ /* var : Array[Option] */; +val* var87 /* : ArrayIterator[nullable Object] */; +val* var_88 /* var : ArrayIterator[Option] */; +short int var89 /* : Bool */; +val* var90 /* : nullable Object */; +val* var_o /* var o: Option */; +short int var_first /* var first: Bool */; +val* var91 /* : Array[String] */; +val* var93 /* : Array[String] */; +val* var_94 /* var : Array[String] */; val* var95 /* : ArrayIterator[nullable Object] */; -val* var_96 /* var : ArrayIterator[Option] */; +val* var_96 /* var : ArrayIterator[String] */; short int var97 /* : Bool */; val* var98 /* : nullable Object */; -val* var_o /* var o: Option */; -short int var99 /* : Bool */; -short int var_first /* var first: Bool */; -val* var100 /* : Array[String] */; -val* var102 /* : Array[String] */; -val* var_103 /* var : Array[String] */; -val* var104 /* : ArrayIterator[nullable Object] */; -val* var_105 /* var : ArrayIterator[String] */; -short int var106 /* : Bool */; -val* var107 /* : nullable Object */; val* var_n /* var n: String */; -short int var108 /* : Bool */; +val* var99 /* : Sys */; +static val* varonce100; +val* var101 /* : String */; +char* var102 /* : NativeString */; +val* var103 /* : FlatString */; +val* var104 /* : Array[Object] */; +val* var105 /* : NativeArray[Object] */; +val* var106 /* : Sys */; +val* var108 /* : NativeArray[String] */; +static val* varonce107; static val* varonce109; val* var110 /* : String */; char* var111 /* : NativeString */; -long var112 /* : Int */; -val* var113 /* : FlatString */; -val* var114 /* : Array[Object] */; -long var115 /* : Int */; -val* var116 /* : NativeArray[Object] */; -static val* varonce117; -val* var118 /* : String */; -char* var119 /* : NativeString */; -long var120 /* : Int */; -val* var121 /* : FlatString */; -static val* varonce122; -val* var123 /* : String */; -char* var124 /* : NativeString */; -long var125 /* : Int */; -val* var126 /* : FlatString */; -val* var127 /* : Array[Object] */; -long var128 /* : Int */; -val* var129 /* : NativeArray[Object] */; -val* var130 /* : String */; -val* var131 /* : Array[Object] */; -long var132 /* : Int */; -val* var133 /* : NativeArray[Object] */; -static val* varonce135; -val* var136 /* : String */; -char* var137 /* : NativeString */; -long var138 /* : Int */; -val* var139 /* : FlatString */; -static val* varonce140; -val* var141 /* : String */; -char* var142 /* : NativeString */; -long var143 /* : Int */; -val* var144 /* : FlatString */; -val* var145 /* : String */; -val* var147 /* : String */; -val* var148 /* : Array[Object] */; -long var149 /* : Int */; -val* var150 /* : NativeArray[Object] */; -val* var151 /* : String */; -static val* varonce152; -val* var153 /* : String */; -char* var154 /* : NativeString */; -long var155 /* : Int */; -val* var156 /* : FlatString */; -static val* varonce159; -val* var160 /* : String */; -char* var161 /* : NativeString */; -long var162 /* : Int */; -val* var163 /* : FlatString */; -long var164 /* : Int */; -val* var166 /* : OptionContext */; -val* var168 /* : OptionContext */; -val* var169 /* : Array[String] */; +val* var112 /* : FlatString */; +static val* varonce113; +val* var114 /* : String */; +char* var115 /* : NativeString */; +val* var116 /* : FlatString */; +val* var117 /* : String */; +val* var118 /* : Array[Object] */; +val* var119 /* : NativeArray[Object] */; +val* var120 /* : Sys */; +static val* varonce121; +val* var122 /* : String */; +char* var123 /* : NativeString */; +val* var124 /* : FlatString */; +val* var125 /* : Sys */; +val* var127 /* : NativeArray[String] */; +static val* varonce126; +static val* varonce128; +val* var129 /* : String */; +char* var130 /* : NativeString */; +val* var131 /* : FlatString */; +val* var132 /* : String */; +val* var134 /* : String */; +val* var135 /* : String */; +val* var136 /* : Sys */; +static val* varonce137; +val* var138 /* : String */; +char* var139 /* : NativeString */; +val* var140 /* : FlatString */; +val* var142 /* : Sys */; +static val* varonce143; +val* var144 /* : String */; +char* var145 /* : NativeString */; +val* var146 /* : FlatString */; +val* var147 /* : Sys */; +val* var149 /* : OptionContext */; +val* var151 /* : OptionContext */; +val* var152 /* : Array[String] */; val* var_errors /* var errors: Array[String] */; -short int var170 /* : Bool */; -short int var171 /* : Bool */; -val* var_172 /* var : Array[String] */; -val* var173 /* : ArrayIterator[nullable Object] */; -val* var_174 /* var : ArrayIterator[String] */; -short int var175 /* : Bool */; -val* var176 /* : nullable Object */; +short int var153 /* : Bool */; +short int var154 /* : Bool */; +val* var_155 /* var : Array[String] */; +val* var156 /* : ArrayIterator[nullable Object] */; +val* var_157 /* var : ArrayIterator[String] */; +short int var158 /* : Bool */; +val* var159 /* : nullable Object */; val* var_e /* var e: String */; -static val* varonce177; -val* var178 /* : String */; -char* var179 /* : NativeString */; -long var180 /* : Int */; -val* var181 /* : FlatString */; -val* var182 /* : Array[Object] */; -long var183 /* : Int */; -val* var184 /* : NativeArray[Object] */; -val* var185 /* : String */; -val* var188 /* : String */; -val* var190 /* : String */; -static val* varonce191; -val* var192 /* : String */; -char* var193 /* : NativeString */; -long var194 /* : Int */; -val* var195 /* : FlatString */; -long var196 /* : Int */; +val* var160 /* : Sys */; +val* var162 /* : NativeArray[String] */; +static val* varonce161; +static val* varonce163; +val* var164 /* : String */; +char* var165 /* : NativeString */; +val* var166 /* : FlatString */; +val* var167 /* : String */; +val* var169 /* : Sys */; +val* var170 /* : String */; +val* var172 /* : String */; +val* var173 /* : Sys */; +static val* varonce174; +val* var175 /* : String */; +char* var176 /* : NativeString */; +val* var177 /* : FlatString */; +val* var178 /* : Sys */; +val* var180 /* : String */; +short int var182 /* : Bool */; +val* var183 /* : OptionContext */; +val* var185 /* : OptionContext */; +val* var186 /* : Array[String] */; +val* var188 /* : Array[String] */; +short int var189 /* : Bool */; +short int var_190 /* var : Bool */; +short int var191 /* : Bool */; +short int var193 /* : Bool */; +short int var194 /* : Bool */; +val* var195 /* : Sys */; +val* var196 /* : String */; val* var198 /* : String */; -short int var200 /* : Bool */; -val* var201 /* : OptionContext */; -val* var203 /* : OptionContext */; -val* var204 /* : Array[String] */; -val* var206 /* : Array[String] */; -short int var207 /* : Bool */; -short int var_208 /* var : Bool */; -short int var209 /* : Bool */; -short int var211 /* : Bool */; -short int var212 /* : Bool */; -val* var213 /* : String */; -val* var215 /* : String */; -static val* varonce216; -val* var217 /* : String */; -char* var218 /* : NativeString */; -long var219 /* : Int */; -val* var220 /* : FlatString */; -long var221 /* : Int */; -val* var223 /* : OptionCount */; -val* var225 /* : OptionCount */; -val* var226 /* : nullable Object */; -val* var228 /* : nullable Object */; -long var230 /* : Int */; -val* var231 /* : OptionBool */; -val* var233 /* : OptionBool */; -val* var234 /* : nullable Object */; -val* var236 /* : nullable Object */; -short int var237 /* : Bool */; -val* var238 /* : OptionCount */; -val* var240 /* : OptionCount */; -long var241 /* : Int */; -short int var243 /* : Bool */; -int cltype244; -int idtype245; -const struct type* type_struct246; -const char* var_class_name247; -val* var248 /* : nullable Object */; -val* var249 /* : OptionString */; -val* var251 /* : OptionString */; -val* var252 /* : nullable Object */; -val* var254 /* : nullable Object */; -val* var255 /* : null */; -short int var256 /* : Bool */; -short int var257 /* : Bool */; +val* var199 /* : Sys */; +static val* varonce200; +val* var201 /* : String */; +char* var202 /* : NativeString */; +val* var203 /* : FlatString */; +val* var204 /* : Sys */; +val* var206 /* : OptionCount */; +val* var208 /* : OptionCount */; +val* var209 /* : nullable Object */; +val* var211 /* : nullable Object */; +long var213 /* : Int */; +val* var214 /* : OptionBool */; +val* var216 /* : OptionBool */; +val* var217 /* : nullable Object */; +val* var219 /* : nullable Object */; +short int var220 /* : Bool */; +val* var222 /* : OptionBool */; +val* var224 /* : OptionBool */; +val* var225 /* : nullable Object */; +val* var227 /* : nullable Object */; +short int var228 /* : Bool */; +val* var229 /* : OptionCount */; +val* var231 /* : OptionCount */; +short int var233 /* : Bool */; +int cltype234; +int idtype235; +const struct type* type_struct236; +const char* var_class_name237; +val* var238 /* : nullable Object */; +val* var239 /* : OptionString */; +val* var241 /* : OptionString */; +val* var242 /* : nullable Object */; +val* var244 /* : nullable Object */; +short int var245 /* : Bool */; +short int var246 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var259 /* : Bool */; -short int var260 /* : Bool */; -val* var261 /* : OptionString */; -val* var263 /* : OptionString */; -val* var264 /* : nullable Object */; -val* var266 /* : nullable Object */; -val* var268 /* : OptionBool */; -val* var270 /* : OptionBool */; -val* var271 /* : nullable Object */; -val* var273 /* : nullable Object */; -short int var274 /* : Bool */; +short int var248 /* : Bool */; +short int var249 /* : Bool */; +val* var250 /* : OptionString */; +val* var252 /* : OptionString */; +val* var253 /* : nullable Object */; +val* var255 /* : nullable Object */; +val* var257 /* : OptionBool */; +val* var259 /* : OptionBool */; +val* var260 /* : nullable Object */; +val* var262 /* : nullable Object */; +short int var263 /* : Bool */; +val* var264 /* : String */; +val* var266 /* : String */; +val* var267 /* : nullable Error */; +val* var268 /* : String */; +val* var270 /* : String */; +static val* varonce271; +val* var272 /* : String */; +char* var273 /* : NativeString */; +val* var274 /* : FlatString */; val* var275 /* : String */; -val* var277 /* : String */; +val* var276 /* : Path */; +val* var277 /* : FileWriter */; var_args = p0; { { /* Inline toolcontext#ToolContext#opt_warn (self) on */ var2 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 273); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; } } -var3 = 1; { -{ /* Inline opts#Option#value= (var,var3) on */ -/* Covariant cast for argument 0 (value) isa VALUE */ -/* isa VALUE */ +{ /* Inline opts#Option#value= (var,1l) on */ +/* Covariant cast for argument 0 (value) <1l:Int> isa VALUE */ +/* <1l:Int> isa VALUE */ type_struct = var->type->resolution_table->types[COLOR_opts__Option__VALUE]; cltype = type_struct->color; idtype = type_struct->id; if(cltype >= (&type_standard__Int)->table_size) { -var5 = 0; +var4 = 0; } else { -var5 = (&type_standard__Int)->type_table[cltype] == idtype; +var4 = (&type_standard__Int)->type_table[cltype] == idtype; } -if (unlikely(!var5)) { +if (unlikely(!var4)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40); -show_backtrace(1); +fatal_exit(1); } -var6 = BOX_standard__Int(var3); /* autobox from Int to nullable Object */ -var->attrs[COLOR_opts__Option___value].val = var6; /* _value on */ -RET_LABEL4:(void)0; +var5 = (val*)(1l<<2|1); +var->attrs[COLOR_opts__Option___value].val = var5; /* _value on */ +RET_LABEL3:(void)0; } } { { /* Inline toolcontext#ToolContext#option_context (self) on */ -var9 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ -if (unlikely(var9 == NULL)) { +var8 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var8 == 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); } -var7 = var9; -RET_LABEL8:(void)0; +var6 = var8; +RET_LABEL7:(void)0; } } { -opts___opts__OptionContext___parse(var7, var_args); /* Direct call opts#OptionContext#parse on */ +opts___opts__OptionContext___parse(var6, var_args); /* Direct call opts#OptionContext#parse on */ } { { /* Inline toolcontext#ToolContext#opt_help (self) on */ -var12 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_help].val; /* _opt_help on */ -if (unlikely(var12 == NULL)) { +var11 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_help].val; /* _opt_help on */ +if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 291); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 353); +fatal_exit(1); } -var10 = var12; -RET_LABEL11:(void)0; +var9 = var11; +RET_LABEL10:(void)0; } } { -{ /* Inline opts#Option#value (var10) on */ -var15 = var10->attrs[COLOR_opts__Option___value].val; /* _value on */ -var13 = var15; -RET_LABEL14:(void)0; +{ /* Inline opts#Option#value (var9) on */ +var14 = var9->attrs[COLOR_opts__Option___value].val; /* _value on */ +var12 = var14; +RET_LABEL13:(void)0; } } -var16 = ((struct instance_standard__Bool*)var13)->value; /* autounbox from nullable Object to Bool */; -if (var16){ +var15 = (short int)((long)(var12)>>2); +if (var15){ { nit___nit__ToolContext___usage(self); /* Direct call toolcontext#ToolContext#usage on */ } -var17 = 0; +var16 = glob_sys; { -{ /* Inline kernel#Object#exit (self,var17) on */ -exit(var17); -RET_LABEL18:(void)0; +{ /* Inline kernel#Sys#exit (var16,0l) on */ +exit(0l); +RET_LABEL17:(void)0; } } } else { } { { /* Inline toolcontext#ToolContext#opt_version (self) on */ -var21 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_version].val; /* _opt_version on */ -if (unlikely(var21 == NULL)) { +var20 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_version].val; /* _opt_version on */ +if (unlikely(var20 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 294); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 356); +fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var18 = var20; +RET_LABEL19:(void)0; } } { -{ /* Inline opts#Option#value (var19) on */ -var24 = var19->attrs[COLOR_opts__Option___value].val; /* _value on */ -var22 = var24; -RET_LABEL23:(void)0; +{ /* Inline opts#Option#value (var18) on */ +var23 = var18->attrs[COLOR_opts__Option___value].val; /* _value on */ +var21 = var23; +RET_LABEL22:(void)0; } } -var25 = ((struct instance_standard__Bool*)var22)->value; /* autounbox from nullable Object to Bool */; -if (var25){ +var24 = (short int)((long)(var21)>>2); +if (var24){ +var25 = glob_sys; { var26 = nit___nit__ToolContext___version(self); } { -standard__file___Object___print(self, var26); /* Direct call file#Object#print on */ +standard__file___Sys___print(var25, var26); /* Direct call file#Sys#print on */ } -var27 = 0; +var27 = glob_sys; { -{ /* Inline kernel#Object#exit (self,var27) on */ -exit(var27); +{ /* Inline kernel#Sys#exit (var27,0l) on */ +exit(0l); RET_LABEL28:(void)0; } } @@ -3224,8 +3569,8 @@ RET_LABEL28:(void)0; var31 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on */ if (unlikely(var31 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 309); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 374); +fatal_exit(1); } var29 = var31; RET_LABEL30:(void)0; @@ -3238,14 +3583,14 @@ var32 = var34; RET_LABEL33:(void)0; } } -var35 = ((struct instance_standard__Bool*)var32)->value; /* autounbox from nullable Object to Bool */; +var35 = (short int)((long)(var32)>>2); if (var35){ var36 = NEW_nit__BashCompletion(&type_nit__BashCompletion); { -((void (*)(val* self, val* p0))(var36->class->vft[COLOR_nit__toolcontext__BashCompletion__toolcontext_61d]))(var36, self) /* toolcontext= on */; +((void(*)(val* self, val* p0))(var36->class->vft[COLOR_nit__toolcontext__BashCompletion__toolcontext_61d]))(var36, self); /* toolcontext= on */ } { -((void (*)(val* self))(var36->class->vft[COLOR_standard__kernel__Object__init]))(var36) /* init on */; +((void(*)(val* self))(var36->class->vft[COLOR_standard__kernel__Object__init]))(var36); /* init on */ } var_bash_completion = var36; { @@ -3257,282 +3602,261 @@ RET_LABEL38:(void)0; } } { -{ /* Inline file#Sys#stdout (var37) on */ -var42 = var37->attrs[COLOR_standard__file__Sys___stdout].val; /* _stdout on */ -if (unlikely(var42 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stdout"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__file, 1008); -show_backtrace(1); -} -var40 = var42; -RET_LABEL41:(void)0; -} +var40 = standard__file___Sys___stdout(var37); } { -template___template__Template___standard__stream__Streamable__write_to(var_bash_completion, var40); /* Direct call template#Template#write_to on */ +template___template__Template___standard__stream__Writable__write_to(var_bash_completion, var40); /* Direct call template#Template#write_to on */ } -var43 = 0; +var41 = glob_sys; { -{ /* Inline kernel#Object#exit (self,var43) on */ -exit(var43); -RET_LABEL44:(void)0; +{ /* Inline kernel#Sys#exit (var41,0l) on */ +exit(0l); +RET_LABEL42:(void)0; } } } else { } { { /* Inline toolcontext#ToolContext#opt_stub_man (self) on */ -var47 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on */ -if (unlikely(var47 == NULL)) { +var45 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on */ +if (unlikely(var45 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 312); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 377); +fatal_exit(1); } -var45 = var47; -RET_LABEL46:(void)0; +var43 = var45; +RET_LABEL44:(void)0; } } { -{ /* Inline opts#Option#value (var45) on */ -var50 = var45->attrs[COLOR_opts__Option___value].val; /* _value on */ -var48 = var50; -RET_LABEL49:(void)0; +{ /* Inline opts#Option#value (var43) on */ +var48 = var43->attrs[COLOR_opts__Option___value].val; /* _value on */ +var46 = var48; +RET_LABEL47:(void)0; } } -var51 = ((struct instance_standard__Bool*)var48)->value; /* autounbox from nullable Object to Bool */; -if (var51){ -if (varonce) { -var52 = varonce; +var49 = (short int)((long)(var46)>>2); +if (var49){ +var50 = glob_sys; +if (unlikely(varonce==NULL)) { +var51 = NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String); +if (likely(varonce52!=NULL)) { +var53 = varonce52; } else { -var53 = "% "; -var54 = 2; -var55 = standard___standard__NativeString___to_s_with_length(var53, var54); -var52 = var55; -varonce = var52; +var54 = "% "; +var55 = standard___standard__NativeString___to_s_with_length(var54, 2l); +var53 = var55; +varonce52 = var53; } -{ -var56 = nit___nit__ToolContext___toolname(self); +((struct instance_standard__NativeArray*)var51)->values[0]=var53; +if (likely(varonce56!=NULL)) { +var57 = varonce56; +} else { +var58 = "(1)\n\n# NAME\n\n"; +var59 = standard___standard__NativeString___to_s_with_length(var58, 13l); +var57 = var59; +varonce56 = var57; } -{ -var57 = ((val* (*)(val* self))(var56->class->vft[COLOR_standard__string__String__to_upper]))(var56) /* to_upper on */; +((struct instance_standard__NativeArray*)var51)->values[2]=var57; +if (likely(varonce60!=NULL)) { +var61 = varonce60; +} else { +var62 = "\n\n# SYNOPSYS\n\n"; +var63 = standard___standard__NativeString___to_s_with_length(var62, 14l); +var61 = var63; +varonce60 = var61; } -if (varonce58) { -var59 = varonce58; +((struct instance_standard__NativeArray*)var51)->values[4]=var61; +if (likely(varonce64!=NULL)) { +var65 = varonce64; } else { -var60 = "(1)\n\n# NAME\n\n"; -var61 = 13; -var62 = standard___standard__NativeString___to_s_with_length(var60, var61); -var59 = var62; -varonce58 = var59; +var66 = " [*options*]...\n\n# OPTIONS\n"; +var67 = standard___standard__NativeString___to_s_with_length(var66, 27l); +var65 = var67; +varonce64 = var65; +} +((struct instance_standard__NativeArray*)var51)->values[6]=var65; +} else { +var51 = varonce; +varonce = NULL; +} +{ +var68 = nit___nit__ToolContext___toolname(self); } { +var69 = ((val*(*)(val* self))(var68->class->vft[COLOR_standard__string__String__to_upper]))(var68); /* to_upper on */ +} +((struct instance_standard__NativeArray*)var51)->values[1]=var69; +{ { /* Inline toolcontext#ToolContext#tooldescription (self) on */ -var65 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ -if (unlikely(var65 == NULL)) { +var72 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var72 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 393); +fatal_exit(1); } -var63 = var65; -RET_LABEL64:(void)0; +var70 = var72; +RET_LABEL71:(void)0; } } -if (varonce66) { -var67 = varonce66; +if (likely(varonce73!=NULL)) { +var74 = varonce73; } else { -var68 = "\n"; -var69 = 1; -var70 = standard___standard__NativeString___to_s_with_length(var68, var69); -var67 = var70; -varonce66 = var67; +var75 = "\n"; +var76 = standard___standard__NativeString___to_s_with_length(var75, 1l); +var74 = var76; +varonce73 = var74; } { -var71 = standard__string_search___Text___split(var63, var67); +var77 = standard__string_search___Text___split(var70, var74); } -var72 = 1; { -var73 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var71, var72); -} -if (varonce74) { -var75 = varonce74; -} else { -var76 = "\n\n# SYNOPSYS\n\n"; -var77 = 14; -var78 = standard___standard__NativeString___to_s_with_length(var76, var77); -var75 = var78; -varonce74 = var75; +var78 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var77, 1l); } +((struct instance_standard__NativeArray*)var51)->values[3]=var78; { var79 = nit___nit__ToolContext___toolname(self); } -if (varonce80) { -var81 = varonce80; -} else { -var82 = " [*options*]...\n\n# OPTIONS\n"; -var83 = 27; -var84 = standard___standard__NativeString___to_s_with_length(var82, var83); -var81 = var84; -varonce80 = var81; -} -var85 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var85 = array_instance Array[Object] */ -var86 = 7; -var87 = NEW_standard__NativeArray(var86, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var87)->values[0] = (val*) var52; -((struct instance_standard__NativeArray*)var87)->values[1] = (val*) var57; -((struct instance_standard__NativeArray*)var87)->values[2] = (val*) var59; -((struct instance_standard__NativeArray*)var87)->values[3] = (val*) var73; -((struct instance_standard__NativeArray*)var87)->values[4] = (val*) var75; -((struct instance_standard__NativeArray*)var87)->values[5] = (val*) var79; -((struct instance_standard__NativeArray*)var87)->values[6] = (val*) var81; +((struct instance_standard__NativeArray*)var51)->values[5]=var79; { -((void (*)(val* self, val* p0, long p1))(var85->class->vft[COLOR_standard__array__Array__with_native]))(var85, var87, var86) /* with_native on */; -} -} -{ -var88 = ((val* (*)(val* self))(var85->class->vft[COLOR_standard__string__Object__to_s]))(var85) /* to_s on */; +var80 = ((val*(*)(val* self))(var51->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var51); /* native_to_s on */ } +varonce = var51; { -standard__file___Object___print(self, var88); /* Direct call file#Object#print on */ +standard__file___Sys___print(var50, var80); /* Direct call file#Sys#print on */ } { { /* Inline toolcontext#ToolContext#option_context (self) on */ -var91 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ -if (unlikely(var91 == NULL)) { +var83 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var83 == 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); } -var89 = var91; -RET_LABEL90:(void)0; +var81 = var83; +RET_LABEL82:(void)0; } } { -{ /* Inline opts#OptionContext#options (var89) on */ -var94 = var89->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ -if (unlikely(var94 == NULL)) { +{ /* Inline opts#OptionContext#options (var81) on */ +var86 = var81->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ +if (unlikely(var86 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); -show_backtrace(1); +fatal_exit(1); } -var92 = var94; -RET_LABEL93:(void)0; +var84 = var86; +RET_LABEL85:(void)0; } } -var_ = var92; +var_ = var84; { -var95 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var87 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_96 = var95; +var_88 = var87; for(;;) { { -var97 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_96); +var89 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_88); } -if (var97){ +if (var89){ { -var98 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_96); +var90 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_88); } -var_o = var98; -var99 = 1; -var_first = var99; +var_o = var90; +var_first = 1; { { /* Inline opts#Option#names (var_o) on */ -var102 = var_o->attrs[COLOR_opts__Option___names].val; /* _names on */ -if (unlikely(var102 == NULL)) { +var93 = var_o->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var93 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 19); -show_backtrace(1); +fatal_exit(1); } -var100 = var102; -RET_LABEL101:(void)0; +var91 = var93; +RET_LABEL92:(void)0; } } -var_103 = var100; +var_94 = var91; { -var104 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_103); +var95 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_94); } -var_105 = var104; +var_96 = var95; for(;;) { { -var106 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_105); +var97 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_96); } -if (var106){ +if (var97){ { -var107 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_105); +var98 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_96); } -var_n = var107; +var_n = var98; if (var_first){ -var108 = 0; -var_first = var108; +var_first = 0; } else { -if (varonce109) { -var110 = varonce109; +var99 = glob_sys; +if (likely(varonce100!=NULL)) { +var101 = varonce100; } else { -var111 = ", "; -var112 = 2; -var113 = standard___standard__NativeString___to_s_with_length(var111, var112); -var110 = var113; -varonce109 = var110; +var102 = ", "; +var103 = standard___standard__NativeString___to_s_with_length(var102, 2l); +var101 = var103; +varonce100 = var101; } -var114 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var114 = array_instance Array[Object] */ -var115 = 1; -var116 = NEW_standard__NativeArray(var115, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var116)->values[0] = (val*) var110; +var104 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ /* var104 = array_instance Array[Object] */ +var105 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object); +((struct instance_standard__NativeArray*)var105)->values[0] = (val*) var101; { -((void (*)(val* self, val* p0, long p1))(var114->class->vft[COLOR_standard__array__Array__with_native]))(var114, var116, var115) /* with_native on */; +((void(*)(val* self, val* p0, long p1))(var104->class->vft[COLOR_standard__array__Array__with_native]))(var104, var105, 1l); /* with_native on */ } } { -standard__file___Object___printn(self, var114); /* Direct call file#Object#printn on */ +standard__file___Sys___printn(var99, var104); /* Direct call file#Sys#printn on */ } } -if (varonce117) { -var118 = varonce117; +var106 = glob_sys; +if (unlikely(varonce107==NULL)) { +var108 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce109!=NULL)) { +var110 = varonce109; } else { -var119 = "`"; -var120 = 1; -var121 = standard___standard__NativeString___to_s_with_length(var119, var120); -var118 = var121; -varonce117 = var118; +var111 = "`"; +var112 = standard___standard__NativeString___to_s_with_length(var111, 1l); +var110 = var112; +varonce109 = var110; } -if (varonce122) { -var123 = varonce122; +((struct instance_standard__NativeArray*)var108)->values[0]=var110; +if (likely(varonce113!=NULL)) { +var114 = varonce113; } else { -var124 = "`"; -var125 = 1; -var126 = standard___standard__NativeString___to_s_with_length(var124, var125); -var123 = var126; -varonce122 = var123; -} -var127 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var127 = array_instance Array[Object] */ -var128 = 3; -var129 = NEW_standard__NativeArray(var128, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var129)->values[0] = (val*) var118; -((struct instance_standard__NativeArray*)var129)->values[1] = (val*) var_n; -((struct instance_standard__NativeArray*)var129)->values[2] = (val*) var123; -{ -((void (*)(val* self, val* p0, long p1))(var127->class->vft[COLOR_standard__array__Array__with_native]))(var127, var129, var128) /* with_native on */; +var115 = "`"; +var116 = standard___standard__NativeString___to_s_with_length(var115, 1l); +var114 = var116; +varonce113 = var114; } +((struct instance_standard__NativeArray*)var108)->values[2]=var114; +} else { +var108 = varonce107; +varonce107 = NULL; } +((struct instance_standard__NativeArray*)var108)->values[1]=var_n; { -var130 = ((val* (*)(val* self))(var127->class->vft[COLOR_standard__string__Object__to_s]))(var127) /* to_s on */; +var117 = ((val*(*)(val* self))(var108->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var108); /* native_to_s on */ } -var131 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var131 = array_instance Array[Object] */ -var132 = 1; -var133 = NEW_standard__NativeArray(var132, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var133)->values[0] = (val*) var130; +varonce107 = var108; +var118 = NEW_standard__Array(&type_standard__Array__standard__Object); +{ /* var118 = array_instance Array[Object] */ +var119 = NEW_standard__NativeArray(1l, &type_standard__NativeArray__standard__Object); +((struct instance_standard__NativeArray*)var119)->values[0] = (val*) var117; { -((void (*)(val* self, val* p0, long p1))(var131->class->vft[COLOR_standard__array__Array__with_native]))(var131, var133, var132) /* with_native on */; +((void(*)(val* self, val* p0, long p1))(var118->class->vft[COLOR_standard__array__Array__with_native]))(var118, var119, 1l); /* with_native on */ } } { -standard__file___Object___printn(self, var131); /* Direct call file#Object#printn on */ +standard__file___Sys___printn(var106, var118); /* Direct call file#Sys#printn on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_105); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_96); /* Direct call array#ArrayIterator#next on */ } } else { goto BREAK_label; @@ -3540,492 +3864,548 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_105) on */ -RET_LABEL134:(void)0; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_96); /* Direct call array#ArrayIterator#finish on */ } -} -if (varonce135) { -var136 = varonce135; +var120 = glob_sys; +if (likely(varonce121!=NULL)) { +var122 = varonce121; } else { -var137 = ""; -var138 = 0; -var139 = standard___standard__NativeString___to_s_with_length(var137, var138); -var136 = var139; -varonce135 = var136; +var123 = ""; +var124 = standard___standard__NativeString___to_s_with_length(var123, 0l); +var122 = var124; +varonce121 = var122; } { -standard__file___Object___print(self, var136); /* Direct call file#Object#print on */ +standard__file___Sys___print(var120, var122); /* Direct call file#Sys#print on */ +} +var125 = glob_sys; +if (unlikely(varonce126==NULL)) { +var127 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce128!=NULL)) { +var129 = varonce128; +} else { +var130 = ": "; +var131 = standard___standard__NativeString___to_s_with_length(var130, 4l); +var129 = var131; +varonce128 = var129; } -if (varonce140) { -var141 = varonce140; +((struct instance_standard__NativeArray*)var127)->values[0]=var129; } else { -var142 = ": "; -var143 = 4; -var144 = standard___standard__NativeString___to_s_with_length(var142, var143); -var141 = var144; -varonce140 = var141; +var127 = varonce126; +varonce126 = NULL; } { { /* Inline opts#Option#helptext (var_o) on */ -var147 = var_o->attrs[COLOR_opts__Option___helptext].val; /* _helptext on */ -if (unlikely(var147 == NULL)) { +var134 = var_o->attrs[COLOR_opts__Option___helptext].val; /* _helptext on */ +if (unlikely(var134 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _helptext"); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 25); -show_backtrace(1); -} -var145 = var147; -RET_LABEL146:(void)0; +fatal_exit(1); } -} -var148 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var148 = array_instance Array[Object] */ -var149 = 2; -var150 = NEW_standard__NativeArray(var149, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var150)->values[0] = (val*) var141; -((struct instance_standard__NativeArray*)var150)->values[1] = (val*) var145; -{ -((void (*)(val* self, val* p0, long p1))(var148->class->vft[COLOR_standard__array__Array__with_native]))(var148, var150, var149) /* with_native on */; +var132 = var134; +RET_LABEL133:(void)0; } } +((struct instance_standard__NativeArray*)var127)->values[1]=var132; { -var151 = ((val* (*)(val* self))(var148->class->vft[COLOR_standard__string__Object__to_s]))(var148) /* to_s on */; +var135 = ((val*(*)(val* self))(var127->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var127); /* native_to_s on */ } +varonce126 = var127; { -standard__file___Object___print(self, var151); /* Direct call file#Object#print on */ +standard__file___Sys___print(var125, var135); /* Direct call file#Sys#print on */ } -if (varonce152) { -var153 = varonce152; +var136 = glob_sys; +if (likely(varonce137!=NULL)) { +var138 = varonce137; } else { -var154 = ""; -var155 = 0; -var156 = standard___standard__NativeString___to_s_with_length(var154, var155); -var153 = var156; -varonce152 = var153; +var139 = ""; +var140 = standard___standard__NativeString___to_s_with_length(var139, 0l); +var138 = var140; +varonce137 = var138; } { -standard__file___Object___print(self, var153); /* Direct call file#Object#print on */ +standard__file___Sys___print(var136, var138); /* Direct call file#Sys#print on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_96); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_88); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label157; +goto BREAK_label141; } } -BREAK_label157: (void)0; +BREAK_label141: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_96) on */ -RET_LABEL158:(void)0; +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_88); /* Direct call array#ArrayIterator#finish on */ } -} -if (varonce159) { -var160 = varonce159; +var142 = glob_sys; +if (likely(varonce143!=NULL)) { +var144 = varonce143; } else { -var161 = "# SEE ALSO\n\nThe Nit language documentation and the source code of its tools and libraries may be downloaded from "; -var162 = 137; -var163 = standard___standard__NativeString___to_s_with_length(var161, var162); -var160 = var163; -varonce159 = var160; +var145 = "# SEE ALSO\n\nThe Nit language documentation and the source code of its tools and libraries may be downloaded from "; +var146 = standard___standard__NativeString___to_s_with_length(var145, 137l); +var144 = var146; +varonce143 = var144; } { -standard__file___Object___print(self, var160); /* Direct call file#Object#print on */ +standard__file___Sys___print(var142, var144); /* Direct call file#Sys#print on */ } -var164 = 0; +var147 = glob_sys; { -{ /* Inline kernel#Object#exit (self,var164) on */ -exit(var164); -RET_LABEL165:(void)0; +{ /* Inline kernel#Sys#exit (var147,0l) on */ +exit(0l); +RET_LABEL148:(void)0; } } } else { } { { /* Inline toolcontext#ToolContext#option_context (self) on */ -var168 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ -if (unlikely(var168 == NULL)) { +var151 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var151 == 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); } -var166 = var168; -RET_LABEL167:(void)0; +var149 = var151; +RET_LABEL150:(void)0; } } { -var169 = opts___opts__OptionContext___get_errors(var166); +var152 = opts___opts__OptionContext___get_errors(var149); } -var_errors = var169; +var_errors = var152; { -var170 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_errors); +var153 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_errors); } -var171 = !var170; -if (var171){ -var_172 = var_errors; +var154 = !var153; +if (var154){ +var_155 = var_errors; { -var173 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_172); +var156 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_155); } -var_174 = var173; +var_157 = var156; for(;;) { { -var175 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_174); +var158 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_157); } -if (var175){ +if (var158){ { -var176 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_174); +var159 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_157); } -var_e = var176; -if (varonce177) { -var178 = varonce177; +var_e = var159; +var160 = glob_sys; +if (unlikely(varonce161==NULL)) { +var162 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce163!=NULL)) { +var164 = varonce163; } else { -var179 = "Error: "; -var180 = 7; -var181 = standard___standard__NativeString___to_s_with_length(var179, var180); -var178 = var181; -varonce177 = var178; -} -var182 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var182 = array_instance Array[Object] */ -var183 = 2; -var184 = NEW_standard__NativeArray(var183, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var184)->values[0] = (val*) var178; -((struct instance_standard__NativeArray*)var184)->values[1] = (val*) var_e; -{ -((void (*)(val* self, val* p0, long p1))(var182->class->vft[COLOR_standard__array__Array__with_native]))(var182, var184, var183) /* with_native on */; +var165 = "Error: "; +var166 = standard___standard__NativeString___to_s_with_length(var165, 7l); +var164 = var166; +varonce163 = var164; } +((struct instance_standard__NativeArray*)var162)->values[0]=var164; +} else { +var162 = varonce161; +varonce161 = NULL; } +((struct instance_standard__NativeArray*)var162)->values[1]=var_e; { -var185 = ((val* (*)(val* self))(var182->class->vft[COLOR_standard__string__Object__to_s]))(var182) /* to_s on */; +var167 = ((val*(*)(val* self))(var162->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var162); /* native_to_s on */ } +varonce161 = var162; { -standard__file___Object___print(self, var185); /* Direct call file#Object#print on */ +standard__file___Sys___print(var160, var167); /* Direct call file#Sys#print on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_174); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_157); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label186; +goto BREAK_label168; } } -BREAK_label186: (void)0; +BREAK_label168: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_174) on */ -RET_LABEL187:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_157); /* Direct call array#ArrayIterator#finish on */ } +var169 = glob_sys; { { /* Inline toolcontext#ToolContext#tooldescription (self) on */ -var190 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ -if (unlikely(var190 == NULL)) { +var172 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var172 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 393); +fatal_exit(1); } -var188 = var190; -RET_LABEL189:(void)0; +var170 = var172; +RET_LABEL171:(void)0; } } { -standard__file___Object___print(self, var188); /* Direct call file#Object#print on */ +standard__file___Sys___print(var169, var170); /* Direct call file#Sys#print on */ } -if (varonce191) { -var192 = varonce191; +var173 = glob_sys; +if (likely(varonce174!=NULL)) { +var175 = varonce174; } else { -var193 = "Use --help for help"; -var194 = 19; -var195 = standard___standard__NativeString___to_s_with_length(var193, var194); -var192 = var195; -varonce191 = var192; +var176 = "Use --help for help"; +var177 = standard___standard__NativeString___to_s_with_length(var176, 19l); +var175 = var177; +varonce174 = var175; } { -standard__file___Object___print(self, var192); /* Direct call file#Object#print on */ +standard__file___Sys___print(var173, var175); /* Direct call file#Sys#print on */ } -var196 = 1; +var178 = glob_sys; { -{ /* Inline kernel#Object#exit (self,var196) on */ -exit(var196); -RET_LABEL197:(void)0; +{ /* Inline kernel#Sys#exit (var178,1l) on */ +exit(1l); +RET_LABEL179:(void)0; } } } else { } { -var198 = nit___nit__ToolContext___compute_nit_dir(self); +var180 = nit___nit__ToolContext___compute_nit_dir(self); } { -{ /* Inline toolcontext#ToolContext#nit_dir= (self,var198) on */ -self->attrs[COLOR_nit__toolcontext__ToolContext___nit_dir].val = var198; /* _nit_dir on */ -RET_LABEL199:(void)0; +{ /* Inline toolcontext#ToolContext#nit_dir= (self,var180) on */ +self->attrs[COLOR_nit__toolcontext__ToolContext___nit_dir].val = var180; /* _nit_dir on */ +RET_LABEL181:(void)0; } } { { /* Inline toolcontext#ToolContext#option_context (self) on */ -var203 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ -if (unlikely(var203 == NULL)) { +var185 = self->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var185 == 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); } -var201 = var203; -RET_LABEL202:(void)0; +var183 = var185; +RET_LABEL184:(void)0; } } { -{ /* Inline opts#OptionContext#rest (var201) on */ -var206 = var201->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on */ -if (unlikely(var206 == NULL)) { +{ /* Inline opts#OptionContext#rest (var183) on */ +var188 = var183->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on */ +if (unlikely(var188 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest"); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 267); -show_backtrace(1); +fatal_exit(1); } -var204 = var206; -RET_LABEL205:(void)0; +var186 = var188; +RET_LABEL187:(void)0; } } { -var207 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var204); +var189 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var186); } -var_208 = var207; -if (var207){ +var_190 = var189; +if (var189){ { { /* Inline toolcontext#ToolContext#accept_no_arguments (self) on */ -var211 = self->attrs[COLOR_nit__toolcontext__ToolContext___accept_no_arguments].s; /* _accept_no_arguments on */ -var209 = var211; -RET_LABEL210:(void)0; +var193 = self->attrs[COLOR_nit__toolcontext__ToolContext___accept_no_arguments].s; /* _accept_no_arguments on */ +var191 = var193; +RET_LABEL192:(void)0; } } -var212 = !var209; -var200 = var212; +var194 = !var191; +var182 = var194; } else { -var200 = var_208; +var182 = var_190; } -if (var200){ +if (var182){ +var195 = glob_sys; { { /* Inline toolcontext#ToolContext#tooldescription (self) on */ -var215 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ -if (unlikely(var215 == NULL)) { +var198 = self->attrs[COLOR_nit__toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var198 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 393); +fatal_exit(1); } -var213 = var215; -RET_LABEL214:(void)0; +var196 = var198; +RET_LABEL197:(void)0; } } { -standard__file___Object___print(self, var213); /* Direct call file#Object#print on */ +standard__file___Sys___print(var195, var196); /* Direct call file#Sys#print on */ } -if (varonce216) { -var217 = varonce216; +var199 = glob_sys; +if (likely(varonce200!=NULL)) { +var201 = varonce200; } else { -var218 = "Use --help for help"; -var219 = 19; -var220 = standard___standard__NativeString___to_s_with_length(var218, var219); -var217 = var220; -varonce216 = var217; +var202 = "Use --help for help"; +var203 = standard___standard__NativeString___to_s_with_length(var202, 19l); +var201 = var203; +varonce200 = var201; } { -standard__file___Object___print(self, var217); /* Direct call file#Object#print on */ +standard__file___Sys___print(var199, var201); /* Direct call file#Sys#print on */ } -var221 = 1; +var204 = glob_sys; { -{ /* Inline kernel#Object#exit (self,var221) on */ -exit(var221); -RET_LABEL222:(void)0; +{ /* Inline kernel#Sys#exit (var204,1l) on */ +exit(1l); +RET_LABEL205:(void)0; } } } else { } { { /* Inline toolcontext#ToolContext#opt_verbose (self) on */ -var225 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on */ -if (unlikely(var225 == NULL)) { +var208 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on */ +if (unlikely(var208 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 300); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 362); +fatal_exit(1); +} +var206 = var208; +RET_LABEL207:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var206) on */ +var211 = var206->attrs[COLOR_opts__Option___value].val; /* _value on */ +var209 = var211; +RET_LABEL210:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#verbose_level= (self,var209) on */ +var213 = (long)(var209)>>2; +self->attrs[COLOR_nit__toolcontext__ToolContext___verbose_level].l = var213; /* _verbose_level on */ +RET_LABEL212:(void)0; } -var223 = var225; -RET_LABEL224:(void)0; +} +{ +{ /* Inline toolcontext#ToolContext#opt_keep_going (self) on */ +var216 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_keep_going].val; /* _opt_keep_going on */ +if (unlikely(var216 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_keep_going"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 368); +fatal_exit(1); +} +var214 = var216; +RET_LABEL215:(void)0; } } { -{ /* Inline opts#Option#value (var223) on */ -var228 = var223->attrs[COLOR_opts__Option___value].val; /* _value on */ -var226 = var228; -RET_LABEL227:(void)0; +{ /* Inline opts#Option#value (var214) on */ +var219 = var214->attrs[COLOR_opts__Option___value].val; /* _value on */ +var217 = var219; +RET_LABEL218:(void)0; } } +var220 = (short int)((long)(var217)>>2); +if (var220){ { -{ /* Inline toolcontext#ToolContext#verbose_level= (self,var226) on */ -var230 = ((struct instance_standard__Int*)var226)->value; /* autounbox from nullable Object to Int */; -self->attrs[COLOR_nit__toolcontext__ToolContext___verbose_level].l = var230; /* _verbose_level on */ -RET_LABEL229:(void)0; +{ /* Inline toolcontext#ToolContext#keep_going= (self,1) on */ +self->attrs[COLOR_nit__toolcontext__ToolContext___keep_going].s = 1; /* _keep_going on */ +RET_LABEL221:(void)0; +} } +} else { } { { /* Inline toolcontext#ToolContext#opt_quiet (self) on */ -var233 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on */ -if (unlikely(var233 == NULL)) { +var224 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on */ +if (unlikely(var224 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 279); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 341); +fatal_exit(1); } -var231 = var233; -RET_LABEL232:(void)0; +var222 = var224; +RET_LABEL223:(void)0; } } { -{ /* Inline opts#Option#value (var231) on */ -var236 = var231->attrs[COLOR_opts__Option___value].val; /* _value on */ -var234 = var236; -RET_LABEL235:(void)0; +{ /* Inline opts#Option#value (var222) on */ +var227 = var222->attrs[COLOR_opts__Option___value].val; /* _value on */ +var225 = var227; +RET_LABEL226:(void)0; } } -var237 = ((struct instance_standard__Bool*)var234)->value; /* autounbox from nullable Object to Bool */; -if (var237){ +var228 = (short int)((long)(var225)>>2); +if (var228){ { { /* Inline toolcontext#ToolContext#opt_warn (self) on */ -var240 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ -if (unlikely(var240 == NULL)) { +var231 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ +if (unlikely(var231 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 273); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 335); +fatal_exit(1); } -var238 = var240; -RET_LABEL239:(void)0; +var229 = var231; +RET_LABEL230:(void)0; } } -var241 = 0; { -{ /* Inline opts#Option#value= (var238,var241) on */ -/* Covariant cast for argument 0 (value) isa VALUE */ -/* isa VALUE */ -type_struct246 = var238->type->resolution_table->types[COLOR_opts__Option__VALUE]; -cltype244 = type_struct246->color; -idtype245 = type_struct246->id; -if(cltype244 >= (&type_standard__Int)->table_size) { -var243 = 0; +{ /* Inline opts#Option#value= (var229,0l) on */ +/* Covariant cast for argument 0 (value) <0l:Int> isa VALUE */ +/* <0l:Int> isa VALUE */ +type_struct236 = var229->type->resolution_table->types[COLOR_opts__Option__VALUE]; +cltype234 = type_struct236->color; +idtype235 = type_struct236->id; +if(cltype234 >= (&type_standard__Int)->table_size) { +var233 = 0; } else { -var243 = (&type_standard__Int)->type_table[cltype244] == idtype245; +var233 = (&type_standard__Int)->type_table[cltype234] == idtype235; } -if (unlikely(!var243)) { -var_class_name247 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name247); +if (unlikely(!var233)) { +var_class_name237 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name237); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40); -show_backtrace(1); +fatal_exit(1); } -var248 = BOX_standard__Int(var241); /* autobox from Int to nullable Object */ -var238->attrs[COLOR_opts__Option___value].val = var248; /* _value on */ -RET_LABEL242:(void)0; +var238 = (val*)(0l<<2|1); +var229->attrs[COLOR_opts__Option___value].val = var238; /* _value on */ +RET_LABEL232:(void)0; } } } else { } { { /* Inline toolcontext#ToolContext#opt_log_dir (self) on */ -var251 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ -if (unlikely(var251 == NULL)) { +var241 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ +if (unlikely(var241 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 285); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 347); +fatal_exit(1); } -var249 = var251; -RET_LABEL250:(void)0; +var239 = var241; +RET_LABEL240:(void)0; } } { -{ /* Inline opts#Option#value (var249) on */ -var254 = var249->attrs[COLOR_opts__Option___value].val; /* _value on */ -var252 = var254; -RET_LABEL253:(void)0; +{ /* Inline opts#Option#value (var239) on */ +var244 = var239->attrs[COLOR_opts__Option___value].val; /* _value on */ +var242 = var244; +RET_LABEL243:(void)0; } } -var255 = NULL; -if (var252 == NULL) { -var256 = 0; /* is null */ +if (var242 == NULL) { +var245 = 0; /* is null */ } else { -var256 = 1; /* arg is null and recv is not */ +var245 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var252,var255) on */ -var_other = var255; +{ /* Inline kernel#Object#!= (var242,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var259 = ((short int (*)(val* self, val* p0))(var252->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var252, var_other) /* == on */; +var248 = ((short int(*)(val* self, val* p0))(var242->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var242, var_other); /* == on */ } -var260 = !var259; -var257 = var260; -goto RET_LABEL258; -RET_LABEL258:(void)0; +var249 = !var248; +var246 = var249; +goto RET_LABEL247; +RET_LABEL247:(void)0; } -var256 = var257; +var245 = var246; } -if (var256){ +if (var245){ { { /* Inline toolcontext#ToolContext#opt_log_dir (self) on */ -var263 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ -if (unlikely(var263 == NULL)) { +var252 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ +if (unlikely(var252 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 285); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 347); +fatal_exit(1); } -var261 = var263; -RET_LABEL262:(void)0; +var250 = var252; +RET_LABEL251:(void)0; } } { -{ /* Inline opts#Option#value (var261) on */ -var266 = var261->attrs[COLOR_opts__Option___value].val; /* _value on */ -var264 = var266; -RET_LABEL265:(void)0; +{ /* Inline opts#Option#value (var250) on */ +var255 = var250->attrs[COLOR_opts__Option___value].val; /* _value on */ +var253 = var255; +RET_LABEL254:(void)0; } } -if (unlikely(var264 == NULL)) { +if (unlikely(var253 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 428); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 495); +fatal_exit(1); } { -{ /* Inline toolcontext#ToolContext#log_directory= (self,var264) on */ -self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val = var264; /* _log_directory on */ -RET_LABEL267:(void)0; +{ /* Inline toolcontext#ToolContext#log_directory= (self,var253) on */ +self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val = var253; /* _log_directory on */ +RET_LABEL256:(void)0; } } } else { } { { /* Inline toolcontext#ToolContext#opt_log (self) on */ -var270 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log].val; /* _opt_log on */ -if (unlikely(var270 == NULL)) { +var259 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_log].val; /* _opt_log on */ +if (unlikely(var259 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 282); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 344); +fatal_exit(1); +} +var257 = var259; +RET_LABEL258:(void)0; } -var268 = var270; -RET_LABEL269:(void)0; +} +{ +{ /* Inline opts#Option#value (var257) on */ +var262 = var257->attrs[COLOR_opts__Option___value].val; /* _value on */ +var260 = var262; +RET_LABEL261:(void)0; } } +var263 = (short int)((long)(var260)>>2); +if (var263){ { -{ /* Inline opts#Option#value (var268) on */ -var273 = var268->attrs[COLOR_opts__Option___value].val; /* _value on */ -var271 = var273; -RET_LABEL272:(void)0; +{ /* Inline toolcontext#ToolContext#log_directory (self) on */ +var266 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val; /* _log_directory on */ +if (unlikely(var266 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _log_directory"); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 137); +fatal_exit(1); } +var264 = var266; +RET_LABEL265:(void)0; +} +} +{ +var267 = standard__file___String___mkdir(var264); } -var274 = ((struct instance_standard__Bool*)var271)->value; /* autounbox from nullable Object to Bool */; -if (var274){ { { /* Inline toolcontext#ToolContext#log_directory (self) on */ -var277 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val; /* _log_directory on */ -if (unlikely(var277 == NULL)) { +var270 = self->attrs[COLOR_nit__toolcontext__ToolContext___log_directory].val; /* _log_directory on */ +if (unlikely(var270 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _log_directory"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 102); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 137); +fatal_exit(1); +} +var268 = var270; +RET_LABEL269:(void)0; +} +} +if (likely(varonce271!=NULL)) { +var272 = varonce271; +} else { +var273 = "info.txt"; +var274 = standard___standard__NativeString___to_s_with_length(var273, 8l); +var272 = var274; +varonce271 = var272; } -var275 = var277; -RET_LABEL276:(void)0; +{ +var275 = standard__file___String____47d(var268, var272); +} +{ +var276 = standard__file___Text___to_path(var275); } +{ +var277 = standard___standard__Path___open_wo(var276); } { -standard__file___String___mkdir(var275); /* Direct call file#String#mkdir on */ +{ /* Inline toolcontext#ToolContext#log_info= (self,var277) on */ +self->attrs[COLOR_nit__toolcontext__ToolContext___log_info].val = var277; /* _log_info on */ +RET_LABEL278:(void)0; +} } } else { } @@ -4042,16 +4422,16 @@ short int var7 /* : Bool */; static val* varonce; val* var8 /* : String */; char* var9 /* : NativeString */; -long var10 /* : Int */; -val* var11 /* : FlatString */; +val* var10 /* : FlatString */; +val* var11 /* : Sys */; val* var12 /* : String */; { { /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on */ var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 297); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 359); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -4064,23 +4444,23 @@ var4 = var6; RET_LABEL5:(void)0; } } -var7 = ((struct instance_standard__Bool*)var4)->value; /* autounbox from nullable Object to Bool */; +var7 = (short int)((long)(var4)>>2); if (var7){ -if (varonce) { +if (likely(varonce!=NULL)) { var8 = varonce; } else { var9 = "DUMMY_VERSION"; -var10 = 13; -var11 = standard___standard__NativeString___to_s_with_length(var9, var10); -var8 = var11; +var10 = standard___standard__NativeString___to_s_with_length(var9, 13l); +var8 = var10; varonce = var8; } var = var8; goto RET_LABEL; } else { } +var11 = glob_sys; { -var12 = nit__version___standard__Object___nit_version(self); +var12 = nit__version___standard__Sys___nit_version(var11); } var = var12; goto RET_LABEL; @@ -4098,24 +4478,22 @@ short int var7 /* : Bool */; static val* varonce; val* var8 /* : String */; char* var9 /* : NativeString */; -long var10 /* : Int */; -val* var11 /* : FlatString */; -val* var12 /* : Sys */; -val* var14 /* : Sys */; -val* var15 /* : String */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; -long var19 /* : Int */; -val* var20 /* : FlatString */; -val* var21 /* : String */; +val* var10 /* : FlatString */; +val* var11 /* : Sys */; +val* var13 /* : Sys */; +val* var14 /* : String */; +static val* varonce15; +val* var16 /* : String */; +char* var17 /* : NativeString */; +val* var18 /* : FlatString */; +val* var19 /* : String */; { { /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on */ var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 297); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 359); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -4128,15 +4506,14 @@ var4 = var6; RET_LABEL5:(void)0; } } -var7 = ((struct instance_standard__Bool*)var4)->value; /* autounbox from nullable Object to Bool */; +var7 = (short int)((long)(var4)>>2); if (var7){ -if (varonce) { +if (likely(varonce!=NULL)) { var8 = varonce; } else { var9 = "DUMMY_TOOL"; -var10 = 10; -var11 = standard___standard__NativeString___to_s_with_length(var9, var10); -var8 = var11; +var10 = standard___standard__NativeString___to_s_with_length(var9, 10l); +var8 = var10; varonce = var8; } var = var8; @@ -4144,29 +4521,28 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Object#sys (self) on */ -var14 = glob_sys; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +{ /* Inline kernel#Object#sys (self) on */ +var13 = glob_sys; +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; } } { -var15 = standard__string___Sys___program_name(var12); +var14 = standard__string___Sys___program_name(var11); } -if (varonce16) { -var17 = varonce16; +if (likely(varonce15!=NULL)) { +var16 = varonce15; } else { -var18 = ""; -var19 = 0; -var20 = standard___standard__NativeString___to_s_with_length(var18, var19); -var17 = var20; -varonce16 = var17; +var17 = ""; +var18 = standard___standard__NativeString___to_s_with_length(var17, 0l); +var16 = var18; +varonce15 = var16; } { -var21 = standard__file___String___basename(var15, var17); +var19 = standard__file___String___basename(var14, var16); } -var = var21; +var = var19; goto RET_LABEL; RET_LABEL:; return var; @@ -4178,8 +4554,8 @@ val* var1 /* : String */; var1 = self->attrs[COLOR_nit__toolcontext__ToolContext___nit_dir].val; /* _nit_dir on */ if (unlikely(var1 == 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); } var = var1; RET_LABEL:; @@ -4198,116 +4574,107 @@ val* var3 /* : OptionString */; val* var4 /* : nullable Object */; val* var6 /* : nullable Object */; val* var_res /* var res: nullable String */; -val* var7 /* : null */; +short int var7 /* : Bool */; short int var8 /* : Bool */; -short int var9 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var10 /* : Bool */; short int var11 /* : Bool */; short int var12 /* : Bool */; short int var13 /* : Bool */; -short int var14 /* : Bool */; -val* var15 /* : null */; +val* var14 /* : NativeArray[String] */; static val* varonce; +static val* varonce15; val* var16 /* : String */; char* var17 /* : NativeString */; -long var18 /* : Int */; -val* var19 /* : FlatString */; -val* var20 /* : Array[Object] */; -long var21 /* : Int */; -val* var22 /* : NativeArray[Object] */; +val* var18 /* : FlatString */; +static val* varonce19; +val* var20 /* : String */; +char* var21 /* : NativeString */; +val* var22 /* : FlatString */; val* var23 /* : String */; static val* varonce24; val* var25 /* : String */; char* var26 /* : NativeString */; -long var27 /* : Int */; -val* var28 /* : FlatString */; -val* var29 /* : String */; +val* var27 /* : FlatString */; +val* var28 /* : String */; +short int var29 /* : Bool */; short int var30 /* : Bool */; short int var31 /* : Bool */; short int var32 /* : Bool */; -short int var33 /* : Bool */; -val* var34 /* : null */; +val* var34 /* : NativeArray[String] */; +static val* varonce33; static val* varonce35; val* var36 /* : String */; char* var37 /* : NativeString */; -long var38 /* : Int */; -val* var39 /* : FlatString */; -val* var40 /* : Array[Object] */; -long var41 /* : Int */; -val* var42 /* : NativeArray[Object] */; +val* var38 /* : FlatString */; +static val* varonce39; +val* var40 /* : String */; +char* var41 /* : NativeString */; +val* var42 /* : FlatString */; val* var43 /* : String */; -val* var44 /* : Sys */; -val* var46 /* : Sys */; +val* var45 /* : NativeArray[String] */; +static val* varonce44; +static val* varonce46; val* var47 /* : String */; -val* var48 /* : String */; -static val* varonce49; -val* var50 /* : String */; -char* var51 /* : NativeString */; -long var52 /* : Int */; -val* var53 /* : FlatString */; -val* var54 /* : Array[Object] */; -long var55 /* : Int */; -val* var56 /* : NativeArray[Object] */; +char* var48 /* : NativeString */; +val* var49 /* : FlatString */; +val* var50 /* : Sys */; +val* var52 /* : Sys */; +val* var53 /* : String */; +val* var54 /* : String */; +val* var55 /* : String */; +short int var56 /* : Bool */; val* var57 /* : String */; -short int var58 /* : Bool */; +static val* varonce58; val* var59 /* : String */; -static val* varonce60; -val* var61 /* : String */; -char* var62 /* : NativeString */; -long var63 /* : Int */; -val* var64 /* : FlatString */; +char* var60 /* : NativeString */; +val* var61 /* : FlatString */; val* var_exe /* var exe: String */; -short int var65 /* : Bool */; +short int var62 /* : Bool */; +val* var63 /* : String */; +val* var64 /* : String */; +static val* varonce65; val* var66 /* : String */; -val* var67 /* : String */; -static val* varonce68; +char* var67 /* : NativeString */; +val* var68 /* : FlatString */; val* var69 /* : String */; -char* var70 /* : NativeString */; -long var71 /* : Int */; -val* var72 /* : FlatString */; +short int var70 /* : Bool */; +val* var71 /* : String */; +static val* varonce72; val* var73 /* : String */; -short int var74 /* : Bool */; -val* var75 /* : String */; -static val* varonce76; -val* var77 /* : String */; -char* var78 /* : NativeString */; -long var79 /* : Int */; +char* var74 /* : NativeString */; +val* var75 /* : FlatString */; +val* var76 /* : String */; +static val* varonce77; +val* var78 /* : String */; +char* var79 /* : NativeString */; val* var80 /* : FlatString */; -val* var81 /* : String */; -static val* varonce82; -val* var83 /* : String */; -char* var84 /* : NativeString */; -long var85 /* : Int */; -val* var86 /* : FlatString */; -val* var87 /* : Array[String] */; +val* var81 /* : Array[String] */; val* var_ps /* var ps: Array[String] */; val* var_ /* var : Array[String] */; -val* var88 /* : ArrayIterator[nullable Object] */; -val* var_89 /* var : ArrayIterator[String] */; -short int var90 /* : Bool */; -val* var91 /* : nullable Object */; +val* var82 /* : ArrayIterator[nullable Object] */; +val* var_83 /* var : ArrayIterator[String] */; +short int var84 /* : Bool */; +val* var85 /* : nullable Object */; val* var_p /* var p: String */; -static val* varonce92; -val* var93 /* : String */; -char* var94 /* : NativeString */; -long var95 /* : Int */; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : NativeString */; +val* var89 /* : FlatString */; +val* var90 /* : String */; +short int var91 /* : Bool */; +val* var92 /* : String */; +static val* varonce93; +val* var94 /* : String */; +char* var95 /* : NativeString */; val* var96 /* : FlatString */; -val* var97 /* : String */; -short int var98 /* : Bool */; -val* var99 /* : String */; -val* var101 /* : null */; -static val* varonce102; -val* var103 /* : String */; -char* var104 /* : NativeString */; -long var105 /* : Int */; -val* var106 /* : FlatString */; { { /* Inline toolcontext#ToolContext#opt_nit_dir (self) on */ var3 = self->attrs[COLOR_nit__toolcontext__ToolContext___opt_nit_dir].val; /* _opt_nit_dir on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_nit_dir"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 288); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 350); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -4321,56 +4688,61 @@ RET_LABEL5:(void)0; } } var_res = var4; -var7 = NULL; if (var_res == NULL) { -var8 = 0; /* is null */ +var7 = 0; /* is null */ } else { -var8 = 1; /* arg is null and recv is not */ +var7 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_res,var7) on */ -var_other = var7; +{ /* Inline kernel#Object#!= (var_res,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var11 = ((short int (*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other) /* == on */; +var10 = ((short int(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other); /* == on */ } -var12 = !var11; -var9 = var12; -goto RET_LABEL10; -RET_LABEL10:(void)0; +var11 = !var10; +var8 = var11; +goto RET_LABEL9; +RET_LABEL9:(void)0; } -var8 = var9; +var7 = var8; } -if (var8){ +if (var7){ { -var13 = nit___nit__ToolContext___check_nit_dir(self, var_res); +var12 = nit___nit__ToolContext___check_nit_dir(self, var_res); } -var14 = !var13; -if (var14){ -var15 = NULL; -if (varonce) { -var16 = varonce; +var13 = !var12; +if (var13){ +if (unlikely(varonce==NULL)) { +var14 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce15!=NULL)) { +var16 = varonce15; } else { var17 = "Fatal Error: the value of --nit-dir does not seem to be a valid base Nit directory: "; -var18 = 84; -var19 = standard___standard__NativeString___to_s_with_length(var17, var18); -var16 = var19; -varonce = var16; +var18 = standard___standard__NativeString___to_s_with_length(var17, 84l); +var16 = var18; +varonce15 = var16; } -var20 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var20 = array_instance Array[Object] */ -var21 = 2; -var22 = NEW_standard__NativeArray(var21, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var22)->values[0] = (val*) var16; -((struct instance_standard__NativeArray*)var22)->values[1] = (val*) var_res; -{ -((void (*)(val* self, val* p0, long p1))(var20->class->vft[COLOR_standard__array__Array__with_native]))(var20, var22, var21) /* with_native on */; +((struct instance_standard__NativeArray*)var14)->values[0]=var16; +if (likely(varonce19!=NULL)) { +var20 = varonce19; +} else { +var21 = "."; +var22 = standard___standard__NativeString___to_s_with_length(var21, 1l); +var20 = var22; +varonce19 = var20; } +((struct instance_standard__NativeArray*)var14)->values[2]=var20; +} else { +var14 = varonce; +varonce = NULL; } +((struct instance_standard__NativeArray*)var14)->values[1]=var_res; { -var23 = ((val* (*)(val* self))(var20->class->vft[COLOR_standard__string__Object__to_s]))(var20) /* to_s on */; +var23 = ((val*(*)(val* self))(var14->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var14); /* native_to_s on */ } +varonce = var14; { -nit___nit__ToolContext___fatal_error(self, var15, var23); /* Direct call toolcontext#ToolContext#fatal_error on */ +nit___nit__ToolContext___fatal_error(self, ((val*)NULL), var23); /* Direct call toolcontext#ToolContext#fatal_error on */ } } else { } @@ -4378,54 +4750,59 @@ var = var_res; goto RET_LABEL; } else { } -if (varonce24) { +if (likely(varonce24!=NULL)) { var25 = varonce24; } else { var26 = "NIT_DIR"; -var27 = 7; -var28 = standard___standard__NativeString___to_s_with_length(var26, var27); -var25 = var28; +var27 = standard___standard__NativeString___to_s_with_length(var26, 7l); +var25 = var27; varonce24 = var25; } { -var29 = standard__environ___String___environ(var25); +var28 = standard__environ___String___environ(var25); } -var_res = var29; +var_res = var28; { -var30 = standard___standard__Text___is_empty(var_res); +var29 = standard___standard__Text___is_empty(var_res); } -var31 = !var30; -if (var31){ +var30 = !var29; +if (var30){ { -var32 = nit___nit__ToolContext___check_nit_dir(self, var_res); +var31 = nit___nit__ToolContext___check_nit_dir(self, var_res); } -var33 = !var32; -if (var33){ -var34 = NULL; -if (varonce35) { +var32 = !var31; +if (var32){ +if (unlikely(varonce33==NULL)) { +var34 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce35!=NULL)) { var36 = varonce35; } else { var37 = "Fatal Error: the value of NIT_DIR does not seem to be a valid base Nit directory: "; -var38 = 82; -var39 = standard___standard__NativeString___to_s_with_length(var37, var38); -var36 = var39; +var38 = standard___standard__NativeString___to_s_with_length(var37, 82l); +var36 = var38; varonce35 = var36; } -var40 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var40 = array_instance Array[Object] */ -var41 = 2; -var42 = NEW_standard__NativeArray(var41, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var42)->values[0] = (val*) var36; -((struct instance_standard__NativeArray*)var42)->values[1] = (val*) var_res; -{ -((void (*)(val* self, val* p0, long p1))(var40->class->vft[COLOR_standard__array__Array__with_native]))(var40, var42, var41) /* with_native on */; +((struct instance_standard__NativeArray*)var34)->values[0]=var36; +if (likely(varonce39!=NULL)) { +var40 = varonce39; +} else { +var41 = "."; +var42 = standard___standard__NativeString___to_s_with_length(var41, 1l); +var40 = var42; +varonce39 = var40; } +((struct instance_standard__NativeArray*)var34)->values[2]=var40; +} else { +var34 = varonce33; +varonce33 = NULL; } +((struct instance_standard__NativeArray*)var34)->values[1]=var_res; { -var43 = ((val* (*)(val* self))(var40->class->vft[COLOR_standard__string__Object__to_s]))(var40) /* to_s on */; +var43 = ((val*(*)(val* self))(var34->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var34); /* native_to_s on */ } +varonce33 = var34; { -nit___nit__ToolContext___fatal_error(self, var34, var43); /* Direct call toolcontext#ToolContext#fatal_error on */ +nit___nit__ToolContext___fatal_error(self, ((val*)NULL), var43); /* Direct call toolcontext#ToolContext#fatal_error on */ } } else { } @@ -4433,166 +4810,159 @@ var = var_res; goto RET_LABEL; } else { } -{ -{ /* Inline kernel#Object#sys (self) on */ -var46 = glob_sys; -var44 = var46; -goto RET_LABEL45; -RET_LABEL45:(void)0; -} +if (unlikely(varonce44==NULL)) { +var45 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce46!=NULL)) { +var47 = varonce46; +} else { +var48 = "/.."; +var49 = standard___standard__NativeString___to_s_with_length(var48, 3l); +var47 = var49; +varonce46 = var47; } -{ -var47 = standard__string___Sys___program_name(var44); +((struct instance_standard__NativeArray*)var45)->values[1]=var47; +} else { +var45 = varonce44; +varonce44 = NULL; } { -var48 = standard__file___String___dirname(var47); +{ /* Inline kernel#Object#sys (self) on */ +var52 = glob_sys; +var50 = var52; +goto RET_LABEL51; +RET_LABEL51:(void)0; } -if (varonce49) { -var50 = varonce49; -} else { -var51 = "/.."; -var52 = 3; -var53 = standard___standard__NativeString___to_s_with_length(var51, var52); -var50 = var53; -varonce49 = var50; } -var54 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var54 = array_instance Array[Object] */ -var55 = 2; -var56 = NEW_standard__NativeArray(var55, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var56)->values[0] = (val*) var48; -((struct instance_standard__NativeArray*)var56)->values[1] = (val*) var50; { -((void (*)(val* self, val* p0, long p1))(var54->class->vft[COLOR_standard__array__Array__with_native]))(var54, var56, var55) /* with_native on */; +var53 = standard__string___Sys___program_name(var50); } +{ +var54 = standard__file___String___dirname(var53); } +((struct instance_standard__NativeArray*)var45)->values[0]=var54; { -var57 = ((val* (*)(val* self))(var54->class->vft[COLOR_standard__string__Object__to_s]))(var54) /* to_s on */; +var55 = ((val*(*)(val* self))(var45->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var45); /* native_to_s on */ } -var_res = var57; +varonce44 = var45; +var_res = var55; { -var58 = nit___nit__ToolContext___check_nit_dir(self, var_res); +var56 = nit___nit__ToolContext___check_nit_dir(self, var_res); } -if (var58){ +if (var56){ { -var59 = standard__file___String___simplify_path(var_res); +var57 = standard__file___String___simplify_path(var_res); } -var = var59; +var = var57; goto RET_LABEL; } else { } -if (varonce60) { -var61 = varonce60; +if (likely(varonce58!=NULL)) { +var59 = varonce58; } else { -var62 = "/proc/self/exe"; -var63 = 14; -var64 = standard___standard__NativeString___to_s_with_length(var62, var63); -var61 = var64; -varonce60 = var61; +var60 = "/proc/self/exe"; +var61 = standard___standard__NativeString___to_s_with_length(var60, 14l); +var59 = var61; +varonce58 = var59; } -var_exe = var61; +var_exe = var59; { -var65 = standard__file___String___file_exists(var_exe); +var62 = standard__file___String___file_exists(var_exe); } -if (var65){ +if (var62){ { -var66 = standard__file___String___realpath(var_exe); +var63 = standard__file___String___realpath(var_exe); } -var_res = var66; +var_res = var63; { -var67 = standard__file___String___dirname(var_res); +var64 = standard__file___String___dirname(var_res); } -if (varonce68) { -var69 = varonce68; +if (likely(varonce65!=NULL)) { +var66 = varonce65; } else { -var70 = ".."; -var71 = 2; -var72 = standard___standard__NativeString___to_s_with_length(var70, var71); -var69 = var72; -varonce68 = var69; +var67 = ".."; +var68 = standard___standard__NativeString___to_s_with_length(var67, 2l); +var66 = var68; +varonce65 = var66; } { -var73 = standard__file___String___join_path(var67, var69); +var69 = standard__file___String___join_path(var64, var66); } -var_res = var73; +var_res = var69; { -var74 = nit___nit__ToolContext___check_nit_dir(self, var_res); +var70 = nit___nit__ToolContext___check_nit_dir(self, var_res); } -if (var74){ +if (var70){ { -var75 = standard__file___String___simplify_path(var_res); +var71 = standard__file___String___simplify_path(var_res); } -var = var75; +var = var71; goto RET_LABEL; } else { } } else { } -if (varonce76) { -var77 = varonce76; +if (likely(varonce72!=NULL)) { +var73 = varonce72; } else { -var78 = "PATH"; -var79 = 4; -var80 = standard___standard__NativeString___to_s_with_length(var78, var79); -var77 = var80; -varonce76 = var77; +var74 = "PATH"; +var75 = standard___standard__NativeString___to_s_with_length(var74, 4l); +var73 = var75; +varonce72 = var73; } { -var81 = standard__environ___String___environ(var77); +var76 = standard__environ___String___environ(var73); } -if (varonce82) { -var83 = varonce82; +if (likely(varonce77!=NULL)) { +var78 = varonce77; } else { -var84 = ":"; -var85 = 1; -var86 = standard___standard__NativeString___to_s_with_length(var84, var85); -var83 = var86; -varonce82 = var83; +var79 = ":"; +var80 = standard___standard__NativeString___to_s_with_length(var79, 1l); +var78 = var80; +varonce77 = var78; } { -var87 = standard__string_search___Text___split(var81, var83); +var81 = standard__string_search___Text___split(var76, var78); } -var_ps = var87; +var_ps = var81; var_ = var_ps; { -var88 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var82 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } -var_89 = var88; +var_83 = var82; for(;;) { { -var90 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_89); +var84 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_83); } -if (var90){ +if (var84){ { -var91 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_89); +var85 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_83); } -var_p = var91; -if (varonce92) { -var93 = varonce92; +var_p = var85; +if (likely(varonce86!=NULL)) { +var87 = varonce86; } else { -var94 = ".."; -var95 = 2; -var96 = standard___standard__NativeString___to_s_with_length(var94, var95); -var93 = var96; -varonce92 = var93; +var88 = ".."; +var89 = standard___standard__NativeString___to_s_with_length(var88, 2l); +var87 = var89; +varonce86 = var87; } { -var97 = standard__file___String____47d(var_p, var93); +var90 = standard__file___String____47d(var_p, var87); } -var_res = var97; +var_res = var90; { -var98 = nit___nit__ToolContext___check_nit_dir(self, var_res); +var91 = nit___nit__ToolContext___check_nit_dir(self, var_res); } -if (var98){ +if (var91){ { -var99 = standard__file___String___simplify_path(var_res); +var92 = standard__file___String___simplify_path(var_res); } -var = var99; +var = var92; goto RET_LABEL; } else { } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_89); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_83); /* Direct call array#ArrayIterator#next on */ } } else { goto BREAK_label; @@ -4600,26 +4970,22 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_89) on */ -RET_LABEL100:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_83); /* Direct call array#ArrayIterator#finish on */ } -var101 = NULL; -if (varonce102) { -var103 = varonce102; +if (likely(varonce93!=NULL)) { +var94 = varonce93; } else { -var104 = "Fatal Error: Cannot locate a valid base nit directory. It is quite unexpected. Try to set the environment variable `NIT_DIR` or to use the `--nit-dir` option."; -var105 = 158; -var106 = standard___standard__NativeString___to_s_with_length(var104, var105); -var103 = var106; -varonce102 = var103; +var95 = "Fatal Error: cannot locate a valid base Nit directory. It is quite unexpected. Try to set the environment variable `NIT_DIR` or to use the `--nit-dir` option."; +var96 = standard___standard__NativeString___to_s_with_length(var95, 158l); +var94 = var96; +varonce93 = var94; } { -nit___nit__ToolContext___fatal_error(self, var101, var103); /* Direct call toolcontext#ToolContext#fatal_error on */ +nit___nit__ToolContext___fatal_error(self, ((val*)NULL), var94); /* Direct call toolcontext#ToolContext#fatal_error on */ } PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 495); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 564); +fatal_exit(1); RET_LABEL:; return var; } @@ -4630,48 +4996,44 @@ val* var_res /* var res: String */; short int var1 /* : Bool */; short int var2 /* : Bool */; short int var_ /* var : Bool */; +val* var3 /* : NativeArray[String] */; static val* varonce; -val* var3 /* : String */; -char* var4 /* : NativeString */; -long var5 /* : Int */; -val* var6 /* : FlatString */; -val* var7 /* : Array[Object] */; -long var8 /* : Int */; -val* var9 /* : NativeArray[Object] */; -val* var10 /* : String */; -short int var11 /* : Bool */; +static val* varonce4; +val* var5 /* : String */; +char* var6 /* : NativeString */; +val* var7 /* : FlatString */; +val* var8 /* : String */; +short int var9 /* : Bool */; var_res = p0; { var2 = standard__file___String___file_exists(var_res); } var_ = var2; if (var2){ -if (varonce) { -var3 = varonce; +if (unlikely(varonce==NULL)) { +var3 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce4!=NULL)) { +var5 = varonce4; } else { -var4 = "/src/nit.nit"; -var5 = 12; -var6 = standard___standard__NativeString___to_s_with_length(var4, var5); -var3 = var6; -varonce = var3; -} -var7 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var7 = array_instance Array[Object] */ -var8 = 2; -var9 = NEW_standard__NativeArray(var8, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var9)->values[0] = (val*) var_res; -((struct instance_standard__NativeArray*)var9)->values[1] = (val*) var3; -{ -((void (*)(val* self, val* p0, long p1))(var7->class->vft[COLOR_standard__array__Array__with_native]))(var7, var9, var8) /* with_native on */; +var6 = "/src/nit.nit"; +var7 = standard___standard__NativeString___to_s_with_length(var6, 12l); +var5 = var7; +varonce4 = var5; } +((struct instance_standard__NativeArray*)var3)->values[1]=var5; +} else { +var3 = varonce; +varonce = NULL; } +((struct instance_standard__NativeArray*)var3)->values[0]=var_res; { -var10 = ((val* (*)(val* self))(var7->class->vft[COLOR_standard__string__Object__to_s]))(var7) /* to_s on */; +var8 = ((val*(*)(val* self))(var3->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var3); /* native_to_s on */ } +varonce = var3; { -var11 = standard__file___String___file_exists(var10); +var9 = standard__file___String___file_exists(var8); } -var1 = var11; +var1 = var9; } else { var1 = var_; } @@ -4687,8 +5049,8 @@ val* var1 /* : ToolContext */; var1 = self->attrs[COLOR_nit__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 524); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 593); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -4727,9 +5089,8 @@ val* var_name /* var name: String */; static val* varonce; val* var23 /* : String */; char* var24 /* : NativeString */; -long var25 /* : Int */; -val* var26 /* : FlatString */; -short int var27 /* : Bool */; +val* var25 /* : FlatString */; +short int var26 /* : Bool */; var1 = NEW_standard__Array(&type_standard__Array__standard__String); { standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ @@ -4740,8 +5101,8 @@ var_names = var1; var4 = self->attrs[COLOR_nit__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 524); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 593); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -4752,8 +5113,8 @@ RET_LABEL3:(void)0; var7 = var2->attrs[COLOR_nit__toolcontext__ToolContext___option_context].val; /* _option_context on */ if (unlikely(var7 == 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); } var5 = var7; RET_LABEL6:(void)0; @@ -4765,7 +5126,7 @@ var10 = var5->attrs[COLOR_opts__OptionContext___options].val; /* _options on attrs[COLOR_opts__Option___names].val; /* _names on */ } @@ -4838,22 +5198,18 @@ goto BREAK_label; } BREAK_label: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_20) on */ -RET_LABEL28:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_20); /* Direct call array#ArrayIterator#finish on */ } { standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_12); /* Direct call array#ArrayIterator#next on */ } } else { -goto BREAK_label29; +goto BREAK_label27; } } -BREAK_label29: (void)0; +BREAK_label27: (void)0; { -{ /* Inline abstract_collection#Iterator#finish (var_12) on */ -RET_LABEL30:(void)0; -} +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_12); /* Direct call array#ArrayIterator#finish on */ } var = var_names; goto RET_LABEL; @@ -4868,130 +5224,107 @@ val* var3 /* : String */; val* var_name /* var name: String */; val* var4 /* : Array[String] */; val* var_option_names /* var option_names: Array[String] */; +val* var5 /* : NativeArray[String] */; static val* varonce; -val* var5 /* : String */; -char* var6 /* : NativeString */; -long var7 /* : Int */; -val* var8 /* : FlatString */; -static val* varonce9; -val* var10 /* : String */; -char* var11 /* : NativeString */; -long var12 /* : Int */; +static val* varonce6; +val* var7 /* : String */; +char* var8 /* : NativeString */; +val* var9 /* : FlatString */; +static val* varonce10; +val* var11 /* : String */; +char* var12 /* : NativeString */; val* var13 /* : FlatString */; val* var14 /* : ToolContext */; val* var16 /* : ToolContext */; val* var17 /* : String */; -val* var18 /* : Array[Object] */; -long var19 /* : Int */; -val* var20 /* : NativeArray[Object] */; -val* var21 /* : String */; -static val* varonce22; -val* var23 /* : String */; -char* var24 /* : NativeString */; -long var25 /* : Int */; -val* var26 /* : FlatString */; -static val* varonce27; -val* var28 /* : String */; -char* var29 /* : NativeString */; -long var30 /* : Int */; -val* var31 /* : FlatString */; -val* var32 /* : Array[Object] */; -long var33 /* : Int */; -val* var34 /* : NativeArray[Object] */; +val* var18 /* : String */; +val* var20 /* : NativeArray[String] */; +static val* varonce19; +static val* varonce21; +val* var22 /* : String */; +char* var23 /* : NativeString */; +val* var24 /* : FlatString */; +static val* varonce25; +val* var26 /* : String */; +char* var27 /* : NativeString */; +val* var28 /* : FlatString */; +val* var29 /* : String */; +static val* varonce30; +val* var31 /* : String */; +char* var32 /* : NativeString */; +val* var33 /* : FlatString */; +static val* varonce34; val* var35 /* : String */; -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 */; +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 */; -static val* varonce51; -val* var52 /* : String */; -char* var53 /* : NativeString */; -long var54 /* : Int */; -val* var55 /* : FlatString */; -static val* varonce56; -val* var57 /* : String */; -char* var58 /* : NativeString */; -long var59 /* : Int */; -val* var60 /* : FlatString */; -short int var61 /* : Bool */; -short int var62 /* : Bool */; -static val* varonce63; -val* var64 /* : String */; -char* var65 /* : NativeString */; -long var66 /* : Int */; -val* var67 /* : FlatString */; +val* var49 /* : FlatString */; +short int var50 /* : Bool */; +short int var51 /* : Bool */; +val* var53 /* : NativeArray[String] */; +static val* varonce52; +static val* varonce54; +val* var55 /* : String */; +char* var56 /* : NativeString */; +val* var57 /* : FlatString */; +static val* varonce58; +val* var59 /* : String */; +char* var60 /* : NativeString */; +val* var61 /* : FlatString */; +static val* varonce62; +val* var63 /* : String */; +char* var64 /* : NativeString */; +val* var65 /* : FlatString */; +val* var66 /* : String */; +val* var67 /* : String */; static val* varonce68; val* var69 /* : String */; char* var70 /* : NativeString */; -long var71 /* : Int */; -val* var72 /* : FlatString */; +val* var71 /* : FlatString */; +static val* varonce72; val* var73 /* : String */; -static val* varonce74; -val* var75 /* : String */; -char* var76 /* : NativeString */; -long var77 /* : Int */; -val* var78 /* : FlatString */; -val* var79 /* : Array[Object] */; -long var80 /* : Int */; -val* var81 /* : NativeArray[Object] */; -val* var82 /* : String */; -static val* varonce83; -val* var84 /* : String */; -char* var85 /* : NativeString */; -long var86 /* : Int */; +char* var74 /* : NativeString */; +val* var75 /* : FlatString */; +static val* varonce76; +val* var77 /* : String */; +char* var78 /* : NativeString */; +val* var79 /* : FlatString */; +static val* varonce80; +val* var81 /* : String */; +char* var82 /* : NativeString */; +val* var83 /* : FlatString */; +static val* varonce84; +val* var85 /* : String */; +char* var86 /* : NativeString */; val* var87 /* : FlatString */; +val* var89 /* : NativeArray[String] */; static val* varonce88; -val* var89 /* : String */; -char* var90 /* : NativeString */; -long var91 /* : Int */; -val* var92 /* : FlatString */; -static val* varonce93; -val* var94 /* : String */; -char* var95 /* : NativeString */; -long var96 /* : Int */; +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 */; -long var101 /* : Int */; -val* var102 /* : FlatString */; -static val* varonce103; -val* var104 /* : String */; -char* var105 /* : NativeString */; -long var106 /* : Int */; -val* var107 /* : FlatString */; -static val* varonce108; -val* var109 /* : String */; -char* var110 /* : NativeString */; -long var111 /* : Int */; -val* var112 /* : FlatString */; -static val* varonce113; -val* var114 /* : String */; -char* var115 /* : NativeString */; -long var116 /* : Int */; -val* var117 /* : FlatString */; -val* var118 /* : Array[Object] */; -long var119 /* : Int */; -val* var120 /* : NativeArray[Object] */; -val* var121 /* : String */; +val* var98 /* : String */; { { /* Inline toolcontext#BashCompletion#toolcontext (self) on */ var2 = self->attrs[COLOR_nit__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 524); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 593); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -5005,31 +5338,38 @@ var_name = var3; var4 = nit___nit__BashCompletion___extract_options_names(self); } var_option_names = var4; -if (varonce) { -var5 = varonce; +if (unlikely(varonce==NULL)) { +var5 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce6!=NULL)) { +var7 = varonce6; } else { -var6 = "# generated bash completion file for "; -var7 = 37; -var8 = standard___standard__NativeString___to_s_with_length(var6, var7); -var5 = var8; -varonce = var5; +var8 = "# generated bash completion file for "; +var9 = standard___standard__NativeString___to_s_with_length(var8, 37l); +var7 = var9; +varonce6 = var7; } -if (varonce9) { -var10 = varonce9; +((struct instance_standard__NativeArray*)var5)->values[0]=var7; +if (likely(varonce10!=NULL)) { +var11 = varonce10; } else { -var11 = " "; -var12 = 1; -var13 = standard___standard__NativeString___to_s_with_length(var11, var12); -var10 = var13; -varonce9 = var10; +var12 = " "; +var13 = standard___standard__NativeString___to_s_with_length(var12, 1l); +var11 = var13; +varonce10 = var11; } +((struct instance_standard__NativeArray*)var5)->values[2]=var11; +} else { +var5 = varonce; +varonce = NULL; +} +((struct instance_standard__NativeArray*)var5)->values[1]=var_name; { { /* Inline toolcontext#BashCompletion#toolcontext (self) on */ var16 = self->attrs[COLOR_nit__toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on */ if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); -PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 524); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext, 593); +fatal_exit(1); } var14 = var16; RET_LABEL15:(void)0; @@ -5038,275 +5378,245 @@ RET_LABEL15:(void)0; { var17 = nit___nit__ToolContext___version(var14); } -var18 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var18 = array_instance Array[Object] */ -var19 = 4; -var20 = NEW_standard__NativeArray(var19, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var20)->values[0] = (val*) var5; -((struct instance_standard__NativeArray*)var20)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var20)->values[2] = (val*) var10; -((struct instance_standard__NativeArray*)var20)->values[3] = (val*) var17; -{ -((void (*)(val* self, val* p0, long p1))(var18->class->vft[COLOR_standard__array__Array__with_native]))(var18, var20, var19) /* with_native on */; -} -} +((struct instance_standard__NativeArray*)var5)->values[3]=var17; { -var21 = ((val* (*)(val* self))(var18->class->vft[COLOR_standard__string__Object__to_s]))(var18) /* to_s on */; +var18 = ((val*(*)(val* self))(var5->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var5); /* native_to_s on */ } +varonce = var5; { -template___template__Template___addn(self, var21); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var18); /* Direct call template#Template#addn on */ } -if (varonce22) { -var23 = varonce22; +if (unlikely(varonce19==NULL)) { +var20 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce21!=NULL)) { +var22 = varonce21; } else { -var24 = "_"; -var25 = 1; -var26 = standard___standard__NativeString___to_s_with_length(var24, var25); -var23 = var26; -varonce22 = var23; +var23 = "_"; +var24 = standard___standard__NativeString___to_s_with_length(var23, 1l); +var22 = var24; +varonce21 = var22; } -if (varonce27) { -var28 = varonce27; +((struct instance_standard__NativeArray*)var20)->values[0]=var22; +if (likely(varonce25!=NULL)) { +var26 = varonce25; } else { -var29 = "()"; -var30 = 2; -var31 = standard___standard__NativeString___to_s_with_length(var29, var30); -var28 = var31; -varonce27 = var28; -} -var32 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var32 = array_instance Array[Object] */ -var33 = 3; -var34 = NEW_standard__NativeArray(var33, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var34)->values[0] = (val*) var23; -((struct instance_standard__NativeArray*)var34)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var34)->values[2] = (val*) var28; -{ -((void (*)(val* self, val* p0, long p1))(var32->class->vft[COLOR_standard__array__Array__with_native]))(var32, var34, var33) /* with_native on */; +var27 = "()"; +var28 = standard___standard__NativeString___to_s_with_length(var27, 2l); +var26 = var28; +varonce25 = var26; } +((struct instance_standard__NativeArray*)var20)->values[2]=var26; +} else { +var20 = varonce19; +varonce19 = NULL; } +((struct instance_standard__NativeArray*)var20)->values[1]=var_name; { -var35 = ((val* (*)(val* self))(var32->class->vft[COLOR_standard__string__Object__to_s]))(var32) /* to_s on */; +var29 = ((val*(*)(val* self))(var20->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var20); /* native_to_s on */ } +varonce19 = var20; { -template___template__Template___addn(self, var35); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var29); /* Direct call template#Template#addn on */ } -if (varonce36) { -var37 = varonce36; +if (likely(varonce30!=NULL)) { +var31 = varonce30; } else { -var38 = "{"; -var39 = 1; -var40 = standard___standard__NativeString___to_s_with_length(var38, var39); -var37 = var40; -varonce36 = var37; +var32 = "{"; +var33 = standard___standard__NativeString___to_s_with_length(var32, 1l); +var31 = var33; +varonce30 = var31; } { -template___template__Template___addn(self, var37); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var31); /* Direct call template#Template#addn on */ } -if (varonce41) { -var42 = varonce41; +if (likely(varonce34!=NULL)) { +var35 = varonce34; } else { -var43 = "\11local cur prev opts"; -var44 = 20; -var45 = standard___standard__NativeString___to_s_with_length(var43, var44); -var42 = var45; -varonce41 = var42; +var36 = "\tlocal cur prev opts"; +var37 = standard___standard__NativeString___to_s_with_length(var36, 20l); +var35 = var37; +varonce34 = var35; } { -template___template__Template___addn(self, var42); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var35); /* Direct call template#Template#addn on */ } -if (varonce46) { -var47 = varonce46; +if (likely(varonce38!=NULL)) { +var39 = varonce38; } else { -var48 = "\11COMPREPLY=()"; -var49 = 13; -var50 = standard___standard__NativeString___to_s_with_length(var48, var49); -var47 = var50; -varonce46 = var47; +var40 = "\tCOMPREPLY=()"; +var41 = standard___standard__NativeString___to_s_with_length(var40, 13l); +var39 = var41; +varonce38 = var39; } { -template___template__Template___addn(self, var47); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var39); /* Direct call template#Template#addn on */ } -if (varonce51) { -var52 = varonce51; +if (likely(varonce42!=NULL)) { +var43 = varonce42; } else { -var53 = "\11cur=\"${COMP_WORDS[COMP_CWORD]}\""; -var54 = 32; -var55 = standard___standard__NativeString___to_s_with_length(var53, var54); -var52 = var55; -varonce51 = var52; +var44 = "\tcur=\"${COMP_WORDS[COMP_CWORD]}\""; +var45 = standard___standard__NativeString___to_s_with_length(var44, 32l); +var43 = var45; +varonce42 = var43; } { -template___template__Template___addn(self, var52); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var43); /* Direct call template#Template#addn on */ } -if (varonce56) { -var57 = varonce56; +if (likely(varonce46!=NULL)) { +var47 = varonce46; } else { -var58 = "\11prev=\"${COMP_WORDS[COMP_CWORD-1]}\""; -var59 = 35; -var60 = standard___standard__NativeString___to_s_with_length(var58, var59); -var57 = var60; -varonce56 = var57; +var48 = "\tprev=\"${COMP_WORDS[COMP_CWORD-1]}\""; +var49 = standard___standard__NativeString___to_s_with_length(var48, 35l); +var47 = var49; +varonce46 = var47; } { -template___template__Template___addn(self, var57); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var47); /* Direct call template#Template#addn on */ } { -var61 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_option_names); +var50 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_option_names); } -var62 = !var61; -if (var62){ -if (varonce63) { -var64 = varonce63; +var51 = !var50; +if (var51){ +if (unlikely(varonce52==NULL)) { +var53 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce54!=NULL)) { +var55 = varonce54; +} else { +var56 = "\topts=\""; +var57 = standard___standard__NativeString___to_s_with_length(var56, 7l); +var55 = var57; +varonce54 = var55; +} +((struct instance_standard__NativeArray*)var53)->values[0]=var55; +if (likely(varonce58!=NULL)) { +var59 = varonce58; } else { -var65 = "\11opts=\""; -var66 = 7; -var67 = standard___standard__NativeString___to_s_with_length(var65, var66); -var64 = var67; -varonce63 = var64; +var60 = "\""; +var61 = standard___standard__NativeString___to_s_with_length(var60, 1l); +var59 = var61; +varonce58 = var59; } -if (varonce68) { -var69 = varonce68; +((struct instance_standard__NativeArray*)var53)->values[2]=var59; } else { -var70 = " "; -var71 = 1; -var72 = standard___standard__NativeString___to_s_with_length(var70, var71); -var69 = var72; -varonce68 = var69; +var53 = varonce52; +varonce52 = NULL; } -{ -var73 = standard__string___Collection___join(var_option_names, var69); -} -if (varonce74) { -var75 = varonce74; +if (likely(varonce62!=NULL)) { +var63 = varonce62; } else { -var76 = "\""; -var77 = 1; -var78 = standard___standard__NativeString___to_s_with_length(var76, var77); -var75 = var78; -varonce74 = var75; +var64 = " "; +var65 = standard___standard__NativeString___to_s_with_length(var64, 1l); +var63 = var65; +varonce62 = var63; } -var79 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var79 = array_instance Array[Object] */ -var80 = 3; -var81 = NEW_standard__NativeArray(var80, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var81)->values[0] = (val*) var64; -((struct instance_standard__NativeArray*)var81)->values[1] = (val*) var73; -((struct instance_standard__NativeArray*)var81)->values[2] = (val*) var75; { -((void (*)(val* self, val* p0, long p1))(var79->class->vft[COLOR_standard__array__Array__with_native]))(var79, var81, var80) /* with_native on */; -} +var66 = standard__string___Collection___join(var_option_names, var63); } +((struct instance_standard__NativeArray*)var53)->values[1]=var66; { -var82 = ((val* (*)(val* self))(var79->class->vft[COLOR_standard__string__Object__to_s]))(var79) /* to_s on */; +var67 = ((val*(*)(val* self))(var53->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var53); /* native_to_s on */ } +varonce52 = var53; { -template___template__Template___addn(self, var82); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var67); /* Direct call template#Template#addn on */ } -if (varonce83) { -var84 = varonce83; +if (likely(varonce68!=NULL)) { +var69 = varonce68; } else { -var85 = "\11if [[ ${cur} == -* ]] ; then"; -var86 = 29; -var87 = standard___standard__NativeString___to_s_with_length(var85, var86); -var84 = var87; -varonce83 = var84; +var70 = "\tif [[ ${cur} == -* ]] ; then"; +var71 = standard___standard__NativeString___to_s_with_length(var70, 29l); +var69 = var71; +varonce68 = var69; } { -template___template__Template___addn(self, var84); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var69); /* Direct call template#Template#addn on */ } -if (varonce88) { -var89 = varonce88; +if (likely(varonce72!=NULL)) { +var73 = varonce72; } else { -var90 = "\11\11COMPREPLY=( $(compgen -W \"${opts}\" -- ${cur}) )"; -var91 = 49; -var92 = standard___standard__NativeString___to_s_with_length(var90, var91); -var89 = var92; -varonce88 = var89; +var74 = "\t\tCOMPREPLY=( $(compgen -W \"${opts}\" -- ${cur}) )"; +var75 = standard___standard__NativeString___to_s_with_length(var74, 49l); +var73 = var75; +varonce72 = var73; } { -template___template__Template___addn(self, var89); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var73); /* Direct call template#Template#addn on */ } -if (varonce93) { -var94 = varonce93; +if (likely(varonce76!=NULL)) { +var77 = varonce76; } else { -var95 = "\11\11return 0"; -var96 = 10; -var97 = standard___standard__NativeString___to_s_with_length(var95, var96); -var94 = var97; -varonce93 = var94; +var78 = "\t\treturn 0"; +var79 = standard___standard__NativeString___to_s_with_length(var78, 10l); +var77 = var79; +varonce76 = var77; } { -template___template__Template___addn(self, var94); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var77); /* Direct call template#Template#addn on */ } -if (varonce98) { -var99 = varonce98; +if (likely(varonce80!=NULL)) { +var81 = varonce80; } else { -var100 = "\11fi"; -var101 = 3; -var102 = standard___standard__NativeString___to_s_with_length(var100, var101); -var99 = var102; -varonce98 = var99; +var82 = "\tfi"; +var83 = standard___standard__NativeString___to_s_with_length(var82, 3l); +var81 = var83; +varonce80 = var81; } { -template___template__Template___addn(self, var99); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var81); /* Direct call template#Template#addn on */ } } else { } -if (varonce103) { -var104 = varonce103; +if (likely(varonce84!=NULL)) { +var85 = varonce84; } else { -var105 = "} &&"; -var106 = 4; -var107 = standard___standard__NativeString___to_s_with_length(var105, var106); -var104 = var107; -varonce103 = var104; +var86 = "} &&"; +var87 = standard___standard__NativeString___to_s_with_length(var86, 4l); +var85 = var87; +varonce84 = var85; } { -template___template__Template___addn(self, var104); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var85); /* Direct call template#Template#addn on */ } -if (varonce108) { -var109 = varonce108; +if (unlikely(varonce88==NULL)) { +var89 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); +if (likely(varonce90!=NULL)) { +var91 = varonce90; } else { -var110 = "complete -o default -F _"; -var111 = 24; -var112 = standard___standard__NativeString___to_s_with_length(var110, var111); -var109 = var112; -varonce108 = var109; +var92 = "complete -o default -F _"; +var93 = standard___standard__NativeString___to_s_with_length(var92, 24l); +var91 = var93; +varonce90 = var91; } -if (varonce113) { -var114 = varonce113; +((struct instance_standard__NativeArray*)var89)->values[0]=var91; +if (likely(varonce94!=NULL)) { +var95 = varonce94; } else { -var115 = " "; -var116 = 1; -var117 = standard___standard__NativeString___to_s_with_length(var115, var116); -var114 = var117; -varonce113 = var114; -} -var118 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var118 = array_instance Array[Object] */ -var119 = 4; -var120 = NEW_standard__NativeArray(var119, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var120)->values[0] = (val*) var109; -((struct instance_standard__NativeArray*)var120)->values[1] = (val*) var_name; -((struct instance_standard__NativeArray*)var120)->values[2] = (val*) var114; -((struct instance_standard__NativeArray*)var120)->values[3] = (val*) var_name; -{ -((void (*)(val* self, val* p0, long p1))(var118->class->vft[COLOR_standard__array__Array__with_native]))(var118, var120, var119) /* with_native on */; +var96 = " "; +var97 = standard___standard__NativeString___to_s_with_length(var96, 1l); +var95 = var97; +varonce94 = var95; } +((struct instance_standard__NativeArray*)var89)->values[2]=var95; +} else { +var89 = varonce88; +varonce88 = NULL; } +((struct instance_standard__NativeArray*)var89)->values[1]=var_name; +((struct instance_standard__NativeArray*)var89)->values[3]=var_name; { -var121 = ((val* (*)(val* self))(var118->class->vft[COLOR_standard__string__Object__to_s]))(var118) /* to_s on */; +var98 = ((val*(*)(val* self))(var89->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var89); /* native_to_s on */ } +varonce88 = var89; { -template___template__Template___addn(self, var121); /* Direct call template#Template#addn on */ +template___template__Template___addn(self, var98); /* Direct call template#Template#addn on */ } RET_LABEL:; } /* method toolcontext#BashCompletion#init for (self: BashCompletion) */ void nit___nit__BashCompletion___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_nit___nit__BashCompletion___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_nit___nit__BashCompletion___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; }