parser: remove generated old-style accesors.
[nit.git] / c_src / location.sep.1.c
index 8d4577c..d486e5a 100644 (file)
@@ -5,8 +5,9 @@ val* var /* : String */;
 val* var1 /* : String */;
 var1 = self->attrs[COLOR_location__SourceFile___64dfilename].val; /* @filename on <self:SourceFile> */
 if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @filename", "src/location.nit", 22);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @filename");
+fprintf(stderr, " (%s:%d)\n", "src/location.nit", 22);
+show_backtrace(1);
 }
 var = var1;
 RET_LABEL:;
@@ -37,8 +38,9 @@ val* var /* : String */;
 val* var1 /* : String */;
 var1 = self->attrs[COLOR_location__SourceFile___64dstring].val; /* @string on <self:SourceFile> */
 if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @string", "src/location.nit", 25);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @string");
+fprintf(stderr, " (%s:%d)\n", "src/location.nit", 25);
+show_backtrace(1);
 }
 var = var1;
 RET_LABEL:;
@@ -119,8 +121,9 @@ val* var /* : Array[Int] */;
 val* var1 /* : Array[Int] */;
 var1 = self->attrs[COLOR_location__SourceFile___64dline_starts].val; /* @line_starts on <self:SourceFile> */
 if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @line_starts", "src/location.nit", 44);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @line_starts");
+fprintf(stderr, " (%s:%d)\n", "src/location.nit", 44);
+show_backtrace(1);
 }
 var = var1;
 RET_LABEL:;
@@ -328,8 +331,9 @@ long var15 /* : Int */;
 long var17 /* : Int */;
 var1 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on <self:Location>*/;
 if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 68);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Receiver is null");
+fprintf(stderr, " (%s:%d)\n", "src/location.nit", 68);
+show_backtrace(1);
 } else {
 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_location__SourceFile__line_starts]))(var1) /* line_starts on <var1:nullable SourceFile>*/;
 }
@@ -390,8 +394,9 @@ long var15 /* : Int */;
 long var17 /* : Int */;
 var1 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on <self:Location>*/;
 if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 71);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Receiver is null");
+fprintf(stderr, " (%s:%d)\n", "src/location.nit", 71);
+show_backtrace(1);
 } else {
 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_location__SourceFile__line_starts]))(var1) /* line_starts on <var1:nullable SourceFile>*/;
 }
@@ -473,8 +478,9 @@ var5 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__pend]))(self
 var_pend = var5;
 var6 = ((val* (*)(val*))(var_l->class->vft[COLOR_location__Location__file]))(var_l) /* file on <var_l:Location>*/;
 if (var6 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 81);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Receiver is null");
+fprintf(stderr, " (%s:%d)\n", "src/location.nit", 81);
+show_backtrace(1);
 } else {
 var7 = ((val* (*)(val*))(var6->class->vft[COLOR_location__SourceFile__string]))(var6) /* string on <var6:nullable SourceFile>*/;
 }
@@ -726,6 +732,7 @@ short int var6 /* : Bool */;
 short int var8 /* : Bool */;
 int cltype;
 int idtype;
+const char* var_class_name;
 short int var9 /* : Bool */;
 short int var10 /* : Bool */;
 long var11 /* : Int */;
@@ -734,51 +741,56 @@ short int var13 /* : Bool */;
 short int var15 /* : Bool */;
 int cltype16;
 int idtype17;
-short int var18 /* : Bool */;
+const char* var_class_name18;
 short int var19 /* : Bool */;
-long var20 /* : Int */;
+short int var20 /* : Bool */;
 long var21 /* : Int */;
-short int var22 /* : Bool */;
-short int var24 /* : Bool */;
-int cltype25;
-int idtype26;
-short int var27 /* : Bool */;
-short int var28 /* : Bool */;
-long var29 /* : Int */;
-long var30 /* : Int */;
-short int var31 /* : Bool */;
+long var22 /* : Int */;
+short int var23 /* : Bool */;
+short int var25 /* : Bool */;
+int cltype26;
+int idtype27;
+const char* var_class_name28;
+short int var29 /* : Bool */;
+short int var30 /* : Bool */;
+long var31 /* : Int */;
+long var32 /* : Int */;
 short int var33 /* : Bool */;
-long var34 /* : Int */;
-long var35 /* : Int */;
-short int var36 /* : Bool */;
+short int var35 /* : Bool */;
+long var36 /* : Int */;
+long var37 /* : Int */;
 short int var38 /* : Bool */;
-int cltype39;
-int idtype40;
-short int var41 /* : Bool */;
-short int var42 /* : Bool */;
-long var43 /* : Int */;
-long var44 /* : Int */;
+short int var40 /* : Bool */;
+int cltype41;
+int idtype42;
+const char* var_class_name43;
+short int var44 /* : Bool */;
 short int var45 /* : Bool */;
-short int var47 /* : Bool */;
-int cltype48;
-int idtype49;
+long var46 /* : Int */;
+long var47 /* : Int */;
+short int var48 /* : Bool */;
 short int var50 /* : Bool */;
-short int var51 /* : Bool */;
-short int var52 /* : Bool */;
-long var53 /* : Int */;
-long var54 /* : Int */;
+int cltype51;
+int idtype52;
+const char* var_class_name53;
+short int var54 /* : Bool */;
 short int var55 /* : Bool */;
-short int var57 /* : Bool */;
-short int var_ /* var : Bool */;
+short int var56 /* : Bool */;
+long var57 /* : Int */;
 long var58 /* : Int */;
-long var59 /* : Int */;
-short int var60 /* : Bool */;
-short int var62 /* : Bool */;
-int cltype63;
-int idtype64;
-short int var65 /* : Bool */;
+short int var59 /* : Bool */;
+short int var61 /* : Bool */;
+short int var_ /* var : Bool */;
+long var62 /* : Int */;
+long var63 /* : Int */;
+short int var64 /* : Bool */;
 short int var66 /* : Bool */;
-short int var67 /* : Bool */;
+int cltype67;
+int idtype68;
+const char* var_class_name69;
+short int var70 /* : Bool */;
+short int var71 /* : Bool */;
+short int var72 /* : Bool */;
 var_loc = p0;
 var1 = NULL;
 if (var_loc == NULL) {
@@ -799,8 +811,10 @@ var5 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_star
 /* <var5:Int> isa OTHER */
 var8 = 1; /* easy <var5:Int> isa OTHER*/
 if (!var8) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
-exit(1);
+var_class_name = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
+show_backtrace(1);
 }
 var9 = var4 < var5;
 var6 = var9;
@@ -820,131 +834,141 @@ var12 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_end
 /* <var12:Int> isa OTHER */
 var15 = 1; /* easy <var12:Int> isa OTHER*/
 if (!var15) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
-exit(1);
+var_class_name18 = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
+show_backtrace(1);
 }
-var18 = var11 > var12;
-var13 = var18;
+var19 = var11 > var12;
+var13 = var19;
 goto RET_LABEL14;
 RET_LABEL14:(void)0;
 }
 if (var13){
-var19 = 0;
-var = var19;
+var20 = 0;
+var = var20;
 goto RET_LABEL;
 } else {
 }
-var20 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on <self:Location>*/;
-var21 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_end]))(var_loc) /* line_end on <var_loc:nullable Location(Location)>*/;
-{ /* Inline kernel#Int#> (var20,var21) */
-/* Covariant cast for argument 0 (i) <var21:Int> isa OTHER */
-/* <var21:Int> isa OTHER */
-var24 = 1; /* easy <var21:Int> isa OTHER*/
-if (!var24) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
-exit(1);
-}
-var27 = var20 > var21;
-var22 = var27;
-goto RET_LABEL23;
-RET_LABEL23:(void)0;
-}
-if (var22){
-var28 = 0;
-var = var28;
+var21 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on <self:Location>*/;
+var22 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_end]))(var_loc) /* line_end on <var_loc:nullable Location(Location)>*/;
+{ /* Inline kernel#Int#> (var21,var22) */
+/* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
+/* <var22:Int> isa OTHER */
+var25 = 1; /* easy <var22:Int> isa OTHER*/
+if (!var25) {
+var_class_name28 = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
+show_backtrace(1);
+}
+var29 = var21 > var22;
+var23 = var29;
+goto RET_LABEL24;
+RET_LABEL24:(void)0;
+}
+if (var23){
+var30 = 0;
+var = var30;
 goto RET_LABEL;
 } else {
 }
