X-Git-Url: http://nitlanguage.org diff --git a/c_src/toolcontext.sep.1.c b/c_src/toolcontext.sep.1.c index b74bf73..ff15efa 100644 --- a/c_src/toolcontext.sep.1.c +++ b/c_src/toolcontext.sep.1.c @@ -22,6 +22,55 @@ 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___location].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) { +{ /* Inline toolcontext#Message#location= (self,p0) on */ +self->attrs[COLOR_toolcontext__Message___location].val = p0; /* _location on */ +RET_LABEL1:(void)0; +} +RET_LABEL:; +} +/* method toolcontext#Message#tag for (self: Message): nullable String */ +val* toolcontext__Message__tag(val* self) { +val* var /* : nullable String */; +val* var1 /* : nullable String */; +var1 = self->attrs[COLOR_toolcontext__Message___tag].val; /* _tag on */ +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#Message#tag for (self: Object): nullable String */ +val* VIRTUAL_toolcontext__Message__tag(val* self) { +val* var /* : nullable String */; +val* var1 /* : nullable String */; +val* var3 /* : nullable String */; +{ /* Inline toolcontext#Message#tag (self) on */ +var3 = self->attrs[COLOR_toolcontext__Message___tag].val; /* _tag on */ +var1 = var3; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#Message#tag= for (self: Message, nullable String) */ +void toolcontext__Message__tag_61d(val* self, val* p0) { +self->attrs[COLOR_toolcontext__Message___tag].val = p0; /* _tag on */ +RET_LABEL:; +} +/* method toolcontext#Message#tag= for (self: Object, nullable String) */ +void VIRTUAL_toolcontext__Message__tag_61d(val* self, val* p0) { +{ /* Inline toolcontext#Message#tag= (self,p0) on */ +self->attrs[COLOR_toolcontext__Message___tag].val = p0; /* _tag on */ +RET_LABEL1:(void)0; +} +RET_LABEL:; +} /* method toolcontext#Message#text for (self: Message): String */ val* toolcontext__Message__text(val* self) { val* var /* : String */; @@ -29,7 +78,7 @@ val* var1 /* : String */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 41); show_backtrace(1); } var = var1; @@ -45,7 +94,7 @@ val* var3 /* : String */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 41); show_backtrace(1); } var1 = var3; @@ -55,6 +104,19 @@ 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___text].val = p0; /* _text on */ +RET_LABEL:; +} +/* method toolcontext#Message#text= for (self: Object, String) */ +void VIRTUAL_toolcontext__Message__text_61d(val* self, val* p0) { +{ /* Inline toolcontext#Message#text= (self,p0) on */ +self->attrs[COLOR_toolcontext__Message___text].val = p0; /* _text on */ +RET_LABEL1:(void)0; +} +RET_LABEL:; +} /* method toolcontext#Message#< for (self: Message, Message): Bool */ short int toolcontext__Message___60d(val* self, val* p0) { short int var /* : Bool */; @@ -94,7 +156,7 @@ var1 = p0->type->type_table[cltype] == idtype; if (unlikely(!var1)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 35); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 48); show_backtrace(1); } var_other = p0; @@ -153,7 +215,7 @@ RET_LABEL17:(void)0; } if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 40); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 53); show_backtrace(1); } { @@ -165,7 +227,7 @@ RET_LABEL20:(void)0; } if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 40); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 53); show_backtrace(1); } { @@ -231,7 +293,7 @@ if (var5){ 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 41); show_backtrace(1); } var7 = var9; @@ -255,7 +317,7 @@ varonce = var10; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 41); show_backtrace(1); } var14 = var16; @@ -308,7 +370,7 @@ long var10 /* : Int */; val* var11 /* : NativeArray[Object] */; val* var12 /* : Object */; val* var13 /* : String */; -val* var_red /* var red: String */; +val* var_yellow /* var yellow: String */; static val* varonce14; val* var15 /* : String */; char* var16 /* : NativeString */; @@ -319,89 +381,89 @@ 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 */; -char* var26 /* : NativeString */; -long var27 /* : Int */; -val* var28 /* : FlatString */; -val* var29 /* : Array[Object] */; -long var30 /* : Int */; -val* var31 /* : NativeArray[Object] */; -val* var32 /* : Object */; -val* var33 /* : String */; -val* var_green /* var green: String */; +val* var_def /* var def: String */; +val* var24 /* : nullable String */; +val* var26 /* : nullable String */; +val* var_tag /* var tag: nullable String */; +val* var27 /* : null */; +short int var28 /* : Bool */; +short int var29 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var33 /* : Bool */; 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 */; -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* var54 /* : nullable Location */; -val* var56 /* : nullable Location */; +static val* varonce39; +val* var40 /* : String */; +char* var41 /* : NativeString */; +long var42 /* : Int */; +val* var43 /* : FlatString */; +val* var44 /* : Array[Object] */; +long var45 /* : Int */; +val* var46 /* : NativeArray[Object] */; +val* var47 /* : String */; +static val* varonce48; +val* var49 /* : String */; +char* var50 /* : NativeString */; +long var51 /* : Int */; +val* var52 /* : FlatString */; +val* var53 /* : nullable Location */; +val* var55 /* : nullable Location */; val* var_l /* var l: nullable Location */; -val* var57 /* : null */; +val* var56 /* : null */; +short int var57 /* : Bool */; 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 */; +val* var59 /* : String */; +val* var61 /* : String */; +val* var62 /* : Array[Object] */; +long var63 /* : Int */; +val* var64 /* : NativeArray[Object] */; +val* var65 /* : String */; +val* var66 /* : nullable SourceFile */; +val* var68 /* : nullable SourceFile */; +val* var69 /* : null */; short int var70 /* : Bool */; -short int var72 /* : Bool */; -static val* varonce73; -val* var74 /* : String */; -char* var75 /* : NativeString */; -long var76 /* : Int */; -val* var77 /* : FlatString */; +short int var71 /* : Bool */; +val* var_other73 /* var other: nullable Object */; +short int var74 /* : Bool */; +short int var76 /* : Bool */; +static val* varonce77; val* var78 /* : String */; -val* var80 /* : String */; -val* var81 /* : Array[Object] */; -long var82 /* : Int */; -val* var83 /* : NativeArray[Object] */; +char* var79 /* : NativeString */; +long var80 /* : Int */; +val* var81 /* : FlatString */; +val* var82 /* : String */; val* var84 /* : String */; -static val* varonce85; -val* var86 /* : String */; -char* var87 /* : NativeString */; -long var88 /* : Int */; -val* var89 /* : FlatString */; +val* var85 /* : Array[Object] */; +long var86 /* : Int */; +val* var87 /* : NativeArray[Object] */; +val* var88 /* : String */; +static val* varonce89; val* var90 /* : String */; -val* var92 /* : String */; -static val* varonce93; +char* var91 /* : NativeString */; +long var92 /* : Int */; +val* var93 /* : FlatString */; 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 */; +val* var96 /* : String */; +static val* varonce97; +val* var98 /* : String */; +char* var99 /* : NativeString */; +long var100 /* : Int */; +val* var101 /* : FlatString */; +static val* varonce102; val* var103 /* : String */; -val* var104 /* : Array[Object] */; +char* var104 /* : NativeString */; long var105 /* : Int */; -val* var106 /* : NativeArray[Object] */; +val* var106 /* : FlatString */; val* var107 /* : String */; +val* var108 /* : Array[Object] */; +long var109 /* : Int */; +val* var110 /* : NativeArray[Object] */; +val* var111 /* : String */; var1 = 27; { { /* Inline kernel#Int#ascii (var1) on */ @@ -415,7 +477,7 @@ var_esc = var2; if (varonce) { var5 = varonce; } else { -var6 = "[0;31m"; +var6 = "[0;33m"; var7 = 6; var8 = string__NativeString__to_s_with_length(var6, var7); var5 = var8; @@ -435,12 +497,12 @@ var12 = BOX_kernel__Char(var_esc); /* autobox from Char to Object */ { var13 = ((val* (*)(val*))(var9->class->vft[COLOR_string__Object__to_s]))(var9) /* to_s on */; } -var_red = var13; +var_yellow = var13; if (varonce14) { var15 = varonce14; } else { -var16 = "[1;31m"; -var17 = 6; +var16 = "[0m"; +var17 = 3; var18 = string__NativeString__to_s_with_length(var16, var17); var15 = var18; varonce14 = var15; @@ -459,245 +521,262 @@ var22 = BOX_kernel__Char(var_esc); /* autobox from Char to Object */ { var23 = ((val* (*)(val*))(var19->class->vft[COLOR_string__Object__to_s]))(var19) /* to_s on */; } -var_bred = var23; -if (varonce24) { -var25 = varonce24; +var_def = var23; +{ +{ /* Inline toolcontext#Message#tag (self) on */ +var26 = self->attrs[COLOR_toolcontext__Message___tag].val; /* _tag on */ +var24 = var26; +RET_LABEL25:(void)0; +} +} +var_tag = var24; +var27 = NULL; +if (var_tag == NULL) { +var28 = 0; /* is null */ } else { -var26 = "[0;32m"; -var27 = 6; -var28 = string__NativeString__to_s_with_length(var26, var27); -var25 = var28; -varonce24 = var25; +var28 = 1; /* arg is null and recv is not */ } -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; +if (0) { +{ /* Inline kernel#Object#!= (var_tag,var27) on */ +var_other = var27; { -((void (*)(val*, val*, long))(var29->class->vft[COLOR_array__Array__with_native]))(var29, var31, var30) /* with_native on */; +var32 = ((short int (*)(val*, val*))(var_tag->class->vft[COLOR_kernel__Object___61d_61d]))(var_tag, var_other) /* == on */; +var31 = var32; } +var33 = !var31; +var29 = var33; +goto RET_LABEL30; +RET_LABEL30:(void)0; } -{ -var33 = ((val* (*)(val*))(var29->class->vft[COLOR_string__Object__to_s]))(var29) /* to_s on */; +var28 = var29; } -var_green = var33; +if (var28){ if (varonce34) { var35 = varonce34; } else { -var36 = "[0;33m"; -var37 = 6; +var36 = " ("; +var37 = 2; 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 */; -} +if (varonce39) { +var40 = varonce39; +} else { +var41 = ")"; +var42 = 1; +var43 = string__NativeString__to_s_with_length(var41, var42); +var40 = var43; +varonce39 = var40; } +var44 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var44 = array_instance Array[Object] */ +var45 = 3; +var46 = NEW_array__NativeArray(var45, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var46)->values[0] = (val*) var35; +((struct instance_array__NativeArray*)var46)->values[1] = (val*) var_tag; +((struct instance_array__NativeArray*)var46)->values[2] = (val*) var40; { -var43 = ((val* (*)(val*))(var39->class->vft[COLOR_string__Object__to_s]))(var39) /* to_s on */; +((void (*)(val*, val*, long))(var44->class->vft[COLOR_array__Array__with_native]))(var44, var46, var45) /* with_native 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 */; +var47 = ((val* (*)(val*))(var44->class->vft[COLOR_string__Object__to_s]))(var44) /* to_s on */; } +var_tag = var47; +} else { +if (varonce48) { +var49 = varonce48; +} else { +var50 = ""; +var51 = 0; +var52 = string__NativeString__to_s_with_length(var50, var51); +var49 = var52; +varonce48 = var49; } -{ -var53 = ((val* (*)(val*))(var49->class->vft[COLOR_string__Object__to_s]))(var49) /* to_s on */; +var_tag = var49; } -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; +var55 = self->attrs[COLOR_toolcontext__Message___location].val; /* _location on */ +var53 = var55; +RET_LABEL54:(void)0; } } -var_l = var54; -var57 = NULL; +var_l = var53; +var56 = NULL; if (var_l == NULL) { -var58 = 1; /* is null */ +var57 = 1; /* is null */ } else { -var58 = 0; /* arg is null but recv is not */ +var57 = 0; /* arg is null but recv is not */ } if (0) { -var59 = location__Location___61d_61d(var_l, var57); -var58 = var59; +var58 = location__Location___61d_61d(var_l, var56); +var57 = var58; } -if (var58){ +if (var57){ { { /* Inline toolcontext#Message#text (self) on */ -var62 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ -if (unlikely(var62 == NULL)) { +var61 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ +if (unlikely(var61 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 33); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 41); show_backtrace(1); } -var60 = var62; -RET_LABEL61:(void)0; +var59 = var61; +RET_LABEL60:(void)0; +} +} +var62 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var62 = array_instance Array[Object] */ +var63 = 2; +var64 = NEW_array__NativeArray(var63, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var64)->values[0] = (val*) var59; +((struct instance_array__NativeArray*)var64)->values[1] = (val*) var_tag; +{ +((void (*)(val*, val*, long))(var62->class->vft[COLOR_array__Array__with_native]))(var62, var64, var63) /* with_native on */; +} } +{ +var65 = ((val* (*)(val*))(var62->class->vft[COLOR_string__Object__to_s]))(var62) /* to_s on */; } -var = var60; +var = var65; goto RET_LABEL; } else { { { /* Inline location#Location#file (var_l) on */ -var65 = var_l->attrs[COLOR_location__Location___file].val; /* _file on */ -var63 = var65; -RET_LABEL64:(void)0; +var68 = var_l->attrs[COLOR_location__Location___file].val; /* _file on */ +var66 = var68; +RET_LABEL67:(void)0; } } -var66 = NULL; -if (var63 == NULL) { -var67 = 1; /* is null */ +var69 = NULL; +if (var66 == NULL) { +var70 = 1; /* is null */ } else { -var67 = 0; /* arg is null but recv is not */ +var70 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var63,var66) on */ -var_other = var66; +{ /* Inline kernel#Object#== (var66,var69) on */ +var_other73 = var69; { -{ /* Inline kernel#Object#is_same_instance (var63,var_other) on */ -var72 = var63 == var_other; -var70 = var72; -goto RET_LABEL71; -RET_LABEL71:(void)0; +{ /* Inline kernel#Object#is_same_instance (var66,var_other73) on */ +var76 = var66 == var_other73; +var74 = var76; +goto RET_LABEL75; +RET_LABEL75:(void)0; } } -var68 = var70; -goto RET_LABEL69; -RET_LABEL69:(void)0; +var71 = var74; +goto RET_LABEL72; +RET_LABEL72:(void)0; } -var67 = var68; +var70 = var71; } -if (var67){ -if (varonce73) { -var74 = varonce73; +if (var70){ +if (varonce77) { +var78 = varonce77; } else { -var75 = ": "; -var76 = 2; -var77 = string__NativeString__to_s_with_length(var75, var76); -var74 = var77; -varonce73 = var74; +var79 = ": "; +var80 = 2; +var81 = string__NativeString__to_s_with_length(var79, var80); +var78 = var81; +varonce77 = var78; } { { /* Inline toolcontext#Message#text (self) on */ -var80 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ -if (unlikely(var80 == NULL)) { +var84 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ +if (unlikely(var84 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 33); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 41); show_backtrace(1); } -var78 = var80; -RET_LABEL79:(void)0; +var82 = var84; +RET_LABEL83:(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; +var85 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var85 = array_instance Array[Object] */ +var86 = 6; +var87 = NEW_array__NativeArray(var86, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var87)->values[0] = (val*) var_yellow; +((struct instance_array__NativeArray*)var87)->values[1] = (val*) var_l; +((struct instance_array__NativeArray*)var87)->values[2] = (val*) var_def; +((struct instance_array__NativeArray*)var87)->values[3] = (val*) var78; +((struct instance_array__NativeArray*)var87)->values[4] = (val*) var82; +((struct instance_array__NativeArray*)var87)->values[5] = (val*) var_tag; { -((void (*)(val*, val*, long))(var81->class->vft[COLOR_array__Array__with_native]))(var81, var83, var82) /* with_native on */; +((void (*)(val*, val*, long))(var85->class->vft[COLOR_array__Array__with_native]))(var85, var87, var86) /* with_native on */; } } { -var84 = ((val* (*)(val*))(var81->class->vft[COLOR_string__Object__to_s]))(var81) /* to_s on */; +var88 = ((val* (*)(val*))(var85->class->vft[COLOR_string__Object__to_s]))(var85) /* to_s on */; } -var = var84; +var = var88; goto RET_LABEL; } else { -if (varonce85) { -var86 = varonce85; +if (varonce89) { +var90 = varonce89; } else { -var87 = ": "; -var88 = 2; -var89 = string__NativeString__to_s_with_length(var87, var88); -var86 = var89; -varonce85 = var86; +var91 = ": "; +var92 = 2; +var93 = string__NativeString__to_s_with_length(var91, var92); +var90 = var93; +varonce89 = var90; } { { /* Inline toolcontext#Message#text (self) on */ -var92 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ -if (unlikely(var92 == NULL)) { +var96 = self->attrs[COLOR_toolcontext__Message___text].val; /* _text on */ +if (unlikely(var96 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _text"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 33); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 41); show_backtrace(1); } -var90 = var92; -RET_LABEL91:(void)0; +var94 = var96; +RET_LABEL95:(void)0; } } -if (varonce93) { -var94 = varonce93; +if (varonce97) { +var98 = varonce97; } else { -var95 = "\n"; -var96 = 1; -var97 = string__NativeString__to_s_with_length(var95, var96); -var94 = var97; -varonce93 = var94; -} -if (varonce98) { -var99 = varonce98; +var99 = "\n"; +var100 = 1; +var101 = string__NativeString__to_s_with_length(var99, var100); +var98 = var101; +varonce97 = var98; +} +if (varonce102) { +var103 = varonce102; } else { -var100 = "1;31"; -var101 = 4; -var102 = string__NativeString__to_s_with_length(var100, var101); -var99 = var102; -varonce98 = var99; +var104 = "1;31"; +var105 = 4; +var106 = string__NativeString__to_s_with_length(var104, var105); +var103 = var106; +varonce102 = var103; } { -var103 = location__Location__colored_line(var_l, var99); +var107 = location__Location__colored_line(var_l, var103); } -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; +var108 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var108 = array_instance Array[Object] */ +var109 = 8; +var110 = NEW_array__NativeArray(var109, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var110)->values[0] = (val*) var_yellow; +((struct instance_array__NativeArray*)var110)->values[1] = (val*) var_l; +((struct instance_array__NativeArray*)var110)->values[2] = (val*) var_def; +((struct instance_array__NativeArray*)var110)->values[3] = (val*) var90; +((struct instance_array__NativeArray*)var110)->values[4] = (val*) var94; +((struct instance_array__NativeArray*)var110)->values[5] = (val*) var_tag; +((struct instance_array__NativeArray*)var110)->values[6] = (val*) var98; +((struct instance_array__NativeArray*)var110)->values[7] = (val*) var107; { -((void (*)(val*, val*, long))(var104->class->vft[COLOR_array__Array__with_native]))(var104, var106, var105) /* with_native on */; +((void (*)(val*, val*, long))(var108->class->vft[COLOR_array__Array__with_native]))(var108, var110, var109) /* with_native on */; } } { -var107 = ((val* (*)(val*))(var104->class->vft[COLOR_string__Object__to_s]))(var104) /* to_s on */; +var111 = ((val* (*)(val*))(var108->class->vft[COLOR_string__Object__to_s]))(var108) /* to_s on */; } -var = var107; +var = var111; goto RET_LABEL; } } @@ -713,17 +792,19 @@ var = var1; RET_LABEL:; 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___location].val = p0; /* _location on */ -self->attrs[COLOR_toolcontext__Message___text].val = p1; /* _text on */ +/* method toolcontext#Message#init for (self: Message) */ +void toolcontext__Message__init(val* self) { +{ +((void (*)(val*))(self->class->vft[COLOR_toolcontext__Message__init]))(self) /* init on */; +} RET_LABEL:; } -/* method toolcontext#Message#init for (self: Object, nullable Location, String) */ -void VIRTUAL_toolcontext__Message__init(val* self, val* p0, val* 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 */ +/* method toolcontext#Message#init for (self: Object) */ +void VIRTUAL_toolcontext__Message__init(val* self) { +{ /* Inline toolcontext#Message#init (self) on */ +{ +((void (*)(val*))(self->class->vft[COLOR_toolcontext__Message__init]))(self) /* init on */; +} RET_LABEL1:(void)0; } RET_LABEL:; @@ -807,7 +888,7 @@ val* var1 /* : String */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 101); show_backtrace(1); } var = var1; @@ -823,7 +904,7 @@ val* var3 /* : String */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 101); show_backtrace(1); } var1 = var3; @@ -853,7 +934,7 @@ val* var1 /* : Array[Message] */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 104); show_backtrace(1); } var = var1; @@ -869,7 +950,7 @@ val* var3 /* : Array[Message] */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 104); show_backtrace(1); } var1 = var3; @@ -879,30 +960,30 @@ var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#message_sorter for (self: ToolContext): ComparableSorter[Message] */ +/* method toolcontext#ToolContext#message_sorter for (self: ToolContext): Comparator */ val* toolcontext__ToolContext__message_sorter(val* self) { -val* var /* : ComparableSorter[Message] */; -val* var1 /* : ComparableSorter[Message] */; +val* var /* : Comparator */; +val* var1 /* : Comparator */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 106); show_backtrace(1); } var = var1; RET_LABEL:; return var; } -/* method toolcontext#ToolContext#message_sorter for (self: Object): ComparableSorter[Message] */ +/* method toolcontext#ToolContext#message_sorter for (self: Object): Comparator */ val* VIRTUAL_toolcontext__ToolContext__message_sorter(val* self) { -val* var /* : ComparableSorter[Message] */; -val* var1 /* : ComparableSorter[Message] */; -val* var3 /* : ComparableSorter[Message] */; +val* var /* : Comparator */; +val* var1 /* : Comparator */; +val* var3 /* : Comparator */; { /* 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 106); show_backtrace(1); } var1 = var3; @@ -917,73 +998,76 @@ void toolcontext__ToolContext__check_errors(val* self) { val* var /* : Array[Message] */; val* var2 /* : Array[Message] */; long var3 /* : Int */; -long var4 /* : Int */; -short int var5 /* : Bool */; +long var5 /* : Int */; +long var6 /* : Int */; short int var7 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var8 /* : Bool */; -val* var9 /* : ComparableSorter[Message] */; -val* var11 /* : ComparableSorter[Message] */; -val* var12 /* : Array[Message] */; +short int var10 /* : Bool */; +val* var11 /* : Comparator */; +val* var13 /* : Comparator */; val* var14 /* : Array[Message] */; -val* var15 /* : Array[Message] */; +val* var16 /* : Array[Message] */; val* var17 /* : Array[Message] */; -val* var18 /* : ArrayIterator[nullable Object] */; -short int var19 /* : Bool */; -val* var20 /* : nullable Object */; +val* var19 /* : Array[Message] */; +val* var_ /* var : Array[Message] */; +val* var20 /* : ArrayIterator[nullable Object] */; +val* var_21 /* var : ArrayIterator[Message] */; +short int var22 /* : Bool */; +val* var23 /* : nullable Object */; val* var_m /* var m: Message */; -val* 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 */; +val* var24 /* : OptionBool */; +val* var26 /* : OptionBool */; +val* var27 /* : nullable Object */; +val* var29 /* : nullable Object */; +short int var30 /* : Bool */; +val* var31 /* : Sys */; +val* var33 /* : Sys */; +val* var34 /* : OStream */; +val* var36 /* : OStream */; static val* varonce; -val* var34 /* : String */; -char* var35 /* : NativeString */; -long var36 /* : Int */; -val* var37 /* : FlatString */; -val* var38 /* : Array[Object] */; +val* var37 /* : String */; +char* var38 /* : NativeString */; 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] */; +val* var40 /* : FlatString */; +val* var41 /* : Array[Object] */; +long var42 /* : Int */; +val* var43 /* : NativeArray[Object] */; +val* var44 /* : String */; +val* var45 /* : Sys */; +val* var47 /* : Sys */; +val* var48 /* : OStream */; +val* var50 /* : OStream */; +val* var51 /* : String */; +static val* varonce52; +val* var53 /* : String */; +char* var54 /* : NativeString */; 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; +val* var56 /* : FlatString */; +val* var57 /* : Array[Object] */; +long var58 /* : Int */; +val* var59 /* : NativeArray[Object] */; +val* var60 /* : String */; +val* var62 /* : Array[Message] */; +val* var64 /* : Array[Message] */; +long var65 /* : Int */; +long var67 /* : Int */; +long var68 /* : Int */; +short int var69 /* : Bool */; short int var71 /* : Bool */; -long var72 /* : Int */; +int cltype72; +int idtype73; +const char* var_class_name74; +short int var75 /* : Bool */; +long var76 /* : 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 104); show_backtrace(1); } var = var2; @@ -991,248 +1075,264 @@ RET_LABEL1:(void)0; } } { -var3 = array__AbstractArrayRead__length(var); +{ /* Inline array#AbstractArrayRead#length (var) on */ +var5 = var->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on */ +var3 = var5; +RET_LABEL4:(void)0; } -var4 = 0; +} +var6 = 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)) { +{ /* Inline kernel#Int#> (var3,var6) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var9 = 1; /* easy isa OTHER*/ +if (unlikely(!var9)) { 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", 327); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373); show_backtrace(1); } -var8 = var3 > var4; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var10 = var3 > var6; +var7 = var10; +goto RET_LABEL8; +RET_LABEL8:(void)0; } } -if (var5){ +if (var7){ { { /* Inline toolcontext#ToolContext#message_sorter (self) on */ -var11 = self->attrs[COLOR_toolcontext__ToolContext___message_sorter].val; /* _message_sorter on */ -if (unlikely(var11 == NULL)) { +var13 = self->attrs[COLOR_toolcontext__ToolContext___message_sorter].val; /* _message_sorter on */ +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _message_sorter"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 86); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 106); show_backtrace(1); } -var9 = var11; -RET_LABEL10:(void)0; +var11 = var13; +RET_LABEL12:(void)0; } } { { /* Inline toolcontext#ToolContext#messages (self) on */ -var14 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ -if (unlikely(var14 == NULL)) { +var16 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var16 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 104); show_backtrace(1); } -var12 = var14; -RET_LABEL13:(void)0; +var14 = var16; +RET_LABEL15:(void)0; } } { -sorter__Comparator__sort(var9, var12); /* Direct call sorter#Comparator#sort on */ +sorter__Comparator__sort(var11, var14); /* Direct call sorter#Comparator#sort on */ } { { /* Inline toolcontext#ToolContext#messages (self) on */ -var17 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ -if (unlikely(var17 == NULL)) { +var19 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var19 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 104); show_backtrace(1); } -var15 = var17; -RET_LABEL16:(void)0; +var17 = var19; +RET_LABEL18:(void)0; } } +var_ = var17; { -var18 = array__AbstractArrayRead__iterator(var15); +var20 = array__AbstractArrayRead__iterator(var_); } +var_21 = var20; for(;;) { { -var19 = array__ArrayIterator__is_ok(var18); +var22 = array__ArrayIterator__is_ok(var_21); } -if(!var19) break; +if (var22){ { -var20 = array__ArrayIterator__item(var18); +var23 = array__ArrayIterator__item(var_21); } -var_m = var20; +var_m = var23; { { /* 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)) { +var26 = self->attrs[COLOR_toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ +if (unlikely(var26 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 196); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 264); show_backtrace(1); } -var21 = var23; -RET_LABEL22:(void)0; +var24 = var26; +RET_LABEL25:(void)0; } } { -{ /* Inline opts#Option#value (var21) on */ -var26 = var21->attrs[COLOR_opts__Option___value].val; /* _value on */ -var24 = var26; -RET_LABEL25:(void)0; +{ /* Inline opts#Option#value (var24) on */ +var29 = var24->attrs[COLOR_opts__Option___value].val; /* _value on */ +var27 = var29; +RET_LABEL28:(void)0; } } -var27 = ((struct instance_kernel__Bool*)var24)->value; /* autounbox from nullable Object to Bool */; -if (var27){ +var30 = ((struct instance_kernel__Bool*)var27)->value; /* autounbox from nullable Object to Bool */; +if (var30){ { { /* Inline kernel#Object#sys (self) on */ -var30 = glob_sys; -var28 = var30; -goto RET_LABEL29; -RET_LABEL29:(void)0; +var33 = glob_sys; +var31 = var33; +goto RET_LABEL32; +RET_LABEL32:(void)0; } } { -{ /* Inline file#Sys#stderr (var28) on */ -var33 = var28->attrs[COLOR_file__Sys___stderr].val; /* _stderr on */ -if (unlikely(var33 == NULL)) { +{ /* Inline file#Sys#stderr (var31) on */ +var36 = var31->attrs[COLOR_file__Sys___stderr].val; /* _stderr on */ +if (unlikely(var36 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr"); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/file.nit", 533); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 637); show_backtrace(1); } -var31 = var33; -RET_LABEL32:(void)0; +var34 = var36; +RET_LABEL35:(void)0; } } if (varonce) { -var34 = varonce; +var37 = varonce; } else { -var35 = "\n"; -var36 = 1; -var37 = string__NativeString__to_s_with_length(var35, var36); -var34 = var37; -varonce = var34; +var38 = "\n"; +var39 = 1; +var40 = string__NativeString__to_s_with_length(var38, var39); +var37 = var40; +varonce = var37; } -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; +var41 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var41 = array_instance Array[Object] */ +var42 = 2; +var43 = NEW_array__NativeArray(var42, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var43)->values[0] = (val*) var_m; +((struct instance_array__NativeArray*)var43)->values[1] = (val*) var37; { -((void (*)(val*, val*, long))(var38->class->vft[COLOR_array__Array__with_native]))(var38, var40, var39) /* with_native on */; +((void (*)(val*, val*, long))(var41->class->vft[COLOR_array__Array__with_native]))(var41, var43, var42) /* with_native on */; } } { -var41 = ((val* (*)(val*))(var38->class->vft[COLOR_string__Object__to_s]))(var38) /* to_s on */; +var44 = ((val* (*)(val*))(var41->class->vft[COLOR_string__Object__to_s]))(var41) /* to_s on */; } { -file__OFStream__write(var31, var41); /* Direct call file#OFStream#write on */ +file__OFStream__write(var34, var44); /* 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; +var47 = glob_sys; +var45 = var47; +goto RET_LABEL46; +RET_LABEL46:(void)0; } } { -{ /* Inline file#Sys#stderr (var42) on */ -var47 = var42->attrs[COLOR_file__Sys___stderr].val; /* _stderr on */ -if (unlikely(var47 == NULL)) { +{ /* Inline file#Sys#stderr (var45) on */ +var50 = var45->attrs[COLOR_file__Sys___stderr].val; /* _stderr on */ +if (unlikely(var50 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr"); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/file.nit", 533); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 637); show_backtrace(1); } -var45 = var47; -RET_LABEL46:(void)0; +var48 = var50; +RET_LABEL49:(void)0; } } { -var48 = toolcontext__Message__to_color_string(var_m); +var51 = toolcontext__Message__to_color_string(var_m); } -if (varonce49) { -var50 = varonce49; +if (varonce52) { +var53 = varonce52; } else { -var51 = "\n"; -var52 = 1; -var53 = string__NativeString__to_s_with_length(var51, var52); -var50 = var53; -varonce49 = var50; +var54 = "\n"; +var55 = 1; +var56 = string__NativeString__to_s_with_length(var54, var55); +var53 = var56; +varonce52 = var53; } -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; +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*) var51; +((struct instance_array__NativeArray*)var59)->values[1] = (val*) var53; { -((void (*)(val*, val*, long))(var54->class->vft[COLOR_array__Array__with_native]))(var54, var56, var55) /* with_native on */; +((void (*)(val*, val*, long))(var57->class->vft[COLOR_array__Array__with_native]))(var57, var59, var58) /* with_native on */; } } { -var57 = ((val* (*)(val*))(var54->class->vft[COLOR_string__Object__to_s]))(var54) /* to_s on */; +var60 = ((val* (*)(val*))(var57->class->vft[COLOR_string__Object__to_s]))(var57) /* to_s on */; } { -file__OFStream__write(var45, var57); /* Direct call file#OFStream#write on */ +file__OFStream__write(var48, var60); /* Direct call file#OFStream#write on */ } } -CONTINUE_label: (void)0; { -array__ArrayIterator__next(var18); /* Direct call array#ArrayIterator#next on */ +array__ArrayIterator__next(var_21); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label; } } BREAK_label: (void)0; { +{ /* Inline abstract_collection#Iterator#finish (var_21) on */ +RET_LABEL61:(void)0; +} +} +{ { /* Inline toolcontext#ToolContext#messages (self) on */ -var60 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ -if (unlikely(var60 == NULL)) { +var64 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var64 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 104); show_backtrace(1); } -var58 = var60; -RET_LABEL59:(void)0; +var62 = var64; +RET_LABEL63:(void)0; } } { -array__AbstractArray__clear(var58); /* Direct call array#AbstractArray#clear on */ +array__AbstractArray__clear(var62); /* 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; +var67 = self->attrs[COLOR_toolcontext__ToolContext___error_count].l; /* _error_count on */ +var65 = var67; +RET_LABEL66:(void)0; } } -var64 = 0; +var68 = 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); +{ /* Inline kernel#Int#> (var65,var68) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var71 = 1; /* easy isa OTHER*/ +if (unlikely(!var71)) { +var_class_name74 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373); show_backtrace(1); } -var71 = var61 > var64; -var65 = var71; -goto RET_LABEL66; -RET_LABEL66:(void)0; +var75 = var65 > var68; +var69 = var75; +goto RET_LABEL70; +RET_LABEL70:(void)0; } } -if (var65){ -var72 = 1; +if (var69){ { -{ /* Inline kernel#Object#exit (self,var72) on */ -exit(var72); -RET_LABEL73:(void)0; +toolcontext__ToolContext__errors_info(self); /* Direct call toolcontext#ToolContext#errors_info on */ +} +var76 = 1; +{ +{ /* Inline kernel#Object#exit (self,var76) on */ +exit(var76); +RET_LABEL77:(void)0; } } } else { @@ -1244,18 +1344,226 @@ 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* var2 /* : Array[Message] */; -val* var3 /* : Message */; -long var5 /* : Int */; -long var7 /* : Int */; -long var8 /* : Int */; -long var9 /* : Int */; -short int var11 /* : Bool */; +/* method toolcontext#ToolContext#errors_info for (self: ToolContext) */ +void toolcontext__ToolContext__errors_info(val* self) { +short int var /* : Bool */; +long var1 /* : Int */; +long var3 /* : Int */; +long var4 /* : Int */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; +short int var_ /* var : Bool */; +long var9 /* : Int */; +long var11 /* : Int */; +long var12 /* : Int */; +short int var13 /* : Bool */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; +val* var17 /* : OptionBool */; +val* var19 /* : OptionBool */; +val* var20 /* : nullable Object */; +val* var22 /* : nullable Object */; +short int var23 /* : Bool */; +val* var24 /* : Sys */; +val* var26 /* : Sys */; +val* var27 /* : OStream */; +val* var29 /* : OStream */; +static val* varonce; +val* var30 /* : String */; +char* var31 /* : NativeString */; +long var32 /* : Int */; +val* var33 /* : FlatString */; +long var34 /* : Int */; +long var36 /* : Int */; +static val* varonce37; +val* var38 /* : String */; +char* var39 /* : NativeString */; +long var40 /* : Int */; +val* var41 /* : FlatString */; +long var42 /* : Int */; +long var44 /* : Int */; +static val* varonce45; +val* var46 /* : String */; +char* var47 /* : NativeString */; +long var48 /* : Int */; +val* var49 /* : FlatString */; +val* var50 /* : Array[Object] */; +long var51 /* : Int */; +val* var52 /* : NativeArray[Object] */; +val* var53 /* : Object */; +val* var54 /* : Object */; +val* var55 /* : String */; +{ +{ /* 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; +} +} +var4 = 0; +{ +{ /* Inline kernel#Int#== (var1,var4) on */ +var8 = var1 == var4; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +var5 = var6; +} +var_ = var5; +if (var5){ +{ +{ /* Inline toolcontext#ToolContext#warning_count (self) on */ +var11 = self->attrs[COLOR_toolcontext__ToolContext___warning_count].l; /* _warning_count on */ +var9 = var11; +RET_LABEL10:(void)0; +} +} +var12 = 0; +{ +{ /* Inline kernel#Int#== (var9,var12) on */ +var16 = var9 == var12; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +var13 = var14; +} +var = var13; +} else { +var = var_; +} +if (var){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline toolcontext#ToolContext#opt_no_color (self) on */ +var19 = self->attrs[COLOR_toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ +if (unlikely(var19 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 264); +show_backtrace(1); +} +var17 = var19; +RET_LABEL18:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var17) on */ +var22 = var17->attrs[COLOR_opts__Option___value].val; /* _value on */ +var20 = var22; +RET_LABEL21:(void)0; +} +} +var23 = ((struct instance_kernel__Bool*)var20)->value; /* autounbox from nullable Object to Bool */; +if (var23){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline kernel#Object#sys (self) on */ +var26 = glob_sys; +var24 = var26; +goto RET_LABEL25; +RET_LABEL25:(void)0; +} +} +{ +{ /* Inline file#Sys#stderr (var24) on */ +var29 = var24->attrs[COLOR_file__Sys___stderr].val; /* _stderr on */ +if (unlikely(var29 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stderr"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 637); +show_backtrace(1); +} +var27 = var29; +RET_LABEL28:(void)0; +} +} +if (varonce) { +var30 = varonce; +} else { +var31 = "Errors: "; +var32 = 8; +var33 = string__NativeString__to_s_with_length(var31, var32); +var30 = var33; +varonce = var30; +} +{ +{ /* Inline toolcontext#ToolContext#error_count (self) on */ +var36 = self->attrs[COLOR_toolcontext__ToolContext___error_count].l; /* _error_count on */ +var34 = var36; +RET_LABEL35:(void)0; +} +} +if (varonce37) { +var38 = varonce37; +} else { +var39 = ". Warnings: "; +var40 = 12; +var41 = string__NativeString__to_s_with_length(var39, var40); +var38 = var41; +varonce37 = var38; +} +{ +{ /* Inline toolcontext#ToolContext#warning_count (self) on */ +var44 = self->attrs[COLOR_toolcontext__ToolContext___warning_count].l; /* _warning_count on */ +var42 = var44; +RET_LABEL43:(void)0; +} +} +if (varonce45) { +var46 = varonce45; +} else { +var47 = ".\n"; +var48 = 2; +var49 = string__NativeString__to_s_with_length(var47, var48); +var46 = var49; +varonce45 = var46; +} +var50 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var50 = array_instance Array[Object] */ +var51 = 5; +var52 = NEW_array__NativeArray(var51, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var52)->values[0] = (val*) var30; +var53 = BOX_kernel__Int(var34); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var52)->values[1] = (val*) var53; +((struct instance_array__NativeArray*)var52)->values[2] = (val*) var38; +var54 = BOX_kernel__Int(var42); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var52)->values[3] = (val*) var54; +((struct instance_array__NativeArray*)var52)->values[4] = (val*) var46; +{ +((void (*)(val*, val*, long))(var50->class->vft[COLOR_array__Array__with_native]))(var50, var52, var51) /* with_native on */; +} +} +{ +var55 = ((val* (*)(val*))(var50->class->vft[COLOR_string__Object__to_s]))(var50) /* to_s on */; +} +{ +file__OFStream__write(var27, var55); /* Direct call file#OFStream#write on */ +} +RET_LABEL:; +} +/* method toolcontext#ToolContext#errors_info for (self: Object) */ +void VIRTUAL_toolcontext__ToolContext__errors_info(val* self) { +toolcontext__ToolContext__errors_info(self); /* Direct call toolcontext#ToolContext#errors_info 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* var2 /* : Array[Message] */; +val* var3 /* : Message */; +val* var4 /* : null */; +long var5 /* : Int */; +long var7 /* : Int */; +long var8 /* : Int */; +long var9 /* : Int */; +short int var11 /* : Bool */; int cltype; int idtype; const char* var_class_name; @@ -1272,7 +1580,7 @@ var_s = p1; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 104); show_backtrace(1); } var = var2; @@ -1280,12 +1588,18 @@ RET_LABEL1:(void)0; } } var3 = NEW_toolcontext__Message(&type_toolcontext__Message); +var4 = NULL; { -{ /* 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; +((void (*)(val*, val*))(var3->class->vft[COLOR_toolcontext__Message__location_61d]))(var3, var_l) /* location= on */; +} +{ +((void (*)(val*, val*))(var3->class->vft[COLOR_toolcontext__Message__tag_61d]))(var3, var4) /* tag= on */; +} +{ +((void (*)(val*, val*))(var3->class->vft[COLOR_toolcontext__Message__text_61d]))(var3, var_s) /* text= on */; } +{ +((void (*)(val*))(var3->class->vft[COLOR_kernel__Object__init]))(var3) /* init on */; } { array__Array__add(var, var3); /* Direct call array#Array#add on */ @@ -1306,7 +1620,7 @@ 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); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } var12 = var5 + var8; @@ -1316,32 +1630,313 @@ 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#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", "toolcontext.nit", 261); +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 */ +} +} 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); /* Direct call toolcontext#ToolContext#error on */ +RET_LABEL:; +} +/* method toolcontext#ToolContext#fatal_error for (self: ToolContext, nullable Location, String) */ +void toolcontext__ToolContext__fatal_error(val* self, val* p0, val* p1) { +val* var_l /* var l: nullable Location */; +val* var_s /* var s: String */; +var_l = p0; +var_s = p1; +{ +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); /* Direct call toolcontext#ToolContext#fatal_error on */ +RET_LABEL:; +} +/* method toolcontext#ToolContext#warning for (self: ToolContext, nullable Location, String, String) */ +void toolcontext__ToolContext__warning(val* self, val* p0, val* p1, val* p2) { +val* var_l /* var l: nullable Location */; +val* var_tag /* var tag: String */; +val* var_text /* var text: String */; +val* var /* : OptionArray */; +val* var2 /* : OptionArray */; +val* var3 /* : nullable Object */; +val* var5 /* : nullable Object */; +static val* varonce; +val* var6 /* : String */; +char* var7 /* : NativeString */; +long var8 /* : Int */; +val* var9 /* : FlatString */; +val* var10 /* : Array[Object] */; +long var11 /* : Int */; +val* var12 /* : NativeArray[Object] */; +val* var13 /* : String */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +val* var16 /* : OptionArray */; +val* var18 /* : OptionArray */; +val* var19 /* : nullable Object */; +val* var21 /* : nullable Object */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +short int var_ /* var : Bool */; +val* var24 /* : OptionCount */; +val* var26 /* : OptionCount */; +val* var27 /* : nullable Object */; +val* var29 /* : nullable Object */; +long var30 /* : Int */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; +long var35 /* : Int */; +val* var36 /* : Array[Message] */; +val* var38 /* : Array[Message] */; +val* var39 /* : Message */; +long var40 /* : Int */; +long var42 /* : Int */; +long var43 /* : Int */; +long var44 /* : Int */; +short int var46 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var47 /* : Int */; +val* var49 /* : OptionBool */; +val* var51 /* : OptionBool */; +val* var52 /* : nullable Object */; +val* var54 /* : nullable Object */; +short int var55 /* : Bool */; +var_l = p0; +var_tag = p1; +var_text = p2; +{ +{ /* Inline toolcontext#ToolContext#opt_warning (self) on */ +var2 = self->attrs[COLOR_toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ +if (unlikely(var2 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 237); +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; +RET_LABEL4:(void)0; +} +} +if (varonce) { +var6 = varonce; +} else { +var7 = "no-"; +var8 = 3; +var9 = string__NativeString__to_s_with_length(var7, var8); +var6 = var9; +varonce = var6; +} +var10 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var10 = array_instance Array[Object] */ +var11 = 2; +var12 = NEW_array__NativeArray(var11, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var12)->values[0] = (val*) var6; +((struct instance_array__NativeArray*)var12)->values[1] = (val*) var_tag; +{ +((void (*)(val*, val*, long))(var10->class->vft[COLOR_array__Array__with_native]))(var10, var12, var11) /* with_native on */; +} +} +{ +var13 = ((val* (*)(val*))(var10->class->vft[COLOR_string__Object__to_s]))(var10) /* to_s on */; +} +{ +var14 = array__AbstractArrayRead__has(var3, var13); +} +if (var14){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline toolcontext#ToolContext#opt_warning (self) on */ +var18 = self->attrs[COLOR_toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ +if (unlikely(var18 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 237); +show_backtrace(1); +} +var16 = var18; +RET_LABEL17:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var16) on */ +var21 = var16->attrs[COLOR_opts__Option___value].val; /* _value on */ +var19 = var21; +RET_LABEL20:(void)0; +} +} +{ +var22 = array__AbstractArrayRead__has(var19, var_tag); +} +var23 = !var22; +var_ = var23; +if (var23){ +{ +{ /* Inline toolcontext#ToolContext#opt_warn (self) on */ +var26 = self->attrs[COLOR_toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ +if (unlikely(var26 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 234); +show_backtrace(1); +} +var24 = var26; +RET_LABEL25:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var24) on */ +var29 = var24->attrs[COLOR_opts__Option___value].val; /* _value on */ +var27 = var29; +RET_LABEL28:(void)0; +} +} +var30 = 0; +{ +{ /* Inline kernel#Int#== (var27,var30) on */ +var34 = (var27 != NULL) && (var27->class == &class_kernel__Int); +if (var34) { +var35 = ((struct instance_kernel__Int*)var27)->value; /* autounbox from nullable Object to Int */; +var34 = (var35 == var30); +} +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +var31 = var32; +} +var15 = var31; +} else { +var15 = var_; +} +if (var15){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline toolcontext#ToolContext#messages (self) on */ +var38 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var38 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 104); +show_backtrace(1); +} +var36 = var38; +RET_LABEL37:(void)0; +} +} +var39 = NEW_toolcontext__Message(&type_toolcontext__Message); +{ +((void (*)(val*, val*))(var39->class->vft[COLOR_toolcontext__Message__location_61d]))(var39, var_l) /* location= on */; +} +{ +((void (*)(val*, val*))(var39->class->vft[COLOR_toolcontext__Message__tag_61d]))(var39, var_tag) /* tag= on */; +} +{ +((void (*)(val*, val*))(var39->class->vft[COLOR_toolcontext__Message__text_61d]))(var39, var_text) /* text= on */; +} +{ +((void (*)(val*))(var39->class->vft[COLOR_kernel__Object__init]))(var39) /* init on */; +} +{ +array__Array__add(var36, var39); /* Direct call array#Array#add on */ +} +{ +{ /* Inline toolcontext#ToolContext#warning_count (self) on */ +var42 = self->attrs[COLOR_toolcontext__ToolContext___warning_count].l; /* _warning_count on */ +var40 = var42; +RET_LABEL41:(void)0; +} +} +var43 = 1; +{ +{ /* Inline kernel#Int#+ (var40,var43) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var46 = 1; /* easy isa OTHER*/ +if (unlikely(!var46)) { +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", 374); +show_backtrace(1); +} +var47 = var40 + var43; +var44 = var47; +goto RET_LABEL45; +RET_LABEL45:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#warning_count= (self,var44) on */ +self->attrs[COLOR_toolcontext__ToolContext___warning_count].l = var44; /* _warning_count on */ +RET_LABEL48:(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)) { +var51 = self->attrs[COLOR_toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ +if (unlikely(var51 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 193); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 261); show_backtrace(1); } -var14 = var16; -RET_LABEL15:(void)0; +var49 = var51; +RET_LABEL50:(void)0; } } { -{ /* Inline opts#Option#value (var14) on */ -var19 = var14->attrs[COLOR_opts__Option___value].val; /* _value on */ -var17 = var19; -RET_LABEL18:(void)0; +{ /* Inline opts#Option#value (var49) on */ +var54 = var49->attrs[COLOR_opts__Option___value].val; /* _value on */ +var52 = var54; +RET_LABEL53:(void)0; } } -var20 = ((struct instance_kernel__Bool*)var17)->value; /* autounbox from nullable Object to Bool */; -if (var20){ +var55 = ((struct instance_kernel__Bool*)var52)->value; /* autounbox from nullable Object to Bool */; +if (var55){ { toolcontext__ToolContext__check_errors(self); /* Direct call toolcontext#ToolContext#check_errors on */ } @@ -1349,68 +1944,76 @@ toolcontext__ToolContext__check_errors(self); /* Direct call toolcontext#ToolCon } 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); /* Direct call toolcontext#ToolContext#error on */ -RET_LABEL:; -} -/* method toolcontext#ToolContext#fatal_error for (self: ToolContext, nullable Location, String) */ -void toolcontext__ToolContext__fatal_error(val* self, val* p0, val* p1) { -val* var_l /* var l: nullable Location */; -val* var_s /* var s: String */; -var_l = p0; -var_s = p1; -{ -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); /* Direct call toolcontext#ToolContext#fatal_error on */ +/* method toolcontext#ToolContext#warning for (self: Object, nullable Location, String, String) */ +void VIRTUAL_toolcontext__ToolContext__warning(val* self, val* p0, val* p1, val* p2) { +toolcontext__ToolContext__warning(self, p0, p1, p2); /* Direct call toolcontext#ToolContext#warning on */ RET_LABEL:; } -/* method toolcontext#ToolContext#warning for (self: ToolContext, nullable Location, String) */ -void toolcontext__ToolContext__warning(val* self, val* p0, val* p1) { +/* method toolcontext#ToolContext#advice for (self: ToolContext, nullable Location, String, String) */ +void toolcontext__ToolContext__advice(val* self, val* p0, val* p1, val* p2) { val* var_l /* var l: nullable Location */; -val* var_s /* var s: String */; -val* var /* : OptionCount */; -val* var2 /* : OptionCount */; +val* var_tag /* var tag: String */; +val* var_text /* var text: String */; +val* var /* : OptionArray */; +val* var2 /* : OptionArray */; val* var3 /* : nullable Object */; val* var5 /* : nullable Object */; -long var6 /* : Int */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -short int var10 /* : Bool */; +static val* varonce; +val* var6 /* : String */; +char* var7 /* : NativeString */; +long var8 /* : Int */; +val* var9 /* : FlatString */; +val* var10 /* : Array[Object] */; long var11 /* : Int */; -val* var12 /* : Array[Message] */; -val* var14 /* : Array[Message] */; -val* var15 /* : Message */; -long var17 /* : Int */; -long var19 /* : Int */; -long var20 /* : Int */; -long var21 /* : Int */; +val* var12 /* : NativeArray[Object] */; +val* var13 /* : String */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +val* var16 /* : OptionArray */; +val* var18 /* : OptionArray */; +val* var19 /* : nullable Object */; +val* var21 /* : nullable Object */; +short int var22 /* : Bool */; short int var23 /* : Bool */; +short int var_ /* var : Bool */; +val* var24 /* : OptionCount */; +val* var26 /* : OptionCount */; +val* var27 /* : nullable Object */; +val* var29 /* : nullable Object */; +long var30 /* : Int */; +short int var31 /* : Bool */; +short int var33 /* : 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 */; +long var34 /* : Int */; +short int var35 /* : Bool */; +val* var36 /* : Array[Message] */; +val* var38 /* : Array[Message] */; +val* var39 /* : Message */; +long var40 /* : Int */; +long var42 /* : Int */; +long var43 /* : Int */; +long var44 /* : Int */; +short int var46 /* : Bool */; +int cltype47; +int idtype48; +const char* var_class_name49; +long var50 /* : Int */; +val* var52 /* : OptionBool */; +val* var54 /* : OptionBool */; +val* var55 /* : nullable Object */; +val* var57 /* : nullable Object */; +short int var58 /* : Bool */; var_l = p0; -var_s = p1; +var_tag = p1; +var_text = p2; { -{ /* Inline toolcontext#ToolContext#opt_warn (self) on */ -var2 = self->attrs[COLOR_toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ +{ /* Inline toolcontext#ToolContext#opt_warning (self) on */ +var2 = self->attrs[COLOR_toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ if (unlikely(var2 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 169); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 237); show_backtrace(1); } var = var2; @@ -1418,105 +2021,192 @@ RET_LABEL1:(void)0; } } { -{ /* Inline opts#Option#value (var) on */ -var5 = var->attrs[COLOR_opts__Option___value].val; /* _value on */ +{ /* Inline opts#Option#value (var) on */ +var5 = var->attrs[COLOR_opts__Option___value].val; /* _value on */ var3 = var5; RET_LABEL4:(void)0; } } -var6 = 0; +if (varonce) { +var6 = varonce; +} else { +var7 = "no-"; +var8 = 3; +var9 = string__NativeString__to_s_with_length(var7, var8); +var6 = var9; +varonce = var6; +} +var10 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var10 = array_instance Array[Object] */ +var11 = 2; +var12 = NEW_array__NativeArray(var11, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var12)->values[0] = (val*) var6; +((struct instance_array__NativeArray*)var12)->values[1] = (val*) var_tag; { -{ /* 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); +((void (*)(val*, val*, long))(var10->class->vft[COLOR_array__Array__with_native]))(var10, var12, var11) /* with_native on */; } -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; } -var7 = var8; +{ +var13 = ((val* (*)(val*))(var10->class->vft[COLOR_string__Object__to_s]))(var10) /* to_s on */; +} +{ +var14 = array__AbstractArrayRead__has(var3, var13); } -if (var7){ +if (var14){ +goto RET_LABEL; +} else { +} +{ +{ /* Inline toolcontext#ToolContext#opt_warning (self) on */ +var18 = self->attrs[COLOR_toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ +if (unlikely(var18 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 237); +show_backtrace(1); +} +var16 = var18; +RET_LABEL17:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var16) on */ +var21 = var16->attrs[COLOR_opts__Option___value].val; /* _value on */ +var19 = var21; +RET_LABEL20:(void)0; +} +} +{ +var22 = array__AbstractArrayRead__has(var19, var_tag); +} +var23 = !var22; +var_ = var23; +if (var23){ +{ +{ /* Inline toolcontext#ToolContext#opt_warn (self) on */ +var26 = self->attrs[COLOR_toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ +if (unlikely(var26 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 234); +show_backtrace(1); +} +var24 = var26; +RET_LABEL25:(void)0; +} +} +{ +{ /* Inline opts#Option#value (var24) on */ +var29 = var24->attrs[COLOR_opts__Option___value].val; /* _value on */ +var27 = var29; +RET_LABEL28:(void)0; +} +} +var30 = 1; +{ +{ /* Inline kernel#Int#<= (var27,var30) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var33 = 1; /* easy isa OTHER*/ +if (unlikely(!var33)) { +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", 370); +show_backtrace(1); +} +var34 = ((struct instance_kernel__Int*)var27)->value; /* autounbox from nullable Object to Int */; +var35 = var34 <= var30; +var31 = var35; +goto RET_LABEL32; +RET_LABEL32:(void)0; +} +} +var15 = var31; +} else { +var15 = var_; +} +if (var15){ goto RET_LABEL; } else { } { { /* Inline toolcontext#ToolContext#messages (self) on */ -var14 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ -if (unlikely(var14 == NULL)) { +var38 = self->attrs[COLOR_toolcontext__ToolContext___messages].val; /* _messages on */ +if (unlikely(var38 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _messages"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 84); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 104); show_backtrace(1); } -var12 = var14; -RET_LABEL13:(void)0; +var36 = var38; +RET_LABEL37:(void)0; } } -var15 = NEW_toolcontext__Message(&type_toolcontext__Message); +var39 = 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; +((void (*)(val*, val*))(var39->class->vft[COLOR_toolcontext__Message__location_61d]))(var39, var_l) /* location= on */; +} +{ +((void (*)(val*, val*))(var39->class->vft[COLOR_toolcontext__Message__tag_61d]))(var39, var_tag) /* tag= on */; +} +{ +((void (*)(val*, val*))(var39->class->vft[COLOR_toolcontext__Message__text_61d]))(var39, var_text) /* text= on */; } +{ +((void (*)(val*))(var39->class->vft[COLOR_kernel__Object__init]))(var39) /* init on */; } { -array__Array__add(var12, var15); /* Direct call array#Array#add on */ +array__Array__add(var36, var39); /* 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; +var42 = self->attrs[COLOR_toolcontext__ToolContext___warning_count].l; /* _warning_count on */ +var40 = var42; +RET_LABEL41:(void)0; } } -var20 = 1; +var43 = 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); +{ /* Inline kernel#Int#+ (var40,var43) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var46 = 1; /* easy isa OTHER*/ +if (unlikely(!var46)) { +var_class_name49 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); show_backtrace(1); } -var24 = var17 + var20; -var21 = var24; -goto RET_LABEL22; -RET_LABEL22:(void)0; +var50 = var40 + var43; +var44 = var50; +goto RET_LABEL45; +RET_LABEL45:(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#warning_count= (self,var44) on */ +self->attrs[COLOR_toolcontext__ToolContext___warning_count].l = var44; /* _warning_count on */ +RET_LABEL51:(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)) { +var54 = self->attrs[COLOR_toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ +if (unlikely(var54 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 193); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 261); show_backtrace(1); } -var26 = var28; -RET_LABEL27:(void)0; +var52 = var54; +RET_LABEL53:(void)0; } } { -{ /* Inline opts#Option#value (var26) on */ -var31 = var26->attrs[COLOR_opts__Option___value].val; /* _value on */ -var29 = var31; -RET_LABEL30:(void)0; +{ /* Inline opts#Option#value (var52) on */ +var57 = var52->attrs[COLOR_opts__Option___value].val; /* _value on */ +var55 = var57; +RET_LABEL56:(void)0; } } -var32 = ((struct instance_kernel__Bool*)var29)->value; /* autounbox from nullable Object to Bool */; -if (var32){ +var58 = ((struct instance_kernel__Bool*)var55)->value; /* autounbox from nullable Object to Bool */; +if (var58){ { toolcontext__ToolContext__check_errors(self); /* Direct call toolcontext#ToolContext#check_errors on */ } @@ -1524,9 +2214,9 @@ toolcontext__ToolContext__check_errors(self); /* Direct call toolcontext#ToolCon } 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); /* Direct call toolcontext#ToolContext#warning on */ +/* method toolcontext#ToolContext#advice for (self: Object, nullable Location, String, String) */ +void VIRTUAL_toolcontext__ToolContext__advice(val* self, val* p0, val* p1, val* p2) { +toolcontext__ToolContext__advice(self, p0, p1, p2); /* Direct call toolcontext#ToolContext#advice on */ RET_LABEL:; } /* method toolcontext#ToolContext#info for (self: ToolContext, String, Int) */ @@ -1562,7 +2252,7 @@ var5 = 1; /* easy isa OTHER*/ if (unlikely(!var5)) { 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", 324); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370); show_backtrace(1); } var6 = var_level <= var; @@ -1603,7 +2293,7 @@ val* var1 /* : OptionContext */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231); show_backtrace(1); } var = var1; @@ -1619,7 +2309,7 @@ val* var3 /* : OptionContext */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231); show_backtrace(1); } var1 = var3; @@ -1636,7 +2326,7 @@ val* var1 /* : OptionCount */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 234); show_backtrace(1); } var = var1; @@ -1652,7 +2342,40 @@ val* var3 /* : OptionCount */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 234); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#opt_warning for (self: ToolContext): OptionArray */ +val* toolcontext__ToolContext__opt_warning(val* self) { +val* var /* : OptionArray */; +val* var1 /* : OptionArray */; +var1 = self->attrs[COLOR_toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 237); +show_backtrace(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#opt_warning for (self: Object): OptionArray */ +val* VIRTUAL_toolcontext__ToolContext__opt_warning(val* self) { +val* var /* : OptionArray */; +val* var1 /* : OptionArray */; +val* var3 /* : OptionArray */; +{ /* Inline toolcontext#ToolContext#opt_warning (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 237); show_backtrace(1); } var1 = var3; @@ -1669,7 +2392,7 @@ val* var1 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 240); show_backtrace(1); } var = var1; @@ -1685,7 +2408,7 @@ val* var3 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 240); show_backtrace(1); } var1 = var3; @@ -1702,7 +2425,7 @@ val* var1 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 243); show_backtrace(1); } var = var1; @@ -1718,7 +2441,7 @@ val* var3 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 243); show_backtrace(1); } var1 = var3; @@ -1735,7 +2458,7 @@ val* var1 /* : OptionString */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 246); show_backtrace(1); } var = var1; @@ -1751,7 +2474,7 @@ val* var3 /* : OptionString */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 246); show_backtrace(1); } var1 = var3; @@ -1768,7 +2491,7 @@ val* var1 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 249); show_backtrace(1); } var = var1; @@ -1784,7 +2507,7 @@ val* var3 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 249); show_backtrace(1); } var1 = var3; @@ -1801,7 +2524,7 @@ val* var1 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 252); show_backtrace(1); } var = var1; @@ -1817,7 +2540,7 @@ val* var3 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 252); show_backtrace(1); } var1 = var3; @@ -1834,7 +2557,7 @@ 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 255); show_backtrace(1); } var = var1; @@ -1850,7 +2573,7 @@ val* var3 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 255); show_backtrace(1); } var1 = var3; @@ -1867,7 +2590,7 @@ val* var1 /* : OptionCount */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 258); show_backtrace(1); } var = var1; @@ -1883,7 +2606,7 @@ val* var3 /* : OptionCount */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 258); show_backtrace(1); } var1 = var3; @@ -1900,7 +2623,7 @@ val* var1 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 261); show_backtrace(1); } var = var1; @@ -1916,7 +2639,7 @@ val* var3 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 261); show_backtrace(1); } var1 = var3; @@ -1933,7 +2656,7 @@ val* var1 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 264); show_backtrace(1); } var = var1; @@ -1949,7 +2672,7 @@ val* var3 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 264); show_backtrace(1); } var1 = var3; @@ -1966,7 +2689,7 @@ 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 267); show_backtrace(1); } var = var1; @@ -1982,7 +2705,40 @@ val* var3 /* : OptionBool */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 267); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#opt_stub_man for (self: ToolContext): OptionBool */ +val* toolcontext__ToolContext__opt_stub_man(val* self) { +val* var /* : OptionBool */; +val* var1 /* : OptionBool */; +var1 = self->attrs[COLOR_toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 270); +show_backtrace(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method toolcontext#ToolContext#opt_stub_man for (self: Object): OptionBool */ +val* VIRTUAL_toolcontext__ToolContext__opt_stub_man(val* self) { +val* var /* : OptionBool */; +val* var1 /* : OptionBool */; +val* var3 /* : OptionBool */; +{ /* Inline toolcontext#ToolContext#opt_stub_man (self) on */ +var3 = self->attrs[COLOR_toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 270); show_backtrace(1); } var1 = var3; @@ -2034,35 +2790,39 @@ val* var /* : OptionContext */; val* var2 /* : OptionContext */; val* var3 /* : OptionCount */; val* var5 /* : OptionCount */; -val* var6 /* : OptionBool */; -val* var8 /* : OptionBool */; +val* var6 /* : OptionArray */; +val* var8 /* : OptionArray */; 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* var18 /* : OptionBool */; +val* var20 /* : OptionBool */; +val* var21 /* : OptionString */; +val* var23 /* : OptionString */; 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] */; +val* var30 /* : OptionBool */; +val* var32 /* : OptionBool */; +val* var33 /* : OptionCount */; +val* var35 /* : OptionCount */; +val* var36 /* : OptionBool */; +val* var38 /* : OptionBool */; +val* var39 /* : OptionBool */; +val* var41 /* : OptionBool */; +val* var42 /* : Array[Option] */; +long var43 /* : Int */; +val* var44 /* : 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231); show_backtrace(1); } var = var2; @@ -2074,7 +2834,7 @@ RET_LABEL1:(void)0; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 234); show_backtrace(1); } var3 = var5; @@ -2082,11 +2842,11 @@ RET_LABEL4:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_quiet (self) on */ -var8 = self->attrs[COLOR_toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on */ +{ /* Inline toolcontext#ToolContext#opt_warning (self) on */ +var8 = self->attrs[COLOR_toolcontext__ToolContext___opt_warning].val; /* _opt_warning on */ if (unlikely(var8 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 172); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warning"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 237); show_backtrace(1); } var6 = var8; @@ -2094,11 +2854,11 @@ 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 */ +{ /* Inline toolcontext#ToolContext#opt_quiet (self) on */ +var11 = self->attrs[COLOR_toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet 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); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 240); show_backtrace(1); } var9 = var11; @@ -2106,11 +2866,11 @@ 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 */ +{ /* Inline toolcontext#ToolContext#opt_stop_on_first_error (self) on */ +var14 = self->attrs[COLOR_toolcontext__ToolContext___opt_stop_on_first_error].val; /* _opt_stop_on_first_error on */ if (unlikely(var14 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 196); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stop_on_first_error"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 261); show_backtrace(1); } var12 = var14; @@ -2118,11 +2878,11 @@ RET_LABEL13:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_log (self) on */ -var17 = self->attrs[COLOR_toolcontext__ToolContext___opt_log].val; /* _opt_log on */ +{ /* Inline toolcontext#ToolContext#opt_no_color (self) on */ +var17 = self->attrs[COLOR_toolcontext__ToolContext___opt_no_color].val; /* _opt_no_color on */ if (unlikely(var17 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 175); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_color"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 264); show_backtrace(1); } var15 = var17; @@ -2130,11 +2890,11 @@ 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 */ +{ /* Inline toolcontext#ToolContext#opt_log (self) on */ +var20 = self->attrs[COLOR_toolcontext__ToolContext___opt_log].val; /* _opt_log on */ if (unlikely(var20 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 178); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 243); show_backtrace(1); } var18 = var20; @@ -2142,11 +2902,11 @@ RET_LABEL19:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_help (self) on */ -var23 = self->attrs[COLOR_toolcontext__ToolContext___opt_help].val; /* _opt_help on */ +{ /* Inline toolcontext#ToolContext#opt_log_dir (self) on */ +var23 = self->attrs[COLOR_toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ if (unlikely(var23 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 181); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 246); show_backtrace(1); } var21 = var23; @@ -2154,11 +2914,11 @@ RET_LABEL22:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_version (self) on */ -var26 = self->attrs[COLOR_toolcontext__ToolContext___opt_version].val; /* _opt_version on */ +{ /* Inline toolcontext#ToolContext#opt_help (self) on */ +var26 = self->attrs[COLOR_toolcontext__ToolContext___opt_help].val; /* _opt_help on */ if (unlikely(var26 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 184); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_help"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 249); show_backtrace(1); } var24 = var26; @@ -2166,11 +2926,11 @@ 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 */ +{ /* Inline toolcontext#ToolContext#opt_version (self) on */ +var29 = self->attrs[COLOR_toolcontext__ToolContext___opt_version].val; /* _opt_version 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); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_version"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 252); show_backtrace(1); } var27 = var29; @@ -2178,11 +2938,11 @@ RET_LABEL28:(void)0; } } { -{ /* Inline toolcontext#ToolContext#opt_verbose (self) on */ -var32 = self->attrs[COLOR_toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on */ +{ /* Inline toolcontext#ToolContext#opt_set_dummy_tool (self) on */ +var32 = self->attrs[COLOR_toolcontext__ToolContext___opt_set_dummy_tool].val; /* _opt_set_dummy_tool on */ if (unlikely(var32 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 190); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_set_dummy_tool"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 255); show_backtrace(1); } var30 = var32; @@ -2190,38 +2950,64 @@ 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 */ +{ /* Inline toolcontext#ToolContext#opt_verbose (self) on */ +var35 = self->attrs[COLOR_toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on */ if (unlikely(var35 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 199); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 258); 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 */; +{ /* Inline toolcontext#ToolContext#opt_bash_completion (self) on */ +var38 = self->attrs[COLOR_toolcontext__ToolContext___opt_bash_completion].val; /* _opt_bash_completion on */ +if (unlikely(var38 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_bash_completion"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 267); +show_backtrace(1); +} +var36 = var38; +RET_LABEL37:(void)0; +} +} +{ +{ /* Inline toolcontext#ToolContext#opt_stub_man (self) on */ +var41 = self->attrs[COLOR_toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on */ +if (unlikely(var41 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 270); +show_backtrace(1); +} +var39 = var41; +RET_LABEL40:(void)0; +} +} +var42 = NEW_array__Array(&type_array__Arrayopts__Option); +{ /* var42 = array_instance Array[Option] */ +var43 = 13; +var44 = NEW_array__NativeArray(var43, &type_array__NativeArrayopts__Option); +((struct instance_array__NativeArray*)var44)->values[0] = (val*) var3; +((struct instance_array__NativeArray*)var44)->values[1] = (val*) var6; +((struct instance_array__NativeArray*)var44)->values[2] = (val*) var9; +((struct instance_array__NativeArray*)var44)->values[3] = (val*) var12; +((struct instance_array__NativeArray*)var44)->values[4] = (val*) var15; +((struct instance_array__NativeArray*)var44)->values[5] = (val*) var18; +((struct instance_array__NativeArray*)var44)->values[6] = (val*) var21; +((struct instance_array__NativeArray*)var44)->values[7] = (val*) var24; +((struct instance_array__NativeArray*)var44)->values[8] = (val*) var27; +((struct instance_array__NativeArray*)var44)->values[9] = (val*) var30; +((struct instance_array__NativeArray*)var44)->values[10] = (val*) var33; +((struct instance_array__NativeArray*)var44)->values[11] = (val*) var36; +((struct instance_array__NativeArray*)var44)->values[12] = (val*) var39; +{ +((void (*)(val*, val*, long))(var42->class->vft[COLOR_array__Array__with_native]))(var42, var44, var43) /* with_native on */; } } { -opts__OptionContext__add_option(var, var36); /* Direct call opts#OptionContext#add_option on */ +opts__OptionContext__add_option(var, var42); /* Direct call opts#OptionContext#add_option on */ } RET_LABEL:; } @@ -2237,7 +3023,7 @@ 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 281); show_backtrace(1); } var = var1; @@ -2253,7 +3039,7 @@ val* var3 /* : String */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 281); show_backtrace(1); } var1 = var3; @@ -2310,7 +3096,7 @@ val* var5 /* : OptionContext */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 281); show_backtrace(1); } var = var2; @@ -2325,7 +3111,7 @@ file__Object__print(self, var); /* Direct call file#Object#print on 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231); show_backtrace(1); } var3 = var5; @@ -2376,105 +3162,222 @@ 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* var37 /* : Sys */; +val* var39 /* : Sys */; +val* var40 /* : OStream */; +val* var42 /* : OStream */; +long var43 /* : Int */; +val* var45 /* : OptionBool */; +val* var47 /* : OptionBool */; +val* var48 /* : nullable Object */; +val* var50 /* : nullable Object */; +short int var51 /* : Bool */; +static val* varonce; +val* var52 /* : String */; +char* var53 /* : NativeString */; +long var54 /* : Int */; +val* var55 /* : FlatString */; +val* var56 /* : String */; +val* var57 /* : String */; +static val* varonce58; +val* var59 /* : String */; +char* var60 /* : NativeString */; +long var61 /* : Int */; +val* var62 /* : FlatString */; +val* var63 /* : String */; +val* var65 /* : String */; +static val* varonce66; +val* var67 /* : String */; +char* var68 /* : NativeString */; +long var69 /* : Int */; +val* var70 /* : FlatString */; +val* var71 /* : Array[Text] */; +long var72 /* : Int */; +val* var73 /* : nullable Object */; +static val* varonce74; +val* var75 /* : String */; +char* var76 /* : NativeString */; +long var77 /* : Int */; +val* var78 /* : FlatString */; +val* var79 /* : String */; +static val* varonce80; +val* var81 /* : String */; +char* var82 /* : NativeString */; +long var83 /* : Int */; +val* var84 /* : FlatString */; +val* var85 /* : Array[Object] */; +long var86 /* : Int */; +val* var87 /* : NativeArray[Object] */; val* var88 /* : String */; -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* var89 /* : OptionContext */; +val* var91 /* : OptionContext */; +val* var92 /* : Array[Option] */; +val* var94 /* : Array[Option] */; +val* var_ /* var : Array[Option] */; +val* var95 /* : ArrayIterator[nullable Object] */; +val* var_96 /* var : ArrayIterator[Option] */; +short int var97 /* : Bool */; +val* var98 /* : nullable Object */; +val* var_o /* var o: Option */; +short int var99 /* : Bool */; +short int var_first /* var first: Bool */; +val* var100 /* : Array[String] */; +val* var102 /* : Array[String] */; +val* var_103 /* var : Array[String] */; +val* var104 /* : ArrayIterator[nullable Object] */; +val* var_105 /* var : ArrayIterator[String] */; +short int var106 /* : Bool */; val* var107 /* : nullable Object */; +val* var_n /* var n: String */; short int var108 /* : Bool */; -val* var109 /* : OptionCount */; -val* var111 /* : OptionCount */; +static val* varonce109; +val* var110 /* : String */; +char* var111 /* : NativeString */; 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* var113 /* : FlatString */; +val* var114 /* : Array[Object] */; +long var115 /* : Int */; +val* var116 /* : NativeArray[Object] */; +static val* varonce117; +val* var118 /* : String */; +char* var119 /* : NativeString */; +long var120 /* : Int */; +val* var121 /* : FlatString */; +static val* varonce122; +val* var123 /* : String */; +char* var124 /* : NativeString */; +long var125 /* : Int */; +val* var126 /* : FlatString */; +val* var127 /* : Array[Object] */; +long var128 /* : Int */; +val* var129 /* : NativeArray[Object] */; +val* var130 /* : String */; +val* var131 /* : Array[Object] */; +long var132 /* : Int */; +val* var133 /* : NativeArray[Object] */; +static val* varonce135; +val* var136 /* : String */; +char* var137 /* : NativeString */; +long var138 /* : Int */; +val* var139 /* : FlatString */; +static val* varonce140; +val* var141 /* : String */; +char* var142 /* : NativeString */; +long var143 /* : Int */; +val* var144 /* : FlatString */; +val* var145 /* : String */; val* var147 /* : String */; -val* var149 /* : String */; -val* var150 /* : nullable String */; +val* var148 /* : Array[Object] */; +long var149 /* : Int */; +val* var150 /* : NativeArray[Object] */; +val* var151 /* : String */; +static val* varonce152; +val* var153 /* : String */; +char* var154 /* : NativeString */; +long var155 /* : Int */; +val* var156 /* : FlatString */; +static val* varonce159; +val* var160 /* : String */; +char* var161 /* : NativeString */; +long var162 /* : Int */; +val* var163 /* : FlatString */; +long var164 /* : Int */; +val* var166 /* : OptionContext */; +val* var168 /* : OptionContext */; +val* var169 /* : Array[String] */; +val* var_errors /* var errors: Array[String] */; +short int var170 /* : Bool */; +short int var171 /* : Bool */; +val* var_172 /* var : Array[String] */; +val* var173 /* : ArrayIterator[nullable Object] */; +val* var_174 /* var : ArrayIterator[String] */; +short int var175 /* : Bool */; +val* var176 /* : nullable Object */; +val* var_e /* var e: String */; +static val* varonce177; +val* var178 /* : String */; +char* var179 /* : NativeString */; +long var180 /* : Int */; +val* var181 /* : FlatString */; +val* var182 /* : Array[Object] */; +long var183 /* : Int */; +val* var184 /* : NativeArray[Object] */; +val* var185 /* : String */; +val* var188 /* : String */; +val* var190 /* : String */; +static val* varonce191; +val* var192 /* : String */; +char* var193 /* : NativeString */; +long var194 /* : Int */; +val* var195 /* : FlatString */; +long var196 /* : Int */; +short int var198 /* : Bool */; +val* var199 /* : OptionContext */; +val* var201 /* : OptionContext */; +val* var202 /* : Array[String] */; +val* var204 /* : Array[String] */; +short int var205 /* : Bool */; +short int var_206 /* var : Bool */; +short int var207 /* : Bool */; +short int var209 /* : Bool */; +short int var210 /* : Bool */; +val* var211 /* : String */; +val* var213 /* : String */; +static val* varonce214; +val* var215 /* : String */; +char* var216 /* : NativeString */; +long var217 /* : Int */; +val* var218 /* : FlatString */; +long var219 /* : Int */; +val* var221 /* : OptionCount */; +val* var223 /* : OptionCount */; +val* var224 /* : nullable Object */; +val* var226 /* : nullable Object */; +long var228 /* : Int */; +val* var229 /* : OptionBool */; +val* var231 /* : OptionBool */; +val* var232 /* : nullable Object */; +val* var234 /* : nullable Object */; +short int var235 /* : Bool */; +val* var236 /* : OptionCount */; +val* var238 /* : OptionCount */; +long var239 /* : Int */; +short int var241 /* : Bool */; +int cltype242; +int idtype243; +const struct type* type_struct244; +const char* var_class_name245; +val* var246 /* : nullable Object */; +val* var247 /* : OptionString */; +val* var249 /* : OptionString */; +val* var250 /* : nullable Object */; +val* var252 /* : nullable Object */; +val* var253 /* : null */; +short int var254 /* : Bool */; +short int var255 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var257 /* : Bool */; +short int var258 /* : Bool */; +short int var259 /* : Bool */; +val* var260 /* : OptionString */; +val* var262 /* : OptionString */; +val* var263 /* : nullable Object */; +val* var265 /* : nullable Object */; +val* var267 /* : OptionBool */; +val* var269 /* : OptionBool */; +val* var270 /* : nullable Object */; +val* var272 /* : nullable Object */; +short int var273 /* : Bool */; +val* var274 /* : String */; +val* var276 /* : String */; +val* var277 /* : 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 234); show_backtrace(1); } var = var2; @@ -2497,7 +3400,7 @@ 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); +PRINT_ERROR(" (%s:%d)\n", "../lib/opts.nit", 40); show_backtrace(1); } var6 = BOX_kernel__Int(var3); /* autobox from Int to nullable Object */ @@ -2510,7 +3413,7 @@ RET_LABEL4:(void)0; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231); show_backtrace(1); } var7 = var9; @@ -2525,7 +3428,7 @@ opts__OptionContext__parse(var7, var_args); /* Direct call opts#OptionContext#pa 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 249); show_backtrace(1); } var10 = var12; @@ -2558,7 +3461,7 @@ RET_LABEL18:(void)0; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 252); show_backtrace(1); } var19 = var21; @@ -2594,7 +3497,7 @@ RET_LABEL28:(void)0; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 267); show_backtrace(1); } var29 = var31; @@ -2628,7 +3531,7 @@ RET_LABEL38:(void)0; 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); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/file.nit", 634); show_backtrace(1); } var40 = var42; @@ -2648,11 +3551,11 @@ RET_LABEL44:(void)0; } else { } { -{ /* Inline toolcontext#ToolContext#option_context (self) on */ -var47 = self->attrs[COLOR_toolcontext__ToolContext___option_context].val; /* _option_context on */ +{ /* Inline toolcontext#ToolContext#opt_stub_man (self) on */ +var47 = self->attrs[COLOR_toolcontext__ToolContext___opt_stub_man].val; /* _opt_stub_man on */ if (unlikely(var47 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 166); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stub_man"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 270); show_backtrace(1); } var45 = var47; @@ -2660,373 +3563,741 @@ RET_LABEL46:(void)0; } } { -var48 = opts__OptionContext__get_errors(var45); +{ /* Inline opts#Option#value (var45) on */ +var50 = var45->attrs[COLOR_opts__Option___value].val; /* _value on */ +var48 = var50; +RET_LABEL49:(void)0; +} +} +var51 = ((struct instance_kernel__Bool*)var48)->value; /* autounbox from nullable Object to Bool */; +if (var51){ +if (varonce) { +var52 = varonce; +} else { +var53 = "% "; +var54 = 2; +var55 = string__NativeString__to_s_with_length(var53, var54); +var52 = var55; +varonce = var52; +} +{ +var56 = toolcontext__ToolContext__toolname(self); } -var_errors = var48; { -var49 = array__AbstractArrayRead__is_empty(var_errors); +var57 = string__FlatString__to_upper(var56); } -var50 = !var49; -if (var50){ +if (varonce58) { +var59 = varonce58; +} else { +var60 = "(1)\n\n# NAME\n\n"; +var61 = 13; +var62 = string__NativeString__to_s_with_length(var60, var61); +var59 = var62; +varonce58 = var59; +} +{ +{ /* Inline toolcontext#ToolContext#tooldescription (self) on */ +var65 = self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var65 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 281); +show_backtrace(1); +} +var63 = var65; +RET_LABEL64:(void)0; +} +} +if (varonce66) { +var67 = varonce66; +} else { +var68 = "\n"; +var69 = 1; +var70 = string__NativeString__to_s_with_length(var68, var69); +var67 = var70; +varonce66 = var67; +} +{ +var71 = string_search__Text__split(var63, var67); +} +var72 = 1; +{ +var73 = array__Array___91d_93d(var71, var72); +} +if (varonce74) { +var75 = varonce74; +} else { +var76 = "\n\n# SYNOPSYS\n\n"; +var77 = 14; +var78 = string__NativeString__to_s_with_length(var76, var77); +var75 = var78; +varonce74 = var75; +} +{ +var79 = toolcontext__ToolContext__toolname(self); +} +if (varonce80) { +var81 = varonce80; +} else { +var82 = " [*options*]...\n\n# OPTIONS\n"; +var83 = 27; +var84 = string__NativeString__to_s_with_length(var82, var83); +var81 = var84; +varonce80 = var81; +} +var85 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var85 = array_instance Array[Object] */ +var86 = 7; +var87 = NEW_array__NativeArray(var86, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var87)->values[0] = (val*) var52; +((struct instance_array__NativeArray*)var87)->values[1] = (val*) var57; +((struct instance_array__NativeArray*)var87)->values[2] = (val*) var59; +((struct instance_array__NativeArray*)var87)->values[3] = (val*) var73; +((struct instance_array__NativeArray*)var87)->values[4] = (val*) var75; +((struct instance_array__NativeArray*)var87)->values[5] = (val*) var79; +((struct instance_array__NativeArray*)var87)->values[6] = (val*) var81; +{ +((void (*)(val*, val*, long))(var85->class->vft[COLOR_array__Array__with_native]))(var85, var87, var86) /* with_native on */; +} +} +{ +var88 = ((val* (*)(val*))(var85->class->vft[COLOR_string__Object__to_s]))(var85) /* to_s on */; +} +{ +file__Object__print(self, var88); /* Direct call file#Object#print on */ +} +{ +{ /* Inline toolcontext#ToolContext#option_context (self) on */ +var91 = self->attrs[COLOR_toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var91 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231); +show_backtrace(1); +} +var89 = var91; +RET_LABEL90:(void)0; +} +} +{ +{ /* Inline opts#OptionContext#options (var89) on */ +var94 = var89->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ +if (unlikely(var94 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); +PRINT_ERROR(" (%s:%d)\n", "../lib/opts.nit", 243); +show_backtrace(1); +} +var92 = var94; +RET_LABEL93:(void)0; +} +} +var_ = var92; { -var51 = array__AbstractArrayRead__iterator(var_errors); +var95 = array__AbstractArrayRead__iterator(var_); } +var_96 = var95; for(;;) { { -var52 = array__ArrayIterator__is_ok(var51); +var97 = array__ArrayIterator__is_ok(var_96); } -if(!var52) break; +if (var97){ { -var53 = array__ArrayIterator__item(var51); +var98 = array__ArrayIterator__item(var_96); } -var_e = var53; -if (varonce) { -var54 = varonce; +var_o = var98; +var99 = 1; +var_first = var99; +{ +{ /* Inline opts#Option#names (var_o) on */ +var102 = var_o->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var102 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); +PRINT_ERROR(" (%s:%d)\n", "../lib/opts.nit", 19); +show_backtrace(1); +} +var100 = var102; +RET_LABEL101:(void)0; +} +} +var_103 = var100; +{ +var104 = array__AbstractArrayRead__iterator(var_103); +} +var_105 = var104; +for(;;) { +{ +var106 = array__ArrayIterator__is_ok(var_105); +} +if (var106){ +{ +var107 = array__ArrayIterator__item(var_105); +} +var_n = var107; +if (var_first){ +var108 = 0; +var_first = var108; +} else { +if (varonce109) { +var110 = varonce109; +} else { +var111 = ", "; +var112 = 2; +var113 = string__NativeString__to_s_with_length(var111, var112); +var110 = var113; +varonce109 = var110; +} +var114 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var114 = array_instance Array[Object] */ +var115 = 1; +var116 = NEW_array__NativeArray(var115, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var116)->values[0] = (val*) var110; +{ +((void (*)(val*, val*, long))(var114->class->vft[COLOR_array__Array__with_native]))(var114, var116, var115) /* with_native on */; +} +} +{ +file__Object__printn(self, var114); /* Direct call file#Object#printn on */ +} +} +if (varonce117) { +var118 = varonce117; +} else { +var119 = "`"; +var120 = 1; +var121 = string__NativeString__to_s_with_length(var119, var120); +var118 = var121; +varonce117 = var118; +} +if (varonce122) { +var123 = varonce122; } else { -var55 = "Error: "; -var56 = 7; -var57 = string__NativeString__to_s_with_length(var55, var56); -var54 = var57; -varonce = var54; +var124 = "`"; +var125 = 1; +var126 = string__NativeString__to_s_with_length(var124, var125); +var123 = var126; +varonce122 = var123; } -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; +var127 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var127 = array_instance Array[Object] */ +var128 = 3; +var129 = NEW_array__NativeArray(var128, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var129)->values[0] = (val*) var118; +((struct instance_array__NativeArray*)var129)->values[1] = (val*) var_n; +((struct instance_array__NativeArray*)var129)->values[2] = (val*) var123; { -((void (*)(val*, val*, long))(var58->class->vft[COLOR_array__Array__with_native]))(var58, var60, var59) /* with_native on */; +((void (*)(val*, val*, long))(var127->class->vft[COLOR_array__Array__with_native]))(var127, var129, var128) /* with_native on */; } } { -var61 = ((val* (*)(val*))(var58->class->vft[COLOR_string__Object__to_s]))(var58) /* to_s on */; +var130 = ((val* (*)(val*))(var127->class->vft[COLOR_string__Object__to_s]))(var127) /* to_s on */; } +var131 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var131 = array_instance Array[Object] */ +var132 = 1; +var133 = NEW_array__NativeArray(var132, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var133)->values[0] = (val*) var130; { -file__Object__print(self, var61); /* Direct call file#Object#print on */ +((void (*)(val*, val*, long))(var131->class->vft[COLOR_array__Array__with_native]))(var131, var133, var132) /* with_native on */; +} +} +{ +file__Object__printn(self, var131); /* Direct call file#Object#printn on */ } -CONTINUE_label: (void)0; { -array__ArrayIterator__next(var51); /* Direct call array#ArrayIterator#next on */ +array__ArrayIterator__next(var_105); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label; } } BREAK_label: (void)0; { +{ /* Inline abstract_collection#Iterator#finish (var_105) on */ +RET_LABEL134:(void)0; +} +} +if (varonce135) { +var136 = varonce135; +} else { +var137 = ""; +var138 = 0; +var139 = string__NativeString__to_s_with_length(var137, var138); +var136 = var139; +varonce135 = var136; +} +{ +file__Object__print(self, var136); /* Direct call file#Object#print on */ +} +if (varonce140) { +var141 = varonce140; +} else { +var142 = ": "; +var143 = 4; +var144 = string__NativeString__to_s_with_length(var142, var143); +var141 = var144; +varonce140 = var141; +} +{ +{ /* Inline opts#Option#helptext (var_o) on */ +var147 = var_o->attrs[COLOR_opts__Option___helptext].val; /* _helptext on */ +if (unlikely(var147 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _helptext"); +PRINT_ERROR(" (%s:%d)\n", "../lib/opts.nit", 25); +show_backtrace(1); +} +var145 = var147; +RET_LABEL146:(void)0; +} +} +var148 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var148 = array_instance Array[Object] */ +var149 = 2; +var150 = NEW_array__NativeArray(var149, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var150)->values[0] = (val*) var141; +((struct instance_array__NativeArray*)var150)->values[1] = (val*) var145; +{ +((void (*)(val*, val*, long))(var148->class->vft[COLOR_array__Array__with_native]))(var148, var150, var149) /* with_native on */; +} +} +{ +var151 = ((val* (*)(val*))(var148->class->vft[COLOR_string__Object__to_s]))(var148) /* to_s on */; +} +{ +file__Object__print(self, var151); /* Direct call file#Object#print on */ +} +if (varonce152) { +var153 = varonce152; +} else { +var154 = ""; +var155 = 0; +var156 = string__NativeString__to_s_with_length(var154, var155); +var153 = var156; +varonce152 = var153; +} +{ +file__Object__print(self, var153); /* Direct call file#Object#print on */ +} +{ +array__ArrayIterator__next(var_96); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label157; +} +} +BREAK_label157: (void)0; +{ +{ /* Inline abstract_collection#Iterator#finish (var_96) on */ +RET_LABEL158:(void)0; +} +} +if (varonce159) { +var160 = varonce159; +} else { +var161 = "# SEE ALSO\n\nThe Nit language documentation and the source code of its tools and libraries may be downloaded from "; +var162 = 137; +var163 = string__NativeString__to_s_with_length(var161, var162); +var160 = var163; +varonce159 = var160; +} +{ +file__Object__print(self, var160); /* Direct call file#Object#print on */ +} +var164 = 0; +{ +{ /* Inline kernel#Object#exit (self,var164) on */ +exit(var164); +RET_LABEL165:(void)0; +} +} +} else { +} +{ +{ /* Inline toolcontext#ToolContext#option_context (self) on */ +var168 = self->attrs[COLOR_toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var168 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231); +show_backtrace(1); +} +var166 = var168; +RET_LABEL167:(void)0; +} +} +{ +var169 = opts__OptionContext__get_errors(var166); +} +var_errors = var169; +{ +var170 = array__AbstractArrayRead__is_empty(var_errors); +} +var171 = !var170; +if (var171){ +var_172 = var_errors; +{ +var173 = array__AbstractArrayRead__iterator(var_172); +} +var_174 = var173; +for(;;) { +{ +var175 = array__ArrayIterator__is_ok(var_174); +} +if (var175){ +{ +var176 = array__ArrayIterator__item(var_174); +} +var_e = var176; +if (varonce177) { +var178 = varonce177; +} else { +var179 = "Error: "; +var180 = 7; +var181 = string__NativeString__to_s_with_length(var179, var180); +var178 = var181; +varonce177 = var178; +} +var182 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var182 = array_instance Array[Object] */ +var183 = 2; +var184 = NEW_array__NativeArray(var183, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var184)->values[0] = (val*) var178; +((struct instance_array__NativeArray*)var184)->values[1] = (val*) var_e; +{ +((void (*)(val*, val*, long))(var182->class->vft[COLOR_array__Array__with_native]))(var182, var184, var183) /* with_native on */; +} +} +{ +var185 = ((val* (*)(val*))(var182->class->vft[COLOR_string__Object__to_s]))(var182) /* to_s on */; +} +{ +file__Object__print(self, var185); /* Direct call file#Object#print on */ +} +{ +array__ArrayIterator__next(var_174); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label186; +} +} +BREAK_label186: (void)0; +{ +{ /* Inline abstract_collection#Iterator#finish (var_174) on */ +RET_LABEL187:(void)0; +} +} +{ { /* Inline toolcontext#ToolContext#tooldescription (self) on */ -var64 = self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ -if (unlikely(var64 == NULL)) { +var190 = self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var190 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 210); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 281); show_backtrace(1); } -var62 = var64; -RET_LABEL63:(void)0; +var188 = var190; +RET_LABEL189:(void)0; } } { -file__Object__print(self, var62); /* Direct call file#Object#print on */ +file__Object__print(self, var188); /* Direct call file#Object#print on */ } -if (varonce65) { -var66 = varonce65; +if (varonce191) { +var192 = varonce191; } else { -var67 = "Use --help for help"; -var68 = 19; -var69 = string__NativeString__to_s_with_length(var67, var68); -var66 = var69; -varonce65 = var66; +var193 = "Use --help for help"; +var194 = 19; +var195 = string__NativeString__to_s_with_length(var193, var194); +var192 = var195; +varonce191 = var192; } { -file__Object__print(self, var66); /* Direct call file#Object#print on */ +file__Object__print(self, var192); /* Direct call file#Object#print on */ } -var70 = 1; +var196 = 1; { -{ /* Inline kernel#Object#exit (self,var70) on */ -exit(var70); -RET_LABEL71:(void)0; +{ /* Inline kernel#Object#exit (self,var196) on */ +exit(var196); +RET_LABEL197:(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)) { +var201 = self->attrs[COLOR_toolcontext__ToolContext___option_context].val; /* _option_context on */ +if (unlikely(var201 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 166); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231); show_backtrace(1); } -var73 = var75; -RET_LABEL74:(void)0; +var199 = var201; +RET_LABEL200:(void)0; } } { -{ /* Inline opts#OptionContext#rest (var73) on */ -var78 = var73->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on */ -if (unlikely(var78 == NULL)) { +{ /* Inline opts#OptionContext#rest (var199) on */ +var204 = var199->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on */ +if (unlikely(var204 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 250); +PRINT_ERROR(" (%s:%d)\n", "../lib/opts.nit", 246); show_backtrace(1); } -var76 = var78; -RET_LABEL77:(void)0; +var202 = var204; +RET_LABEL203:(void)0; } } { -var79 = array__AbstractArrayRead__is_empty(var76); +var205 = array__AbstractArrayRead__is_empty(var202); } -var_ = var79; -if (var79){ +var_206 = var205; +if (var205){ { { /* 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; +var209 = self->attrs[COLOR_toolcontext__ToolContext___accept_no_arguments].s; /* _accept_no_arguments on */ +var207 = var209; +RET_LABEL208:(void)0; } } -var83 = !var80; -var72 = var83; +var210 = !var207; +var198 = var210; } else { -var72 = var_; +var198 = var_206; } -if (var72){ +if (var198){ { { /* Inline toolcontext#ToolContext#tooldescription (self) on */ -var86 = self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ -if (unlikely(var86 == NULL)) { +var213 = self->attrs[COLOR_toolcontext__ToolContext___tooldescription].val; /* _tooldescription on */ +if (unlikely(var213 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tooldescription"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 210); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 281); show_backtrace(1); } -var84 = var86; -RET_LABEL85:(void)0; +var211 = var213; +RET_LABEL212:(void)0; } } { -file__Object__print(self, var84); /* Direct call file#Object#print on */ +file__Object__print(self, var211); /* Direct call file#Object#print on */ } -if (varonce87) { -var88 = varonce87; +if (varonce214) { +var215 = varonce214; } else { -var89 = "Use --help for help"; -var90 = 19; -var91 = string__NativeString__to_s_with_length(var89, var90); -var88 = var91; -varonce87 = var88; +var216 = "Use --help for help"; +var217 = 19; +var218 = string__NativeString__to_s_with_length(var216, var217); +var215 = var218; +varonce214 = var215; } { -file__Object__print(self, var88); /* Direct call file#Object#print on */ +file__Object__print(self, var215); /* Direct call file#Object#print on */ } -var92 = 1; +var219 = 1; { -{ /* Inline kernel#Object#exit (self,var92) on */ -exit(var92); -RET_LABEL93:(void)0; +{ /* Inline kernel#Object#exit (self,var219) on */ +exit(var219); +RET_LABEL220:(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)) { +var223 = self->attrs[COLOR_toolcontext__ToolContext___opt_verbose].val; /* _opt_verbose on */ +if (unlikely(var223 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_verbose"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 190); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 258); show_backtrace(1); } -var94 = var96; -RET_LABEL95:(void)0; +var221 = var223; +RET_LABEL222:(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 opts#Option#value (var221) on */ +var226 = var221->attrs[COLOR_opts__Option___value].val; /* _value on */ +var224 = var226; +RET_LABEL225:(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#verbose_level= (self,var224) on */ +var228 = ((struct instance_kernel__Int*)var224)->value; /* autounbox from nullable Object to Int */; +self->attrs[COLOR_toolcontext__ToolContext___verbose_level].l = var228; /* _verbose_level on */ +RET_LABEL227:(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)) { +var231 = self->attrs[COLOR_toolcontext__ToolContext___opt_quiet].val; /* _opt_quiet on */ +if (unlikely(var231 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_quiet"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 172); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 240); show_backtrace(1); } -var102 = var104; -RET_LABEL103:(void)0; +var229 = var231; +RET_LABEL230:(void)0; } } { -{ /* Inline opts#Option#value (var102) on */ -var107 = var102->attrs[COLOR_opts__Option___value].val; /* _value on */ -var105 = var107; -RET_LABEL106:(void)0; +{ /* Inline opts#Option#value (var229) on */ +var234 = var229->attrs[COLOR_opts__Option___value].val; /* _value on */ +var232 = var234; +RET_LABEL233:(void)0; } } -var108 = ((struct instance_kernel__Bool*)var105)->value; /* autounbox from nullable Object to Bool */; -if (var108){ +var235 = ((struct instance_kernel__Bool*)var232)->value; /* autounbox from nullable Object to Bool */; +if (var235){ { { /* Inline toolcontext#ToolContext#opt_warn (self) on */ -var111 = self->attrs[COLOR_toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ -if (unlikely(var111 == NULL)) { +var238 = self->attrs[COLOR_toolcontext__ToolContext___opt_warn].val; /* _opt_warn on */ +if (unlikely(var238 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_warn"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 169); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 234); show_backtrace(1); } -var109 = var111; -RET_LABEL110:(void)0; +var236 = var238; +RET_LABEL237:(void)0; } } -var112 = 0; +var239 = 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; +{ /* Inline opts#Option#value= (var236,var239) on */ +/* Covariant cast for argument 0 (value) isa VALUE */ +/* isa VALUE */ +type_struct244 = var236->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +cltype242 = type_struct244->color; +idtype243 = type_struct244->id; +if(cltype242 >= (&type_kernel__Int)->table_size) { +var241 = 0; } else { -var114 = (&type_kernel__Int)->type_table[cltype115] == idtype116; +var241 = (&type_kernel__Int)->type_table[cltype242] == idtype243; } -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); +if (unlikely(!var241)) { +var_class_name245 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name245); +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; +var246 = BOX_kernel__Int(var239); /* autobox from Int to nullable Object */ +var236->attrs[COLOR_opts__Option___value].val = var246; /* _value on */ +RET_LABEL240:(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)) { +var249 = self->attrs[COLOR_toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ +if (unlikely(var249 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 178); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 246); show_backtrace(1); } -var120 = var122; -RET_LABEL121:(void)0; +var247 = var249; +RET_LABEL248:(void)0; } } { -{ /* Inline opts#Option#value (var120) on */ -var125 = var120->attrs[COLOR_opts__Option___value].val; /* _value on */ -var123 = var125; -RET_LABEL124:(void)0; +{ /* Inline opts#Option#value (var247) on */ +var252 = var247->attrs[COLOR_opts__Option___value].val; /* _value on */ +var250 = var252; +RET_LABEL251:(void)0; } } -var126 = NULL; -if (var123 == NULL) { -var127 = 0; /* is null */ +var253 = NULL; +if (var250 == NULL) { +var254 = 0; /* is null */ } else { -var127 = 1; /* arg is null and recv is not */ +var254 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var123,var126) on */ -var_other = var126; +{ /* Inline kernel#Object#!= (var250,var253) on */ +var_other = var253; { -var131 = ((short int (*)(val*, val*))(var123->class->vft[COLOR_kernel__Object___61d_61d]))(var123, var_other) /* == on */; -var130 = var131; +var258 = ((short int (*)(val*, val*))(var250->class->vft[COLOR_kernel__Object___61d_61d]))(var250, var_other) /* == on */; +var257 = var258; } -var132 = !var130; -var128 = var132; -goto RET_LABEL129; -RET_LABEL129:(void)0; +var259 = !var257; +var255 = var259; +goto RET_LABEL256; +RET_LABEL256:(void)0; } -var127 = var128; +var254 = var255; } -if (var127){ +if (var254){ { { /* 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)) { +var262 = self->attrs[COLOR_toolcontext__ToolContext___opt_log_dir].val; /* _opt_log_dir on */ +if (unlikely(var262 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log_dir"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 178); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 246); show_backtrace(1); } -var133 = var135; -RET_LABEL134:(void)0; +var260 = var262; +RET_LABEL261:(void)0; } } { -{ /* Inline opts#Option#value (var133) on */ -var138 = var133->attrs[COLOR_opts__Option___value].val; /* _value on */ -var136 = var138; -RET_LABEL137:(void)0; +{ /* Inline opts#Option#value (var260) on */ +var265 = var260->attrs[COLOR_opts__Option___value].val; /* _value on */ +var263 = var265; +RET_LABEL264:(void)0; } } -if (unlikely(var136 == NULL)) { +if (unlikely(var263 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 277); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 379); 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; +{ /* Inline toolcontext#ToolContext#log_directory= (self,var263) on */ +self->attrs[COLOR_toolcontext__ToolContext___log_directory].val = var263; /* _log_directory on */ +RET_LABEL266:(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)) { +var269 = self->attrs[COLOR_toolcontext__ToolContext___opt_log].val; /* _opt_log on */ +if (unlikely(var269 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_log"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 175); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 243); show_backtrace(1); } -var140 = var142; -RET_LABEL141:(void)0; +var267 = var269; +RET_LABEL268:(void)0; } } { -{ /* Inline opts#Option#value (var140) on */ -var145 = var140->attrs[COLOR_opts__Option___value].val; /* _value on */ -var143 = var145; -RET_LABEL144:(void)0; +{ /* Inline opts#Option#value (var267) on */ +var272 = var267->attrs[COLOR_opts__Option___value].val; /* _value on */ +var270 = var272; +RET_LABEL271:(void)0; } } -var146 = ((struct instance_kernel__Bool*)var143)->value; /* autounbox from nullable Object to Bool */; -if (var146){ +var273 = ((struct instance_kernel__Bool*)var270)->value; /* autounbox from nullable Object to Bool */; +if (var273){ { { /* Inline toolcontext#ToolContext#log_directory (self) on */ -var149 = self->attrs[COLOR_toolcontext__ToolContext___log_directory].val; /* _log_directory on */ -if (unlikely(var149 == NULL)) { +var276 = self->attrs[COLOR_toolcontext__ToolContext___log_directory].val; /* _log_directory on */ +if (unlikely(var276 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _log_directory"); -PRINT_ERROR(" (%s:%d)\n", "src/toolcontext.nit", 81); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 101); show_backtrace(1); } -var147 = var149; -RET_LABEL148:(void)0; +var274 = var276; +RET_LABEL275:(void)0; } } { -file__String__mkdir(var147); /* Direct call file#String#mkdir on */ +file__String__mkdir(var274); /* Direct call file#String#mkdir on */ } } else { } { -var150 = toolcontext__ToolContext__compute_nit_dir(self); +var277 = 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; +{ /* Inline toolcontext#ToolContext#nit_dir= (self,var277) on */ +self->attrs[COLOR_toolcontext__ToolContext___nit_dir].val = var277; /* _nit_dir on */ +RET_LABEL278:(void)0; } } RET_LABEL:; @@ -3055,7 +4326,7 @@ val* var12 /* : String */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 255); show_backtrace(1); } var1 = var3; @@ -3128,7 +4399,7 @@ val* var21 /* : String */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 255); show_backtrace(1); } var1 = var3; @@ -3500,7 +4771,7 @@ 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 449); show_backtrace(1); } var = var1; @@ -3516,7 +4787,7 @@ val* var3 /* : ToolContext */; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 449); show_backtrace(1); } var1 = var3; @@ -3543,15 +4814,13 @@ RET_LABEL:; void toolcontext__BashCompletion__init(val* self, val* p0) { val* var_toolcontext /* var toolcontext: ToolContext */; { -{ /* Inline template#Template#init (self) on */ -RET_LABEL1:(void)0; -} +((void (*)(val*))(self->class->vft[COLOR_kernel__Object__init]))(self) /* init on */; } 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_LABEL1:(void)0; } } RET_LABEL:; @@ -3572,25 +4841,29 @@ val* var5 /* : OptionContext */; val* var7 /* : OptionContext */; val* var8 /* : Array[Option] */; val* var10 /* : Array[Option] */; +val* var_ /* var : Array[Option] */; val* var11 /* : ArrayIterator[nullable Object] */; -short int var12 /* : Bool */; -val* var13 /* : nullable Object */; +val* var_12 /* var : ArrayIterator[Option] */; +short int var13 /* : Bool */; +val* var14 /* : 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* var15 /* : Array[String] */; +val* var17 /* : Array[String] */; +val* var_18 /* var : Array[String] */; +val* var19 /* : ArrayIterator[nullable Object] */; +val* var_20 /* var : ArrayIterator[String] */; +short int var21 /* : Bool */; +val* var22 /* : 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 */; +val* var23 /* : String */; +char* var24 /* : NativeString */; +long var25 /* : Int */; +val* var26 /* : FlatString */; +short int var27 /* : Bool */; var1 = NEW_array__Array(&type_array__Arraystring__String); { -array__Array__init(var1); /* Direct call array#Array#init on */ +((void (*)(val*))(var1->class->vft[COLOR_kernel__Object__init]))(var1) /* init on */; } var_names = var1; { @@ -3598,7 +4871,7 @@ var_names = var1; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 449); show_backtrace(1); } var2 = var4; @@ -3610,7 +4883,7 @@ RET_LABEL3:(void)0; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 231); show_backtrace(1); } var5 = var7; @@ -3622,79 +4895,97 @@ RET_LABEL6:(void)0; 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); +PRINT_ERROR(" (%s:%d)\n", "../lib/opts.nit", 243); show_backtrace(1); } var8 = var10; RET_LABEL9:(void)0; } } +var_ = var8; { -var11 = array__AbstractArrayRead__iterator(var8); +var11 = array__AbstractArrayRead__iterator(var_); } +var_12 = var11; for(;;) { { -var12 = array__ArrayIterator__is_ok(var11); +var13 = array__ArrayIterator__is_ok(var_12); } -if(!var12) break; +if (var13){ { -var13 = array__ArrayIterator__item(var11); +var14 = array__ArrayIterator__item(var_12); } -var_option = var13; +var_option = var14; { { /* Inline opts#Option#names (var_option) on */ -var16 = var_option->attrs[COLOR_opts__Option___names].val; /* _names on */ -if (unlikely(var16 == NULL)) { +var17 = var_option->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19); +PRINT_ERROR(" (%s:%d)\n", "../lib/opts.nit", 19); show_backtrace(1); } -var14 = var16; -RET_LABEL15:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } +var_18 = var15; { -var17 = array__AbstractArrayRead__iterator(var14); +var19 = array__AbstractArrayRead__iterator(var_18); } +var_20 = var19; for(;;) { { -var18 = array__ArrayIterator__is_ok(var17); +var21 = array__ArrayIterator__is_ok(var_20); } -if(!var18) break; +if (var21){ { -var19 = array__ArrayIterator__item(var17); +var22 = array__ArrayIterator__item(var_20); } -var_name = var19; +var_name = var22; if (varonce) { -var20 = varonce; +var23 = varonce; } else { -var21 = "--"; -var22 = 2; -var23 = string__NativeString__to_s_with_length(var21, var22); -var20 = var23; -varonce = var20; +var24 = "--"; +var25 = 2; +var26 = string__NativeString__to_s_with_length(var24, var25); +var23 = var26; +varonce = var23; } { -var24 = string__Text__has_prefix(var_name, var20); +var27 = string__Text__has_prefix(var_name, var23); } -if (var24){ +if (var27){ { 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 */ +array__ArrayIterator__next(var_20); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label; } } BREAK_label: (void)0; -CONTINUE_label25: (void)0; { -array__ArrayIterator__next(var11); /* Direct call array#ArrayIterator#next on */ +{ /* Inline abstract_collection#Iterator#finish (var_20) on */ +RET_LABEL28:(void)0; +} +} +{ +array__ArrayIterator__next(var_12); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label29; +} +} +BREAK_label29: (void)0; +{ +{ /* Inline abstract_collection#Iterator#finish (var_12) on */ +RET_LABEL30:(void)0; } } -BREAK_label25: (void)0; var = var_names; goto RET_LABEL; RET_LABEL:; @@ -3773,33 +5064,33 @@ val* var57 /* : String */; char* var58 /* : NativeString */; long var59 /* : Int */; val* var60 /* : FlatString */; -val* var61 /* : null */; +short int var61 /* : Bool */; 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* varonce63; +val* var64 /* : String */; +char* var65 /* : NativeString */; +long var66 /* : Int */; +val* var67 /* : FlatString */; 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 */; +val* var73 /* : String */; +static val* varonce74; +val* var75 /* : String */; +char* var76 /* : NativeString */; +long var77 /* : Int */; +val* var78 /* : FlatString */; +val* var79 /* : Array[Object] */; +long var80 /* : Int */; +val* var81 /* : NativeArray[Object] */; +val* var82 /* : String */; +static val* varonce83; +val* var84 /* : String */; +char* var85 /* : NativeString */; +long var86 /* : Int */; +val* var87 /* : FlatString */; static val* varonce88; val* var89 /* : String */; char* var90 /* : NativeString */; @@ -3830,21 +5121,16 @@ 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 */; +val* var118 /* : Array[Object] */; +long var119 /* : Int */; +val* var120 /* : NativeArray[Object] */; +val* var121 /* : 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 449); show_backtrace(1); } var = var2; @@ -3882,7 +5168,7 @@ varonce9 = var10; 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); +PRINT_ERROR(" (%s:%d)\n", "toolcontext.nit", 449); show_backtrace(1); } var14 = var16; @@ -4005,77 +5291,75 @@ 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; +var61 = array__AbstractArrayRead__is_empty(var_option_names); } +var62 = !var61; if (var62){ +if (varonce63) { +var64 = varonce63; +} else { +var65 = "\11opts=\""; +var66 = 7; +var67 = string__NativeString__to_s_with_length(var65, var66); +var64 = var67; +varonce63 = var64; +} if (varonce68) { var69 = varonce68; } else { -var70 = "\11opts=\""; -var71 = 7; +var70 = " "; +var71 = 1; 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); +var73 = string__Collection__join(var_option_names, var69); } -if (varonce79) { -var80 = varonce79; +if (varonce74) { +var75 = varonce74; } else { -var81 = "\""; -var82 = 1; -var83 = string__NativeString__to_s_with_length(var81, var82); -var80 = var83; -varonce79 = var80; +var76 = "\""; +var77 = 1; +var78 = string__NativeString__to_s_with_length(var76, var77); +var75 = var78; +varonce74 = var75; } -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; +var79 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var79 = array_instance Array[Object] */ +var80 = 3; +var81 = NEW_array__NativeArray(var80, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var81)->values[0] = (val*) var64; +((struct instance_array__NativeArray*)var81)->values[1] = (val*) var73; +((struct instance_array__NativeArray*)var81)->values[2] = (val*) var75; { -((void (*)(val*, val*, long))(var84->class->vft[COLOR_array__Array__with_native]))(var84, var86, var85) /* with_native on */; +((void (*)(val*, val*, long))(var79->class->vft[COLOR_array__Array__with_native]))(var79, var81, var80) /* with_native on */; } } { -var87 = ((val* (*)(val*))(var84->class->vft[COLOR_string__Object__to_s]))(var84) /* to_s on */; +var82 = ((val* (*)(val*))(var79->class->vft[COLOR_string__Object__to_s]))(var79) /* to_s on */; +} +{ +template__Template__addn(self, var82); /* Direct call template#Template#addn on */ +} +if (varonce83) { +var84 = varonce83; +} else { +var85 = "\11if [[ ${cur} == -* ]] ; then"; +var86 = 29; +var87 = string__NativeString__to_s_with_length(var85, var86); +var84 = var87; +varonce83 = var84; } { -template__Template__addn(self, var87); /* Direct call template#Template#addn on */ +template__Template__addn(self, var84); /* Direct call template#Template#addn on */ } if (varonce88) { var89 = varonce88; } else { -var90 = "\11if [[ ${cur} == -* ]] ; then"; -var91 = 29; +var90 = "\11\11COMPREPLY=( $(compgen -W \"${opts}\" -- ${cur}) )"; +var91 = 49; var92 = string__NativeString__to_s_with_length(var90, var91); var89 = var92; varonce88 = var89; @@ -4086,8 +5370,8 @@ 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; +var95 = "\11\11return 0"; +var96 = 10; var97 = string__NativeString__to_s_with_length(var95, var96); var94 = var97; varonce93 = var94; @@ -4098,8 +5382,8 @@ template__Template__addn(self, var94); /* Direct call template#Template#addn on if (varonce98) { var99 = varonce98; } else { -var100 = "\11\11return 0"; -var101 = 10; +var100 = "\11fi"; +var101 = 3; var102 = string__NativeString__to_s_with_length(var100, var101); var99 = var102; varonce98 = var99; @@ -4107,11 +5391,13 @@ varonce98 = var99; { template__Template__addn(self, var99); /* Direct call template#Template#addn on */ } +} else { +} if (varonce103) { var104 = varonce103; } else { -var105 = "\11fi"; -var106 = 3; +var105 = "} &&"; +var106 = 4; var107 = string__NativeString__to_s_with_length(var105, var106); var104 = var107; varonce103 = var104; @@ -4119,55 +5405,41 @@ varonce103 = var104; { template__Template__addn(self, var104); /* Direct call template#Template#addn on */ } -} else { -} if (varonce108) { var109 = varonce108; } else { -var110 = "} &&"; -var111 = 4; +var110 = "complete -o default -F _"; +var111 = 24; 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; +var115 = " "; +var116 = 1; 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; +var118 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var118 = array_instance Array[Object] */ +var119 = 4; +var120 = NEW_array__NativeArray(var119, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var120)->values[0] = (val*) var109; +((struct instance_array__NativeArray*)var120)->values[1] = (val*) var_name; +((struct instance_array__NativeArray*)var120)->values[2] = (val*) var114; +((struct instance_array__NativeArray*)var120)->values[3] = (val*) var_name; { -((void (*)(val*, val*, long))(var123->class->vft[COLOR_array__Array__with_native]))(var123, var125, var124) /* with_native on */; +((void (*)(val*, val*, long))(var118->class->vft[COLOR_array__Array__with_native]))(var118, var120, var119) /* with_native on */; } } { -var126 = ((val* (*)(val*))(var123->class->vft[COLOR_string__Object__to_s]))(var123) /* to_s on */; +var121 = ((val* (*)(val*))(var118->class->vft[COLOR_string__Object__to_s]))(var118) /* to_s on */; } { -template__Template__addn(self, var126); /* Direct call template#Template#addn on */ +template__Template__addn(self, var121); /* Direct call template#Template#addn on */ } RET_LABEL:; }