X-Git-Url: http://nitlanguage.org diff --git a/c_src/toolcontext.sep.1.c b/c_src/toolcontext.sep.1.c index b4b8284..b74bf73 100644 --- a/c_src/toolcontext.sep.1.c +++ b/c_src/toolcontext.sep.1.c @@ -3,7 +3,7 @@ val* toolcontext__Message__location(val* self) { val* var /* : nullable Location */; val* var1 /* : nullable Location */; -var1 = self->attrs[COLOR_toolcontext__Message___64dlocation].val; /* @location on */ +var1 = self->attrs[COLOR_toolcontext__Message___location].val; /* _location on */ var = var1; RET_LABEL:; return var; @@ -12,30 +12,25 @@ return var; val* VIRTUAL_toolcontext__Message__location(val* self) { val* var /* : nullable Location */; val* var1 /* : nullable Location */; -var1 = toolcontext__Message__location(self); +val* var3 /* : nullable Location */; +{ /* Inline toolcontext#Message#location (self) on */ +var3 = self->attrs[COLOR_toolcontext__Message___location].val; /* _location on */ +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#Message#location= for (self: Message, nullable Location) */ -void toolcontext__Message__location_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__Message___64dlocation].val = p0; /* @location on */ -RET_LABEL:; -} -/* method toolcontext#Message#location= for (self: Object, nullable Location) */ -void VIRTUAL_toolcontext__Message__location_61d(val* self, val* p0) { -toolcontext__Message__location_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#Message#text for (self: Message): String */ val* toolcontext__Message__text(val* self) { val* var /* : String */; val* var1 /* : String */; -var1 = self->attrs[COLOR_toolcontext__Message___64dtext].val; /* @text on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @text"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 30); -exit(1); +var1 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 33); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -45,21 +40,21 @@ return var; val* VIRTUAL_toolcontext__Message__text(val* self) { val* var /* : String */; val* var1 /* : String */; -var1 = toolcontext__Message__text(self); +val* var3 /* : String */; +{ /* Inline toolcontext#Message#text (self) on */ +var3 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 33); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#Message#text= for (self: Message, String) */ -void toolcontext__Message__text_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__Message___64dtext].val = p0; /* @text on */ -RET_LABEL:; -} -/* method toolcontext#Message#text= for (self: Object, String) */ -void VIRTUAL_toolcontext__Message__text_61d(val* self, val* p0) { -toolcontext__Message__text_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#Message#< for (self: Message, Message): Bool */ short int toolcontext__Message___60d(val* self, val* p0) { short int var /* : Bool */; @@ -70,16 +65,22 @@ const struct type* type_struct; const char* var_class_name; val* var_other /* var other: Message */; val* var2 /* : nullable Location */; -val* var3 /* : null */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; -val* var6 /* : nullable Location */; -val* var7 /* : null */; +val* var4 /* : nullable Location */; +val* var5 /* : null */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var10 /* : nullable Location */; +val* var9 /* : nullable Location */; val* var11 /* : nullable Location */; -short int var12 /* : Bool */; +val* var12 /* : null */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +val* var16 /* : nullable Location */; +val* var18 /* : nullable Location */; +val* var19 /* : nullable Location */; +val* var21 /* : nullable Location */; +short int var22 /* : Bool */; /* Covariant cast for argument 0 (other) isa OTHER */ /* isa OTHER */ type_struct = self->type->resolution_table->types[COLOR_kernel__Comparable_VTOTHER]; @@ -90,53 +91,87 @@ var1 = 0; } else { var1 = p0->type->type_table[cltype] == idtype; } -if (!var1) { +if (unlikely(!var1)) { var_class_name = p0 == NULL ? "null" : p0->type->name; -fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 32); -exit(1); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 35); +show_backtrace(1); } var_other = p0; -var2 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__Message__location]))(self) /* location on */; -var3 = NULL; +{ +{ /* Inline toolcontext#Message#location (self) on */ +var4 = self->attrs[COLOR_toolcontext__Message___location].val; /* _location on */ +var2 = var4; +RET_LABEL3:(void)0; +} +} +var5 = NULL; if (var2 == NULL) { -var4 = 1; /* is null */ +var6 = 1; /* is null */ } else { -var4 = 0; /* arg is null but recv is not */ +var6 = 0; /* arg is null but recv is not */ +} +if (0) { +var7 = location__Location___61d_61d(var2, var5); +var6 = var7; } -if (var4){ -var5 = 1; -var = var5; +if (var6){ +var8 = 1; +var = var8; goto RET_LABEL; } else { } -var6 = ((val* (*)(val*))(var_other->class->vft[COLOR_toolcontext__Message__location]))(var_other) /* location on */; -var7 = NULL; -if (var6 == NULL) { -var8 = 1; /* is null */ +{ +{ /* Inline toolcontext#Message#location (var_other) on */ +var11 = var_other->attrs[COLOR_toolcontext__Message___location].val; /* _location on */ +var9 = var11; +RET_LABEL10:(void)0; +} +} +var12 = NULL; +if (var9 == NULL) { +var13 = 1; /* is null */ } else { -var8 = 0; /* arg is null but recv is not */ +var13 = 0; /* arg is null but recv is not */ } -if (var8){ -var9 = 0; -var = var9; +if (0) { +var14 = location__Location___61d_61d(var9, var12); +var13 = var14; +} +if (var13){ +var15 = 0; +var = var15; goto RET_LABEL; } else { } -var10 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__Message__location]))(self) /* location on */; -if (var10 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 37); -exit(1); +{ +{ /* Inline toolcontext#Message#location (self) on */ +var18 = self->attrs[COLOR_toolcontext__Message___location].val; /* _location on */ +var16 = var18; +RET_LABEL17:(void)0; } -var11 = ((val* (*)(val*))(var_other->class->vft[COLOR_toolcontext__Message__location]))(var_other) /* location on */; -if (var11 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 37); -exit(1); } -var12 = ((short int (*)(val*, val*))(var10->class->vft[COLOR_kernel__Comparable___60d]))(var10, var11) /* < on */; -var = var12; +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 40); +show_backtrace(1); +} +{ +{ /* Inline toolcontext#Message#location (var_other) on */ +var21 = var_other->attrs[COLOR_toolcontext__Message___location].val; /* _location on */ +var19 = var21; +RET_LABEL20:(void)0; +} +} +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 40); +show_backtrace(1); +} +{ +var22 = location__Location___60d(var16, var19); +} +var = var22; goto RET_LABEL; RET_LABEL:; return var; @@ -154,83 +189,94 @@ return var; val* toolcontext__Message__to_s(val* self) { val* var /* : String */; val* var1 /* : nullable Location */; +val* var3 /* : nullable Location */; val* var_l /* var l: nullable Location */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : String */; -val* var5 /* : Array[Object] */; -long var6 /* : Int */; -val* var_ /* var : Array[Object] */; -static val* varonce; +val* var4 /* : null */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; val* var7 /* : String */; -char* var8 /* : NativeString */; -long var9 /* : Int */; +val* var9 /* : String */; +static val* varonce; val* var10 /* : String */; -static val* varonce11; -val* var12 /* : String */; -char* var13 /* : NativeString */; -long var14 /* : Int */; -val* var15 /* : String */; +char* var11 /* : NativeString */; +long var12 /* : Int */; +val* var13 /* : FlatString */; +val* var14 /* : String */; val* var16 /* : String */; -static val* varonce17; -val* var18 /* : String */; -char* var19 /* : NativeString */; -long var20 /* : Int */; -val* var21 /* : String */; -val* var22 /* : String */; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__Message__location]))(self) /* location on */; +val* var17 /* : Array[Object] */; +long var18 /* : Int */; +val* var19 /* : NativeArray[Object] */; +val* var20 /* : String */; +{ +{ /* Inline toolcontext#Message#location (self) on */ +var3 = self->attrs[COLOR_toolcontext__Message___location].val; /* _location on */ +var1 = var3; +RET_LABEL2:(void)0; +} +} var_l = var1; -var2 = NULL; +var4 = NULL; if (var_l == NULL) { -var3 = 1; /* is null */ +var5 = 1; /* is null */ } else { -var3 = 0; /* arg is null but recv is not */ +var5 = 0; /* arg is null but recv is not */ } -if (var3){ -var4 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__Message__text]))(self) /* text on */; -var = var4; +if (0) { +var6 = location__Location___61d_61d(var_l, var4); +var5 = var6; +} +if (var5){ +{ +{ /* Inline toolcontext#Message#text (self) on */ +var9 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 33); +show_backtrace(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +var = var7; goto RET_LABEL; } else { -var5 = NEW_array__Array(&type_array__Arraykernel__Object); -var6 = 5; -((void (*)(val*, long))(var5->class->vft[COLOR_array__Array__with_capacity]))(var5, var6) /* with_capacity on */; -CHECK_NEW_array__Array(var5); -var_ = var5; if (varonce) { -var7 = varonce; -} else { -var8 = ""; -var9 = 0; -var10 = string__NativeString__to_s_with_length(var8, var9); -var7 = var10; -varonce = var7; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var7) /* add on */; -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var_l) /* add on */; -if (varonce11) { -var12 = varonce11; -} else { -var13 = ": "; -var14 = 2; -var15 = string__NativeString__to_s_with_length(var13, var14); -var12 = var15; -varonce11 = var12; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var12) /* add on */; -var16 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__Message__text]))(self) /* text on */; -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var16) /* add on */; -if (varonce17) { -var18 = varonce17; -} else { -var19 = ""; -var20 = 0; -var21 = string__NativeString__to_s_with_length(var19, var20); -var18 = var21; -varonce17 = var18; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var18) /* add on */; -var22 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on */; -var = var22; +var10 = varonce; +} else { +var11 = ": "; +var12 = 2; +var13 = string__NativeString__to_s_with_length(var11, var12); +var10 = var13; +varonce = var10; +} +{ +{ /* Inline toolcontext#Message#text (self) on */ +var16 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 33); +show_backtrace(1); +} +var14 = var16; +RET_LABEL15:(void)0; +} +} +var17 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var17 = array_instance Array[Object] */ +var18 = 3; +var19 = NEW_array__NativeArray(var18, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var19)->values[0] = (val*) var_l; +((struct instance_array__NativeArray*)var19)->values[1] = (val*) var10; +((struct instance_array__NativeArray*)var19)->values[2] = (val*) var14; +{ +((void (*)(val*, val*, long))(var17->class->vft[COLOR_array__Array__with_native]))(var17, var19, var18) /* with_native on */; +} +} +{ +var20 = ((val* (*)(val*))(var17->class->vft[COLOR_string__Object__to_s]))(var17) /* to_s on */; +} +var = var20; goto RET_LABEL; } RET_LABEL:; @@ -252,486 +298,406 @@ long var1 /* : Int */; char var2 /* : Char */; char var4 /* : Char */; char var_esc /* var esc: Char */; -val* var5 /* : Array[Object] */; -long var6 /* : Int */; -val* var_ /* var : Array[Object] */; static val* varonce; -val* var7 /* : String */; -char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : String */; -val* var11 /* : nullable Object */; -static val* varonce12; +val* var5 /* : String */; +char* var6 /* : NativeString */; +long var7 /* : Int */; +val* var8 /* : FlatString */; +val* var9 /* : Array[Object] */; +long var10 /* : Int */; +val* var11 /* : NativeArray[Object] */; +val* var12 /* : Object */; val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : String */; -val* var17 /* : String */; val* var_red /* var red: String */; -val* var18 /* : Array[Object] */; -long var19 /* : Int */; -val* var_20 /* var : Array[Object] */; -static val* varonce21; -val* var22 /* : String */; -char* var23 /* : NativeString */; -long var24 /* : Int */; +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* var_bred /* var bred: String */; +static val* varonce24; val* var25 /* : String */; -val* var26 /* : nullable Object */; -static val* varonce27; -val* var28 /* : String */; -char* var29 /* : NativeString */; +char* var26 /* : NativeString */; +long var27 /* : Int */; +val* var28 /* : FlatString */; +val* var29 /* : Array[Object] */; long var30 /* : Int */; -val* var31 /* : String */; -val* var32 /* : String */; -val* var_bred /* var bred: String */; -val* var33 /* : Array[Object] */; -long var34 /* : Int */; -val* var_35 /* var : Array[Object] */; -static val* varonce36; -val* var37 /* : String */; -char* var38 /* : NativeString */; -long var39 /* : Int */; -val* var40 /* : String */; -val* var41 /* : nullable Object */; -static val* varonce42; -val* var43 /* : String */; -char* var44 /* : NativeString */; -long var45 /* : Int */; -val* var46 /* : String */; -val* var47 /* : String */; +val* var31 /* : NativeArray[Object] */; +val* var32 /* : Object */; +val* var33 /* : String */; val* var_green /* var green: String */; -val* var48 /* : Array[Object] */; -long var49 /* : Int */; -val* var_50 /* var : Array[Object] */; -static val* varonce51; -val* var52 /* : String */; -char* var53 /* : NativeString */; -long var54 /* : Int */; -val* var55 /* : String */; -val* var56 /* : nullable Object */; -static val* varonce57; -val* var58 /* : String */; -char* var59 /* : NativeString */; -long var60 /* : Int */; -val* var61 /* : String */; -val* var62 /* : String */; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; +long var37 /* : Int */; +val* var38 /* : FlatString */; +val* var39 /* : Array[Object] */; +long var40 /* : Int */; +val* var41 /* : NativeArray[Object] */; +val* var42 /* : Object */; +val* var43 /* : String */; val* var_yellow /* var yellow: String */; -val* var63 /* : Array[Object] */; -long var64 /* : Int */; -val* var_65 /* var : Array[Object] */; -static val* varonce66; -val* var67 /* : String */; -char* var68 /* : NativeString */; -long var69 /* : Int */; -val* var70 /* : String */; -val* var71 /* : nullable Object */; -static val* varonce72; -val* var73 /* : String */; -char* var74 /* : NativeString */; -long var75 /* : Int */; -val* var76 /* : String */; -val* var77 /* : String */; +static val* varonce44; +val* var45 /* : String */; +char* var46 /* : NativeString */; +long var47 /* : Int */; +val* var48 /* : FlatString */; +val* var49 /* : Array[Object] */; +long var50 /* : Int */; +val* var51 /* : NativeArray[Object] */; +val* var52 /* : Object */; +val* var53 /* : String */; val* var_def /* var def: String */; -val* var78 /* : nullable Location */; +val* var54 /* : nullable Location */; +val* var56 /* : nullable Location */; val* var_l /* var l: nullable Location */; -val* var79 /* : null */; -short int var80 /* : Bool */; -val* var81 /* : String */; -val* var82 /* : nullable SourceFile */; -val* var83 /* : null */; -short int var84 /* : Bool */; -val* var85 /* : Array[Object] */; -long var86 /* : Int */; -val* var_87 /* var : Array[Object] */; -static val* varonce88; -val* var89 /* : String */; -char* var90 /* : NativeString */; -long var91 /* : Int */; +val* var57 /* : null */; +short int var58 /* : Bool */; +short int var59 /* : Bool */; +val* var60 /* : String */; +val* var62 /* : String */; +val* var63 /* : nullable SourceFile */; +val* var65 /* : nullable SourceFile */; +val* var66 /* : null */; +short int var67 /* : Bool */; +short int var68 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var70 /* : Bool */; +short int var72 /* : Bool */; +static val* varonce73; +val* var74 /* : String */; +char* var75 /* : NativeString */; +long var76 /* : Int */; +val* var77 /* : FlatString */; +val* var78 /* : String */; +val* var80 /* : String */; +val* var81 /* : Array[Object] */; +long var82 /* : Int */; +val* var83 /* : NativeArray[Object] */; +val* var84 /* : String */; +static val* varonce85; +val* var86 /* : String */; +char* var87 /* : NativeString */; +long var88 /* : Int */; +val* var89 /* : FlatString */; +val* var90 /* : String */; val* var92 /* : String */; static val* varonce93; val* var94 /* : String */; char* var95 /* : NativeString */; long var96 /* : Int */; -val* var97 /* : String */; +val* var97 /* : FlatString */; static val* varonce98; val* var99 /* : String */; char* var100 /* : NativeString */; long var101 /* : Int */; -val* var102 /* : String */; -static val* varonce103; -val* var104 /* : String */; -char* var105 /* : NativeString */; -long var106 /* : Int */; +val* var102 /* : FlatString */; +val* var103 /* : String */; +val* var104 /* : Array[Object] */; +long var105 /* : Int */; +val* var106 /* : NativeArray[Object] */; val* var107 /* : String */; -val* var108 /* : String */; -static val* varonce109; -val* var110 /* : String */; -char* var111 /* : NativeString */; -long var112 /* : Int */; -val* var113 /* : String */; -val* var114 /* : String */; -val* var115 /* : Array[Object] */; -long var116 /* : Int */; -val* var_117 /* var : Array[Object] */; -static val* varonce118; -val* var119 /* : String */; -char* var120 /* : NativeString */; -long var121 /* : Int */; -val* var122 /* : String */; -static val* varonce123; -val* var124 /* : String */; -char* var125 /* : NativeString */; -long var126 /* : Int */; -val* var127 /* : String */; -static val* varonce128; -val* var129 /* : String */; -char* var130 /* : NativeString */; -long var131 /* : Int */; -val* var132 /* : String */; -static val* varonce133; -val* var134 /* : String */; -char* var135 /* : NativeString */; -long var136 /* : Int */; -val* var137 /* : String */; -val* var138 /* : String */; -static val* varonce139; -val* var140 /* : String */; -char* var141 /* : NativeString */; -long var142 /* : Int */; -val* var143 /* : String */; -static val* varonce144; -val* var145 /* : String */; -char* var146 /* : NativeString */; -long var147 /* : Int */; -val* var148 /* : String */; -val* var149 /* : String */; -static val* varonce150; -val* var151 /* : String */; -char* var152 /* : NativeString */; -long var153 /* : Int */; -val* var154 /* : String */; -val* var155 /* : String */; var1 = 27; -{ /* Inline kernel#Int#ascii (var1) */ +{ +{ /* Inline kernel#Int#ascii (var1) on */ var4 = var1; var2 = var4; goto RET_LABEL3; RET_LABEL3:(void)0; } +} var_esc = var2; -var5 = NEW_array__Array(&type_array__Arraykernel__Object); -var6 = 3; -((void (*)(val*, long))(var5->class->vft[COLOR_array__Array__with_capacity]))(var5, var6) /* with_capacity on */; -CHECK_NEW_array__Array(var5); -var_ = var5; if (varonce) { -var7 = varonce; -} else { -var8 = ""; -var9 = 0; -var10 = string__NativeString__to_s_with_length(var8, var9); -var7 = var10; -varonce = var7; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var7) /* add on */; -var11 = BOX_kernel__Char(var_esc); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var11) /* add on */; -if (varonce12) { -var13 = varonce12; -} else { -var14 = "[0;31m"; -var15 = 6; -var16 = string__NativeString__to_s_with_length(var14, var15); -var13 = var16; -varonce12 = var13; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var13) /* add on */; -var17 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on */; -var_red = var17; -var18 = NEW_array__Array(&type_array__Arraykernel__Object); -var19 = 3; -((void (*)(val*, long))(var18->class->vft[COLOR_array__Array__with_capacity]))(var18, var19) /* with_capacity on */; -CHECK_NEW_array__Array(var18); -var_20 = var18; -if (varonce21) { -var22 = varonce21; -} else { -var23 = ""; -var24 = 0; -var25 = string__NativeString__to_s_with_length(var23, var24); -var22 = var25; -varonce21 = var22; -} -((void (*)(val*, val*))(var_20->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_20, var22) /* add on */; -var26 = BOX_kernel__Char(var_esc); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_20->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_20, var26) /* add on */; -if (varonce27) { -var28 = varonce27; +var5 = varonce; } else { -var29 = "[1;31m"; -var30 = 6; -var31 = string__NativeString__to_s_with_length(var29, var30); -var28 = var31; -varonce27 = var28; -} -((void (*)(val*, val*))(var_20->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_20, var28) /* add on */; -var32 = ((val* (*)(val*))(var_20->class->vft[COLOR_string__Object__to_s]))(var_20) /* to_s on */; -var_bred = var32; -var33 = NEW_array__Array(&type_array__Arraykernel__Object); -var34 = 3; -((void (*)(val*, long))(var33->class->vft[COLOR_array__Array__with_capacity]))(var33, var34) /* with_capacity on */; -CHECK_NEW_array__Array(var33); -var_35 = var33; -if (varonce36) { -var37 = varonce36; +var6 = "[0;31m"; +var7 = 6; +var8 = string__NativeString__to_s_with_length(var6, var7); +var5 = var8; +varonce = var5; +} +var9 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var9 = array_instance Array[Object] */ +var10 = 2; +var11 = NEW_array__NativeArray(var10, &type_array__NativeArraykernel__Object); +var12 = BOX_kernel__Char(var_esc); /* autobox from Char to Object */ +((struct instance_array__NativeArray*)var11)->values[0] = (val*) var12; +((struct instance_array__NativeArray*)var11)->values[1] = (val*) var5; +{ +((void (*)(val*, val*, long))(var9->class->vft[COLOR_array__Array__with_native]))(var9, var11, var10) /* with_native on */; +} +} +{ +var13 = ((val* (*)(val*))(var9->class->vft[COLOR_string__Object__to_s]))(var9) /* to_s on */; +} +var_red = var13; +if (varonce14) { +var15 = varonce14; } else { -var38 = ""; -var39 = 0; -var40 = string__NativeString__to_s_with_length(var38, var39); -var37 = var40; -varonce36 = var37; -} -((void (*)(val*, val*))(var_35->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_35, var37) /* add on */; -var41 = BOX_kernel__Char(var_esc); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_35->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_35, var41) /* add on */; -if (varonce42) { -var43 = varonce42; -} else { -var44 = "[0;32m"; -var45 = 6; -var46 = string__NativeString__to_s_with_length(var44, var45); -var43 = var46; -varonce42 = var43; -} -((void (*)(val*, val*))(var_35->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_35, var43) /* add on */; -var47 = ((val* (*)(val*))(var_35->class->vft[COLOR_string__Object__to_s]))(var_35) /* to_s on */; -var_green = var47; -var48 = NEW_array__Array(&type_array__Arraykernel__Object); -var49 = 3; -((void (*)(val*, long))(var48->class->vft[COLOR_array__Array__with_capacity]))(var48, var49) /* with_capacity on */; -CHECK_NEW_array__Array(var48); -var_50 = var48; -if (varonce51) { -var52 = varonce51; +var16 = "[1;31m"; +var17 = 6; +var18 = string__NativeString__to_s_with_length(var16, var17); +var15 = var18; +varonce14 = var15; +} +var19 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var19 = array_instance Array[Object] */ +var20 = 2; +var21 = NEW_array__NativeArray(var20, &type_array__NativeArraykernel__Object); +var22 = BOX_kernel__Char(var_esc); /* autobox from Char to Object */ +((struct instance_array__NativeArray*)var21)->values[0] = (val*) var22; +((struct instance_array__NativeArray*)var21)->values[1] = (val*) var15; +{ +((void (*)(val*, val*, long))(var19->class->vft[COLOR_array__Array__with_native]))(var19, var21, var20) /* with_native on */; +} +} +{ +var23 = ((val* (*)(val*))(var19->class->vft[COLOR_string__Object__to_s]))(var19) /* to_s on */; +} +var_bred = var23; +if (varonce24) { +var25 = varonce24; } else { -var53 = ""; -var54 = 0; -var55 = string__NativeString__to_s_with_length(var53, var54); -var52 = var55; -varonce51 = var52; -} -((void (*)(val*, val*))(var_50->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_50, var52) /* add on */; -var56 = BOX_kernel__Char(var_esc); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_50->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_50, var56) /* add on */; -if (varonce57) { -var58 = varonce57; -} else { -var59 = "[0;33m"; -var60 = 6; -var61 = string__NativeString__to_s_with_length(var59, var60); -var58 = var61; -varonce57 = var58; -} -((void (*)(val*, val*))(var_50->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_50, var58) /* add on */; -var62 = ((val* (*)(val*))(var_50->class->vft[COLOR_string__Object__to_s]))(var_50) /* to_s on */; -var_yellow = var62; -var63 = NEW_array__Array(&type_array__Arraykernel__Object); -var64 = 3; -((void (*)(val*, long))(var63->class->vft[COLOR_array__Array__with_capacity]))(var63, var64) /* with_capacity on */; -CHECK_NEW_array__Array(var63); -var_65 = var63; -if (varonce66) { -var67 = varonce66; -} else { -var68 = ""; -var69 = 0; -var70 = string__NativeString__to_s_with_length(var68, var69); -var67 = var70; -varonce66 = var67; -} -((void (*)(val*, val*))(var_65->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_65, var67) /* add on */; -var71 = BOX_kernel__Char(var_esc); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_65->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_65, var71) /* add on */; -if (varonce72) { -var73 = varonce72; -} else { -var74 = "[0m"; -var75 = 3; -var76 = string__NativeString__to_s_with_length(var74, var75); -var73 = var76; -varonce72 = var73; -} -((void (*)(val*, val*))(var_65->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_65, var73) /* add on */; -var77 = ((val* (*)(val*))(var_65->class->vft[COLOR_string__Object__to_s]))(var_65) /* to_s on */; -var_def = var77; -var78 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__Message__location]))(self) /* location on */; -var_l = var78; -var79 = NULL; +var26 = "[0;32m"; +var27 = 6; +var28 = string__NativeString__to_s_with_length(var26, var27); +var25 = var28; +varonce24 = var25; +} +var29 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var29 = array_instance Array[Object] */ +var30 = 2; +var31 = NEW_array__NativeArray(var30, &type_array__NativeArraykernel__Object); +var32 = BOX_kernel__Char(var_esc); /* autobox from Char to Object */ +((struct instance_array__NativeArray*)var31)->values[0] = (val*) var32; +((struct instance_array__NativeArray*)var31)->values[1] = (val*) var25; +{ +((void (*)(val*, val*, long))(var29->class->vft[COLOR_array__Array__with_native]))(var29, var31, var30) /* with_native on */; +} +} +{ +var33 = ((val* (*)(val*))(var29->class->vft[COLOR_string__Object__to_s]))(var29) /* to_s on */; +} +var_green = var33; +if (varonce34) { +var35 = varonce34; +} else { +var36 = "[0;33m"; +var37 = 6; +var38 = string__NativeString__to_s_with_length(var36, var37); +var35 = var38; +varonce34 = var35; +} +var39 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var39 = array_instance Array[Object] */ +var40 = 2; +var41 = NEW_array__NativeArray(var40, &type_array__NativeArraykernel__Object); +var42 = BOX_kernel__Char(var_esc); /* autobox from Char to Object */ +((struct instance_array__NativeArray*)var41)->values[0] = (val*) var42; +((struct instance_array__NativeArray*)var41)->values[1] = (val*) var35; +{ +((void (*)(val*, val*, long))(var39->class->vft[COLOR_array__Array__with_native]))(var39, var41, var40) /* with_native on */; +} +} +{ +var43 = ((val* (*)(val*))(var39->class->vft[COLOR_string__Object__to_s]))(var39) /* to_s on */; +} +var_yellow = var43; +if (varonce44) { +var45 = varonce44; +} else { +var46 = "[0m"; +var47 = 3; +var48 = string__NativeString__to_s_with_length(var46, var47); +var45 = var48; +varonce44 = var45; +} +var49 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var49 = array_instance Array[Object] */ +var50 = 2; +var51 = NEW_array__NativeArray(var50, &type_array__NativeArraykernel__Object); +var52 = BOX_kernel__Char(var_esc); /* autobox from Char to Object */ +((struct instance_array__NativeArray*)var51)->values[0] = (val*) var52; +((struct instance_array__NativeArray*)var51)->values[1] = (val*) var45; +{ +((void (*)(val*, val*, long))(var49->class->vft[COLOR_array__Array__with_native]))(var49, var51, var50) /* with_native on */; +} +} +{ +var53 = ((val* (*)(val*))(var49->class->vft[COLOR_string__Object__to_s]))(var49) /* to_s on */; +} +var_def = var53; +{ +{ /* Inline toolcontext#Message#location (self) on */ +var56 = self->attrs[COLOR_toolcontext__Message___location].val; /* _location on */ +var54 = var56; +RET_LABEL55:(void)0; +} +} +var_l = var54; +var57 = NULL; if (var_l == NULL) { -var80 = 1; /* is null */ +var58 = 1; /* is null */ } else { -var80 = 0; /* arg is null but recv is not */ +var58 = 0; /* arg is null but recv is not */ +} +if (0) { +var59 = location__Location___61d_61d(var_l, var57); +var58 = var59; +} +if (var58){ +{ +{ /* Inline toolcontext#Message#text (self) on */ +var62 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ +if (unlikely(var62 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 33); +show_backtrace(1); +} +var60 = var62; +RET_LABEL61:(void)0; } -if (var80){ -var81 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__Message__text]))(self) /* text on */; -var = var81; +} +var = var60; goto RET_LABEL; } else { -var82 = ((val* (*)(val*))(var_l->class->vft[COLOR_location__Location__file]))(var_l) /* file on */; -var83 = NULL; -if (var82 == NULL) { -var84 = 1; /* is null */ +{ +{ /* Inline location#Location#file (var_l) on */ +var65 = var_l->attrs[COLOR_location__Location___file].val; /* _file on */ +var63 = var65; +RET_LABEL64:(void)0; +} +} +var66 = NULL; +if (var63 == NULL) { +var67 = 1; /* is null */ } else { -var84 = 0; /* arg is null but recv is not */ +var67 = 0; /* arg is null but recv is not */ } -if (var84){ -var85 = NEW_array__Array(&type_array__Arraykernel__Object); -var86 = 9; -((void (*)(val*, long))(var85->class->vft[COLOR_array__Array__with_capacity]))(var85, var86) /* with_capacity on */; -CHECK_NEW_array__Array(var85); -var_87 = var85; -if (varonce88) { -var89 = varonce88; +if (0) { +{ /* Inline kernel#Object#== (var63,var66) on */ +var_other = var66; +{ +{ /* Inline kernel#Object#is_same_instance (var63,var_other) on */ +var72 = var63 == var_other; +var70 = var72; +goto RET_LABEL71; +RET_LABEL71:(void)0; +} +} +var68 = var70; +goto RET_LABEL69; +RET_LABEL69:(void)0; +} +var67 = var68; +} +if (var67){ +if (varonce73) { +var74 = varonce73; } else { -var90 = ""; -var91 = 0; -var92 = string__NativeString__to_s_with_length(var90, var91); -var89 = var92; -varonce88 = var89; +var75 = ": "; +var76 = 2; +var77 = string__NativeString__to_s_with_length(var75, var76); +var74 = var77; +varonce73 = var74; +} +{ +{ /* Inline toolcontext#Message#text (self) on */ +var80 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ +if (unlikely(var80 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 33); +show_backtrace(1); +} +var78 = var80; +RET_LABEL79:(void)0; +} +} +var81 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var81 = array_instance Array[Object] */ +var82 = 5; +var83 = NEW_array__NativeArray(var82, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var83)->values[0] = (val*) var_yellow; +((struct instance_array__NativeArray*)var83)->values[1] = (val*) var_l; +((struct instance_array__NativeArray*)var83)->values[2] = (val*) var_def; +((struct instance_array__NativeArray*)var83)->values[3] = (val*) var74; +((struct instance_array__NativeArray*)var83)->values[4] = (val*) var78; +{ +((void (*)(val*, val*, long))(var81->class->vft[COLOR_array__Array__with_native]))(var81, var83, var82) /* with_native on */; +} +} +{ +var84 = ((val* (*)(val*))(var81->class->vft[COLOR_string__Object__to_s]))(var81) /* to_s on */; +} +var = var84; +goto RET_LABEL; +} else { +if (varonce85) { +var86 = varonce85; +} else { +var87 = ": "; +var88 = 2; +var89 = string__NativeString__to_s_with_length(var87, var88); +var86 = var89; +varonce85 = var86; +} +{ +{ /* Inline toolcontext#Message#text (self) on */ +var92 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ +if (unlikely(var92 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 33); +show_backtrace(1); +} +var90 = var92; +RET_LABEL91:(void)0; +} } -((void (*)(val*, val*))(var_87->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_87, var89) /* add on */; -((void (*)(val*, val*))(var_87->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_87, var_yellow) /* add on */; if (varonce93) { var94 = varonce93; } else { -var95 = ""; -var96 = 0; +var95 = "\n"; +var96 = 1; var97 = string__NativeString__to_s_with_length(var95, var96); var94 = var97; varonce93 = var94; } -((void (*)(val*, val*))(var_87->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_87, var94) /* add on */; -((void (*)(val*, val*))(var_87->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_87, var_l) /* add on */; if (varonce98) { var99 = varonce98; } else { -var100 = ""; -var101 = 0; +var100 = "1;31"; +var101 = 4; var102 = string__NativeString__to_s_with_length(var100, var101); var99 = var102; varonce98 = var99; } -((void (*)(val*, val*))(var_87->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_87, var99) /* add on */; -((void (*)(val*, val*))(var_87->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_87, var_def) /* add on */; -if (varonce103) { -var104 = varonce103; -} else { -var105 = ": "; -var106 = 2; -var107 = string__NativeString__to_s_with_length(var105, var106); -var104 = var107; -varonce103 = var104; +{ +var103 = location__Location__colored_line(var_l, var99); } -((void (*)(val*, val*))(var_87->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_87, var104) /* add on */; -var108 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__Message__text]))(self) /* text on */; -((void (*)(val*, val*))(var_87->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_87, var108) /* add on */; -if (varonce109) { -var110 = varonce109; -} else { -var111 = ""; -var112 = 0; -var113 = string__NativeString__to_s_with_length(var111, var112); -var110 = var113; -varonce109 = var110; +var104 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var104 = array_instance Array[Object] */ +var105 = 7; +var106 = NEW_array__NativeArray(var105, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var106)->values[0] = (val*) var_yellow; +((struct instance_array__NativeArray*)var106)->values[1] = (val*) var_l; +((struct instance_array__NativeArray*)var106)->values[2] = (val*) var_def; +((struct instance_array__NativeArray*)var106)->values[3] = (val*) var86; +((struct instance_array__NativeArray*)var106)->values[4] = (val*) var90; +((struct instance_array__NativeArray*)var106)->values[5] = (val*) var94; +((struct instance_array__NativeArray*)var106)->values[6] = (val*) var103; +{ +((void (*)(val*, val*, long))(var104->class->vft[COLOR_array__Array__with_native]))(var104, var106, var105) /* with_native on */; } -((void (*)(val*, val*))(var_87->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_87, var110) /* add on */; -var114 = ((val* (*)(val*))(var_87->class->vft[COLOR_string__Object__to_s]))(var_87) /* to_s on */; -var = var114; -goto RET_LABEL; -} else { -var115 = NEW_array__Array(&type_array__Arraykernel__Object); -var116 = 11; -((void (*)(val*, long))(var115->class->vft[COLOR_array__Array__with_capacity]))(var115, var116) /* with_capacity on */; -CHECK_NEW_array__Array(var115); -var_117 = var115; -if (varonce118) { -var119 = varonce118; -} else { -var120 = ""; -var121 = 0; -var122 = string__NativeString__to_s_with_length(var120, var121); -var119 = var122; -varonce118 = var119; } -((void (*)(val*, val*))(var_117->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_117, var119) /* add on */; -((void (*)(val*, val*))(var_117->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_117, var_yellow) /* add on */; -if (varonce123) { -var124 = varonce123; -} else { -var125 = ""; -var126 = 0; -var127 = string__NativeString__to_s_with_length(var125, var126); -var124 = var127; -varonce123 = var124; -} -((void (*)(val*, val*))(var_117->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_117, var124) /* add on */; -((void (*)(val*, val*))(var_117->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_117, var_l) /* add on */; -if (varonce128) { -var129 = varonce128; -} else { -var130 = ""; -var131 = 0; -var132 = string__NativeString__to_s_with_length(var130, var131); -var129 = var132; -varonce128 = var129; -} -((void (*)(val*, val*))(var_117->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_117, var129) /* add on */; -((void (*)(val*, val*))(var_117->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_117, var_def) /* add on */; -if (varonce133) { -var134 = varonce133; -} else { -var135 = ": "; -var136 = 2; -var137 = string__NativeString__to_s_with_length(var135, var136); -var134 = var137; -varonce133 = var134; -} -((void (*)(val*, val*))(var_117->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_117, var134) /* add on */; -var138 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__Message__text]))(self) /* text on */; -((void (*)(val*, val*))(var_117->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_117, var138) /* add on */; -if (varonce139) { -var140 = varonce139; -} else { -var141 = "\n"; -var142 = 1; -var143 = string__NativeString__to_s_with_length(var141, var142); -var140 = var143; -varonce139 = var140; -} -((void (*)(val*, val*))(var_117->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_117, var140) /* add on */; -if (varonce144) { -var145 = varonce144; -} else { -var146 = "1;31"; -var147 = 4; -var148 = string__NativeString__to_s_with_length(var146, var147); -var145 = var148; -varonce144 = var145; -} -var149 = ((val* (*)(val*, val*))(var_l->class->vft[COLOR_location__Location__colored_line]))(var_l, var145) /* colored_line on */; -((void (*)(val*, val*))(var_117->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_117, var149) /* add on */; -if (varonce150) { -var151 = varonce150; -} else { -var152 = ""; -var153 = 0; -var154 = string__NativeString__to_s_with_length(var152, var153); -var151 = var154; -varonce150 = var151; -} -((void (*)(val*, val*))(var_117->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_117, var151) /* add on */; -var155 = ((val* (*)(val*))(var_117->class->vft[COLOR_string__Object__to_s]))(var_117) /* to_s on */; -var = var155; +{ +var107 = ((val* (*)(val*))(var104->class->vft[COLOR_string__Object__to_s]))(var104) /* to_s on */; +} +var = var107; goto RET_LABEL; } } @@ -749,20 +715,24 @@ return var; } /* method toolcontext#Message#init for (self: Message, nullable Location, String) */ void toolcontext__Message__init(val* self, val* p0, val* p1) { -self->attrs[COLOR_toolcontext__Message___64dlocation].val = p0; /* @location on */ -self->attrs[COLOR_toolcontext__Message___64dtext].val = p1; /* @text on */ +self->attrs[COLOR_toolcontext__Message___location].val = p0; /* _location on */ +self->attrs[COLOR_toolcontext__Message___text].val = p1; /* _text on */ RET_LABEL:; } /* method toolcontext#Message#init for (self: Object, nullable Location, String) */ void VIRTUAL_toolcontext__Message__init(val* self, val* p0, val* p1) { -toolcontext__Message__init(self, p0, p1); +{ /* Inline toolcontext#Message#init (self,p0,p1) on */ +self->attrs[COLOR_toolcontext__Message___location].val = p0; /* _location on */ +self->attrs[COLOR_toolcontext__Message___text].val = p1; /* _text on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method toolcontext#ToolContext#error_count for (self: ToolContext): Int */ long toolcontext__ToolContext__error_count(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64derror_count].l; /* @error_count on */ +var1 = self->attrs[COLOR_toolcontext__ToolContext___error_count].l; /* _error_count on */ var = var1; RET_LABEL:; return var; @@ -771,26 +741,34 @@ return var; long VIRTUAL_toolcontext__ToolContext__error_count(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = toolcontext__ToolContext__error_count(self); +long var3 /* : Int */; +{ /* Inline toolcontext#ToolContext#error_count (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___error_count].l; /* _error_count on */ +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method toolcontext#ToolContext#error_count= for (self: ToolContext, Int) */ void toolcontext__ToolContext__error_count_61d(val* self, long p0) { -self->attrs[COLOR_toolcontext__ToolContext___64derror_count].l = p0; /* @error_count on */ +self->attrs[COLOR_toolcontext__ToolContext___error_count].l = p0; /* _error_count on */ RET_LABEL:; } /* method toolcontext#ToolContext#error_count= for (self: Object, Int) */ void VIRTUAL_toolcontext__ToolContext__error_count_61d(val* self, long p0) { -toolcontext__ToolContext__error_count_61d(self, p0); +{ /* Inline toolcontext#ToolContext#error_count= (self,p0) on */ +self->attrs[COLOR_toolcontext__ToolContext___error_count].l = p0; /* _error_count on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method toolcontext#ToolContext#warning_count for (self: ToolContext): Int */ long toolcontext__ToolContext__warning_count(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dwarning_count].l; /* @warning_count on */ +var1 = self->attrs[COLOR_toolcontext__ToolContext___warning_count].l; /* _warning_count on */ var = var1; RET_LABEL:; return var; @@ -799,30 +777,38 @@ return var; long VIRTUAL_toolcontext__ToolContext__warning_count(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = toolcontext__ToolContext__warning_count(self); +long var3 /* : Int */; +{ /* Inline toolcontext#ToolContext#warning_count (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___warning_count].l; /* _warning_count on */ +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method toolcontext#ToolContext#warning_count= for (self: ToolContext, Int) */ void toolcontext__ToolContext__warning_count_61d(val* self, long p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dwarning_count].l = p0; /* @warning_count on */ +self->attrs[COLOR_toolcontext__ToolContext___warning_count].l = p0; /* _warning_count on */ RET_LABEL:; } /* method toolcontext#ToolContext#warning_count= for (self: Object, Int) */ void VIRTUAL_toolcontext__ToolContext__warning_count_61d(val* self, long p0) { -toolcontext__ToolContext__warning_count_61d(self, p0); +{ /* Inline toolcontext#ToolContext#warning_count= (self,p0) on */ +self->attrs[COLOR_toolcontext__ToolContext___warning_count].l = p0; /* _warning_count on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method toolcontext#ToolContext#log_directory for (self: ToolContext): String */ val* toolcontext__ToolContext__log_directory(val* self) { val* var /* : String */; val* var1 /* : String */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dlog_directory].val; /* @log_directory on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @log_directory"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 78); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 81); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -832,30 +818,43 @@ return var; val* VIRTUAL_toolcontext__ToolContext__log_directory(val* self) { val* var /* : String */; val* var1 /* : String */; -var1 = toolcontext__ToolContext__log_directory(self); +val* var3 /* : String */; +{ /* Inline toolcontext#ToolContext#log_directory (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___log_directory].val; /* _log_directory on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _log_directory"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 81); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method toolcontext#ToolContext#log_directory= for (self: ToolContext, String) */ void toolcontext__ToolContext__log_directory_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dlog_directory].val = p0; /* @log_directory on */ +self->attrs[COLOR_toolcontext__ToolContext___log_directory].val = p0; /* _log_directory on */ RET_LABEL:; } /* method toolcontext#ToolContext#log_directory= for (self: Object, String) */ void VIRTUAL_toolcontext__ToolContext__log_directory_61d(val* self, val* p0) { -toolcontext__ToolContext__log_directory_61d(self, p0); +{ /* Inline toolcontext#ToolContext#log_directory= (self,p0) on */ +self->attrs[COLOR_toolcontext__ToolContext___log_directory].val = p0; /* _log_directory on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method toolcontext#ToolContext#messages for (self: ToolContext): Array[Message] */ val* toolcontext__ToolContext__messages(val* self) { val* var /* : Array[Message] */; val* var1 /* : Array[Message] */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dmessages].val; /* @messages on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @messages"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 81); -exit(1); +var1 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -865,30 +864,30 @@ return var; val* VIRTUAL_toolcontext__ToolContext__messages(val* self) { val* var /* : Array[Message] */; val* var1 /* : Array[Message] */; -var1 = toolcontext__ToolContext__messages(self); +val* var3 /* : Array[Message] */; +{ /* Inline toolcontext#ToolContext#messages (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#messages= for (self: ToolContext, Array[Message]) */ -void toolcontext__ToolContext__messages_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dmessages].val = p0; /* @messages on */ -RET_LABEL:; -} -/* method toolcontext#ToolContext#messages= for (self: Object, Array[Message]) */ -void VIRTUAL_toolcontext__ToolContext__messages_61d(val* self, val* p0) { -toolcontext__ToolContext__messages_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#ToolContext#message_sorter for (self: ToolContext): ComparableSorter[Message] */ val* toolcontext__ToolContext__message_sorter(val* self) { val* var /* : ComparableSorter[Message] */; val* var1 /* : ComparableSorter[Message] */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dmessage_sorter].val; /* @message_sorter on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @message_sorter"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 83); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 86); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -898,229 +897,461 @@ return var; val* VIRTUAL_toolcontext__ToolContext__message_sorter(val* self) { val* var /* : ComparableSorter[Message] */; val* var1 /* : ComparableSorter[Message] */; -var1 = toolcontext__ToolContext__message_sorter(self); +val* var3 /* : ComparableSorter[Message] */; +{ /* Inline toolcontext#ToolContext#message_sorter (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___message_sorter].val; /* _message_sorter on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message_sorter"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 86); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#message_sorter= for (self: ToolContext, ComparableSorter[Message]) */ -void toolcontext__ToolContext__message_sorter_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dmessage_sorter].val = p0; /* @message_sorter on */ -RET_LABEL:; -} -/* method toolcontext#ToolContext#message_sorter= for (self: Object, ComparableSorter[Message]) */ -void VIRTUAL_toolcontext__ToolContext__message_sorter_61d(val* self, val* p0) { -toolcontext__ToolContext__message_sorter_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#ToolContext#check_errors for (self: ToolContext) */ void toolcontext__ToolContext__check_errors(val* self) { val* var /* : Array[Message] */; -long var1 /* : Int */; -long var2 /* : Int */; -short int var3 /* : Bool */; +val* var2 /* : Array[Message] */; +long var3 /* : Int */; +long var4 /* : Int */; short int var5 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var6 /* : Bool */; -val* var7 /* : ComparableSorter[Message] */; -val* var8 /* : Array[Message] */; -val* var9 /* : Array[Message] */; -val* var10 /* : Iterator[nullable Object] */; -short int var11 /* : Bool */; -val* var12 /* : nullable Object */; +short int var8 /* : Bool */; +val* var9 /* : ComparableSorter[Message] */; +val* var11 /* : ComparableSorter[Message] */; +val* var12 /* : Array[Message] */; +val* var14 /* : Array[Message] */; +val* var15 /* : Array[Message] */; +val* var17 /* : Array[Message] */; +val* var18 /* : ArrayIterator[nullable Object] */; +short int var19 /* : Bool */; +val* var20 /* : nullable Object */; val* var_m /* var m: Message */; -val* var13 /* : OptionBool */; -val* var14 /* : nullable Object */; -short int var15 /* : Bool */; -val* var16 /* : OFStream */; +val* var21 /* : OptionBool */; +val* var23 /* : OptionBool */; +val* var24 /* : nullable Object */; +val* var26 /* : nullable Object */; +short int var27 /* : Bool */; +val* var28 /* : Sys */; +val* var30 /* : Sys */; +val* var31 /* : OStream */; +val* var33 /* : OStream */; static val* varonce; -val* var17 /* : String */; -char* var18 /* : NativeString */; -long var19 /* : Int */; -val* var20 /* : String */; -val* var21 /* : Array[Object] */; -long var22 /* : Int */; -val* var23 /* : NativeArray[Object] */; -val* var24 /* : String */; -val* var25 /* : OFStream */; -val* var26 /* : String */; -static val* varonce27; -val* var28 /* : String */; -char* var29 /* : NativeString */; -long var30 /* : Int */; -val* var31 /* : String */; -val* var32 /* : Array[Object] */; -long var33 /* : Int */; -val* var34 /* : NativeArray[Object] */; -val* var35 /* : String */; -val* var36 /* : Array[Message] */; -long var37 /* : Int */; -long var38 /* : Int */; -short int var39 /* : Bool */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -const char* var_class_name44; -short int var45 /* : Bool */; -long var46 /* : Int */; -var = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__messages]))(self) /* messages on */; -var1 = ((long (*)(val*))(var->class->vft[COLOR_abstract_collection__Collection__length]))(var) /* length on */; -var2 = 0; -{ /* Inline kernel#Int#> (var1,var2) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var5 = 1; /* easy isa OTHER*/ -if (!var5) { +val* var34 /* : String */; +char* var35 /* : NativeString */; +long var36 /* : Int */; +val* var37 /* : FlatString */; +val* var38 /* : Array[Object] */; +long var39 /* : Int */; +val* var40 /* : NativeArray[Object] */; +val* var41 /* : String */; +val* var42 /* : Sys */; +val* var44 /* : Sys */; +val* var45 /* : OStream */; +val* var47 /* : OStream */; +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] */; +val* var57 /* : String */; +val* var58 /* : Array[Message] */; +val* var60 /* : Array[Message] */; +long var61 /* : Int */; +long var63 /* : Int */; +long var64 /* : Int */; +short int var65 /* : Bool */; +short int var67 /* : Bool */; +int cltype68; +int idtype69; +const char* var_class_name70; +short int var71 /* : Bool */; +long var72 /* : Int */; +{ +{ /* Inline toolcontext#ToolContext#messages (self) on */ +var2 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +var3 = array__AbstractArrayRead__length(var); +} +var4 = 0; +{ +{ /* Inline kernel#Int#> (var3,var4) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var7 = 1; /* easy isa OTHER*/ +if (unlikely(!var7)) { var_class_name = type_kernel__Int.name; -fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); -exit(1); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327); +show_backtrace(1); } -var6 = var1 > var2; -var3 = var6; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var8 = var3 > var4; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -if (var3){ -var7 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__message_sorter]))(self) /* message_sorter on */; -var8 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__messages]))(self) /* messages on */; -((void (*)(val*, val*))(var7->class->vft[COLOR_sorter__AbstractSorter__sort]))(var7, var8) /* sort on */; -var9 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__messages]))(self) /* messages on */; -var10 = ((val* (*)(val*))(var9->class->vft[COLOR_abstract_collection__Collection__iterator]))(var9) /* iterator on */; -for(;;) { -var11 = ((short int (*)(val*))(var10->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var10) /* is_ok on */; -if(!var11) break; -var12 = ((val* (*)(val*))(var10->class->vft[COLOR_abstract_collection__Iterator__item]))(var10) /* item on */; -var_m = var12; -var13 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_no_color]))(self) /* opt_no_color on */; -var14 = ((val* (*)(val*))(var13->class->vft[COLOR_opts__Option__value]))(var13) /* value on */; -var15 = ((struct instance_kernel__Bool*)var14)->value; /* autounbox from nullable Object to Bool */; -if (var15){ -var16 = ((val* (*)(val*))(self->class->vft[COLOR_file__Object__stderr]))(self) /* stderr on */; -if (varonce) { -var17 = varonce; -} else { -var18 = "\n"; -var19 = 1; -var20 = string__NativeString__to_s_with_length(var18, var19); -var17 = var20; -varonce = var17; } -var21 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var21 = array_instance Array[Object] */ -var22 = 2; -var23 = NEW_array__NativeArray(var22, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var23)->values[0] = (val*) var_m; -((struct instance_array__NativeArray*)var23)->values[1] = (val*) var17; -((void (*)(val*, val*, long))(var21->class->vft[COLOR_array__Array__with_native]))(var21, var23, var22) /* with_native on */; -CHECK_NEW_array__Array(var21); +if (var5){ +{ +{ /* Inline toolcontext#ToolContext#message_sorter (self) on */ +var11 = self->attrs[COLOR_toolcontext__ToolContext___message_sorter].val; /* _message_sorter on */ +if (unlikely(var11 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message_sorter"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 86); +show_backtrace(1); } -var24 = ((val* (*)(val*))(var21->class->vft[COLOR_string__Object__to_s]))(var21) /* to_s on */; -((void (*)(val*, val*))(var16->class->vft[COLOR_stream__OStream__write]))(var16, var24) /* write on */; -} else { -var25 = ((val* (*)(val*))(self->class->vft[COLOR_file__Object__stderr]))(self) /* stderr on */; -var26 = ((val* (*)(val*))(var_m->class->vft[COLOR_toolcontext__Message__to_color_string]))(var_m) /* to_color_string on */; -if (varonce27) { -var28 = varonce27; -} else { -var29 = "\n"; -var30 = 1; -var31 = string__NativeString__to_s_with_length(var29, var30); -var28 = var31; -varonce27 = var28; +var9 = var11; +RET_LABEL10:(void)0; } -var32 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var32 = array_instance Array[Object] */ -var33 = 2; -var34 = NEW_array__NativeArray(var33, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var34)->values[0] = (val*) var26; -((struct instance_array__NativeArray*)var34)->values[1] = (val*) var28; -((void (*)(val*, val*, long))(var32->class->vft[COLOR_array__Array__with_native]))(var32, var34, var33) /* with_native on */; -CHECK_NEW_array__Array(var32); } -var35 = ((val* (*)(val*))(var32->class->vft[COLOR_string__Object__to_s]))(var32) /* to_s on */; -((void (*)(val*, val*))(var25->class->vft[COLOR_stream__OStream__write]))(var25, var35) /* write on */; +{ +{ /* Inline toolcontext#ToolContext#messages (self) on */ +var14 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +show_backtrace(1); } -CONTINUE_label: (void)0; -((void (*)(val*))(var10->class->vft[COLOR_abstract_collection__Iterator__next]))(var10) /* next on */; +var12 = var14; +RET_LABEL13:(void)0; } -BREAK_label: (void)0; -var36 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__messages]))(self) /* messages on */; -((void (*)(val*))(var36->class->vft[COLOR_abstract_collection__RemovableCollection__clear]))(var36) /* clear on */; -} else { } -var37 = ((long (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__error_count]))(self) /* error_count on */; -var38 = 0; -{ /* Inline kernel#Int#> (var37,var38) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var41 = 1; /* easy isa OTHER*/ -if (!var41) { -var_class_name44 = type_kernel__Int.name; -fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); -exit(1); +{ +sorter__Comparator__sort(var9, var12); /* Direct call sorter#Comparator#sort on */ } -var45 = var37 > var38; -var39 = var45; -goto RET_LABEL40; -RET_LABEL40:(void)0; +{ +{ /* Inline toolcontext#ToolContext#messages (self) on */ +var17 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +show_backtrace(1); } -if (var39){ -var46 = 1; -((void (*)(val*, long))(self->class->vft[COLOR_kernel__Object__exit]))(self, var46) /* exit on */; -} else { +var15 = var17; +RET_LABEL16:(void)0; } -RET_LABEL:; } -/* method toolcontext#ToolContext#check_errors for (self: Object) */ -void VIRTUAL_toolcontext__ToolContext__check_errors(val* self) { -toolcontext__ToolContext__check_errors(self); -RET_LABEL:; +{ +var18 = array__AbstractArrayRead__iterator(var15); } -/* method toolcontext#ToolContext#error for (self: ToolContext, nullable Location, String) */ -void toolcontext__ToolContext__error(val* self, val* p0, val* p1) { +for(;;) { +{ +var19 = array__ArrayIterator__is_ok(var18); +} +if(!var19) break; +{ +var20 = array__ArrayIterator__item(var18); +} +var_m = var20; +{ +{ /* Inline toolcontext#ToolContext#opt_no_color (self) on */ +var23 = self->attrs[COLOR_toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ +if (unlikely(var23 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 196); +show_backtrace(1); +} +var21 = var23; +RET_LABEL22:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var21) on */ +var26 = var21->attrs[COLOR_opts__Option___value].val; /* _value on */ +var24 = var26; +RET_LABEL25:(void)0; +} +} +var27 = ((struct instance_kernel__Bool*)var24)->value; /* autounbox from nullable Object to Bool */; +if (var27){ +{ +{ /* Inline kernel#Object#sys (self) on */ +var30 = glob_sys; +var28 = var30; +goto RET_LABEL29; +RET_LABEL29:(void)0; +} +} +{ +{ /* Inline file#Sys#stderr (var28) on */ +var33 = var28->attrs[COLOR_file__Sys___stderr].val; /* _stderr on */ +if (unlikely(var33 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr"); +PRINT_ERROR(" (%s:%d)\n", "lib/standard/file.nit", 533); +show_backtrace(1); +} +var31 = var33; +RET_LABEL32:(void)0; +} +} +if (varonce) { +var34 = varonce; +} else { +var35 = "\n"; +var36 = 1; +var37 = string__NativeString__to_s_with_length(var35, var36); +var34 = var37; +varonce = var34; +} +var38 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var38 = array_instance Array[Object] */ +var39 = 2; +var40 = NEW_array__NativeArray(var39, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var40)->values[0] = (val*) var_m; +((struct instance_array__NativeArray*)var40)->values[1] = (val*) var34; +{ +((void (*)(val*, val*, long))(var38->class->vft[COLOR_array__Array__with_native]))(var38, var40, var39) /* with_native on */; +} +} +{ +var41 = ((val* (*)(val*))(var38->class->vft[COLOR_string__Object__to_s]))(var38) /* to_s on */; +} +{ +file__OFStream__write(var31, var41); /* Direct call file#OFStream#write on */ +} +} else { +{ +{ /* Inline kernel#Object#sys (self) on */ +var44 = glob_sys; +var42 = var44; +goto RET_LABEL43; +RET_LABEL43:(void)0; +} +} +{ +{ /* Inline file#Sys#stderr (var42) on */ +var47 = var42->attrs[COLOR_file__Sys___stderr].val; /* _stderr on */ +if (unlikely(var47 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr"); +PRINT_ERROR(" (%s:%d)\n", "lib/standard/file.nit", 533); +show_backtrace(1); +} +var45 = var47; +RET_LABEL46:(void)0; +} +} +{ +var48 = toolcontext__Message__to_color_string(var_m); +} +if (varonce49) { +var50 = varonce49; +} else { +var51 = "\n"; +var52 = 1; +var53 = string__NativeString__to_s_with_length(var51, var52); +var50 = var53; +varonce49 = var50; +} +var54 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var54 = array_instance Array[Object] */ +var55 = 2; +var56 = NEW_array__NativeArray(var55, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var56)->values[0] = (val*) var48; +((struct instance_array__NativeArray*)var56)->values[1] = (val*) var50; +{ +((void (*)(val*, val*, long))(var54->class->vft[COLOR_array__Array__with_native]))(var54, var56, var55) /* with_native on */; +} +} +{ +var57 = ((val* (*)(val*))(var54->class->vft[COLOR_string__Object__to_s]))(var54) /* to_s on */; +} +{ +file__OFStream__write(var45, var57); /* Direct call file#OFStream#write on */ +} +} +CONTINUE_label: (void)0; +{ +array__ArrayIterator__next(var18); /* Direct call array#ArrayIterator#next on */ +} +} +BREAK_label: (void)0; +{ +{ /* Inline toolcontext#ToolContext#messages (self) on */ +var60 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var60 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +show_backtrace(1); +} +var58 = var60; +RET_LABEL59:(void)0; +} +} +{ +array__AbstractArray__clear(var58); /* Direct call array#AbstractArray#clear on */ +} +} else { +} +{ +{ /* Inline toolcontext#ToolContext#error_count (self) on */ +var63 = self->attrs[COLOR_toolcontext__ToolContext___error_count].l; /* _error_count on */ +var61 = var63; +RET_LABEL62:(void)0; +} +} +var64 = 0; +{ +{ /* Inline kernel#Int#> (var61,var64) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var67 = 1; /* easy isa OTHER*/ +if (unlikely(!var67)) { +var_class_name70 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70); +PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327); +show_backtrace(1); +} +var71 = var61 > var64; +var65 = var71; +goto RET_LABEL66; +RET_LABEL66:(void)0; +} +} +if (var65){ +var72 = 1; +{ +{ /* Inline kernel#Object#exit (self,var72) on */ +exit(var72); +RET_LABEL73:(void)0; +} +} +} else { +} +RET_LABEL:; +} +/* method toolcontext#ToolContext#check_errors for (self: Object) */ +void VIRTUAL_toolcontext__ToolContext__check_errors(val* self) { +toolcontext__ToolContext__check_errors(self); /* Direct call toolcontext#ToolContext#check_errors on */ +RET_LABEL:; +} +/* method toolcontext#ToolContext#error for (self: ToolContext, nullable Location, String) */ +void toolcontext__ToolContext__error(val* self, val* p0, val* p1) { val* var_l /* var l: nullable Location */; val* var_s /* var s: String */; val* var /* : Array[Message] */; -val* var1 /* : Message */; -long var2 /* : Int */; -long var3 /* : Int */; -long var4 /* : Int */; -long var6 /* : Int */; -val* var7 /* : OptionBool */; -val* var8 /* : nullable Object */; -short int var9 /* : Bool */; +val* var2 /* : Array[Message] */; +val* var3 /* : Message */; +long var5 /* : Int */; +long var7 /* : Int */; +long var8 /* : Int */; +long var9 /* : Int */; +short int var11 /* : 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 */; var_l = p0; var_s = p1; -var = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__messages]))(self) /* messages on */; -var1 = NEW_toolcontext__Message(&type_toolcontext__Message); -((void (*)(val*, val*, val*))(var1->class->vft[COLOR_toolcontext__Message__init]))(var1, var_l, var_s) /* init on */; -CHECK_NEW_toolcontext__Message(var1); -((void (*)(val*, val*))(var->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var, var1) /* add on */; -var2 = ((long (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__error_count]))(self) /* error_count on */; -var3 = 1; -{ /* Inline kernel#Int#+ (var2,var3) */ -var6 = var2 + var3; -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; +{ +{ /* Inline toolcontext#ToolContext#messages (self) on */ +var2 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +var3 = NEW_toolcontext__Message(&type_toolcontext__Message); +{ +{ /* Inline toolcontext#Message#init (var3,var_l,var_s) on */ +var3->attrs[COLOR_toolcontext__Message___location].val = var_l; /* _location on */ +var3->attrs[COLOR_toolcontext__Message___text].val = var_s; /* _text on */ +RET_LABEL4:(void)0; +} +} +{ +array__Array__add(var, var3); /* Direct call array#Array#add on */ +} +{ +{ /* Inline toolcontext#ToolContext#error_count (self) on */ +var7 = self->attrs[COLOR_toolcontext__ToolContext___error_count].l; /* _error_count on */ +var5 = var7; +RET_LABEL6:(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)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +show_backtrace(1); +} +var12 = var5 + var8; +var9 = var12; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#error_count= (self,var9) on */ +self->attrs[COLOR_toolcontext__ToolContext___error_count].l = var9; /* _error_count on */ +RET_LABEL13:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on */ +var16 = self->attrs[COLOR_toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 193); +show_backtrace(1); +} +var14 = var16; +RET_LABEL15:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var14) on */ +var19 = var14->attrs[COLOR_opts__Option___value].val; /* _value on */ +var17 = var19; +RET_LABEL18:(void)0; +} +} +var20 = ((struct instance_kernel__Bool*)var17)->value; /* autounbox from nullable Object to Bool */; +if (var20){ +{ +toolcontext__ToolContext__check_errors(self); /* Direct call toolcontext#ToolContext#check_errors on */ } -((void (*)(val*, long))(self->class->vft[COLOR_toolcontext__ToolContext__error_count_61d]))(self, var4) /* error_count= on */; -var7 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_stop_on_first_error]))(self) /* opt_stop_on_first_error on */; -var8 = ((val* (*)(val*))(var7->class->vft[COLOR_opts__Option__value]))(var7) /* value on */; -var9 = ((struct instance_kernel__Bool*)var8)->value; /* autounbox from nullable Object to Bool */; -if (var9){ -((void (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__check_errors]))(self) /* check_errors on */; } else { } RET_LABEL:; } /* method toolcontext#ToolContext#error for (self: Object, nullable Location, String) */ void VIRTUAL_toolcontext__ToolContext__error(val* self, val* p0, val* p1) { -toolcontext__ToolContext__error(self, p0, p1); +toolcontext__ToolContext__error(self, p0, p1); /* Direct call toolcontext#ToolContext#error on */ RET_LABEL:; } /* method toolcontext#ToolContext#fatal_error for (self: ToolContext, nullable Location, String) */ @@ -1129,13 +1360,17 @@ val* var_l /* var l: nullable Location */; val* var_s /* var s: String */; var_l = p0; var_s = p1; -((void (*)(val*, val*, val*))(self->class->vft[COLOR_toolcontext__ToolContext__error]))(self, var_l, var_s) /* error on */; -((void (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__check_errors]))(self) /* check_errors on */; +{ +toolcontext__ToolContext__error(self, var_l, var_s); /* Direct call toolcontext#ToolContext#error on */ +} +{ +toolcontext__ToolContext__check_errors(self); /* Direct call toolcontext#ToolContext#check_errors on */ +} RET_LABEL:; } /* method toolcontext#ToolContext#fatal_error for (self: Object, nullable Location, String) */ void VIRTUAL_toolcontext__ToolContext__fatal_error(val* self, val* p0, val* p1) { -toolcontext__ToolContext__fatal_error(self, p0, p1); +toolcontext__ToolContext__fatal_error(self, p0, p1); /* Direct call toolcontext#ToolContext#fatal_error on */ RET_LABEL:; } /* method toolcontext#ToolContext#warning for (self: ToolContext, nullable Location, String) */ @@ -1143,65 +1378,155 @@ void toolcontext__ToolContext__warning(val* self, val* p0, val* p1) { val* var_l /* var l: nullable Location */; val* var_s /* var s: String */; val* var /* : OptionCount */; -val* var1 /* : nullable Object */; -long var2 /* : Int */; -short int var3 /* : Bool */; -short int var5 /* : Bool */; +val* var2 /* : OptionCount */; +val* var3 /* : nullable Object */; +val* var5 /* : nullable Object */; long var6 /* : Int */; -val* var7 /* : Array[Message] */; -val* var8 /* : Message */; -long var9 /* : Int */; -long var10 /* : Int */; +short int var7 /* : Bool */; +short int var8 /* : Bool */; +short int var10 /* : Bool */; long var11 /* : Int */; -long var13 /* : Int */; -val* var14 /* : OptionBool */; -val* var15 /* : nullable Object */; -short int var16 /* : Bool */; +val* var12 /* : Array[Message] */; +val* var14 /* : Array[Message] */; +val* var15 /* : Message */; +long var17 /* : Int */; +long var19 /* : Int */; +long var20 /* : Int */; +long var21 /* : Int */; +short int var23 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var24 /* : Int */; +val* var26 /* : OptionBool */; +val* var28 /* : OptionBool */; +val* var29 /* : nullable Object */; +val* var31 /* : nullable Object */; +short int var32 /* : Bool */; var_l = p0; var_s = p1; -var = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_warn]))(self) /* opt_warn on */; -var1 = ((val* (*)(val*))(var->class->vft[COLOR_opts__Option__value]))(var) /* value on */; -var2 = 0; -{ /* Inline kernel#Int#== (var1,var2) */ -var5 = (var1 != NULL) && (var1->class == &class_kernel__Int); -if (var5) { -var6 = ((struct instance_kernel__Int*)var1)->value; /* autounbox from nullable Object to Int */; -var5 = (var6 == var2); +{ +{ /* Inline toolcontext#ToolContext#opt_warn (self) on */ +var2 = self->attrs[COLOR_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", "src/toolcontext.nit", 169); +show_backtrace(1); } +var = var2; +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var) on */ +var5 = var->attrs[COLOR_opts__Option___value].val; /* _value on */ var3 = var5; -goto RET_LABEL4; RET_LABEL4:(void)0; } -if (var3){ +} +var6 = 0; +{ +{ /* Inline kernel#Int#== (var3,var6) on */ +var10 = (var3 != NULL) && (var3->class == &class_kernel__Int); +if (var10) { +var11 = ((struct instance_kernel__Int*)var3)->value; /* autounbox from nullable Object to Int */; +var10 = (var11 == var6); +} +var8 = var10; +goto RET_LABEL9; +RET_LABEL9:(void)0; +} +var7 = var8; +} +if (var7){ goto RET_LABEL; } else { } -var7 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__messages]))(self) /* messages on */; -var8 = NEW_toolcontext__Message(&type_toolcontext__Message); -((void (*)(val*, val*, val*))(var8->class->vft[COLOR_toolcontext__Message__init]))(var8, var_l, var_s) /* init on */; -CHECK_NEW_toolcontext__Message(var8); -((void (*)(val*, val*))(var7->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var7, var8) /* add on */; -var9 = ((long (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__warning_count]))(self) /* warning_count on */; -var10 = 1; -{ /* Inline kernel#Int#+ (var9,var10) */ -var13 = var9 + var10; -var11 = var13; -goto RET_LABEL12; -RET_LABEL12:(void)0; -} -((void (*)(val*, long))(self->class->vft[COLOR_toolcontext__ToolContext__warning_count_61d]))(self, var11) /* warning_count= on */; -var14 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_stop_on_first_error]))(self) /* opt_stop_on_first_error on */; -var15 = ((val* (*)(val*))(var14->class->vft[COLOR_opts__Option__value]))(var14) /* value on */; -var16 = ((struct instance_kernel__Bool*)var15)->value; /* autounbox from nullable Object to Bool */; -if (var16){ -((void (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__check_errors]))(self) /* check_errors on */; +{ +{ /* Inline toolcontext#ToolContext#messages (self) on */ +var14 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +show_backtrace(1); +} +var12 = var14; +RET_LABEL13:(void)0; +} +} +var15 = NEW_toolcontext__Message(&type_toolcontext__Message); +{ +{ /* Inline toolcontext#Message#init (var15,var_l,var_s) on */ +var15->attrs[COLOR_toolcontext__Message___location].val = var_l; /* _location on */ +var15->attrs[COLOR_toolcontext__Message___text].val = var_s; /* _text on */ +RET_LABEL16:(void)0; +} +} +{ +array__Array__add(var12, var15); /* Direct call array#Array#add on */ +} +{ +{ /* Inline toolcontext#ToolContext#warning_count (self) on */ +var19 = self->attrs[COLOR_toolcontext__ToolContext___warning_count].l; /* _warning_count on */ +var17 = var19; +RET_LABEL18:(void)0; +} +} +var20 = 1; +{ +{ /* Inline kernel#Int#+ (var17,var20) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var23 = 1; /* easy isa OTHER*/ +if (unlikely(!var23)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); +show_backtrace(1); +} +var24 = var17 + var20; +var21 = var24; +goto RET_LABEL22; +RET_LABEL22:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#warning_count= (self,var21) on */ +self->attrs[COLOR_toolcontext__ToolContext___warning_count].l = var21; /* _warning_count on */ +RET_LABEL25:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on */ +var28 = self->attrs[COLOR_toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ +if (unlikely(var28 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 193); +show_backtrace(1); +} +var26 = var28; +RET_LABEL27:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var26) on */ +var31 = var26->attrs[COLOR_opts__Option___value].val; /* _value on */ +var29 = var31; +RET_LABEL30:(void)0; +} +} +var32 = ((struct instance_kernel__Bool*)var29)->value; /* autounbox from nullable Object to Bool */; +if (var32){ +{ +toolcontext__ToolContext__check_errors(self); /* Direct call toolcontext#ToolContext#check_errors on */ +} } else { } RET_LABEL:; } /* method toolcontext#ToolContext#warning for (self: Object, nullable Location, String) */ void VIRTUAL_toolcontext__ToolContext__warning(val* self, val* p0, val* p1) { -toolcontext__ToolContext__warning(self, p0, p1); +toolcontext__ToolContext__warning(self, p0, p1); /* Direct call toolcontext#ToolContext#warning on */ RET_LABEL:; } /* method toolcontext#ToolContext#info for (self: ToolContext, String, Int) */ @@ -1209,63 +1534,77 @@ void toolcontext__ToolContext__info(val* self, val* p0, long p1) { val* var_s /* var s: String */; long var_level /* var level: Int */; long var /* : Int */; -short int var1 /* : Bool */; +long var2 /* : Int */; short int var3 /* : Bool */; +short int var5 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var4 /* : Bool */; -val* var5 /* : Array[Object] */; -long var6 /* : Int */; -val* var7 /* : NativeArray[Object] */; -val* var8 /* : String */; +short int var6 /* : Bool */; +val* var7 /* : Array[Object] */; +long var8 /* : Int */; +val* var9 /* : NativeArray[Object] */; +val* var10 /* : String */; var_s = p0; var_level = p1; -var = ((long (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__verbose_level]))(self) /* verbose_level on */; -{ /* Inline kernel#Int#<= (var_level,var) */ +{ +{ /* Inline toolcontext#ToolContext#verbose_level (self) on */ +var2 = self->attrs[COLOR_toolcontext__ToolContext___verbose_level].l; /* _verbose_level on */ +var = var2; +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline kernel#Int#<= (var_level,var) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var3 = 1; /* easy isa OTHER*/ -if (!var3) { +var5 = 1; /* easy isa OTHER*/ +if (unlikely(!var5)) { var_class_name = type_kernel__Int.name; -fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 260); -exit(1); +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324); +show_backtrace(1); } -var4 = var_level <= var; -var1 = var4; -goto RET_LABEL2; -RET_LABEL2:(void)0; +var6 = var_level <= var; +var3 = var6; +goto RET_LABEL4; +RET_LABEL4:(void)0; +} +} +if (var3){ +var7 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var7 = array_instance Array[Object] */ +var8 = 1; +var9 = NEW_array__NativeArray(var8, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var9)->values[0] = (val*) var_s; +{ +((void (*)(val*, val*, long))(var7->class->vft[COLOR_array__Array__with_native]))(var7, var9, var8) /* with_native on */; +} +} +{ +var10 = ((val* (*)(val*))(var7->class->vft[COLOR_string__Object__to_s]))(var7) /* to_s on */; } -if (var1){ -var5 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var5 = array_instance Array[Object] */ -var6 = 1; -var7 = NEW_array__NativeArray(var6, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var7)->values[0] = (val*) var_s; -((void (*)(val*, val*, long))(var5->class->vft[COLOR_array__Array__with_native]))(var5, var7, var6) /* with_native on */; -CHECK_NEW_array__Array(var5); +{ +file__Object__print(self, var10); /* Direct call file#Object#print on */ } -var8 = ((val* (*)(val*))(var5->class->vft[COLOR_string__Object__to_s]))(var5) /* to_s on */; -((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__print]))(self, var8) /* print on */; } else { } RET_LABEL:; } /* method toolcontext#ToolContext#info for (self: Object, String, Int) */ void VIRTUAL_toolcontext__ToolContext__info(val* self, val* p0, long p1) { -toolcontext__ToolContext__info(self, p0, p1); +toolcontext__ToolContext__info(self, p0, p1); /* Direct call toolcontext#ToolContext#info on */ RET_LABEL:; } /* method toolcontext#ToolContext#option_context for (self: ToolContext): OptionContext */ val* toolcontext__ToolContext__option_context(val* self) { val* var /* : OptionContext */; val* var1 /* : OptionContext */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64doption_context].val; /* @option_context on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @option_context"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 136); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 166); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1275,30 +1614,30 @@ return var; val* VIRTUAL_toolcontext__ToolContext__option_context(val* self) { val* var /* : OptionContext */; val* var1 /* : OptionContext */; -var1 = toolcontext__ToolContext__option_context(self); +val* var3 /* : OptionContext */; +{ /* Inline toolcontext#ToolContext#option_context (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 166); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#option_context= for (self: ToolContext, OptionContext) */ -void toolcontext__ToolContext__option_context_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64doption_context].val = p0; /* @option_context on */ -RET_LABEL:; -} -/* method toolcontext#ToolContext#option_context= for (self: Object, OptionContext) */ -void VIRTUAL_toolcontext__ToolContext__option_context_61d(val* self, val* p0) { -toolcontext__ToolContext__option_context_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#ToolContext#opt_warn for (self: ToolContext): OptionCount */ val* toolcontext__ToolContext__opt_warn(val* self) { val* var /* : OptionCount */; val* var1 /* : OptionCount */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dopt_warn].val; /* @opt_warn on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @opt_warn"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 139); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 169); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1308,30 +1647,30 @@ return var; val* VIRTUAL_toolcontext__ToolContext__opt_warn(val* self) { val* var /* : OptionCount */; val* var1 /* : OptionCount */; -var1 = toolcontext__ToolContext__opt_warn(self); +val* var3 /* : OptionCount */; +{ /* Inline toolcontext#ToolContext#opt_warn (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 169); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#opt_warn= for (self: ToolContext, OptionCount) */ -void toolcontext__ToolContext__opt_warn_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dopt_warn].val = p0; /* @opt_warn on */ -RET_LABEL:; -} -/* method toolcontext#ToolContext#opt_warn= for (self: Object, OptionCount) */ -void VIRTUAL_toolcontext__ToolContext__opt_warn_61d(val* self, val* p0) { -toolcontext__ToolContext__opt_warn_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#ToolContext#opt_quiet for (self: ToolContext): OptionBool */ val* toolcontext__ToolContext__opt_quiet(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dopt_quiet].val; /* @opt_quiet on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @opt_quiet"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 142); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 172); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1341,30 +1680,30 @@ return var; val* VIRTUAL_toolcontext__ToolContext__opt_quiet(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = toolcontext__ToolContext__opt_quiet(self); +val* var3 /* : OptionBool */; +{ /* Inline toolcontext#ToolContext#opt_quiet (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 172); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#opt_quiet= for (self: ToolContext, OptionBool) */ -void toolcontext__ToolContext__opt_quiet_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dopt_quiet].val = p0; /* @opt_quiet on */ -RET_LABEL:; -} -/* method toolcontext#ToolContext#opt_quiet= for (self: Object, OptionBool) */ -void VIRTUAL_toolcontext__ToolContext__opt_quiet_61d(val* self, val* p0) { -toolcontext__ToolContext__opt_quiet_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#ToolContext#opt_log for (self: ToolContext): OptionBool */ val* toolcontext__ToolContext__opt_log(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dopt_log].val; /* @opt_log on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @opt_log"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 145); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 175); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1374,30 +1713,30 @@ return var; val* VIRTUAL_toolcontext__ToolContext__opt_log(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = toolcontext__ToolContext__opt_log(self); +val* var3 /* : OptionBool */; +{ /* Inline toolcontext#ToolContext#opt_log (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_log].val; /* _opt_log on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 175); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#opt_log= for (self: ToolContext, OptionBool) */ -void toolcontext__ToolContext__opt_log_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dopt_log].val = p0; /* @opt_log on */ -RET_LABEL:; -} -/* method toolcontext#ToolContext#opt_log= for (self: Object, OptionBool) */ -void VIRTUAL_toolcontext__ToolContext__opt_log_61d(val* self, val* p0) { -toolcontext__ToolContext__opt_log_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#ToolContext#opt_log_dir for (self: ToolContext): OptionString */ val* toolcontext__ToolContext__opt_log_dir(val* self) { val* var /* : OptionString */; val* var1 /* : OptionString */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dopt_log_dir].val; /* @opt_log_dir on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @opt_log_dir"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 148); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 178); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1407,30 +1746,30 @@ return var; val* VIRTUAL_toolcontext__ToolContext__opt_log_dir(val* self) { val* var /* : OptionString */; val* var1 /* : OptionString */; -var1 = toolcontext__ToolContext__opt_log_dir(self); +val* var3 /* : OptionString */; +{ /* Inline toolcontext#ToolContext#opt_log_dir (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 178); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#opt_log_dir= for (self: ToolContext, OptionString) */ -void toolcontext__ToolContext__opt_log_dir_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dopt_log_dir].val = p0; /* @opt_log_dir on */ -RET_LABEL:; -} -/* method toolcontext#ToolContext#opt_log_dir= for (self: Object, OptionString) */ -void VIRTUAL_toolcontext__ToolContext__opt_log_dir_61d(val* self, val* p0) { -toolcontext__ToolContext__opt_log_dir_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#ToolContext#opt_help for (self: ToolContext): OptionBool */ val* toolcontext__ToolContext__opt_help(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dopt_help].val; /* @opt_help on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @opt_help"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 151); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 181); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1440,30 +1779,30 @@ return var; val* VIRTUAL_toolcontext__ToolContext__opt_help(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = toolcontext__ToolContext__opt_help(self); +val* var3 /* : OptionBool */; +{ /* Inline toolcontext#ToolContext#opt_help (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_help].val; /* _opt_help on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 181); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#opt_help= for (self: ToolContext, OptionBool) */ -void toolcontext__ToolContext__opt_help_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dopt_help].val = p0; /* @opt_help on */ -RET_LABEL:; -} -/* method toolcontext#ToolContext#opt_help= for (self: Object, OptionBool) */ -void VIRTUAL_toolcontext__ToolContext__opt_help_61d(val* self, val* p0) { -toolcontext__ToolContext__opt_help_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#ToolContext#opt_version for (self: ToolContext): OptionBool */ val* toolcontext__ToolContext__opt_version(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dopt_version].val; /* @opt_version on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @opt_version"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 154); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 184); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1473,30 +1812,63 @@ return var; val* VIRTUAL_toolcontext__ToolContext__opt_version(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = toolcontext__ToolContext__opt_version(self); +val* var3 /* : OptionBool */; +{ /* Inline toolcontext#ToolContext#opt_version (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_version].val; /* _opt_version on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 184); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#opt_version= for (self: ToolContext, OptionBool) */ -void toolcontext__ToolContext__opt_version_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dopt_version].val = p0; /* @opt_version on */ +/* method toolcontext#ToolContext#opt_set_dummy_tool for (self: ToolContext): OptionBool */ +val* toolcontext__ToolContext__opt_set_dummy_tool(val* self) { +val* var /* : OptionBool */; +val* var1 /* : OptionBool */; +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 187); +show_backtrace(1); +} +var = var1; RET_LABEL:; +return var; } -/* method toolcontext#ToolContext#opt_version= for (self: Object, OptionBool) */ -void VIRTUAL_toolcontext__ToolContext__opt_version_61d(val* self, val* p0) { -toolcontext__ToolContext__opt_version_61d(self, p0); +/* method toolcontext#ToolContext#opt_set_dummy_tool for (self: Object): OptionBool */ +val* VIRTUAL_toolcontext__ToolContext__opt_set_dummy_tool(val* self) { +val* var /* : OptionBool */; +val* var1 /* : OptionBool */; +val* var3 /* : OptionBool */; +{ /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on */ +var3 = self->attrs[COLOR_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", "src/toolcontext.nit", 187); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +var = var1; RET_LABEL:; +return var; } /* method toolcontext#ToolContext#opt_verbose for (self: ToolContext): OptionCount */ val* toolcontext__ToolContext__opt_verbose(val* self) { val* var /* : OptionCount */; val* var1 /* : OptionCount */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dopt_verbose].val; /* @opt_verbose on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @opt_verbose"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 157); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 190); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1506,30 +1878,30 @@ return var; val* VIRTUAL_toolcontext__ToolContext__opt_verbose(val* self) { val* var /* : OptionCount */; val* var1 /* : OptionCount */; -var1 = toolcontext__ToolContext__opt_verbose(self); +val* var3 /* : OptionCount */; +{ /* Inline toolcontext#ToolContext#opt_verbose (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 190); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#opt_verbose= for (self: ToolContext, OptionCount) */ -void toolcontext__ToolContext__opt_verbose_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dopt_verbose].val = p0; /* @opt_verbose on */ -RET_LABEL:; -} -/* method toolcontext#ToolContext#opt_verbose= for (self: Object, OptionCount) */ -void VIRTUAL_toolcontext__ToolContext__opt_verbose_61d(val* self, val* p0) { -toolcontext__ToolContext__opt_verbose_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#ToolContext#opt_stop_on_first_error for (self: ToolContext): OptionBool */ val* toolcontext__ToolContext__opt_stop_on_first_error(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dopt_stop_on_first_error].val; /* @opt_stop_on_first_error on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @opt_stop_on_first_error"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 160); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 193); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1539,30 +1911,30 @@ return var; val* VIRTUAL_toolcontext__ToolContext__opt_stop_on_first_error(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = toolcontext__ToolContext__opt_stop_on_first_error(self); +val* var3 /* : OptionBool */; +{ /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 193); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#opt_stop_on_first_error= for (self: ToolContext, OptionBool) */ -void toolcontext__ToolContext__opt_stop_on_first_error_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dopt_stop_on_first_error].val = p0; /* @opt_stop_on_first_error on */ -RET_LABEL:; -} -/* method toolcontext#ToolContext#opt_stop_on_first_error= for (self: Object, OptionBool) */ -void VIRTUAL_toolcontext__ToolContext__opt_stop_on_first_error_61d(val* self, val* p0) { -toolcontext__ToolContext__opt_stop_on_first_error_61d(self, p0); -RET_LABEL:; -} /* method toolcontext#ToolContext#opt_no_color for (self: ToolContext): OptionBool */ val* toolcontext__ToolContext__opt_no_color(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dopt_no_color].val; /* @opt_no_color on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @opt_no_color"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 163); -exit(1); +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 196); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1572,26 +1944,59 @@ return var; val* VIRTUAL_toolcontext__ToolContext__opt_no_color(val* self) { val* var /* : OptionBool */; val* var1 /* : OptionBool */; -var1 = toolcontext__ToolContext__opt_no_color(self); +val* var3 /* : OptionBool */; +{ /* Inline toolcontext#ToolContext#opt_no_color (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 196); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#opt_no_color= for (self: ToolContext, OptionBool) */ -void toolcontext__ToolContext__opt_no_color_61d(val* self, val* p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dopt_no_color].val = p0; /* @opt_no_color on */ +/* method toolcontext#ToolContext#opt_bash_completion for (self: ToolContext): OptionBool */ +val* toolcontext__ToolContext__opt_bash_completion(val* self) { +val* var /* : OptionBool */; +val* var1 /* : OptionBool */; +var1 = self->attrs[COLOR_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", "src/toolcontext.nit", 199); +show_backtrace(1); +} +var = var1; RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#opt_bash_completion for (self: Object): OptionBool */ +val* VIRTUAL_toolcontext__ToolContext__opt_bash_completion(val* self) { +val* var /* : OptionBool */; +val* var1 /* : OptionBool */; +val* var3 /* : OptionBool */; +{ /* Inline toolcontext#ToolContext#opt_bash_completion (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 199); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; } -/* method toolcontext#ToolContext#opt_no_color= for (self: Object, OptionBool) */ -void VIRTUAL_toolcontext__ToolContext__opt_no_color_61d(val* self, val* p0) { -toolcontext__ToolContext__opt_no_color_61d(self, p0); +var = var1; RET_LABEL:; +return var; } /* method toolcontext#ToolContext#verbose_level for (self: ToolContext): Int */ long toolcontext__ToolContext__verbose_level(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = self->attrs[COLOR_toolcontext__ToolContext___64dverbose_level].l; /* @verbose_level on */ +var1 = self->attrs[COLOR_toolcontext__ToolContext___verbose_level].l; /* _verbose_level on */ var = var1; RET_LABEL:; return var; @@ -1600,148 +2005,2174 @@ return var; long VIRTUAL_toolcontext__ToolContext__verbose_level(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = toolcontext__ToolContext__verbose_level(self); +long var3 /* : Int */; +{ /* Inline toolcontext#ToolContext#verbose_level (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___verbose_level].l; /* _verbose_level on */ +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method toolcontext#ToolContext#verbose_level= for (self: ToolContext, Int) */ void toolcontext__ToolContext__verbose_level_61d(val* self, long p0) { -self->attrs[COLOR_toolcontext__ToolContext___64dverbose_level].l = p0; /* @verbose_level on */ +self->attrs[COLOR_toolcontext__ToolContext___verbose_level].l = p0; /* _verbose_level on */ RET_LABEL:; } /* method toolcontext#ToolContext#verbose_level= for (self: Object, Int) */ void VIRTUAL_toolcontext__ToolContext__verbose_level_61d(val* self, long p0) { -toolcontext__ToolContext__verbose_level_61d(self, p0); +{ /* Inline toolcontext#ToolContext#verbose_level= (self,p0) on */ +self->attrs[COLOR_toolcontext__ToolContext___verbose_level].l = p0; /* _verbose_level on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method toolcontext#ToolContext#init for (self: ToolContext) */ void toolcontext__ToolContext__init(val* self) { val* var /* : OptionContext */; -val* var1 /* : OptionCount */; -val* var2 /* : OptionBool */; -val* var3 /* : OptionBool */; -val* var4 /* : OptionBool */; -val* var5 /* : OptionBool */; -val* var6 /* : OptionString */; -val* var7 /* : OptionBool */; +val* var2 /* : OptionContext */; +val* var3 /* : OptionCount */; +val* var5 /* : OptionCount */; +val* var6 /* : OptionBool */; val* var8 /* : OptionBool */; -val* var9 /* : OptionCount */; -val* var10 /* : Array[Option] */; -long var11 /* : Int */; -val* var12 /* : NativeArray[Option] */; -var = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__option_context]))(self) /* option_context on */; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_warn]))(self) /* opt_warn on */; -var2 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_quiet]))(self) /* opt_quiet on */; -var3 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_stop_on_first_error]))(self) /* opt_stop_on_first_error on */; -var4 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_no_color]))(self) /* opt_no_color on */; -var5 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_log]))(self) /* opt_log on */; -var6 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_log_dir]))(self) /* opt_log_dir on */; -var7 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_help]))(self) /* opt_help on */; -var8 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_version]))(self) /* opt_version on */; -var9 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_verbose]))(self) /* opt_verbose on */; -var10 = NEW_array__Array(&type_array__Arrayopts__Option); -{ /* var10 = array_instance Array[Option] */ -var11 = 9; -var12 = NEW_array__NativeArray(var11, &type_array__NativeArrayopts__Option); -((struct instance_array__NativeArray*)var12)->values[0] = (val*) var1; -((struct instance_array__NativeArray*)var12)->values[1] = (val*) var2; -((struct instance_array__NativeArray*)var12)->values[2] = (val*) var3; -((struct instance_array__NativeArray*)var12)->values[3] = (val*) var4; -((struct instance_array__NativeArray*)var12)->values[4] = (val*) var5; -((struct instance_array__NativeArray*)var12)->values[5] = (val*) var6; -((struct instance_array__NativeArray*)var12)->values[6] = (val*) var7; -((struct instance_array__NativeArray*)var12)->values[7] = (val*) var8; -((struct instance_array__NativeArray*)var12)->values[8] = (val*) var9; -((void (*)(val*, val*, long))(var10->class->vft[COLOR_array__Array__with_native]))(var10, var12, var11) /* with_native on */; -CHECK_NEW_array__Array(var10); -} -((void (*)(val*, val*))(var->class->vft[COLOR_opts__OptionContext__add_option]))(var, var10) /* add_option on */; -RET_LABEL:; +val* var9 /* : OptionBool */; +val* var11 /* : OptionBool */; +val* var12 /* : OptionBool */; +val* var14 /* : OptionBool */; +val* var15 /* : OptionBool */; +val* var17 /* : OptionBool */; +val* var18 /* : OptionString */; +val* var20 /* : OptionString */; +val* var21 /* : OptionBool */; +val* var23 /* : OptionBool */; +val* var24 /* : OptionBool */; +val* var26 /* : OptionBool */; +val* var27 /* : OptionBool */; +val* var29 /* : OptionBool */; +val* var30 /* : OptionCount */; +val* var32 /* : OptionCount */; +val* var33 /* : OptionBool */; +val* var35 /* : OptionBool */; +val* var36 /* : Array[Option] */; +long var37 /* : Int */; +val* var38 /* : NativeArray[Option] */; +{ +{ /* Inline toolcontext#ToolContext#option_context (self) on */ +var2 = self->attrs[COLOR_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", "src/toolcontext.nit", 166); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_warn (self) on */ +var5 = self->attrs[COLOR_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", "src/toolcontext.nit", 169); +show_backtrace(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_quiet (self) on */ +var8 = self->attrs[COLOR_toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 172); +show_backtrace(1); +} +var6 = var8; +RET_LABEL7:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on */ +var11 = self->attrs[COLOR_toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ +if (unlikely(var11 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 193); +show_backtrace(1); +} +var9 = var11; +RET_LABEL10:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_no_color (self) on */ +var14 = self->attrs[COLOR_toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 196); +show_backtrace(1); +} +var12 = var14; +RET_LABEL13:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_log (self) on */ +var17 = self->attrs[COLOR_toolcontext__ToolContext___opt_log].val; /* _opt_log on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 175); +show_backtrace(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_log_dir (self) on */ +var20 = self->attrs[COLOR_toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ +if (unlikely(var20 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 178); +show_backtrace(1); +} +var18 = var20; +RET_LABEL19:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_help (self) on */ +var23 = self->attrs[COLOR_toolcontext__ToolContext___opt_help].val; /* _opt_help on */ +if (unlikely(var23 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 181); +show_backtrace(1); +} +var21 = var23; +RET_LABEL22:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_version (self) on */ +var26 = self->attrs[COLOR_toolcontext__ToolContext___opt_version].val; /* _opt_version on */ +if (unlikely(var26 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 184); +show_backtrace(1); +} +var24 = var26; +RET_LABEL25:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on */ +var29 = self->attrs[COLOR_toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on */ +if (unlikely(var29 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 187); +show_backtrace(1); +} +var27 = var29; +RET_LABEL28:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_verbose (self) on */ +var32 = self->attrs[COLOR_toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on */ +if (unlikely(var32 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 190); +show_backtrace(1); +} +var30 = var32; +RET_LABEL31:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_bash_completion (self) on */ +var35 = self->attrs[COLOR_toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on */ +if (unlikely(var35 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 199); +show_backtrace(1); +} +var33 = var35; +RET_LABEL34:(void)0; +} +} +var36 = NEW_array__Array(&type_array__Arrayopts__Option); +{ /* var36 = array_instance Array[Option] */ +var37 = 11; +var38 = NEW_array__NativeArray(var37, &type_array__NativeArrayopts__Option); +((struct instance_array__NativeArray*)var38)->values[0] = (val*) var3; +((struct instance_array__NativeArray*)var38)->values[1] = (val*) var6; +((struct instance_array__NativeArray*)var38)->values[2] = (val*) var9; +((struct instance_array__NativeArray*)var38)->values[3] = (val*) var12; +((struct instance_array__NativeArray*)var38)->values[4] = (val*) var15; +((struct instance_array__NativeArray*)var38)->values[5] = (val*) var18; +((struct instance_array__NativeArray*)var38)->values[6] = (val*) var21; +((struct instance_array__NativeArray*)var38)->values[7] = (val*) var24; +((struct instance_array__NativeArray*)var38)->values[8] = (val*) var27; +((struct instance_array__NativeArray*)var38)->values[9] = (val*) var30; +((struct instance_array__NativeArray*)var38)->values[10] = (val*) var33; +{ +((void (*)(val*, val*, long))(var36->class->vft[COLOR_array__Array__with_native]))(var36, var38, var37) /* with_native on */; +} +} +{ +opts__OptionContext__add_option(var, var36); /* Direct call opts#OptionContext#add_option on */ +} +RET_LABEL:; } /* method toolcontext#ToolContext#init for (self: Object) */ void VIRTUAL_toolcontext__ToolContext__init(val* self) { -toolcontext__ToolContext__init(self); +toolcontext__ToolContext__init(self); /* Direct call toolcontext#ToolContext#init on */ RET_LABEL:; } -/* method toolcontext#ToolContext#process_options for (self: ToolContext) */ -void toolcontext__ToolContext__process_options(val* self) { -val* var /* : OptionCount */; -long var1 /* : Int */; -val* var2 /* : nullable Object */; +/* method toolcontext#ToolContext#tooldescription for (self: ToolContext): String */ +val* toolcontext__ToolContext__tooldescription(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 210); +show_backtrace(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#tooldescription for (self: Object): String */ +val* VIRTUAL_toolcontext__ToolContext__tooldescription(val* self) { +val* var /* : String */; +val* var1 /* : String */; +val* var3 /* : String */; +{ /* Inline toolcontext#ToolContext#tooldescription (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 210); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#tooldescription= for (self: ToolContext, String) */ +void toolcontext__ToolContext__tooldescription_61d(val* self, val* p0) { +self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val = p0; /* _tooldescription on */ +RET_LABEL:; +} +/* method toolcontext#ToolContext#tooldescription= for (self: Object, String) */ +void VIRTUAL_toolcontext__ToolContext__tooldescription_61d(val* self, val* p0) { +{ /* Inline toolcontext#ToolContext#tooldescription= (self,p0) on */ +self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val = p0; /* _tooldescription on */ +RET_LABEL1:(void)0; +} +RET_LABEL:; +} +/* method toolcontext#ToolContext#accept_no_arguments for (self: ToolContext): Bool */ +short int toolcontext__ToolContext__accept_no_arguments(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_toolcontext__ToolContext___accept_no_arguments].s; /* _accept_no_arguments on */ +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#accept_no_arguments for (self: Object): Bool */ +short int VIRTUAL_toolcontext__ToolContext__accept_no_arguments(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; +{ /* Inline toolcontext#ToolContext#accept_no_arguments (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___accept_no_arguments].s; /* _accept_no_arguments on */ +var1 = var3; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#usage for (self: ToolContext) */ +void toolcontext__ToolContext__usage(val* self) { +val* var /* : String */; +val* var2 /* : String */; val* var3 /* : OptionContext */; -val* var4 /* : Sequence[String] */; -val* var5 /* : OptionCount */; +val* var5 /* : OptionContext */; +{ +{ /* Inline toolcontext#ToolContext#tooldescription (self) on */ +var2 = self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 210); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +file__Object__print(self, var); /* Direct call file#Object#print on */ +} +{ +{ /* Inline toolcontext#ToolContext#option_context (self) on */ +var5 = self->attrs[COLOR_toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 166); +show_backtrace(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +{ +opts__OptionContext__usage(var3); /* Direct call opts#OptionContext#usage on */ +} +RET_LABEL:; +} +/* method toolcontext#ToolContext#usage for (self: Object) */ +void VIRTUAL_toolcontext__ToolContext__usage(val* self) { +toolcontext__ToolContext__usage(self); /* Direct call toolcontext#ToolContext#usage on */ +RET_LABEL:; +} +/* method toolcontext#ToolContext#process_options for (self: ToolContext, Sequence[String]) */ +void toolcontext__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 */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; val* var6 /* : nullable Object */; -long var7 /* : Int */; -val* var8 /* : OptionBool */; -val* var9 /* : nullable Object */; -short int var10 /* : Bool */; -val* var11 /* : OptionCount */; -long var12 /* : Int */; +val* var7 /* : OptionContext */; +val* var9 /* : OptionContext */; +val* var10 /* : OptionBool */; +val* var12 /* : OptionBool */; val* var13 /* : nullable Object */; -val* var14 /* : OptionString */; val* var15 /* : nullable Object */; -val* var16 /* : null */; -short int var17 /* : Bool */; -val* var18 /* : OptionString */; -val* var19 /* : nullable Object */; -val* var20 /* : OptionBool */; -val* var21 /* : nullable Object */; -short int var22 /* : Bool */; -val* var23 /* : String */; -var = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_warn]))(self) /* opt_warn on */; -var1 = 1; -var2 = BOX_kernel__Int(var1); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var->class->vft[COLOR_opts__Option__value_61d]))(var, var2) /* value= on */; -var3 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__option_context]))(self) /* option_context on */; -var4 = ((val* (*)(val*))(self->class->vft[COLOR_string__Object__args]))(self) /* args on */; -((void (*)(val*, val*))(var3->class->vft[COLOR_opts__OptionContext__parse]))(var3, var4) /* parse on */; -var5 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_verbose]))(self) /* opt_verbose on */; -var6 = ((val* (*)(val*))(var5->class->vft[COLOR_opts__Option__value]))(var5) /* value on */; -var7 = ((struct instance_kernel__Int*)var6)->value; /* autounbox from nullable Object to Int */; -((void (*)(val*, long))(self->class->vft[COLOR_toolcontext__ToolContext__verbose_level_61d]))(self, var7) /* verbose_level= on */; -var8 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_quiet]))(self) /* opt_quiet on */; -var9 = ((val* (*)(val*))(var8->class->vft[COLOR_opts__Option__value]))(var8) /* value on */; -var10 = ((struct instance_kernel__Bool*)var9)->value; /* autounbox from nullable Object to Bool */; -if (var10){ -var11 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_warn]))(self) /* opt_warn on */; -var12 = 0; -var13 = BOX_kernel__Int(var12); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var11->class->vft[COLOR_opts__Option__value_61d]))(var11, var13) /* value= on */; -} else { -} -var14 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_log_dir]))(self) /* opt_log_dir on */; -var15 = ((val* (*)(val*))(var14->class->vft[COLOR_opts__Option__value]))(var14) /* value on */; -var16 = NULL; -if (var15 == NULL) { -var17 = 0; /* is null */ -} else { -var17 = 1; /* arg is null and recv is not */ -} -if (var17){ -var18 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_log_dir]))(self) /* opt_log_dir on */; -var19 = ((val* (*)(val*))(var18->class->vft[COLOR_opts__Option__value]))(var18) /* value on */; -if (var19 == NULL) { -fprintf(stderr, "Runtime error: %s", "Cast failed"); -fprintf(stderr, " (%s:%d)\n", "src/toolcontext.nit", 187); -exit(1); -} -((void (*)(val*, val*))(self->class->vft[COLOR_toolcontext__ToolContext__log_directory_61d]))(self, var19) /* log_directory= on */; -} else { -} -var20 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__opt_log]))(self) /* opt_log on */; -var21 = ((val* (*)(val*))(var20->class->vft[COLOR_opts__Option__value]))(var20) /* value on */; -var22 = ((struct instance_kernel__Bool*)var21)->value; /* autounbox from nullable Object to Bool */; -if (var22){ -var23 = ((val* (*)(val*))(self->class->vft[COLOR_toolcontext__ToolContext__log_directory]))(self) /* log_directory on */; -((void (*)(val*))(var23->class->vft[COLOR_file__String__mkdir]))(var23) /* mkdir on */; +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* var26 /* : String */; +long var27 /* : Int */; +val* var29 /* : OptionBool */; +val* var31 /* : OptionBool */; +val* var32 /* : nullable Object */; +val* var34 /* : nullable Object */; +short int var35 /* : Bool */; +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* var45 /* : OptionContext */; +val* var47 /* : OptionContext */; +val* var48 /* : Array[String] */; +val* var_errors /* var errors: Array[String] */; +short int var49 /* : Bool */; +short int var50 /* : Bool */; +val* var51 /* : ArrayIterator[nullable Object] */; +short int var52 /* : Bool */; +val* var53 /* : nullable Object */; +val* var_e /* var e: String */; +static val* varonce; +val* var54 /* : String */; +char* var55 /* : NativeString */; +long var56 /* : Int */; +val* var57 /* : FlatString */; +val* var58 /* : Array[Object] */; +long var59 /* : Int */; +val* var60 /* : NativeArray[Object] */; +val* var61 /* : String */; +val* var62 /* : String */; +val* var64 /* : String */; +static val* varonce65; +val* var66 /* : String */; +char* var67 /* : NativeString */; +long var68 /* : Int */; +val* var69 /* : FlatString */; +long var70 /* : Int */; +short int var72 /* : Bool */; +val* var73 /* : OptionContext */; +val* var75 /* : OptionContext */; +val* var76 /* : Array[String] */; +val* var78 /* : Array[String] */; +short int var79 /* : Bool */; +short int var_ /* var : Bool */; +short int var80 /* : Bool */; +short int var82 /* : Bool */; +short int var83 /* : Bool */; +val* var84 /* : String */; +val* var86 /* : String */; +static val* varonce87; +val* var88 /* : String */; +char* var89 /* : NativeString */; +long var90 /* : Int */; +val* var91 /* : FlatString */; +long var92 /* : Int */; +val* var94 /* : OptionCount */; +val* var96 /* : OptionCount */; +val* var97 /* : nullable Object */; +val* var99 /* : nullable Object */; +long var101 /* : Int */; +val* var102 /* : OptionBool */; +val* var104 /* : OptionBool */; +val* var105 /* : nullable Object */; +val* var107 /* : nullable Object */; +short int var108 /* : Bool */; +val* var109 /* : OptionCount */; +val* var111 /* : OptionCount */; +long var112 /* : Int */; +short int var114 /* : Bool */; +int cltype115; +int idtype116; +const struct type* type_struct117; +const char* var_class_name118; +val* var119 /* : nullable Object */; +val* var120 /* : OptionString */; +val* var122 /* : OptionString */; +val* var123 /* : nullable Object */; +val* var125 /* : nullable Object */; +val* var126 /* : null */; +short int var127 /* : Bool */; +short int var128 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var130 /* : Bool */; +short int var131 /* : Bool */; +short int var132 /* : Bool */; +val* var133 /* : OptionString */; +val* var135 /* : OptionString */; +val* var136 /* : nullable Object */; +val* var138 /* : nullable Object */; +val* var140 /* : OptionBool */; +val* var142 /* : OptionBool */; +val* var143 /* : nullable Object */; +val* var145 /* : nullable Object */; +short int var146 /* : Bool */; +val* var147 /* : String */; +val* var149 /* : String */; +val* var150 /* : nullable String */; +var_args = p0; +{ +{ /* Inline toolcontext#ToolContext#opt_warn (self) on */ +var2 = self->attrs[COLOR_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", "src/toolcontext.nit", 169); +show_backtrace(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 */ +type_struct = var->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= (&type_kernel__Int)->table_size) { +var5 = 0; +} else { +var5 = (&type_kernel__Int)->type_table[cltype] == idtype; +} +if (unlikely(!var5)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40); +show_backtrace(1); +} +var6 = BOX_kernel__Int(var3); /* autobox from Int to nullable Object */ +var->attrs[COLOR_opts__Option___value].val = var6; /* _value on */ +RET_LABEL4:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#option_context (self) on */ +var9 = self->attrs[COLOR_toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 166); +show_backtrace(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +opts__OptionContext__parse(var7, var_args); /* Direct call opts#OptionContext#parse on */ +} +{ +{ /* Inline toolcontext#ToolContext#opt_help (self) on */ +var12 = self->attrs[COLOR_toolcontext__ToolContext___opt_help].val; /* _opt_help on */ +if (unlikely(var12 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 181); +show_backtrace(1); +} +var10 = var12; +RET_LABEL11:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var10) on */ +var15 = var10->attrs[COLOR_opts__Option___value].val; /* _value on */ +var13 = var15; +RET_LABEL14:(void)0; +} +} +var16 = ((struct instance_kernel__Bool*)var13)->value; /* autounbox from nullable Object to Bool */; +if (var16){ +{ +toolcontext__ToolContext__usage(self); /* Direct call toolcontext#ToolContext#usage on */ +} +var17 = 0; +{ +{ /* Inline kernel#Object#exit (self,var17) on */ +exit(var17); +RET_LABEL18:(void)0; +} +} +} else { +} +{ +{ /* Inline toolcontext#ToolContext#opt_version (self) on */ +var21 = self->attrs[COLOR_toolcontext__ToolContext___opt_version].val; /* _opt_version on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 184); +show_backtrace(1); +} +var19 = var21; +RET_LABEL20:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var19) on */ +var24 = var19->attrs[COLOR_opts__Option___value].val; /* _value on */ +var22 = var24; +RET_LABEL23:(void)0; +} +} +var25 = ((struct instance_kernel__Bool*)var22)->value; /* autounbox from nullable Object to Bool */; +if (var25){ +{ +var26 = toolcontext__ToolContext__version(self); +} +{ +file__Object__print(self, var26); /* Direct call file#Object#print on */ +} +var27 = 0; +{ +{ /* Inline kernel#Object#exit (self,var27) on */ +exit(var27); +RET_LABEL28:(void)0; +} +} +} else { +} +{ +{ /* Inline toolcontext#ToolContext#opt_bash_completion (self) on */ +var31 = self->attrs[COLOR_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", "src/toolcontext.nit", 199); +show_backtrace(1); +} +var29 = var31; +RET_LABEL30:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var29) on */ +var34 = var29->attrs[COLOR_opts__Option___value].val; /* _value on */ +var32 = var34; +RET_LABEL33:(void)0; +} +} +var35 = ((struct instance_kernel__Bool*)var32)->value; /* autounbox from nullable Object to Bool */; +if (var35){ +var36 = NEW_toolcontext__BashCompletion(&type_toolcontext__BashCompletion); +{ +toolcontext__BashCompletion__init(var36, self); /* Direct call toolcontext#BashCompletion#init on */ +} +var_bash_completion = var36; +{ +{ /* Inline kernel#Object#sys (self) on */ +var39 = glob_sys; +var37 = var39; +goto RET_LABEL38; +RET_LABEL38:(void)0; +} +} +{ +{ /* Inline file#Sys#stdout (var37) on */ +var42 = var37->attrs[COLOR_file__Sys___stdout].val; /* _stdout on */ +if (unlikely(var42 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stdout"); +PRINT_ERROR(" (%s:%d)\n", "lib/standard/file.nit", 530); +show_backtrace(1); +} +var40 = var42; +RET_LABEL41:(void)0; +} +} +{ +template__Template__write_to(var_bash_completion, var40); /* Direct call template#Template#write_to on */ +} +var43 = 0; +{ +{ /* Inline kernel#Object#exit (self,var43) on */ +exit(var43); +RET_LABEL44:(void)0; +} +} +} else { +} +{ +{ /* Inline toolcontext#ToolContext#option_context (self) on */ +var47 = self->attrs[COLOR_toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var47 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 166); +show_backtrace(1); +} +var45 = var47; +RET_LABEL46:(void)0; +} +} +{ +var48 = opts__OptionContext__get_errors(var45); +} +var_errors = var48; +{ +var49 = array__AbstractArrayRead__is_empty(var_errors); +} +var50 = !var49; +if (var50){ +{ +var51 = array__AbstractArrayRead__iterator(var_errors); +} +for(;;) { +{ +var52 = array__ArrayIterator__is_ok(var51); +} +if(!var52) break; +{ +var53 = array__ArrayIterator__item(var51); +} +var_e = var53; +if (varonce) { +var54 = varonce; +} else { +var55 = "Error: "; +var56 = 7; +var57 = string__NativeString__to_s_with_length(var55, var56); +var54 = var57; +varonce = var54; +} +var58 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var58 = array_instance Array[Object] */ +var59 = 2; +var60 = NEW_array__NativeArray(var59, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var60)->values[0] = (val*) var54; +((struct instance_array__NativeArray*)var60)->values[1] = (val*) var_e; +{ +((void (*)(val*, val*, long))(var58->class->vft[COLOR_array__Array__with_native]))(var58, var60, var59) /* with_native on */; +} +} +{ +var61 = ((val* (*)(val*))(var58->class->vft[COLOR_string__Object__to_s]))(var58) /* to_s on */; +} +{ +file__Object__print(self, var61); /* Direct call file#Object#print on */ +} +CONTINUE_label: (void)0; +{ +array__ArrayIterator__next(var51); /* Direct call array#ArrayIterator#next on */ +} +} +BREAK_label: (void)0; +{ +{ /* Inline toolcontext#ToolContext#tooldescription (self) on */ +var64 = self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var64 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 210); +show_backtrace(1); +} +var62 = var64; +RET_LABEL63:(void)0; +} +} +{ +file__Object__print(self, var62); /* Direct call file#Object#print on */ +} +if (varonce65) { +var66 = varonce65; +} else { +var67 = "Use --help for help"; +var68 = 19; +var69 = string__NativeString__to_s_with_length(var67, var68); +var66 = var69; +varonce65 = var66; +} +{ +file__Object__print(self, var66); /* Direct call file#Object#print on */ +} +var70 = 1; +{ +{ /* Inline kernel#Object#exit (self,var70) on */ +exit(var70); +RET_LABEL71:(void)0; +} +} +} else { +} +{ +{ /* Inline toolcontext#ToolContext#option_context (self) on */ +var75 = self->attrs[COLOR_toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var75 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 166); +show_backtrace(1); +} +var73 = var75; +RET_LABEL74:(void)0; +} +} +{ +{ /* Inline opts#OptionContext#rest (var73) on */ +var78 = var73->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on */ +if (unlikely(var78 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest"); +PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 250); +show_backtrace(1); +} +var76 = var78; +RET_LABEL77:(void)0; +} +} +{ +var79 = array__AbstractArrayRead__is_empty(var76); +} +var_ = var79; +if (var79){ +{ +{ /* Inline toolcontext#ToolContext#accept_no_arguments (self) on */ +var82 = self->attrs[COLOR_toolcontext__ToolContext___accept_no_arguments].s; /* _accept_no_arguments on */ +var80 = var82; +RET_LABEL81:(void)0; +} +} +var83 = !var80; +var72 = var83; +} else { +var72 = var_; +} +if (var72){ +{ +{ /* Inline toolcontext#ToolContext#tooldescription (self) on */ +var86 = self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var86 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 210); +show_backtrace(1); +} +var84 = var86; +RET_LABEL85:(void)0; +} +} +{ +file__Object__print(self, var84); /* Direct call file#Object#print on */ +} +if (varonce87) { +var88 = varonce87; +} else { +var89 = "Use --help for help"; +var90 = 19; +var91 = string__NativeString__to_s_with_length(var89, var90); +var88 = var91; +varonce87 = var88; +} +{ +file__Object__print(self, var88); /* Direct call file#Object#print on */ +} +var92 = 1; +{ +{ /* Inline kernel#Object#exit (self,var92) on */ +exit(var92); +RET_LABEL93:(void)0; +} +} +} else { +} +{ +{ /* Inline toolcontext#ToolContext#opt_verbose (self) on */ +var96 = self->attrs[COLOR_toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on */ +if (unlikely(var96 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 190); +show_backtrace(1); +} +var94 = var96; +RET_LABEL95:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var94) on */ +var99 = var94->attrs[COLOR_opts__Option___value].val; /* _value on */ +var97 = var99; +RET_LABEL98:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#verbose_level= (self,var97) on */ +var101 = ((struct instance_kernel__Int*)var97)->value; /* autounbox from nullable Object to Int */; +self->attrs[COLOR_toolcontext__ToolContext___verbose_level].l = var101; /* _verbose_level on */ +RET_LABEL100:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_quiet (self) on */ +var104 = self->attrs[COLOR_toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on */ +if (unlikely(var104 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 172); +show_backtrace(1); +} +var102 = var104; +RET_LABEL103:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var102) on */ +var107 = var102->attrs[COLOR_opts__Option___value].val; /* _value on */ +var105 = var107; +RET_LABEL106:(void)0; +} +} +var108 = ((struct instance_kernel__Bool*)var105)->value; /* autounbox from nullable Object to Bool */; +if (var108){ +{ +{ /* Inline toolcontext#ToolContext#opt_warn (self) on */ +var111 = self->attrs[COLOR_toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ +if (unlikely(var111 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 169); +show_backtrace(1); +} +var109 = var111; +RET_LABEL110:(void)0; +} +} +var112 = 0; +{ +{ /* Inline opts#Option#value= (var109,var112) on */ +/* Covariant cast for argument 0 (value) isa VALUE */ +/* isa VALUE */ +type_struct117 = var109->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +cltype115 = type_struct117->color; +idtype116 = type_struct117->id; +if(cltype115 >= (&type_kernel__Int)->table_size) { +var114 = 0; +} else { +var114 = (&type_kernel__Int)->type_table[cltype115] == idtype116; +} +if (unlikely(!var114)) { +var_class_name118 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name118); +PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40); +show_backtrace(1); +} +var119 = BOX_kernel__Int(var112); /* autobox from Int to nullable Object */ +var109->attrs[COLOR_opts__Option___value].val = var119; /* _value on */ +RET_LABEL113:(void)0; +} +} +} else { +} +{ +{ /* Inline toolcontext#ToolContext#opt_log_dir (self) on */ +var122 = self->attrs[COLOR_toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ +if (unlikely(var122 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 178); +show_backtrace(1); +} +var120 = var122; +RET_LABEL121:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var120) on */ +var125 = var120->attrs[COLOR_opts__Option___value].val; /* _value on */ +var123 = var125; +RET_LABEL124:(void)0; +} +} +var126 = NULL; +if (var123 == NULL) { +var127 = 0; /* is null */ +} else { +var127 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var123,var126) on */ +var_other = var126; +{ +var131 = ((short int (*)(val*, val*))(var123->class->vft[COLOR_kernel__Object___61d_61d]))(var123, var_other) /* == on */; +var130 = var131; +} +var132 = !var130; +var128 = var132; +goto RET_LABEL129; +RET_LABEL129:(void)0; +} +var127 = var128; +} +if (var127){ +{ +{ /* Inline toolcontext#ToolContext#opt_log_dir (self) on */ +var135 = self->attrs[COLOR_toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ +if (unlikely(var135 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 178); +show_backtrace(1); +} +var133 = var135; +RET_LABEL134:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var133) on */ +var138 = var133->attrs[COLOR_opts__Option___value].val; /* _value on */ +var136 = var138; +RET_LABEL137:(void)0; +} +} +if (unlikely(var136 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 277); +show_backtrace(1); +} +{ +{ /* Inline toolcontext#ToolContext#log_directory= (self,var136) on */ +self->attrs[COLOR_toolcontext__ToolContext___log_directory].val = var136; /* _log_directory on */ +RET_LABEL139:(void)0; +} +} +} else { +} +{ +{ /* Inline toolcontext#ToolContext#opt_log (self) on */ +var142 = self->attrs[COLOR_toolcontext__ToolContext___opt_log].val; /* _opt_log on */ +if (unlikely(var142 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 175); +show_backtrace(1); +} +var140 = var142; +RET_LABEL141:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var140) on */ +var145 = var140->attrs[COLOR_opts__Option___value].val; /* _value on */ +var143 = var145; +RET_LABEL144:(void)0; +} +} +var146 = ((struct instance_kernel__Bool*)var143)->value; /* autounbox from nullable Object to Bool */; +if (var146){ +{ +{ /* Inline toolcontext#ToolContext#log_directory (self) on */ +var149 = self->attrs[COLOR_toolcontext__ToolContext___log_directory].val; /* _log_directory on */ +if (unlikely(var149 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _log_directory"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 81); +show_backtrace(1); +} +var147 = var149; +RET_LABEL148:(void)0; +} +} +{ +file__String__mkdir(var147); /* Direct call file#String#mkdir on */ +} } else { } +{ +var150 = toolcontext__ToolContext__compute_nit_dir(self); +} +{ +{ /* Inline toolcontext#ToolContext#nit_dir= (self,var150) on */ +self->attrs[COLOR_toolcontext__ToolContext___nit_dir].val = var150; /* _nit_dir on */ +RET_LABEL151:(void)0; +} +} +RET_LABEL:; +} +/* method toolcontext#ToolContext#process_options for (self: Object, Sequence[String]) */ +void VIRTUAL_toolcontext__ToolContext__process_options(val* self, val* p0) { +toolcontext__ToolContext__process_options(self, p0); /* Direct call toolcontext#ToolContext#process_options on */ +RET_LABEL:; +} +/* method toolcontext#ToolContext#version for (self: ToolContext): String */ +val* toolcontext__ToolContext__version(val* self) { +val* var /* : String */; +val* var1 /* : OptionBool */; +val* var3 /* : OptionBool */; +val* var4 /* : nullable Object */; +val* var6 /* : nullable Object */; +short int var7 /* : Bool */; +static val* varonce; +val* var8 /* : String */; +char* var9 /* : NativeString */; +long var10 /* : Int */; +val* var11 /* : FlatString */; +val* var12 /* : String */; +{ +{ /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on */ +var3 = self->attrs[COLOR_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", "src/toolcontext.nit", 187); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var1) on */ +var6 = var1->attrs[COLOR_opts__Option___value].val; /* _value on */ +var4 = var6; +RET_LABEL5:(void)0; +} +} +var7 = ((struct instance_kernel__Bool*)var4)->value; /* autounbox from nullable Object to Bool */; +if (var7){ +if (varonce) { +var8 = varonce; +} else { +var9 = "DUMMY_VERSION"; +var10 = 13; +var11 = string__NativeString__to_s_with_length(var9, var10); +var8 = var11; +varonce = var8; +} +var = var8; +goto RET_LABEL; +} else { +} +{ +var12 = version__Object__nit_version(self); +} +var = var12; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#version for (self: Object): String */ +val* VIRTUAL_toolcontext__ToolContext__version(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = toolcontext__ToolContext__version(self); +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#toolname for (self: ToolContext): String */ +val* toolcontext__ToolContext__toolname(val* self) { +val* var /* : String */; +val* var1 /* : OptionBool */; +val* var3 /* : OptionBool */; +val* var4 /* : nullable Object */; +val* var6 /* : nullable Object */; +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 */; +{ +{ /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on */ +var3 = self->attrs[COLOR_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", "src/toolcontext.nit", 187); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var1) on */ +var6 = var1->attrs[COLOR_opts__Option___value].val; /* _value on */ +var4 = var6; +RET_LABEL5:(void)0; +} +} +var7 = ((struct instance_kernel__Bool*)var4)->value; /* autounbox from nullable Object to Bool */; +if (var7){ +if (varonce) { +var8 = varonce; +} else { +var9 = "DUMMY_TOOL"; +var10 = 10; +var11 = string__NativeString__to_s_with_length(var9, var10); +var8 = var11; +varonce = var8; +} +var = var8; +goto RET_LABEL; +} else { +} +{ +{ /* Inline kernel#Object#sys (self) on */ +var14 = glob_sys; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +} +{ +var15 = string__Sys__program_name(var12); +} +if (varonce16) { +var17 = varonce16; +} else { +var18 = ""; +var19 = 0; +var20 = string__NativeString__to_s_with_length(var18, var19); +var17 = var20; +varonce16 = var17; +} +{ +var21 = file__String__basename(var15, var17); +} +var = var21; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#toolname for (self: Object): String */ +val* VIRTUAL_toolcontext__ToolContext__toolname(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = toolcontext__ToolContext__toolname(self); +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#nit_dir for (self: ToolContext): nullable String */ +val* toolcontext__ToolContext__nit_dir(val* self) { +val* var /* : nullable String */; +val* var1 /* : nullable String */; +var1 = self->attrs[COLOR_toolcontext__ToolContext___nit_dir].val; /* _nit_dir on */ +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#nit_dir for (self: Object): nullable String */ +val* VIRTUAL_toolcontext__ToolContext__nit_dir(val* self) { +val* var /* : nullable String */; +val* var1 /* : nullable String */; +val* var3 /* : nullable String */; +{ /* Inline toolcontext#ToolContext#nit_dir (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___nit_dir].val; /* _nit_dir on */ +var1 = var3; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#nit_dir= for (self: ToolContext, nullable String) */ +void toolcontext__ToolContext__nit_dir_61d(val* self, val* p0) { +self->attrs[COLOR_toolcontext__ToolContext___nit_dir].val = p0; /* _nit_dir on */ +RET_LABEL:; +} +/* method toolcontext#ToolContext#nit_dir= for (self: Object, nullable String) */ +void VIRTUAL_toolcontext__ToolContext__nit_dir_61d(val* self, val* p0) { +{ /* Inline toolcontext#ToolContext#nit_dir= (self,p0) on */ +self->attrs[COLOR_toolcontext__ToolContext___nit_dir].val = p0; /* _nit_dir on */ +RET_LABEL1:(void)0; +} +RET_LABEL:; +} +/* method toolcontext#ToolContext#compute_nit_dir for (self: ToolContext): nullable String */ +val* toolcontext__ToolContext__compute_nit_dir(val* self) { +val* var /* : nullable String */; +static val* varonce; +val* var1 /* : String */; +char* var2 /* : NativeString */; +long var3 /* : Int */; +val* var4 /* : FlatString */; +val* var5 /* : String */; +val* var_res /* var res: String */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +val* var8 /* : Sys */; +val* var10 /* : Sys */; +val* var11 /* : String */; +val* var12 /* : String */; +static val* varonce13; +val* var14 /* : String */; +char* var15 /* : NativeString */; +long var16 /* : Int */; +val* var17 /* : FlatString */; +val* var18 /* : Array[Object] */; +long var19 /* : Int */; +val* var20 /* : NativeArray[Object] */; +val* var21 /* : String */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +short int var_ /* var : Bool */; +static val* varonce24; +val* var25 /* : String */; +char* var26 /* : NativeString */; +long var27 /* : Int */; +val* var28 /* : FlatString */; +val* var29 /* : Array[Object] */; +long var30 /* : Int */; +val* var31 /* : NativeArray[Object] */; +val* var32 /* : String */; +short int var33 /* : Bool */; +val* var34 /* : String */; +static val* varonce35; +val* var36 /* : String */; +char* var37 /* : NativeString */; +long var38 /* : Int */; +val* var39 /* : FlatString */; +val* var_exe /* var exe: String */; +short int var40 /* : Bool */; +val* var41 /* : String */; +val* var42 /* : String */; +static val* varonce43; +val* var44 /* : String */; +char* var45 /* : NativeString */; +long var46 /* : Int */; +val* var47 /* : FlatString */; +val* var48 /* : String */; +short int var49 /* : Bool */; +short int var50 /* : Bool */; +short int var_51 /* var : Bool */; +static val* varonce52; +val* var53 /* : String */; +char* var54 /* : NativeString */; +long var55 /* : Int */; +val* var56 /* : FlatString */; +val* var57 /* : Array[Object] */; +long var58 /* : Int */; +val* var59 /* : NativeArray[Object] */; +val* var60 /* : String */; +short int var61 /* : Bool */; +val* var62 /* : String */; +val* var63 /* : null */; +if (varonce) { +var1 = varonce; +} else { +var2 = "NIT_DIR"; +var3 = 7; +var4 = string__NativeString__to_s_with_length(var2, var3); +var1 = var4; +varonce = var1; +} +{ +var5 = environ__String__environ(var1); +} +var_res = var5; +{ +var6 = string__Text__is_empty(var_res); +} +var7 = !var6; +if (var7){ +var = var_res; +goto RET_LABEL; +} else { +} +{ +{ /* Inline kernel#Object#sys (self) on */ +var10 = glob_sys; +var8 = var10; +goto RET_LABEL9; +RET_LABEL9:(void)0; +} +} +{ +var11 = string__Sys__program_name(var8); +} +{ +var12 = file__String__dirname(var11); +} +if (varonce13) { +var14 = varonce13; +} else { +var15 = "/.."; +var16 = 3; +var17 = string__NativeString__to_s_with_length(var15, var16); +var14 = var17; +varonce13 = var14; +} +var18 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var18 = array_instance Array[Object] */ +var19 = 2; +var20 = NEW_array__NativeArray(var19, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var20)->values[0] = (val*) var12; +((struct instance_array__NativeArray*)var20)->values[1] = (val*) var14; +{ +((void (*)(val*, val*, long))(var18->class->vft[COLOR_array__Array__with_native]))(var18, var20, var19) /* with_native on */; +} +} +{ +var21 = ((val* (*)(val*))(var18->class->vft[COLOR_string__Object__to_s]))(var18) /* to_s on */; +} +var_res = var21; +{ +var23 = file__String__file_exists(var_res); +} +var_ = var23; +if (var23){ +if (varonce24) { +var25 = varonce24; +} else { +var26 = "/src/nit.nit"; +var27 = 12; +var28 = string__NativeString__to_s_with_length(var26, var27); +var25 = var28; +varonce24 = var25; +} +var29 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var29 = array_instance Array[Object] */ +var30 = 2; +var31 = NEW_array__NativeArray(var30, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var31)->values[0] = (val*) var_res; +((struct instance_array__NativeArray*)var31)->values[1] = (val*) var25; +{ +((void (*)(val*, val*, long))(var29->class->vft[COLOR_array__Array__with_native]))(var29, var31, var30) /* with_native on */; +} +} +{ +var32 = ((val* (*)(val*))(var29->class->vft[COLOR_string__Object__to_s]))(var29) /* to_s on */; +} +{ +var33 = file__String__file_exists(var32); +} +var22 = var33; +} else { +var22 = var_; +} +if (var22){ +{ +var34 = file__String__simplify_path(var_res); +} +var = var34; +goto RET_LABEL; +} else { +} +if (varonce35) { +var36 = varonce35; +} else { +var37 = "/proc/self/exe"; +var38 = 14; +var39 = string__NativeString__to_s_with_length(var37, var38); +var36 = var39; +varonce35 = var36; +} +var_exe = var36; +{ +var40 = file__String__file_exists(var_exe); +} +if (var40){ +{ +var41 = file__String__realpath(var_exe); +} +var_res = var41; +{ +var42 = file__String__dirname(var_res); +} +if (varonce43) { +var44 = varonce43; +} else { +var45 = ".."; +var46 = 2; +var47 = string__NativeString__to_s_with_length(var45, var46); +var44 = var47; +varonce43 = var44; +} +{ +var48 = file__String__join_path(var42, var44); +} +var_res = var48; +{ +var50 = file__String__file_exists(var_res); +} +var_51 = var50; +if (var50){ +if (varonce52) { +var53 = varonce52; +} else { +var54 = "/src/nit.nit"; +var55 = 12; +var56 = string__NativeString__to_s_with_length(var54, var55); +var53 = var56; +varonce52 = var53; +} +var57 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var57 = array_instance Array[Object] */ +var58 = 2; +var59 = NEW_array__NativeArray(var58, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var59)->values[0] = (val*) var_res; +((struct instance_array__NativeArray*)var59)->values[1] = (val*) var53; +{ +((void (*)(val*, val*, long))(var57->class->vft[COLOR_array__Array__with_native]))(var57, var59, var58) /* with_native on */; +} +} +{ +var60 = ((val* (*)(val*))(var57->class->vft[COLOR_string__Object__to_s]))(var57) /* to_s on */; +} +{ +var61 = file__String__file_exists(var60); +} +var49 = var61; +} else { +var49 = var_51; +} +if (var49){ +{ +var62 = file__String__simplify_path(var_res); +} +var = var62; +goto RET_LABEL; +} else { +} +} else { +} +var63 = NULL; +var = var63; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#compute_nit_dir for (self: Object): nullable String */ +val* VIRTUAL_toolcontext__ToolContext__compute_nit_dir(val* self) { +val* var /* : nullable String */; +val* var1 /* : nullable String */; +var1 = toolcontext__ToolContext__compute_nit_dir(self); +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#BashCompletion#toolcontext for (self: BashCompletion): ToolContext */ +val* toolcontext__BashCompletion__toolcontext(val* self) { +val* var /* : ToolContext */; +val* var1 /* : ToolContext */; +var1 = self->attrs[COLOR_toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 347); +show_backtrace(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#BashCompletion#toolcontext for (self: Object): ToolContext */ +val* VIRTUAL_toolcontext__BashCompletion__toolcontext(val* self) { +val* var /* : ToolContext */; +val* var1 /* : ToolContext */; +val* var3 /* : ToolContext */; +{ /* Inline toolcontext#BashCompletion#toolcontext (self) on */ +var3 = self->attrs[COLOR_toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 347); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#BashCompletion#toolcontext= for (self: BashCompletion, ToolContext) */ +void toolcontext__BashCompletion__toolcontext_61d(val* self, val* p0) { +self->attrs[COLOR_toolcontext__BashCompletion___toolcontext].val = p0; /* _toolcontext on */ +RET_LABEL:; +} +/* method toolcontext#BashCompletion#toolcontext= for (self: Object, ToolContext) */ +void VIRTUAL_toolcontext__BashCompletion__toolcontext_61d(val* self, val* p0) { +{ /* Inline toolcontext#BashCompletion#toolcontext= (self,p0) on */ +self->attrs[COLOR_toolcontext__BashCompletion___toolcontext].val = p0; /* _toolcontext on */ +RET_LABEL1:(void)0; +} +RET_LABEL:; +} +/* method toolcontext#BashCompletion#init for (self: BashCompletion, ToolContext) */ +void toolcontext__BashCompletion__init(val* self, val* p0) { +val* var_toolcontext /* var toolcontext: ToolContext */; +{ +{ /* Inline template#Template#init (self) on */ +RET_LABEL1:(void)0; +} +} +var_toolcontext = p0; +{ +{ /* Inline toolcontext#BashCompletion#toolcontext= (self,var_toolcontext) on */ +self->attrs[COLOR_toolcontext__BashCompletion___toolcontext].val = var_toolcontext; /* _toolcontext on */ +RET_LABEL2:(void)0; +} +} +RET_LABEL:; +} +/* method toolcontext#BashCompletion#init for (self: Object, ToolContext) */ +void VIRTUAL_toolcontext__BashCompletion__init(val* self, val* p0) { +toolcontext__BashCompletion__init(self, p0); /* Direct call toolcontext#BashCompletion#init on */ +RET_LABEL:; +} +/* method toolcontext#BashCompletion#extract_options_names for (self: BashCompletion): Array[String] */ +val* toolcontext__BashCompletion__extract_options_names(val* self) { +val* var /* : Array[String] */; +val* var1 /* : Array[String] */; +val* var_names /* var names: Array[String] */; +val* var2 /* : ToolContext */; +val* var4 /* : ToolContext */; +val* var5 /* : OptionContext */; +val* var7 /* : OptionContext */; +val* var8 /* : Array[Option] */; +val* var10 /* : Array[Option] */; +val* var11 /* : ArrayIterator[nullable Object] */; +short int var12 /* : Bool */; +val* var13 /* : nullable Object */; +val* var_option /* var option: Option */; +val* var14 /* : Array[String] */; +val* var16 /* : Array[String] */; +val* var17 /* : ArrayIterator[nullable Object] */; +short int var18 /* : Bool */; +val* var19 /* : nullable Object */; +val* var_name /* var name: String */; +static val* varonce; +val* var20 /* : String */; +char* var21 /* : NativeString */; +long var22 /* : Int */; +val* var23 /* : FlatString */; +short int var24 /* : Bool */; +var1 = NEW_array__Array(&type_array__Arraystring__String); +{ +array__Array__init(var1); /* Direct call array#Array#init on */ +} +var_names = var1; +{ +{ /* Inline toolcontext#BashCompletion#toolcontext (self) on */ +var4 = self->attrs[COLOR_toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 347); +show_backtrace(1); +} +var2 = var4; +RET_LABEL3:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#option_context (var2) on */ +var7 = var2->attrs[COLOR_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", "src/toolcontext.nit", 166); +show_backtrace(1); +} +var5 = var7; +RET_LABEL6:(void)0; +} +} +{ +{ /* Inline opts#OptionContext#options (var5) on */ +var10 = var5->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ +if (unlikely(var10 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); +PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247); +show_backtrace(1); +} +var8 = var10; +RET_LABEL9:(void)0; +} +} +{ +var11 = array__AbstractArrayRead__iterator(var8); +} +for(;;) { +{ +var12 = array__ArrayIterator__is_ok(var11); +} +if(!var12) break; +{ +var13 = array__ArrayIterator__item(var11); +} +var_option = var13; +{ +{ /* Inline opts#Option#names (var_option) on */ +var16 = var_option->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); +PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19); +show_backtrace(1); +} +var14 = var16; +RET_LABEL15:(void)0; +} +} +{ +var17 = array__AbstractArrayRead__iterator(var14); +} +for(;;) { +{ +var18 = array__ArrayIterator__is_ok(var17); +} +if(!var18) break; +{ +var19 = array__ArrayIterator__item(var17); +} +var_name = var19; +if (varonce) { +var20 = varonce; +} else { +var21 = "--"; +var22 = 2; +var23 = string__NativeString__to_s_with_length(var21, var22); +var20 = var23; +varonce = var20; +} +{ +var24 = string__Text__has_prefix(var_name, var20); +} +if (var24){ +{ +array__Array__add(var_names, var_name); /* Direct call array#Array#add on */ +} +} else { +} +CONTINUE_label: (void)0; +{ +array__ArrayIterator__next(var17); /* Direct call array#ArrayIterator#next on */ +} +} +BREAK_label: (void)0; +CONTINUE_label25: (void)0; +{ +array__ArrayIterator__next(var11); /* Direct call array#ArrayIterator#next on */ +} +} +BREAK_label25: (void)0; +var = var_names; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method toolcontext#BashCompletion#extract_options_names for (self: Object): Array[String] */ +val* VIRTUAL_toolcontext__BashCompletion__extract_options_names(val* self) { +val* var /* : Array[String] */; +val* var1 /* : Array[String] */; +var1 = toolcontext__BashCompletion__extract_options_names(self); +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#BashCompletion#rendering for (self: BashCompletion) */ +void toolcontext__BashCompletion__rendering(val* self) { +val* var /* : ToolContext */; +val* var2 /* : ToolContext */; +val* var3 /* : String */; +val* var_name /* var name: String */; +val* var4 /* : Array[String] */; +val* var_option_names /* var option_names: Array[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 */; +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* 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 */; +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 */; +val* var61 /* : null */; +short int var62 /* : Bool */; +short int var63 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var65 /* : Bool */; +short int var66 /* : Bool */; +short int var67 /* : Bool */; +static val* varonce68; +val* var69 /* : String */; +char* var70 /* : NativeString */; +long var71 /* : Int */; +val* var72 /* : FlatString */; +static val* varonce73; +val* var74 /* : String */; +char* var75 /* : NativeString */; +long var76 /* : Int */; +val* var77 /* : FlatString */; +val* var78 /* : String */; +static val* varonce79; +val* var80 /* : String */; +char* var81 /* : NativeString */; +long var82 /* : Int */; +val* var83 /* : FlatString */; +val* var84 /* : Array[Object] */; +long var85 /* : Int */; +val* var86 /* : NativeArray[Object] */; +val* var87 /* : 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 */; +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 */; +static val* varonce118; +val* var119 /* : String */; +char* var120 /* : NativeString */; +long var121 /* : Int */; +val* var122 /* : FlatString */; +val* var123 /* : Array[Object] */; +long var124 /* : Int */; +val* var125 /* : NativeArray[Object] */; +val* var126 /* : String */; +{ +{ /* Inline toolcontext#BashCompletion#toolcontext (self) on */ +var2 = self->attrs[COLOR_toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 347); +show_backtrace(1); +} +var = var2; +RET_LABEL1:(void)0; +} +} +{ +var3 = toolcontext__ToolContext__toolname(var); +} +var_name = var3; +{ +var4 = toolcontext__BashCompletion__extract_options_names(self); +} +var_option_names = var4; +if (varonce) { +var5 = varonce; +} else { +var6 = "# generated bash completion file for "; +var7 = 37; +var8 = string__NativeString__to_s_with_length(var6, var7); +var5 = var8; +varonce = var5; +} +if (varonce9) { +var10 = varonce9; +} else { +var11 = " "; +var12 = 1; +var13 = string__NativeString__to_s_with_length(var11, var12); +var10 = var13; +varonce9 = var10; +} +{ +{ /* Inline toolcontext#BashCompletion#toolcontext (self) on */ +var16 = self->attrs[COLOR_toolcontext__BashCompletion___toolcontext].val; /* _toolcontext on */ +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext"); +PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 347); +show_backtrace(1); +} +var14 = var16; +RET_LABEL15:(void)0; +} +} +{ +var17 = toolcontext__ToolContext__version(var14); +} +var18 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var18 = array_instance Array[Object] */ +var19 = 4; +var20 = NEW_array__NativeArray(var19, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var20)->values[0] = (val*) var5; +((struct instance_array__NativeArray*)var20)->values[1] = (val*) var_name; +((struct instance_array__NativeArray*)var20)->values[2] = (val*) var10; +((struct instance_array__NativeArray*)var20)->values[3] = (val*) var17; +{ +((void (*)(val*, val*, long))(var18->class->vft[COLOR_array__Array__with_native]))(var18, var20, var19) /* with_native on */; +} +} +{ +var21 = ((val* (*)(val*))(var18->class->vft[COLOR_string__Object__to_s]))(var18) /* to_s on */; +} +{ +template__Template__addn(self, var21); /* Direct call template#Template#addn on */ +} +if (varonce22) { +var23 = varonce22; +} else { +var24 = "_"; +var25 = 1; +var26 = string__NativeString__to_s_with_length(var24, var25); +var23 = var26; +varonce22 = var23; +} +if (varonce27) { +var28 = varonce27; +} else { +var29 = "()"; +var30 = 2; +var31 = string__NativeString__to_s_with_length(var29, var30); +var28 = var31; +varonce27 = var28; +} +var32 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var32 = array_instance Array[Object] */ +var33 = 3; +var34 = NEW_array__NativeArray(var33, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var34)->values[0] = (val*) var23; +((struct instance_array__NativeArray*)var34)->values[1] = (val*) var_name; +((struct instance_array__NativeArray*)var34)->values[2] = (val*) var28; +{ +((void (*)(val*, val*, long))(var32->class->vft[COLOR_array__Array__with_native]))(var32, var34, var33) /* with_native on */; +} +} +{ +var35 = ((val* (*)(val*))(var32->class->vft[COLOR_string__Object__to_s]))(var32) /* to_s on */; +} +{ +template__Template__addn(self, var35); /* Direct call template#Template#addn on */ +} +if (varonce36) { +var37 = varonce36; +} else { +var38 = "{"; +var39 = 1; +var40 = string__NativeString__to_s_with_length(var38, var39); +var37 = var40; +varonce36 = var37; +} +{ +template__Template__addn(self, var37); /* Direct call template#Template#addn on */ +} +if (varonce41) { +var42 = varonce41; +} else { +var43 = "\11local cur prev opts"; +var44 = 20; +var45 = string__NativeString__to_s_with_length(var43, var44); +var42 = var45; +varonce41 = var42; +} +{ +template__Template__addn(self, var42); /* Direct call template#Template#addn on */ +} +if (varonce46) { +var47 = varonce46; +} else { +var48 = "\11COMPREPLY=()"; +var49 = 13; +var50 = string__NativeString__to_s_with_length(var48, var49); +var47 = var50; +varonce46 = var47; +} +{ +template__Template__addn(self, var47); /* Direct call template#Template#addn on */ +} +if (varonce51) { +var52 = varonce51; +} else { +var53 = "\11cur=\"${COMP_WORDS[COMP_CWORD]}\""; +var54 = 32; +var55 = string__NativeString__to_s_with_length(var53, var54); +var52 = var55; +varonce51 = var52; +} +{ +template__Template__addn(self, var52); /* Direct call template#Template#addn on */ +} +if (varonce56) { +var57 = varonce56; +} else { +var58 = "\11prev=\"${COMP_WORDS[COMP_CWORD-1]}\""; +var59 = 35; +var60 = string__NativeString__to_s_with_length(var58, var59); +var57 = var60; +varonce56 = var57; +} +{ +template__Template__addn(self, var57); /* Direct call template#Template#addn on */ +} +var61 = NULL; +{ +var62 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_option_names,var61) on */ +var_other = var61; +{ +var66 = ((short int (*)(val*, val*))(var_option_names->class->vft[COLOR_kernel__Object___61d_61d]))(var_option_names, var_other) /* == on */; +var65 = var66; +} +var67 = !var65; +var63 = var67; +goto RET_LABEL64; +RET_LABEL64:(void)0; +} +var62 = var63; +} +if (var62){ +if (varonce68) { +var69 = varonce68; +} else { +var70 = "\11opts=\""; +var71 = 7; +var72 = string__NativeString__to_s_with_length(var70, var71); +var69 = var72; +varonce68 = var69; +} +if (varonce73) { +var74 = varonce73; +} else { +var75 = " "; +var76 = 1; +var77 = string__NativeString__to_s_with_length(var75, var76); +var74 = var77; +varonce73 = var74; +} +{ +var78 = string__Collection__join(var_option_names, var74); +} +if (varonce79) { +var80 = varonce79; +} else { +var81 = "\""; +var82 = 1; +var83 = string__NativeString__to_s_with_length(var81, var82); +var80 = var83; +varonce79 = var80; +} +var84 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var84 = array_instance Array[Object] */ +var85 = 3; +var86 = NEW_array__NativeArray(var85, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var86)->values[0] = (val*) var69; +((struct instance_array__NativeArray*)var86)->values[1] = (val*) var78; +((struct instance_array__NativeArray*)var86)->values[2] = (val*) var80; +{ +((void (*)(val*, val*, long))(var84->class->vft[COLOR_array__Array__with_native]))(var84, var86, var85) /* with_native on */; +} +} +{ +var87 = ((val* (*)(val*))(var84->class->vft[COLOR_string__Object__to_s]))(var84) /* to_s on */; +} +{ +template__Template__addn(self, var87); /* Direct call template#Template#addn on */ +} +if (varonce88) { +var89 = varonce88; +} else { +var90 = "\11if [[ ${cur} == -* ]] ; then"; +var91 = 29; +var92 = string__NativeString__to_s_with_length(var90, var91); +var89 = var92; +varonce88 = var89; +} +{ +template__Template__addn(self, var89); /* Direct call template#Template#addn on */ +} +if (varonce93) { +var94 = varonce93; +} else { +var95 = "\11\11COMPREPLY=( $(compgen -W \"${opts}\" -- ${cur}) )"; +var96 = 49; +var97 = string__NativeString__to_s_with_length(var95, var96); +var94 = var97; +varonce93 = var94; +} +{ +template__Template__addn(self, var94); /* Direct call template#Template#addn on */ +} +if (varonce98) { +var99 = varonce98; +} else { +var100 = "\11\11return 0"; +var101 = 10; +var102 = string__NativeString__to_s_with_length(var100, var101); +var99 = var102; +varonce98 = var99; +} +{ +template__Template__addn(self, var99); /* Direct call template#Template#addn on */ +} +if (varonce103) { +var104 = varonce103; +} else { +var105 = "\11fi"; +var106 = 3; +var107 = string__NativeString__to_s_with_length(var105, var106); +var104 = var107; +varonce103 = var104; +} +{ +template__Template__addn(self, var104); /* Direct call template#Template#addn on */ +} +} else { +} +if (varonce108) { +var109 = varonce108; +} else { +var110 = "} &&"; +var111 = 4; +var112 = string__NativeString__to_s_with_length(var110, var111); +var109 = var112; +varonce108 = var109; +} +{ +template__Template__addn(self, var109); /* Direct call template#Template#addn on */ +} +if (varonce113) { +var114 = varonce113; +} else { +var115 = "complete -o default -F _"; +var116 = 24; +var117 = string__NativeString__to_s_with_length(var115, var116); +var114 = var117; +varonce113 = var114; +} +if (varonce118) { +var119 = varonce118; +} else { +var120 = " "; +var121 = 1; +var122 = string__NativeString__to_s_with_length(var120, var121); +var119 = var122; +varonce118 = var119; +} +var123 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var123 = array_instance Array[Object] */ +var124 = 4; +var125 = NEW_array__NativeArray(var124, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var125)->values[0] = (val*) var114; +((struct instance_array__NativeArray*)var125)->values[1] = (val*) var_name; +((struct instance_array__NativeArray*)var125)->values[2] = (val*) var119; +((struct instance_array__NativeArray*)var125)->values[3] = (val*) var_name; +{ +((void (*)(val*, val*, long))(var123->class->vft[COLOR_array__Array__with_native]))(var123, var125, var124) /* with_native on */; +} +} +{ +var126 = ((val* (*)(val*))(var123->class->vft[COLOR_string__Object__to_s]))(var123) /* to_s on */; +} +{ +template__Template__addn(self, var126); /* Direct call template#Template#addn on */ +} RET_LABEL:; } -/* method toolcontext#ToolContext#process_options for (self: Object) */ -void VIRTUAL_toolcontext__ToolContext__process_options(val* self) { -toolcontext__ToolContext__process_options(self); +/* method toolcontext#BashCompletion#rendering for (self: Object) */ +void VIRTUAL_toolcontext__BashCompletion__rendering(val* self) { +toolcontext__BashCompletion__rendering(self); /* Direct call toolcontext#BashCompletion#rendering on */ RET_LABEL:; }