-var29 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on <self:Location>*/;
-var30 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_start]))(var_loc) /* line_start on <var_loc:nullable Location(Location)>*/;
-{ /* Inline kernel#Int#== (var29,var30) */
-var33 = var29 == var30;
-var31 = var33;
-goto RET_LABEL32;
-RET_LABEL32:(void)0;
+var31 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on <self:Location>*/;
+var32 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_start]))(var_loc) /* line_start on <var_loc:nullable Location(Location)>*/;
+{ /* Inline kernel#Int#== (var31,var32) */
+var35 = var31 == var32;
+var33 = var35;
+goto RET_LABEL34;
+RET_LABEL34:(void)0;
+}
+if (var33){
+var36 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on <self:Location>*/;
+var37 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__column_start]))(var_loc) /* column_start on <var_loc:nullable Location(Location)>*/;
+{ /* Inline kernel#Int#< (var36,var37) */
+/* Covariant cast for argument 0 (i) <var37:Int> isa OTHER */
+/* <var37:Int> isa OTHER */
+var40 = 1; /* easy <var37:Int> isa OTHER*/
+if (!var40) {
+var_class_name43 = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
+show_backtrace(1);
+}
+var44 = var36 < var37;
+var38 = var44;
+goto RET_LABEL39;
+RET_LABEL39:(void)0;
 }
-if (var31){
-var34 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on <self:Location>*/;
-var35 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__column_start]))(var_loc) /* column_start on <var_loc:nullable Location(Location)>*/;
-{ /* Inline kernel#Int#< (var34,var35) */
-/* Covariant cast for argument 0 (i) <var35:Int> isa OTHER */
-/* <var35:Int> isa OTHER */
-var38 = 1; /* easy <var35:Int> isa OTHER*/
-if (!var38) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
-exit(1);
-}
-var41 = var34 < var35;
-var36 = var41;
-goto RET_LABEL37;
-RET_LABEL37:(void)0;
-}
-if (var36){
-var42 = 0;
-var = var42;
+if (var38){
+var45 = 0;
+var = var45;
 goto RET_LABEL;
 } else {
 }
-var43 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on <self:Location>*/;
-var44 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__column_end]))(var_loc) /* column_end on <var_loc:nullable Location(Location)>*/;
-{ /* Inline kernel#Int#> (var43,var44) */
-/* Covariant cast for argument 0 (i) <var44:Int> isa OTHER */
-/* <var44:Int> isa OTHER */
-var47 = 1; /* easy <var44:Int> isa OTHER*/
-if (!var47) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
-exit(1);
-}
-var50 = var43 > var44;
-var45 = var50;
-goto RET_LABEL46;
-RET_LABEL46:(void)0;
-}
-if (var45){
-var51 = 0;
-var = var51;
+var46 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on <self:Location>*/;
+var47 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__column_end]))(var_loc) /* column_end on <var_loc:nullable Location(Location)>*/;
+{ /* Inline kernel#Int#> (var46,var47) */
+/* Covariant cast for argument 0 (i) <var47:Int> isa OTHER */
+/* <var47:Int> isa OTHER */
+var50 = 1; /* easy <var47:Int> isa OTHER*/
+if (!var50) {
+var_class_name53 = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
+show_backtrace(1);
+}
+var54 = var46 > var47;
+var48 = var54;
+goto RET_LABEL49;
+RET_LABEL49:(void)0;
+}
+if (var48){
+var55 = 0;
+var = var55;
 goto RET_LABEL;
 } else {
 }
 } else {
 }
-var53 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on <self:Location>*/;
-var54 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_end]))(var_loc) /* line_end on <var_loc:nullable Location(Location)>*/;
-{ /* Inline kernel#Int#== (var53,var54) */
-var57 = var53 == var54;
-var55 = var57;
-goto RET_LABEL56;
-RET_LABEL56:(void)0;
+var57 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on <self:Location>*/;
+var58 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_end]))(var_loc) /* line_end on <var_loc:nullable Location(Location)>*/;
+{ /* Inline kernel#Int#== (var57,var58) */
+var61 = var57 == var58;
+var59 = var61;
+goto RET_LABEL60;
+RET_LABEL60:(void)0;
+}
+var_ = var59;
+if (var59){
+var62 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on <self:Location>*/;
+var63 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__column_end]))(var_loc) /* column_end on <var_loc:nullable Location(Location)>*/;
+{ /* Inline kernel#Int#> (var62,var63) */
+/* Covariant cast for argument 0 (i) <var63:Int> isa OTHER */
+/* <var63:Int> isa OTHER */
+var66 = 1; /* easy <var63:Int> isa OTHER*/
+if (!var66) {
+var_class_name69 = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name69);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
+show_backtrace(1);
+}
+var70 = var62 > var63;
+var64 = var70;
+goto RET_LABEL65;
+RET_LABEL65:(void)0;
 }
-var_ = var55;
-if (var55){
-var58 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on <self:Location>*/;
-var59 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__column_end]))(var_loc) /* column_end on <var_loc:nullable Location(Location)>*/;
-{ /* Inline kernel#Int#> (var58,var59) */
-/* Covariant cast for argument 0 (i) <var59:Int> isa OTHER */
-/* <var59:Int> isa OTHER */
-var62 = 1; /* easy <var59:Int> isa OTHER*/
-if (!var62) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
-exit(1);
-}
-var65 = var58 > var59;
-var60 = var65;
-goto RET_LABEL61;
-RET_LABEL61:(void)0;
-}
-var52 = var60;
-} else {
-var52 = var_;
-}
-if (var52){
-var66 = 0;
-var = var66;
+var56 = var64;
+} else {
+var56 = var_;
+}
+if (var56){
+var71 = 0;
+var = var71;
 goto RET_LABEL;
 } else {
 }
-var67 = 1;
-var = var67;
+var72 = 1;
+var = var72;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
@@ -980,6 +1004,7 @@ short int var14 /* : Bool */;
 short int var16 /* : Bool */;
 int cltype;
 int idtype;
+const char* var_class_name;
 short int var17 /* : Bool */;
 static val* varonce18;
 val* var19 /* : String */;
@@ -1120,16 +1145,18 @@ var7 = 1; /* arg is null and recv is not */
 if (var7){
 var8 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on <self:Location>*/;
 if (var8 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 124);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Receiver is null");
+fprintf(stderr, " (%s:%d)\n", "src/location.nit", 124);
+show_backtrace(1);
 } else {
 var9 = ((val* (*)(val*))(var8->class->vft[COLOR_location__SourceFile__filename]))(var8) /* filename on <var8:nullable SourceFile>*/;
 }
 var_file_part = var9;
 var10 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on <self:Location>*/;
 if (var10 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 125);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Receiver is null");
+fprintf(stderr, " (%s:%d)\n", "src/location.nit", 125);
+show_backtrace(1);
 } else {
 var11 = ((val* (*)(val*))(var10->class->vft[COLOR_location__SourceFile__filename]))(var10) /* filename on <var10:nullable SourceFile>*/;
 }
@@ -1140,8 +1167,10 @@ var13 = 0;
 /* <var13:Int> isa OTHER */
 var16 = 1; /* easy <var13:Int> isa OTHER*/
 if (!var16) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
-exit(1);
+var_class_name = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
+show_backtrace(1);
 }
 var17 = var12 > var13;
 var14 = var17;
@@ -1185,7 +1214,6 @@ if (var31){
 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
 var35 = 7;
 ((void (*)(val*, long))(var34->class->vft[COLOR_array__Array__with_capacity]))(var34, var35) /* with_capacity on <var34:Array[Object]>*/;
-CHECK_NEW_array__Array(var34);
 var_ = var34;
 if (varonce36) {
 var37 = varonce36;
@@ -1241,7 +1269,6 @@ goto RET_LABEL;
 var61 = NEW_array__Array(&type_array__Arraykernel__Object);
 var62 = 9;
 ((void (*)(val*, long))(var61->class->vft[COLOR_array__Array__with_capacity]))(var61, var62) /* with_capacity on <var61:Array[Object]>*/;
-CHECK_NEW_array__Array(var61);
 var_63 = var61;
 if (varonce64) {
 var65 = varonce64;
@@ -1311,7 +1338,6 @@ goto RET_LABEL;
 var96 = NEW_array__Array(&type_array__Arraykernel__Object);
 var97 = 11;
 ((void (*)(val*, long))(var96->class->vft[COLOR_array__Array__with_capacity]))(var96, var97) /* with_capacity on <var96:Array[Object]>*/;
-CHECK_NEW_array__Array(var96);
 var_98 = var96;
 if (varonce99) {
 var100 = varonce99;
@@ -1453,7 +1479,6 @@ var10 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))
 var11 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on <self:Location>*/;
 var12 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on <self:Location>*/;
 ((void (*)(val*, val*, long, long, long, long))(var7->class->vft[COLOR_location__Location__init]))(var7, var8, var9, var10, var11, var12) /* init on <var7:Location>*/;
-CHECK_NEW_location__Location(var7);
 var_relative = var7;
 } else {
 var13 = NEW_location__Location(&type_location__Location);
@@ -1463,7 +1488,6 @@ var16 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))
 var17 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on <self:Location>*/;
 var18 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on <self:Location>*/;
 ((void (*)(val*, val*, long, long, long, long))(var13->class->vft[COLOR_location__Location__init]))(var13, var14, var15, var16, var17, var18) /* init on <var13:Location>*/;
-CHECK_NEW_location__Location(var13);
 var_relative = var13;
 }
 var19 = ((val* (*)(val*))(var_relative->class->vft[COLOR_string__Object__to_s]))(var_relative) /* to_s on <var_relative:Location>*/;
@@ -1488,6 +1512,7 @@ short int var1 /* : Bool */;
 int cltype;
 int idtype;
 const struct type* type_struct;
+const char* var_class_name;
 val* var_other /* var other: Location */;
 short int var2 /* : Bool */;
 short int var3 /* : Bool */;
@@ -1506,38 +1531,42 @@ short int var16 /* : Bool */;
 short int var18 /* : Bool */;
 int cltype19;
 int idtype20;
-short int var21 /* : Bool */;
-long var22 /* : Int */;
+const char* var_class_name21;
+short int var22 /* : Bool */;
 long var23 /* : Int */;
-short int var24 /* : Bool */;
-short int var26 /* : Bool */;
+long var24 /* : Int */;
+short int var25 /* : Bool */;
 short int var27 /* : Bool */;
-long var28 /* : Int */;
+short int var28 /* : Bool */;
 long var29 /* : Int */;
-short int var30 /* : Bool */;
-short int var32 /* : Bool */;
-int cltype33;
-int idtype34;
-short int var35 /* : Bool */;
-long var36 /* : Int */;
-long var37 /* : Int */;
-short int var38 /* : Bool */;
+long var30 /* : Int */;
+short int var31 /* : Bool */;
+short int var33 /* : Bool */;
+int cltype34;
+int idtype35;
+const char* var_class_name36;
+short int var37 /* : Bool */;
+long var38 /* : Int */;
+long var39 /* : Int */;
 short int var40 /* : Bool */;
-short int var41 /* : Bool */;
-long var42 /* : Int */;
-long var43 /* : Int */;
-short int var44 /* : Bool */;
+short int var42 /* : Bool */;
+short int var43 /* : Bool */;
+long var44 /* : Int */;
+long var45 /* : Int */;
 short int var46 /* : Bool */;
-int cltype47;
-int idtype48;
-short int var49 /* : Bool */;
-long var50 /* : Int */;
-long var51 /* : Int */;
+short int var48 /* : Bool */;
+int cltype49;
+int idtype50;
+const char* var_class_name51;
 short int var52 /* : Bool */;
-short int var54 /* : Bool */;
-int cltype55;
-int idtype56;
+long var53 /* : Int */;
+long var54 /* : Int */;
+short int var55 /* : Bool */;
 short int var57 /* : Bool */;
+int cltype58;
+int idtype59;
+const char* var_class_name60;
+short int var61 /* : Bool */;
 /* Covariant cast for argument 0 (other) <p0:Location> isa OTHER */
 /* <p0:Location> isa OTHER */
 type_struct = self->type->resolution_table->types[COLOR_kernel__Comparable_VTOTHER];
@@ -1549,8 +1578,10 @@ var1 = 0;
 var1 = p0->type->type_table[cltype] == idtype;
 }
 if (!var1) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/location.nit", 149);
-exit(1);
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "src/location.nit", 149);
+show_backtrace(1);
 }
 var_other = p0;
 var2 = ((short int (*)(val*, val*))(self->class->vft[COLOR_kernel__Object___61d_61d]))(self, var_other) /* == on <self:Location>*/;
@@ -1591,11 +1622,13 @@ var15 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__line_s
 /* <var15:Int> isa OTHER */
 var18 = 1; /* easy <var15:Int> isa OTHER*/
 if (!var18) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
-exit(1);
+var_class_name21 = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
+show_backtrace(1);
 }
-var21 = var14 < var15;
-var16 = var21;
+var22 = var14 < var15;
+var16 = var22;
 goto RET_LABEL17;
 RET_LABEL17:(void)0;
 }
@@ -1603,80 +1636,86 @@ var = var16;
 goto RET_LABEL;
 } else {
 }
-var22 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on <self:Location>*/;
-var23 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__column_start]))(var_other) /* column_start on <var_other:Location>*/;
-{ /* Inline kernel#Int#!= (var22,var23) */
-var26 = var22 == var23;
-var27 = !var26;
-var24 = var27;
-goto RET_LABEL25;
-RET_LABEL25:(void)0;
-}
-if (var24){
-var28 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on <self:Location>*/;
-var29 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__column_start]))(var_other) /* column_start on <var_other:Location>*/;
-{ /* Inline kernel#Int#< (var28,var29) */
-/* Covariant cast for argument 0 (i) <var29:Int> isa OTHER */
-/* <var29:Int> isa OTHER */
-var32 = 1; /* easy <var29:Int> isa OTHER*/
-if (!var32) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
-exit(1);
-}
-var35 = var28 < var29;
-var30 = var35;
-goto RET_LABEL31;
-RET_LABEL31:(void)0;
+var23 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on <self:Location>*/;
+var24 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__column_start]))(var_other) /* column_start on <var_other:Location>*/;
+{ /* Inline kernel#Int#!= (var23,var24) */
+var27 = var23 == var24;
+var28 = !var27;
+var25 = var28;
+goto RET_LABEL26;
+RET_LABEL26:(void)0;
 }
-var = var30;
+if (var25){
+var29 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on <self:Location>*/;
+var30 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__column_start]))(var_other) /* column_start on <var_other:Location>*/;
+{ /* Inline kernel#Int#< (var29,var30) */
+/* Covariant cast for argument 0 (i) <var30:Int> isa OTHER */
+/* <var30:Int> isa OTHER */
+var33 = 1; /* easy <var30:Int> isa OTHER*/
+if (!var33) {
+var_class_name36 = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
+show_backtrace(1);
+}
+var37 = var29 < var30;
+var31 = var37;
+goto RET_LABEL32;
+RET_LABEL32:(void)0;
+}
+var = var31;
 goto RET_LABEL;
 } else {
 }
-var36 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on <self:Location>*/;
-var37 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__line_end]))(var_other) /* line_end on <var_other:Location>*/;
-{ /* Inline kernel#Int#!= (var36,var37) */
-var40 = var36 == var37;
-var41 = !var40;
-var38 = var41;
-goto RET_LABEL39;
-RET_LABEL39:(void)0;
-}
-if (var38){
-var42 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on <self:Location>*/;
-var43 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__line_end]))(var_other) /* line_end on <var_other:Location>*/;
-{ /* Inline kernel#Int#< (var42,var43) */
-/* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
-/* <var43:Int> isa OTHER */
-var46 = 1; /* easy <var43:Int> isa OTHER*/
-if (!var46) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
-exit(1);
-}
-var49 = var42 < var43;
-var44 = var49;
-goto RET_LABEL45;
-RET_LABEL45:(void)0;
-}
-var = var44;
+var38 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on <self:Location>*/;
+var39 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__line_end]))(var_other) /* line_end on <var_other:Location>*/;
+{ /* Inline kernel#Int#!= (var38,var39) */
+var42 = var38 == var39;
+var43 = !var42;
+var40 = var43;
+goto RET_LABEL41;
+RET_LABEL41:(void)0;
+}
+if (var40){
+var44 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on <self:Location>*/;
+var45 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__line_end]))(var_other) /* line_end on <var_other:Location>*/;
+{ /* Inline kernel#Int#< (var44,var45) */
+/* Covariant cast for argument 0 (i) <var45:Int> isa OTHER */
+/* <var45:Int> isa OTHER */
+var48 = 1; /* easy <var45:Int> isa OTHER*/
+if (!var48) {
+var_class_name51 = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name51);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
+show_backtrace(1);
+}
+var52 = var44 < var45;
+var46 = var52;
+goto RET_LABEL47;
+RET_LABEL47:(void)0;
+}
+var = var46;
 goto RET_LABEL;
 } else {
 }
-var50 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on <self:Location>*/;
-var51 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__column_end]))(var_other) /* column_end on <var_other:Location>*/;
-{ /* Inline kernel#Int#< (var50,var51) */
-/* Covariant cast for argument 0 (i) <var51:Int> isa OTHER */
-/* <var51:Int> isa OTHER */
-var54 = 1; /* easy <var51:Int> isa OTHER*/
-if (!var54) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
-exit(1);
-}
-var57 = var50 < var51;
-var52 = var57;
-goto RET_LABEL53;
-RET_LABEL53:(void)0;
+var53 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on <self:Location>*/;
+var54 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__column_end]))(var_other) /* column_end on <var_other:Location>*/;
+{ /* Inline kernel#Int#< (var53,var54) */
+/* Covariant cast for argument 0 (i) <var54:Int> isa OTHER */
+/* <var54:Int> isa OTHER */
+var57 = 1; /* easy <var54:Int> isa OTHER*/
+if (!var57) {
+var_class_name60 = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name60);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
+show_backtrace(1);
+}
+var61 = var53 < var54;
+var55 = var61;
+goto RET_LABEL56;
+RET_LABEL56:(void)0;
 }
-var = var52;
+var = var55;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
@@ -1760,160 +1799,165 @@ short int var56 /* : Bool */;
 short int var58 /* : Bool */;
 int cltype;
 int idtype;
+const char* var_class_name;
 short int var59 /* : Bool */;
 short int var_60 /* var : Bool */;
-long var61 /* : Int */;
+val* var61 /* : StringCharView */;
 long var62 /* : Int */;
-long var64 /* : Int */;
-val* var65 /* : nullable Object */;
-char var66 /* : Char */;
-short int var67 /* : Bool */;
-short int var69 /* : Bool */;
-char var70 /* : Char */;
-short int var71 /* : Bool */;
-short int var_72 /* var : Bool */;
-long var73 /* : Int */;
-long var74 /* : Int */;
+long var63 /* : Int */;
+long var65 /* : Int */;
+val* var66 /* : nullable Object */;
+char var67 /* : Char */;
+short int var68 /* : Bool */;
+short int var70 /* : Bool */;
+char var71 /* : Char */;
+short int var72 /* : Bool */;
+short int var_73 /* var : Bool */;
+val* var74 /* : StringCharView */;
+long var75 /* : Int */;
 long var76 /* : Int */;
-val* var77 /* : nullable Object */;
-char var78 /* : Char */;
-short int var79 /* : Bool */;
+long var78 /* : Int */;
+val* var79 /* : nullable Object */;
+char var80 /* : Char */;
 short int var81 /* : Bool */;
-char var82 /* : Char */;
 short int var83 /* : Bool */;
-long var84 /* : Int */;
-long var85 /* : Int */;
+char var84 /* : Char */;
+short int var85 /* : Bool */;
+long var86 /* : Int */;
 long var87 /* : Int */;
-long var88 /* : Int */;
 long var89 /* : Int */;
 long var90 /* : Int */;
+long var91 /* : Int */;
 long var92 /* : Int */;
-val* var93 /* : String */;
-val* var_lstart /* var lstart: String */;
 long var94 /* : Int */;
-short int var95 /* : Bool */;
+val* var95 /* : String */;
+val* var_lstart /* var lstart: String */;
+long var96 /* : Int */;
 short int var97 /* : Bool */;
-short int var98 /* : Bool */;
-long var99 /* : Int */;
+short int var99 /* : Bool */;
+short int var100 /* : Bool */;
 long var101 /* : Int */;
-long var102 /* : Int */;
 long var103 /* : Int */;
+long var104 /* : Int */;
 long var105 /* : Int */;
-val* var106 /* : nullable Object */;
-val* var_cend /* var cend: nullable Object */;
 long var107 /* : Int */;
 val* var108 /* : nullable Object */;
+val* var_cend /* var cend: nullable Object */;
 long var109 /* : Int */;
+val* var110 /* : nullable Object */;
 long var111 /* : Int */;
-long var112 /* : Int */;
 long var113 /* : Int */;
-short int var114 /* : Bool */;
+long var114 /* : Int */;
+long var115 /* : Int */;
 short int var116 /* : Bool */;
-int cltype117;
-int idtype118;
-short int var119 /* : Bool */;
-long var120 /* : Int */;
-long var121 /* : Int */;
+short int var118 /* : Bool */;
+int cltype119;
+int idtype120;
+const char* var_class_name121;
+short int var122 /* : Bool */;
 long var123 /* : Int */;
 long var124 /* : Int */;
-long var125 /* : Int */;
+long var126 /* : Int */;
 long var127 /* : Int */;
 long var128 /* : Int */;
-long var129 /* : Int */;
+long var130 /* : Int */;
 long var131 /* : Int */;
 long var132 /* : Int */;
-long var133 /* : Int */;
 long var134 /* : Int */;
+long var135 /* : Int */;
 long var136 /* : Int */;
-val* var137 /* : String */;
+long var137 /* : Int */;
+long var139 /* : Int */;
+val* var140 /* : String */;
 val* var_lmid /* var lmid: nullable Object */;
-long var138 /* : Int */;
-long var140 /* : Int */;
 long var141 /* : Int */;
-long var142 /* : Int */;
+long var143 /* : Int */;
 long var144 /* : Int */;
 long var145 /* : Int */;
 long var147 /* : Int */;
 long var148 /* : Int */;
-long var149 /* : Int */;
 long var150 /* : Int */;
+long var151 /* : Int */;
 long var152 /* : Int */;
-val* var153 /* : String */;
+long var153 /* : Int */;
+long var155 /* : Int */;
+val* var156 /* : String */;
 val* var_lend /* var lend: nullable Object */;
-static val* varonce154;
-val* var155 /* : String */;
-char* var156 /* : NativeString */;
-long var157 /* : Int */;
+static val* varonce157;
 val* var158 /* : String */;
-static val* varonce159;
-val* var160 /* : String */;
-char* var161 /* : NativeString */;
-long var162 /* : Int */;
+char* var159 /* : NativeString */;
+long var160 /* : Int */;
+val* var161 /* : String */;
+static val* varonce162;
 val* var163 /* : String */;
-val* var164 /* : Buffer */;
+char* var164 /* : NativeString */;
+long var165 /* : Int */;
+val* var166 /* : String */;
+val* var167 /* : Buffer */;
 val* var_indent /* var indent: Buffer */;
-val* var165 /* : Range[Int] */;
-long var166 /* : Int */;
-long var167 /* : Int */;
+val* var168 /* : Range[Int] */;
 long var169 /* : Int */;
 long var170 /* : Int */;
-long var171 /* : Int */;
+long var172 /* : Int */;
 long var173 /* : Int */;
-val* var174 /* : Discrete */;
-val* var175 /* : Discrete */;
-val* var176 /* : Iterator[nullable Object] */;
-short int var177 /* : Bool */;
-val* var178 /* : nullable Object */;
+long var174 /* : Int */;
+long var176 /* : Int */;
+val* var177 /* : Discrete */;
+val* var178 /* : Discrete */;
+val* var179 /* : Iterator[nullable Object] */;
+short int var180 /* : Bool */;
+val* var181 /* : nullable Object */;
 long var_j /* var j: Int */;
-long var179 /* : Int */;
-val* var180 /* : nullable Object */;
-char var181 /* : Char */;
-short int var182 /* : Bool */;
-short int var184 /* : Bool */;
+long var182 /* : Int */;
+val* var183 /* : StringCharView */;
+val* var184 /* : nullable Object */;
 char var185 /* : Char */;
-char var186 /* : Char */;
-val* var187 /* : nullable Object */;
-char var188 /* : Char */;
-val* var189 /* : nullable Object */;
-val* var191 /* : Array[Object] */;
-long var192 /* : Int */;
-val* var_193 /* var : Array[Object] */;
-static val* varonce194;
-val* var195 /* : String */;
-char* var196 /* : NativeString */;
-long var197 /* : Int */;
-val* var198 /* : String */;
-static val* varonce199;
-val* var200 /* : String */;
-char* var201 /* : NativeString */;
-long var202 /* : Int */;
-val* var203 /* : String */;
-static val* varonce204;
-val* var205 /* : String */;
-char* var206 /* : NativeString */;
-long var207 /* : Int */;
-val* var208 /* : String */;
-static val* varonce209;
-val* var210 /* : String */;
-char* var211 /* : NativeString */;
-long var212 /* : Int */;
-val* var213 /* : String */;
-static val* varonce214;
-val* var215 /* : String */;
-char* var216 /* : NativeString */;
-long var217 /* : Int */;
-val* var218 /* : String */;
-static val* varonce219;
-val* var220 /* : String */;
-char* var221 /* : NativeString */;
-long var222 /* : Int */;
-val* var223 /* : String */;
-static val* varonce224;
-val* var225 /* : String */;
-char* var226 /* : NativeString */;
-long var227 /* : Int */;
-val* var228 /* : String */;
+short int var186 /* : Bool */;
+short int var188 /* : Bool */;
+char var189 /* : Char */;
+char var190 /* : Char */;
+val* var191 /* : nullable Object */;
+char var192 /* : Char */;
+val* var193 /* : nullable Object */;
+val* var195 /* : Array[Object] */;
+long var196 /* : Int */;
+val* var_197 /* var : Array[Object] */;
+static val* varonce198;
+val* var199 /* : String */;
+char* var200 /* : NativeString */;
+long var201 /* : Int */;
+val* var202 /* : String */;
+static val* varonce203;
+val* var204 /* : String */;
+char* var205 /* : NativeString */;
+long var206 /* : Int */;
+val* var207 /* : String */;
+static val* varonce208;
+val* var209 /* : String */;
+char* var210 /* : NativeString */;
+long var211 /* : Int */;
+val* var212 /* : String */;
+static val* varonce213;
+val* var214 /* : String */;
+char* var215 /* : NativeString */;
+long var216 /* : Int */;
+val* var217 /* : String */;
+static val* varonce218;
+val* var219 /* : String */;
+char* var220 /* : NativeString */;
+long var221 /* : Int */;
+val* var222 /* : String */;
+static val* varonce223;
+val* var224 /* : String */;
+char* var225 /* : NativeString */;
+long var226 /* : Int */;
+val* var227 /* : String */;
+static val* varonce228;
 val* var229 /* : String */;
+char* var230 /* : NativeString */;
+long var231 /* : Int */;
+val* var232 /* : String */;
+val* var233 /* : String */;
 var_color = p0;
 var1 = 27;
 { /* Inline kernel#Int#ascii (var1) */
@@ -1926,7 +1970,6 @@ var_esc = var2;
 var5 = NEW_array__Array(&type_array__Arraykernel__Object);
 var6 = 3;
 ((void (*)(val*, long))(var5->class->vft[COLOR_array__Array__with_capacity]))(var5, var6) /* with_capacity on <var5:Array[Object]>*/;
-CHECK_NEW_array__Array(var5);
 var_ = var5;
 if (varonce) {
 var7 = varonce;
@@ -1955,7 +1998,6 @@ var_def = var17;
 var18 = NEW_array__Array(&type_array__Arraykernel__Object);
 var19 = 5;
 ((void (*)(val*, long))(var18->class->vft[COLOR_array__Array__with_capacity]))(var18, var19) /* with_capacity on <var18:Array[Object]>*/;
-CHECK_NEW_array__Array(var18);
 var_20 = var18;
 if (varonce21) {
 var22 = varonce21;
@@ -1997,8 +2039,9 @@ var38 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__line_start
 var_i = var38;
 var39 = ((val* (*)(val*))(var_l->class->vft[COLOR_location__Location__file]))(var_l) /* file on <var_l:Location>*/;
 if (var39 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 174);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Receiver is null");
+fprintf(stderr, " (%s:%d)\n", "src/location.nit", 174);
+show_backtrace(1);
 } else {
 var40 = ((val* (*)(val*))(var39->class->vft[COLOR_location__SourceFile__line_starts]))(var39) /* line_starts on <var39:nullable SourceFile>*/;
 }
@@ -2015,8 +2058,9 @@ var_line_start = var46;
 var_line_end = var_line_start;
 var47 = ((val* (*)(val*))(var_l->class->vft[COLOR_location__Location__file]))(var_l) /* file on <var_l:Location>*/;
 if (var47 == NULL) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 176);
-exit(1);
+fprintf(stderr, "Runtime error: %s", "Receiver is null");
+fprintf(stderr, " (%s:%d)\n", "src/location.nit", 176);
+show_backtrace(1);
 } else {
 var48 = ((val* (*)(val*))(var47->class->vft[COLOR_location__SourceFile__string]))(var47) /* string on <var47:nullable SourceFile>*/;
 }
@@ -2035,8 +2079,10 @@ var55 = ((long (*)(val*))(var_string->class->vft[COLOR_abstract_collection__Coll
 /* <var55:Int> isa OTHER */
 var58 = 1; /* easy <var55:Int> isa OTHER*/
 if (!var58) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
-exit(1);
+var_class_name = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
+show_backtrace(1);
 }
 var59 = var52 < var55;
 var56 = var59;
@@ -2045,349 +2091,351 @@ RET_LABEL57:(void)0;
 }
 var_60 = var56;
 if (var56){
-var61 = 1;
-{ /* Inline kernel#Int#+ (var_line_end,var61) */
-var64 = var_line_end + var61;
-var62 = var64;
-goto RET_LABEL63;
-RET_LABEL63:(void)0;
-}
-var65 = ((val* (*)(val*, long))(var_string->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_string, var62) /* [] on <var_string:String>*/;
-var66 = '\n';
-{ /* Inline kernel#Char#!= (var65,var66) */
-var69 = (var65 != NULL) && (var65->class == &class_kernel__Char);
-if (var69) {
-var70 = ((struct instance_kernel__Char*)var65)->value; /* autounbox from nullable Object to Char */;
-var69 = (var70 == var66);
-}
-var71 = !var69;
-var67 = var71;
-goto RET_LABEL68;
-RET_LABEL68:(void)0;
-}
-var50 = var67;
+var61 = ((val* (*)(val*))(var_string->class->vft[COLOR_string__AbstractString__chars]))(var_string) /* chars on <var_string:String>*/;
+var62 = 1;
+{ /* Inline kernel#Int#+ (var_line_end,var62) */
+var65 = var_line_end + var62;
+var63 = var65;
+goto RET_LABEL64;
+RET_LABEL64:(void)0;
+}
+var66 = ((val* (*)(val*, long))(var61->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var61, var63) /* [] on <var61:StringCharView>*/;
+var67 = '\n';
+{ /* Inline kernel#Char#!= (var66,var67) */
+var70 = (var66 != NULL) && (var66->class == &class_kernel__Char);
+if (var70) {
+var71 = ((struct instance_kernel__Char*)var66)->value; /* autounbox from nullable Object to Char */;
+var70 = (var71 == var67);
+}
+var72 = !var70;
+var68 = var72;
+goto RET_LABEL69;
+RET_LABEL69:(void)0;
+}
+var50 = var68;
 } else {
 var50 = var_60;
 }
-var_72 = var50;
+var_73 = var50;
 if (var50){
-var73 = 1;
-{ /* Inline kernel#Int#+ (var_line_end,var73) */
-var76 = var_line_end + var73;
-var74 = var76;
-goto RET_LABEL75;
-RET_LABEL75:(void)0;
-}
-var77 = ((val* (*)(val*, long))(var_string->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_string, var74) /* [] on <var_string:String>*/;
-var78 = '\15';
-{ /* Inline kernel#Char#!= (var77,var78) */
-var81 = (var77 != NULL) && (var77->class == &class_kernel__Char);
-if (var81) {
-var82 = ((struct instance_kernel__Char*)var77)->value; /* autounbox from nullable Object to Char */;
-var81 = (var82 == var78);
-}
-var83 = !var81;
-var79 = var83;
-goto RET_LABEL80;
-RET_LABEL80:(void)0;
-}
-var49 = var79;
-} else {
-var49 = var_72;
+var74 = ((val* (*)(val*))(var_string->class->vft[COLOR_string__AbstractString__chars]))(var_string) /* chars on <var_string:String>*/;
+var75 = 1;
+{ /* Inline kernel#Int#+ (var_line_end,var75) */
+var78 = var_line_end + var75;
+var76 = var78;
+goto RET_LABEL77;
+RET_LABEL77:(void)0;
+}
+var79 = ((val* (*)(val*, long))(var74->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var74, var76) /* [] on <var74:StringCharView>*/;
+var80 = '\15';
+{ /* Inline kernel#Char#!= (var79,var80) */
+var83 = (var79 != NULL) && (var79->class == &class_kernel__Char);
+if (var83) {
+var84 = ((struct instance_kernel__Char*)var79)->value; /* autounbox from nullable Object to Char */;
+var83 = (var84 == var80);
+}
+var85 = !var83;
+var81 = var85;
+goto RET_LABEL82;
+RET_LABEL82:(void)0;
+}
+var49 = var81;
+} else {
+var49 = var_73;
 }
 if (!var49) break;
-var84 = 1;
-{ /* Inline kernel#Int#+ (var_line_end,var84) */
-var87 = var_line_end + var84;
-var85 = var87;
-goto RET_LABEL86;
-RET_LABEL86:(void)0;
-}
-var_line_end = var85;
+var86 = 1;
+{ /* Inline kernel#Int#+ (var_line_end,var86) */
+var89 = var_line_end + var86;
+var87 = var89;
+goto RET_LABEL88;
+RET_LABEL88:(void)0;
+}
+var_line_end = var87;
 CONTINUE_label: (void)0;
 }
 BREAK_label: (void)0;
-var88 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on <var_l:Location>*/;
-var89 = 1;
-{ /* Inline kernel#Int#- (var88,var89) */
-var92 = var88 - var89;
-var90 = var92;
-goto RET_LABEL91;
-RET_LABEL91:(void)0;
-}
-var93 = ((val* (*)(val*, long, long))(var_string->class->vft[COLOR_string__AbstractString__substring]))(var_string, var_line_start, var90) /* substring on <var_string:String>*/;
-var_lstart = var93;
-var94 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__line_end]))(var_l) /* line_end on <var_l:Location>*/;
-{ /* Inline kernel#Int#!= (var_i,var94) */
-var97 = var_i == var94;
-var98 = !var97;
-var95 = var98;
-goto RET_LABEL96;
-RET_LABEL96:(void)0;
-}
-if (var95){
+var90 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on <var_l:Location>*/;
+var91 = 1;
+{ /* Inline kernel#Int#- (var90,var91) */
+var94 = var90 - var91;
+var92 = var94;
+goto RET_LABEL93;
+RET_LABEL93:(void)0;
+}
+var95 = ((val* (*)(val*, long, long))(var_string->class->vft[COLOR_string__AbstractString__substring]))(var_string, var_line_start, var92) /* substring on <var_string:String>*/;
+var_lstart = var95;
+var96 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__line_end]))(var_l) /* line_end on <var_l:Location>*/;
+{ /* Inline kernel#Int#!= (var_i,var96) */
+var99 = var_i == var96;
+var100 = !var99;
+var97 = var100;
+goto RET_LABEL98;
+RET_LABEL98:(void)0;
+}
+if (var97){
 { /* Inline kernel#Int#- (var_line_end,var_line_start) */
-var101 = var_line_end - var_line_start;
-var99 = var101;
-goto RET_LABEL100;
-RET_LABEL100:(void)0;
-}
-var102 = 1;
-{ /* Inline kernel#Int#+ (var99,var102) */
-var105 = var99 + var102;
-var103 = var105;
-goto RET_LABEL104;
-RET_LABEL104:(void)0;
-}
-var106 = BOX_kernel__Int(var103); /* autobox from Int to nullable Object */
-var_cend = var106;
-} else {
-var107 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_end]))(var_l) /* column_end on <var_l:Location>*/;
-var108 = BOX_kernel__Int(var107); /* autobox from Int to nullable Object */
+var103 = var_line_end - var_line_start;
+var101 = var103;
+goto RET_LABEL102;
+RET_LABEL102:(void)0;
+}
+var104 = 1;
+{ /* Inline kernel#Int#+ (var101,var104) */
+var107 = var101 + var104;
+var105 = var107;
+goto RET_LABEL106;
+RET_LABEL106:(void)0;
+}
+var108 = BOX_kernel__Int(var105); /* autobox from Int to nullable Object */
 var_cend = var108;
+} else {
+var109 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_end]))(var_l) /* column_end on <var_l:Location>*/;
+var110 = BOX_kernel__Int(var109); /* autobox from Int to nullable Object */
+var_cend = var110;
 }
 { /* Inline kernel#Int#+ (var_line_start,var_cend) */
-var111 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
-var112 = var_line_start + var111;
-var109 = var112;
-goto RET_LABEL110;
-RET_LABEL110:(void)0;
-}
-var113 = ((long (*)(val*))(var_string->class->vft[COLOR_abstract_collection__Collection__length]))(var_string) /* length on <var_string:String>*/;
-{ /* Inline kernel#Int#<= (var109,var113) */
-/* Covariant cast for argument 0 (i) <var113:Int> isa OTHER */
-/* <var113:Int> isa OTHER */
-var116 = 1; /* easy <var113:Int> isa OTHER*/
-if (!var116) {
-fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
-exit(1);
-}
-var119 = var109 <= var113;
-var114 = var119;
-goto RET_LABEL115;
-RET_LABEL115:(void)0;
-}
-if (var114){
-var120 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on <var_l:Location>*/;
-{ /* Inline kernel#Int#+ (var_line_start,var120) */
-var123 = var_line_start + var120;
-var121 = var123;
-goto RET_LABEL122;
-RET_LABEL122:(void)0;
-}
-var124 = 1;
-{ /* Inline kernel#Int#- (var121,var124) */
-var127 = var121 - var124;
-var125 = var127;
-goto RET_LABEL126;
-RET_LABEL126:(void)0;
-}
-var128 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on <var_l:Location>*/;
-{ /* Inline kernel#Int#- (var_cend,var128) */
-var131 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
-var132 = var131 - var128;
-var129 = var132;
-goto RET_LABEL130;
-RET_LABEL130:(void)0;
-}
-var133 = 1;
-{ /* Inline kernel#Int#+ (var129,var133) */
-var136 = var129 + var133;
-var134 = var136;
-goto RET_LABEL135;
-RET_LABEL135:(void)0;
-}
-var137 = ((val* (*)(val*, long, long))(var_string->class->vft[COLOR_string__AbstractString__substring]))(var_string, var125, var134) /* substring on <var_string:String>*/;
-var_lmid = var137;
+var113 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
+var114 = var_line_start + var113;
+var111 = var114;
+goto RET_LABEL112;
+RET_LABEL112:(void)0;
+}
+var115 = ((long (*)(val*))(var_string->class->vft[COLOR_abstract_collection__Collection__length]))(var_string) /* length on <var_string:String>*/;
+{ /* Inline kernel#Int#<= (var111,var115) */
+/* Covariant cast for argument 0 (i) <var115:Int> isa OTHER */
+/* <var115:Int> isa OTHER */
+var118 = 1; /* easy <var115:Int> isa OTHER*/
+if (!var118) {
+var_class_name121 = type_kernel__Int.name;
+fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name121);
+fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
+show_backtrace(1);
+}
+var122 = var111 <= var115;
+var116 = var122;
+goto RET_LABEL117;
+RET_LABEL117:(void)0;
+}
+if (var116){
+var123 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on <var_l:Location>*/;
+{ /* Inline kernel#Int#+ (var_line_start,var123) */
+var126 = var_line_start + var123;
+var124 = var126;
+goto RET_LABEL125;
+RET_LABEL125:(void)0;
+}
+var127 = 1;
+{ /* Inline kernel#Int#- (var124,var127) */
+var130 = var124 - var127;
+var128 = var130;
+goto RET_LABEL129;
+RET_LABEL129:(void)0;
+}
+var131 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on <var_l:Location>*/;
+{ /* Inline kernel#Int#- (var_cend,var131) */
+var134 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
+var135 = var134 - var131;
+var132 = var135;
+goto RET_LABEL133;
+RET_LABEL133:(void)0;
+}
+var136 = 1;
+{ /* Inline kernel#Int#+ (var132,var136) */
+var139 = var132 + var136;
+var137 = var139;
+goto RET_LABEL138;
+RET_LABEL138:(void)0;
+}
+var140 = ((val* (*)(val*, long, long))(var_string->class->vft[COLOR_string__AbstractString__substring]))(var_string, var128, var137) /* substring on <var_string:String>*/;
+var_lmid = var140;
 { /* Inline kernel#Int#+ (var_line_start,var_cend) */
-var140 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
-var141 = var_line_start + var140;
-var138 = var141;
-goto RET_LABEL139;
-RET_LABEL139:(void)0;
+var143 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
+var144 = var_line_start + var143;
+var141 = var144;
+goto RET_LABEL142;
+RET_LABEL142:(void)0;
 }
 { /* Inline kernel#Int#- (var_line_end,var_line_start) */
-var144 = var_line_end - var_line_start;
-var142 = var144;
-goto RET_LABEL143;
-RET_LABEL143:(void)0;
-}
-{ /* Inline kernel#Int#- (var142,var_cend) */
-var147 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
-var148 = var142 - var147;
-var145 = var148;
+var147 = var_line_end - var_line_start;
+var145 = var147;
 goto RET_LABEL146;
 RET_LABEL146:(void)0;
 }
-var149 = 1;
-{ /* Inline kernel#Int#+ (var145,var149) */
-var152 = var145 + var149;
-var150 = var152;
-goto RET_LABEL151;
-RET_LABEL151:(void)0;
-}
-var153 = ((val* (*)(val*, long, long))(var_string->class->vft[COLOR_string__AbstractString__substring]))(var_string, var138, var150) /* substring on <var_string:String>*/;
-var_lend = var153;
-} else {
-if (varonce154) {
-var155 = varonce154;
-} else {
-var156 = "";
-var157 = 0;
-var158 = string__NativeString__to_s_with_length(var156, var157);
-var155 = var158;
-varonce154 = var155;
-}
-var_lmid = var155;
-if (varonce159) {
-var160 = varonce159;
-} else {
-var161 = "";
-var162 = 0;
-var163 = string__NativeString__to_s_with_length(var161, var162);
-var160 = var163;
-varonce159 = var160;
-}
-var_lend = var160;
-}
-var164 = NEW_string__Buffer(&type_string__Buffer);
-((void (*)(val*))(var164->class->vft[COLOR_string__Buffer__init]))(var164) /* init on <var164:Buffer>*/;
-CHECK_NEW_string__Buffer(var164);
-var_indent = var164;
-var165 = NEW_range__Range(&type_range__Rangekernel__Int);
-var166 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on <var_l:Location>*/;
-{ /* Inline kernel#Int#+ (var_line_start,var166) */
-var169 = var_line_start + var166;
-var167 = var169;
-goto RET_LABEL168;
-RET_LABEL168:(void)0;
-}
-var170 = 1;
-{ /* Inline kernel#Int#- (var167,var170) */
-var173 = var167 - var170;
-var171 = var173;
-goto RET_LABEL172;
-RET_LABEL172:(void)0;
-}
-var174 = BOX_kernel__Int(var_line_start); /* autobox from Int to Discrete */
-var175 = BOX_kernel__Int(var171); /* autobox from Int to Discrete */
-((void (*)(val*, val*, val*))(var165->class->vft[COLOR_range__Range__without_last]))(var165, var174, var175) /* without_last on <var165:Range[Int]>*/;
-CHECK_NEW_range__Range(var165);
-var176 = ((val* (*)(val*))(var165->class->vft[COLOR_abstract_collection__Collection__iterator]))(var165) /* iterator on <var165:Range[Int]>*/;
+{ /* Inline kernel#Int#- (var145,var_cend) */
+var150 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
+var151 = var145 - var150;
+var148 = var151;
+goto RET_LABEL149;
+RET_LABEL149:(void)0;
+}
+var152 = 1;
+{ /* Inline kernel#Int#+ (var148,var152) */
+var155 = var148 + var152;
+var153 = var155;
+goto RET_LABEL154;
+RET_LABEL154:(void)0;
+}
+var156 = ((val* (*)(val*, long, long))(var_string->class->vft[COLOR_string__AbstractString__substring]))(var_string, var141, var153) /* substring on <var_string:String>*/;
+var_lend = var156;
+} else {
+if (varonce157) {
+var158 = varonce157;
+} else {
+var159 = "";
+var160 = 0;
+var161 = string__NativeString__to_s_with_length(var159, var160);
+var158 = var161;
+varonce157 = var158;
+}
+var_lmid = var158;
+if (varonce162) {
+var163 = varonce162;
+} else {
+var164 = "";
+var165 = 0;
+var166 = string__NativeString__to_s_with_length(var164, var165);
+var163 = var166;
+varonce162 = var163;
+}
+var_lend = var163;
+}
+var167 = NEW_string__Buffer(&type_string__Buffer);
+((void (*)(val*))(var167->class->vft[COLOR_string__Buffer__init]))(var167) /* init on <var167:Buffer>*/;
+var_indent = var167;
+var168 = NEW_range__Range(&type_range__Rangekernel__Int);
+var169 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on <var_l:Location>*/;
+{ /* Inline kernel#Int#+ (var_line_start,var169) */
+var172 = var_line_start + var169;
+var170 = var172;
+goto RET_LABEL171;
+RET_LABEL171:(void)0;
+}
+var173 = 1;
+{ /* Inline kernel#Int#- (var170,var173) */
+var176 = var170 - var173;
+var174 = var176;
+goto RET_LABEL175;
+RET_LABEL175:(void)0;
+}
+var177 = BOX_kernel__Int(var_line_start); /* autobox from Int to Discrete */
+var178 = BOX_kernel__Int(var174); /* autobox from Int to Discrete */
+((void (*)(val*, val*, val*))(var168->class->vft[COLOR_range__Range__without_last]))(var168, var177, var178) /* without_last on <var168:Range[Int]>*/;
+var179 = ((val* (*)(val*))(var168->class->vft[COLOR_abstract_collection__Collection__iterator]))(var168) /* iterator on <var168:Range[Int]>*/;
 for(;;) {
-var177 = ((short int (*)(val*))(var176->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var176) /* is_ok on <var176:Iterator[nullable Object]>*/;
-if(!var177) break;
-var178 = ((val* (*)(val*))(var176->class->vft[COLOR_abstract_collection__Iterator__item]))(var176) /* item on <var176:Iterator[nullable Object]>*/;
-var179 = ((struct instance_kernel__Int*)var178)->value; /* autounbox from nullable Object to Int */;
-var_j = var179;
-var180 = ((val* (*)(val*, long))(var_string->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_string, var_j) /* [] on <var_string:String>*/;
-var181 = '\11';
-{ /* Inline kernel#Char#== (var180,var181) */
-var184 = (var180 != NULL) && (var180->class == &class_kernel__Char);
-if (var184) {
-var185 = ((struct instance_kernel__Char*)var180)->value; /* autounbox from nullable Object to Char */;
-var184 = (var185 == var181);
-}
-var182 = var184;
-goto RET_LABEL183;
-RET_LABEL183:(void)0;
-}
-if (var182){
-var186 = '\11';
-var187 = BOX_kernel__Char(var186); /* autobox from Char to nullable Object */
-((void (*)(val*, val*))(var_indent->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_indent, var187) /* add on <var_indent:Buffer>*/;
-} else {
-var188 = ' ';
-var189 = BOX_kernel__Char(var188); /* autobox from Char to nullable Object */
-((void (*)(val*, val*))(var_indent->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_indent, var189) /* add on <var_indent:Buffer>*/;
-}
-CONTINUE_label190: (void)0;
-((void (*)(val*))(var176->class->vft[COLOR_abstract_collection__Iterator__next]))(var176) /* next on <var176:Iterator[nullable Object]>*/;
-}
-BREAK_label190: (void)0;
-var191 = NEW_array__Array(&type_array__Arraykernel__Object);
-var192 = 13;
-((void (*)(val*, long))(var191->class->vft[COLOR_array__Array__with_capacity]))(var191, var192) /* with_capacity on <var191:Array[Object]>*/;
-CHECK_NEW_array__Array(var191);
-var_193 = var191;
-if (varonce194) {
-var195 = varonce194;
-} else {
-var196 = "\11";
-var197 = 1;
-var198 = string__NativeString__to_s_with_length(var196, var197);
-var195 = var198;
-varonce194 = var195;
-}
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var195) /* add on <var_193:Array[Object]>*/;
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_lstart) /* add on <var_193:Array[Object]>*/;
-if (varonce199) {
-var200 = varonce199;
-} else {
-var201 = "";
-var202 = 0;
-var203 = string__NativeString__to_s_with_length(var201, var202);
-var200 = var203;
-varonce199 = var200;
-}
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var200) /* add on <var_193:Array[Object]>*/;
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_col) /* add on <var_193:Array[Object]>*/;
-if (varonce204) {
-var205 = varonce204;
-} else {
-var206 = "";
-var207 = 0;
-var208 = string__NativeString__to_s_with_length(var206, var207);
-var205 = var208;
-varonce204 = var205;
-}
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var205) /* add on <var_193:Array[Object]>*/;
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_lmid) /* add on <var_193:Array[Object]>*/;
-if (varonce209) {
-var210 = varonce209;
-} else {
-var211 = "";
-var212 = 0;
-var213 = string__NativeString__to_s_with_length(var211, var212);
-var210 = var213;
-varonce209 = var210;
-}
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var210) /* add on <var_193:Array[Object]>*/;
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_def) /* add on <var_193:Array[Object]>*/;
-if (varonce214) {
-var215 = varonce214;
-} else {
-var216 = "";
-var217 = 0;
-var218 = string__NativeString__to_s_with_length(var216, var217);
-var215 = var218;
-varonce214 = var215;
-}
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var215) /* add on <var_193:Array[Object]>*/;
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_lend) /* add on <var_193:Array[Object]>*/;
-if (varonce219) {
-var220 = varonce219;
-} else {
-var221 = "\n\11";
-var222 = 2;
-var223 = string__NativeString__to_s_with_length(var221, var222);
-var220 = var223;
-varonce219 = var220;
-}
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var220) /* add on <var_193:Array[Object]>*/;
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_indent) /* add on <var_193:Array[Object]>*/;
-if (varonce224) {
-var225 = varonce224;
-} else {
-var226 = "^";
-var227 = 1;
-var228 = string__NativeString__to_s_with_length(var226, var227);
-var225 = var228;
-varonce224 = var225;
-}
-((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var225) /* add on <var_193:Array[Object]>*/;
-var229 = ((val* (*)(val*))(var_193->class->vft[COLOR_string__Object__to_s]))(var_193) /* to_s on <var_193:Array[Object]>*/;
-var = var229;
+var180 = ((short int (*)(val*))(var179->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var179) /* is_ok on <var179:Iterator[nullable Object]>*/;
+if(!var180) break;
+var181 = ((val* (*)(val*))(var179->class->vft[COLOR_abstract_collection__Iterator__item]))(var179) /* item on <var179:Iterator[nullable Object]>*/;
+var182 = ((struct instance_kernel__Int*)var181)->value; /* autounbox from nullable Object to Int */;
+var_j = var182;
+var183 = ((val* (*)(val*))(var_string->class->vft[COLOR_string__AbstractString__chars]))(var_string) /* chars on <var_string:String>*/;
+var184 = ((val* (*)(val*, long))(var183->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var183, var_j) /* [] on <var183:StringCharView>*/;
+var185 = '\11';
+{ /* Inline kernel#Char#== (var184,var185) */
+var188 = (var184 != NULL) && (var184->class == &class_kernel__Char);
+if (var188) {
+var189 = ((struct instance_kernel__Char*)var184)->value; /* autounbox from nullable Object to Char */;
+var188 = (var189 == var185);
+}
+var186 = var188;
+goto RET_LABEL187;
+RET_LABEL187:(void)0;
+}
+if (var186){
+var190 = '\11';
+var191 = BOX_kernel__Char(var190); /* autobox from Char to nullable Object */
+((void (*)(val*, val*))(var_indent->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_indent, var191) /* add on <var_indent:Buffer>*/;
+} else {
+var192 = ' ';
+var193 = BOX_kernel__Char(var192); /* autobox from Char to nullable Object */
+((void (*)(val*, val*))(var_indent->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_indent, var193) /* add on <var_indent:Buffer>*/;
+}
+CONTINUE_label194: (void)0;
+((void (*)(val*))(var179->class->vft[COLOR_abstract_collection__Iterator__next]))(var179) /* next on <var179:Iterator[nullable Object]>*/;
+}
+BREAK_label194: (void)0;
+var195 = NEW_array__Array(&type_array__Arraykernel__Object);
+var196 = 13;
+((void (*)(val*, long))(var195->class->vft[COLOR_array__Array__with_capacity]))(var195, var196) /* with_capacity on <var195:Array[Object]>*/;
+var_197 = var195;
+if (varonce198) {
+var199 = varonce198;
+} else {
+var200 = "\11";
+var201 = 1;
+var202 = string__NativeString__to_s_with_length(var200, var201);
+var199 = var202;
+varonce198 = var199;
+}
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var199) /* add on <var_197:Array[Object]>*/;
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var_lstart) /* add on <var_197:Array[Object]>*/;
+if (varonce203) {
+var204 = varonce203;
+} else {
+var205 = "";
+var206 = 0;
+var207 = string__NativeString__to_s_with_length(var205, var206);
+var204 = var207;
+varonce203 = var204;
+}
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var204) /* add on <var_197:Array[Object]>*/;
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var_col) /* add on <var_197:Array[Object]>*/;
+if (varonce208) {
+var209 = varonce208;
+} else {
+var210 = "";
+var211 = 0;
+var212 = string__NativeString__to_s_with_length(var210, var211);
+var209 = var212;
+varonce208 = var209;
+}
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var209) /* add on <var_197:Array[Object]>*/;
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var_lmid) /* add on <var_197:Array[Object]>*/;
+if (varonce213) {
+var214 = varonce213;
+} else {
+var215 = "";
+var216 = 0;
+var217 = string__NativeString__to_s_with_length(var215, var216);
+var214 = var217;
+varonce213 = var214;
+}
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var214) /* add on <var_197:Array[Object]>*/;
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var_def) /* add on <var_197:Array[Object]>*/;
+if (varonce218) {
+var219 = varonce218;
+} else {
+var220 = "";
+var221 = 0;
+var222 = string__NativeString__to_s_with_length(var220, var221);
+var219 = var222;
+varonce218 = var219;
+}
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var219) /* add on <var_197:Array[Object]>*/;
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var_lend) /* add on <var_197:Array[Object]>*/;
+if (varonce223) {
+var224 = varonce223;
+} else {
+var225 = "\n\11";
+var226 = 2;
+var227 = string__NativeString__to_s_with_length(var225, var226);
+var224 = var227;
+varonce223 = var224;
+}
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var224) /* add on <var_197:Array[Object]>*/;
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var_indent) /* add on <var_197:Array[Object]>*/;
+if (varonce228) {
+var229 = varonce228;
+} else {
+var230 = "^";
+var231 = 1;
+var232 = string__NativeString__to_s_with_length(var230, var231);
+var229 = var232;
+varonce228 = var229;
+}
+((void (*)(val*, val*))(var_197->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_197, var229) /* add on <var_197:Array[Object]>*/;
+var233 = ((val* (*)(val*))(var_197->class->vft[COLOR_string__Object__to_s]))(var_197) /* to_s on <var_197:Array[Object]>*/;
+var = var233;
 goto RET_LABEL;
 RET_LABEL:;
 return var;