X-Git-Url: http://nitlanguage.org diff --git a/c_src/string_search.sep.1.c b/c_src/string_search.sep.1.c index 1a0c8ed..7ea40a8 100644 --- a/c_src/string_search.sep.1.c +++ b/c_src/string_search.sep.1.c @@ -2,8 +2,11 @@ /* method string_search#Pattern#search_index_in for (self: Pattern, String, Int): Int */ long string_search__Pattern__search_index_in(val* self, val* p0, long p1) { long var /* : Int */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/string_search.nit", 20); -exit(1); +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "search_index_in", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 20); +show_backtrace(1); RET_LABEL:; return var; } @@ -19,8 +22,11 @@ return var; /* method string_search#Pattern#search_in for (self: Pattern, String, Int): nullable Match */ val* string_search__Pattern__search_in(val* self, val* p0, long p1) { val* var /* : nullable Match */; -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/string_search.nit", 25); -exit(1); +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "search_in", var_class_name); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 25); +show_backtrace(1); RET_LABEL:; return var; } @@ -49,7 +55,6 @@ val* var7 /* : nullable Match */; var_s = p0; var1 = NEW_array__Array(&type_array__Arraystring_search__Match); ((void (*)(val*))(var1->class->vft[COLOR_array__Array__init]))(var1) /* init on */; -CHECK_NEW_array__Array(var1); var_res = var1; var2 = 0; var3 = ((val* (*)(val*, val*, long))(self->class->vft[COLOR_string_search__Pattern__search_in]))(self, var_s, var2) /* search_in on */; @@ -110,7 +115,6 @@ long var18 /* : Int */; var_s = p0; var1 = NEW_array__Array(&type_array__Arraystring_search__Match); ((void (*)(val*))(var1->class->vft[COLOR_array__Array__init]))(var1) /* init on */; -CHECK_NEW_array__Array(var1); var_res = var1; var2 = 0; var_i = var2; @@ -135,7 +139,6 @@ RET_LABEL9:(void)0; var_len = var8; var11 = NEW_string_search__Match(&type_string_search__Match); ((void (*)(val*, val*, long, long))(var11->class->vft[COLOR_string_search__Match__init]))(var11, var_s, var_i, var_len) /* init on */; -CHECK_NEW_string_search__Match(var11); ((void (*)(val*, val*))(var_res->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_res, var11) /* add on */; var12 = ((long (*)(val*))(var_match->class->vft[COLOR_string_search__Match__after]))(var_match) /* after on */; var_i = var12; @@ -153,7 +156,6 @@ goto RET_LABEL17; RET_LABEL17:(void)0; } ((void (*)(val*, val*, long, long))(var14->class->vft[COLOR_string_search__Match__init]))(var14, var_s, var_i, var16) /* init on */; -CHECK_NEW_string_search__Match(var14); ((void (*)(val*, val*))(var_res->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_res, var14) /* add on */; var = var_res; goto RET_LABEL; @@ -175,8 +177,9 @@ val* var /* : String */; val* var1 /* : String */; var1 = self->attrs[COLOR_string_search__BM_Pattern___motif].val; /* _motif on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _motif", "lib/standard/string_search.nit", 67); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _motif"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 67); +show_backtrace(1); } var = var1; goto RET_LABEL; @@ -202,6 +205,7 @@ short int var2 /* : Bool */; short int var4 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var5 /* : Bool */; long var6 /* : Int */; long var_n /* var n: Int */; @@ -217,64 +221,71 @@ short int var15 /* : Bool */; short int var17 /* : Bool */; int cltype18; int idtype19; -short int var20 /* : Bool */; -long var21 /* : Int */; +const char* var_class_name20; +short int var21 /* : Bool */; long var22 /* : Int */; -long var24 /* : Int */; +long var23 /* : Int */; +long var25 /* : Int */; long var_i /* var i: Int */; -short int var25 /* : Bool */; -long var26 /* : Int */; -short int var27 /* : Bool */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -short int var32 /* : Bool */; +short int var26 /* : Bool */; +long var27 /* : Int */; +short int var28 /* : Bool */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +const char* var_class_name33; +short int var34 /* : Bool */; short int var_ /* var : Bool */; -val* var33 /* : String */; -val* var34 /* : nullable Object */; -long var35 /* : Int */; -long var37 /* : Int */; -val* var38 /* : nullable Object */; -short int var39 /* : Bool */; -short int var41 /* : Bool */; -long var42 /* : Int */; -long var43 /* : Int */; -long var45 /* : Int */; +val* var35 /* : String */; +val* var36 /* : StringCharView */; +val* var37 /* : nullable Object */; +val* var38 /* : StringCharView */; +long var39 /* : Int */; +long var41 /* : Int */; +val* var42 /* : nullable Object */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; long var46 /* : Int */; -short int var47 /* : Bool */; -short int var49 /* : Bool */; -int cltype50; -int idtype51; -short int var52 /* : Bool */; -val* var53 /* : Array[Int] */; -val* var54 /* : nullable Object */; -long var55 /* : Int */; -long var_gs /* var gs: Int */; -long var56 /* : Int */; -long var58 /* : Int */; +long var47 /* : Int */; +long var49 /* : Int */; +long var50 /* : Int */; +short int var51 /* : Bool */; +short int var53 /* : Bool */; +int cltype54; +int idtype55; +const char* var_class_name56; +short int var57 /* : Bool */; +val* var58 /* : Array[Int] */; val* var59 /* : nullable Object */; long var60 /* : Int */; -char var61 /* : Char */; +long var_gs /* var gs: Int */; +val* var61 /* : StringCharView */; long var62 /* : Int */; long var64 /* : Int */; -long var65 /* : Int */; +val* var65 /* : nullable Object */; long var66 /* : Int */; +char var67 /* : Char */; long var68 /* : Int */; -long var69 /* : Int */; +long var70 /* : Int */; long var71 /* : Int */; +long var72 /* : Int */; +long var74 /* : Int */; +long var75 /* : Int */; +long var77 /* : Int */; long var_bc /* var bc: Int */; -short int var72 /* : Bool */; -short int var74 /* : Bool */; -int cltype75; -int idtype76; -short int var77 /* : Bool */; -long var78 /* : Int */; -long var80 /* : Int */; -long var81 /* : Int */; -long var83 /* : Int */; +short int var78 /* : Bool */; +short int var80 /* : Bool */; +int cltype81; +int idtype82; +const char* var_class_name83; +short int var84 /* : Bool */; long var85 /* : Int */; -long var86 /* : Int */; +long var87 /* : Int */; long var88 /* : Int */; +long var90 /* : Int */; +long var92 /* : Int */; +long var93 /* : Int */; +long var95 /* : Int */; var_s = p0; var_from = p1; var1 = 0; @@ -283,8 +294,10 @@ var1 = 0; /* isa OTHER */ var4 = 1; /* easy isa OTHER*/ if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -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", 266); +show_backtrace(1); } var5 = var_from >= var1; var2 = var5; @@ -292,8 +305,9 @@ goto RET_LABEL3; RET_LABEL3:(void)0; } if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/string_search.nit", 72); -exit(1); +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 72); +show_backtrace(1); } var6 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on */; var_n = var6; @@ -319,172 +333,185 @@ RET_LABEL13:(void)0; /* isa OTHER */ var17 = 1; /* easy isa OTHER*/ if (!var17) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); +var_class_name20 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265); +show_backtrace(1); } -var20 = var_j < var12; -var15 = var20; +var21 = var_j < var12; +var15 = var21; goto RET_LABEL16; RET_LABEL16:(void)0; } if (!var15) break; -var21 = 1; -{ /* Inline kernel#Int#- (var_m,var21) */ -var24 = var_m - var21; -var22 = var24; -goto RET_LABEL23; -RET_LABEL23:(void)0; -} -var_i = var22; +var22 = 1; +{ /* Inline kernel#Int#- (var_m,var22) */ +var25 = var_m - var22; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +var_i = var23; for(;;) { -var26 = 0; -{ /* Inline kernel#Int#>= (var_i,var26) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var29 = 1; /* easy isa OTHER*/ -if (!var29) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); -} -var32 = var_i >= var26; -var27 = var32; -goto RET_LABEL28; -RET_LABEL28:(void)0; +var27 = 0; +{ /* Inline kernel#Int#>= (var_i,var27) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var30 = 1; /* easy isa OTHER*/ +if (!var30) { +var_class_name33 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 266); +show_backtrace(1); } -var_ = var27; -if (var27){ -var33 = self->attrs[COLOR_string_search__BM_Pattern___motif].val; /* _motif on */ -if (var33 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _motif", "lib/standard/string_search.nit", 79); -exit(1); +var34 = var_i >= var27; +var28 = var34; +goto RET_LABEL29; +RET_LABEL29:(void)0; } -var34 = ((val* (*)(val*, long))(var33->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var33, var_i) /* [] on */; +var_ = var28; +if (var28){ +var35 = self->attrs[COLOR_string_search__BM_Pattern___motif].val; /* _motif on */ +if (var35 == NULL) { +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _motif"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 79); +show_backtrace(1); +} +var36 = ((val* (*)(val*))(var35->class->vft[COLOR_string__AbstractString__chars]))(var35) /* chars on */; +var37 = ((val* (*)(val*, long))(var36->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var36, var_i) /* [] on */; +var38 = ((val* (*)(val*))(var_s->class->vft[COLOR_string__AbstractString__chars]))(var_s) /* chars on */; { /* Inline kernel#Int#+ (var_i,var_j) */ -var37 = var_i + var_j; -var35 = var37; -goto RET_LABEL36; -RET_LABEL36:(void)0; -} -var38 = ((val* (*)(val*, long))(var_s->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_s, var35) /* [] on */; -{ /* Inline kernel#Char#== (var34,var38) */ -var41 = var34 == var38 || (((struct instance_kernel__Char*)var34)->value == ((struct instance_kernel__Char*)var38)->value); +var41 = var_i + var_j; var39 = var41; goto RET_LABEL40; RET_LABEL40:(void)0; } -var25 = var39; -} else { -var25 = var_; -} -if (!var25) break; -var42 = 1; -{ /* Inline kernel#Int#- (var_i,var42) */ -var45 = var_i - var42; +var42 = ((val* (*)(val*, long))(var38->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var38, var39) /* [] on */; +{ /* Inline kernel#Char#== (var37,var42) */ +var45 = var37 == var42 || (((struct instance_kernel__Char*)var37)->value == ((struct instance_kernel__Char*)var42)->value); var43 = var45; goto RET_LABEL44; RET_LABEL44:(void)0; } -var_i = var43; -CONTINUE_label: (void)0; +var26 = var43; +} else { +var26 = var_; } -BREAK_label: (void)0; -var46 = 0; -{ /* Inline kernel#Int#< (var_i,var46) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var49 = 1; /* easy isa OTHER*/ -if (!var49) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var52 = var_i < var46; -var47 = var52; +if (!var26) break; +var46 = 1; +{ /* Inline kernel#Int#- (var_i,var46) */ +var49 = var_i - var46; +var47 = var49; goto RET_LABEL48; RET_LABEL48:(void)0; } -if (var47){ +var_i = var47; +CONTINUE_label: (void)0; +} +BREAK_label: (void)0; +var50 = 0; +{ /* Inline kernel#Int#< (var_i,var50) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var53 = 1; /* easy isa OTHER*/ +if (!var53) { +var_class_name56 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265); +show_backtrace(1); +} +var57 = var_i < var50; +var51 = var57; +goto RET_LABEL52; +RET_LABEL52:(void)0; +} +if (var51){ var = var_j; goto RET_LABEL; } else { -var53 = self->attrs[COLOR_string_search__BM_Pattern___gs].val; /* _gs on */ -if (var53 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _gs", "lib/standard/string_search.nit", 83); -exit(1); -} -var54 = ((val* (*)(val*, long))(var53->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var53, var_i) /* [] on */; -var55 = ((struct instance_kernel__Int*)var54)->value; /* autounbox from nullable Object to Int */; -var_gs = var55; +var58 = self->attrs[COLOR_string_search__BM_Pattern___gs].val; /* _gs on */ +if (var58 == NULL) { +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _gs"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 83); +show_backtrace(1); +} +var59 = ((val* (*)(val*, long))(var58->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var58, var_i) /* [] on */; +var60 = ((struct instance_kernel__Int*)var59)->value; /* autounbox from nullable Object to Int */; +var_gs = var60; +var61 = ((val* (*)(val*))(var_s->class->vft[COLOR_string__AbstractString__chars]))(var_s) /* chars on */; { /* Inline kernel#Int#+ (var_i,var_j) */ -var58 = var_i + var_j; -var56 = var58; -goto RET_LABEL57; -RET_LABEL57:(void)0; -} -var59 = ((val* (*)(val*, long))(var_s->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_s, var56) /* [] on */; -var61 = ((struct instance_kernel__Char*)var59)->value; /* autounbox from nullable Object to Char */; -var60 = ((long (*)(val*, char))(self->class->vft[COLOR_string_search__BM_Pattern__bc]))(self, var61) /* bc on */; -{ /* Inline kernel#Int#- (var60,var_m) */ -var64 = var60 - var_m; +var64 = var_i + var_j; var62 = var64; goto RET_LABEL63; RET_LABEL63:(void)0; } -var65 = 1; -{ /* Inline kernel#Int#+ (var62,var65) */ -var68 = var62 + var65; -var66 = var68; -goto RET_LABEL67; -RET_LABEL67:(void)0; +var65 = ((val* (*)(val*, long))(var61->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var61, var62) /* [] on */; +var67 = ((struct instance_kernel__Char*)var65)->value; /* autounbox from nullable Object to Char */; +var66 = ((long (*)(val*, char))(self->class->vft[COLOR_string_search__BM_Pattern__bc]))(self, var67) /* bc on */; +{ /* Inline kernel#Int#- (var66,var_m) */ +var70 = var66 - var_m; +var68 = var70; +goto RET_LABEL69; +RET_LABEL69:(void)0; +} +var71 = 1; +{ /* Inline kernel#Int#+ (var68,var71) */ +var74 = var68 + var71; +var72 = var74; +goto RET_LABEL73; +RET_LABEL73:(void)0; } -{ /* Inline kernel#Int#+ (var66,var_i) */ -var71 = var66 + var_i; -var69 = var71; -goto RET_LABEL70; -RET_LABEL70:(void)0; +{ /* Inline kernel#Int#+ (var72,var_i) */ +var77 = var72 + var_i; +var75 = var77; +goto RET_LABEL76; +RET_LABEL76:(void)0; } -var_bc = var69; +var_bc = var75; { /* Inline kernel#Int#> (var_gs,var_bc) */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var74 = 1; /* easy isa OTHER*/ -if (!var74) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); -} -var77 = var_gs > var_bc; -var72 = var77; -goto RET_LABEL73; -RET_LABEL73:(void)0; -} -if (var72){ -{ /* Inline kernel#Int#+ (var_j,var_gs) */ -var80 = var_j + var_gs; -var78 = var80; +var80 = 1; /* easy isa OTHER*/ +if (!var80) { +var_class_name83 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name83); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267); +show_backtrace(1); +} +var84 = var_gs > var_bc; +var78 = var84; goto RET_LABEL79; RET_LABEL79:(void)0; } -var_j = var78; +if (var78){ +{ /* Inline kernel#Int#+ (var_j,var_gs) */ +var87 = var_j + var_gs; +var85 = var87; +goto RET_LABEL86; +RET_LABEL86:(void)0; +} +var_j = var85; } else { { /* Inline kernel#Int#+ (var_j,var_bc) */ -var83 = var_j + var_bc; -var81 = var83; -goto RET_LABEL82; -RET_LABEL82:(void)0; +var90 = var_j + var_bc; +var88 = var90; +goto RET_LABEL89; +RET_LABEL89:(void)0; } -var_j = var81; +var_j = var88; } } -CONTINUE_label84: (void)0; +CONTINUE_label91: (void)0; } -BREAK_label84: (void)0; -var85 = 1; -{ /* Inline kernel#Int#unary - (var85) */ -var88 = -var85; -var86 = var88; -goto RET_LABEL87; -RET_LABEL87:(void)0; +BREAK_label91: (void)0; +var92 = 1; +{ /* Inline kernel#Int#unary - (var92) */ +var95 = -var92; +var93 = var95; +goto RET_LABEL94; +RET_LABEL94:(void)0; } -var = var86; +var = var93; goto RET_LABEL; RET_LABEL:; return var; @@ -510,6 +537,7 @@ short int var3 /* : Bool */; short int var5 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var6 /* : Bool */; val* var7 /* : null */; val* var8 /* : Match */; @@ -524,8 +552,10 @@ var2 = 0; /* isa OTHER */ var5 = 1; /* easy isa OTHER*/ if (!var5) { -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); } var6 = var_to < var2; var3 = var6; @@ -540,7 +570,6 @@ goto RET_LABEL; var8 = NEW_string_search__Match(&type_string_search__Match); var9 = self->attrs[COLOR_string_search__BM_Pattern___length].l; /* _length on */ ((void (*)(val*, val*, long, long))(var8->class->vft[COLOR_string_search__Match__init]))(var8, var_s, var_to, var9) /* init on */; -CHECK_NEW_string_search__Match(var8); var = var8; goto RET_LABEL; } @@ -570,11 +599,9 @@ self->attrs[COLOR_string_search__BM_Pattern___length].l = var; /* _length on attrs[COLOR_string_search__BM_Pattern___length].l; /* _length on */ ((void (*)(val*, long))(var1->class->vft[COLOR_array__Array__with_capacity]))(var1, var2) /* with_capacity on */; -CHECK_NEW_array__Array(var1); self->attrs[COLOR_string_search__BM_Pattern___gs].val = var1; /* _gs on */ var3 = NEW_array__ArrayMap(&type_array__ArrayMapkernel__Charkernel__Int); ((void (*)(val*))(var3->class->vft[COLOR_array__ArrayMap__init]))(var3) /* init on */; -CHECK_NEW_array__ArrayMap(var3); self->attrs[COLOR_string_search__BM_Pattern___bc_table].val = var3; /* _bc_table on */ ((void (*)(val*))(self->class->vft[COLOR_string_search__BM_Pattern__compute_gs]))(self) /* compute_gs on */; ((void (*)(val*))(self->class->vft[COLOR_string_search__BM_Pattern__compute_bc]))(self) /* compute_bc on */; @@ -600,16 +627,18 @@ long var8 /* : Int */; var_e = p0; var1 = self->attrs[COLOR_string_search__BM_Pattern___bc_table].val; /* _bc_table on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _bc_table", "lib/standard/string_search.nit", 126); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _bc_table"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 126); +show_backtrace(1); } var3 = BOX_kernel__Char(var_e); /* autobox from Char to Object */ var2 = ((short int (*)(val*, val*))(var1->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var1, var3) /* has_key on */; if (var2){ var4 = self->attrs[COLOR_string_search__BM_Pattern___bc_table].val; /* _bc_table on */ if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _bc_table", "lib/standard/string_search.nit", 127); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _bc_table"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 127); +show_backtrace(1); } var6 = BOX_kernel__Char(var_e); /* autobox from Char to Object */ var5 = ((val* (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var4, var6) /* [] on */; @@ -648,22 +677,25 @@ short int var7 /* : Bool */; short int var9 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var10 /* : Bool */; val* var11 /* : Map[Char, Int] */; -val* var12 /* : nullable Object */; -long var13 /* : Int */; -long var15 /* : Int */; +val* var12 /* : StringCharView */; +val* var13 /* : nullable Object */; +long var14 /* : Int */; long var16 /* : Int */; long var17 /* : Int */; -long var19 /* : Int */; -val* var20 /* : nullable Object */; -long var21 /* : Int */; +long var18 /* : Int */; +long var20 /* : Int */; +val* var21 /* : nullable Object */; long var22 /* : Int */; -long var24 /* : Int */; +long var23 /* : Int */; +long var25 /* : Int */; var = self->attrs[COLOR_string_search__BM_Pattern___motif].val; /* _motif on */ if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _motif", "lib/standard/string_search.nit", 141); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _motif"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 141); +show_backtrace(1); } var_x = var; var1 = self->attrs[COLOR_string_search__BM_Pattern___length].l; /* _length on */ @@ -683,8 +715,10 @@ RET_LABEL5:(void)0; /* isa OTHER */ var9 = 1; /* easy isa OTHER*/ if (!var9) { -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); } var10 = var_i < var4; var7 = var10; @@ -694,33 +728,35 @@ RET_LABEL8:(void)0; if (!var7) break; var11 = self->attrs[COLOR_string_search__BM_Pattern___bc_table].val; /* _bc_table on */ if (var11 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _bc_table", "lib/standard/string_search.nit", 145); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _bc_table"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 145); +show_backtrace(1); } -var12 = ((val* (*)(val*, long))(var_x->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_x, var_i) /* [] on */; +var12 = ((val* (*)(val*))(var_x->class->vft[COLOR_string__AbstractString__chars]))(var_x) /* chars on */; +var13 = ((val* (*)(val*, long))(var12->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var12, var_i) /* [] on */; { /* Inline kernel#Int#- (var_m,var_i) */ -var15 = var_m - var_i; -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; -} -var16 = 1; -{ /* Inline kernel#Int#- (var13,var16) */ -var19 = var13 - var16; -var17 = var19; -goto RET_LABEL18; -RET_LABEL18:(void)0; -} -var20 = BOX_kernel__Int(var17); /* autobox from Int to nullable Object */ -((void (*)(val*, val*, val*))(var11->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var11, var12, var20) /* []= on */; -var21 = 1; -{ /* Inline kernel#Int#+ (var_i,var21) */ -var24 = var_i + var21; -var22 = var24; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var16 = var_m - var_i; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +var17 = 1; +{ /* Inline kernel#Int#- (var14,var17) */ +var20 = var14 - var17; +var18 = var20; +goto RET_LABEL19; +RET_LABEL19:(void)0; +} +var21 = BOX_kernel__Int(var18); /* autobox from Int to nullable Object */ +((void (*)(val*, val*, val*))(var11->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var11, var13, var21) /* []= on */; +var22 = 1; +{ /* Inline kernel#Int#+ (var_i,var22) */ +var25 = var_i + var22; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; } -var_i = var22; +var_i = var23; CONTINUE_label: (void)0; } BREAK_label: (void)0; @@ -756,75 +792,83 @@ short int var15 /* : Bool */; short int var17 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var18 /* : Bool */; short int var19 /* : Bool */; short int var20 /* : Bool */; short int var22 /* : Bool */; int cltype23; int idtype24; -short int var25 /* : Bool */; +const char* var_class_name25; +short int var26 /* : Bool */; short int var_ /* var : Bool */; -long var26 /* : Int */; -long var28 /* : Int */; +long var27 /* : Int */; long var29 /* : Int */; long var30 /* : Int */; -long var32 /* : Int */; +long var31 /* : Int */; long var33 /* : Int */; -long var35 /* : Int */; -val* var36 /* : nullable Object */; -long var37 /* : Int */; -long var39 /* : Int */; -short int var40 /* : Bool */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -long var45 /* : Int */; -short int var46 /* : Bool */; +long var34 /* : Int */; +long var36 /* : Int */; +val* var37 /* : nullable Object */; +long var38 /* : Int */; +long var40 /* : Int */; +short int var41 /* : Bool */; +short int var43 /* : Bool */; +int cltype44; +int idtype45; +const char* var_class_name46; long var47 /* : Int */; +short int var48 /* : Bool */; long var49 /* : Int */; -long var50 /* : Int */; long var51 /* : Int */; +long var52 /* : Int */; long var53 /* : Int */; -long var54 /* : Int */; +long var55 /* : Int */; long var56 /* : Int */; -val* var57 /* : nullable Object */; -short int var58 /* : Bool */; +long var58 /* : Int */; +val* var59 /* : nullable Object */; short int var60 /* : Bool */; -int cltype61; -int idtype62; -short int var63 /* : Bool */; -short int var64 /* : Bool */; -long var65 /* : Int */; +short int var62 /* : Bool */; +int cltype63; +int idtype64; +const char* var_class_name65; short int var66 /* : Bool */; -short int var68 /* : Bool */; -int cltype69; -int idtype70; +short int var67 /* : Bool */; +long var68 /* : Int */; +short int var69 /* : Bool */; short int var71 /* : Bool */; -short int var_72 /* var : Bool */; -val* var73 /* : nullable Object */; -long var74 /* : Int */; -long var76 /* : Int */; -long var77 /* : Int */; -long var78 /* : Int */; +int cltype72; +int idtype73; +const char* var_class_name74; +short int var75 /* : Bool */; +short int var_76 /* var : Bool */; +val* var77 /* : StringCharView */; +val* var78 /* : nullable Object */; +val* var79 /* : StringCharView */; long var80 /* : Int */; -long var81 /* : Int */; +long var82 /* : Int */; long var83 /* : Int */; -val* var84 /* : nullable Object */; -short int var85 /* : Bool */; -short int var87 /* : Bool */; -long var88 /* : Int */; +long var84 /* : Int */; +long var86 /* : Int */; +long var87 /* : Int */; long var89 /* : Int */; -long var91 /* : Int */; -long var92 /* : Int */; +val* var90 /* : nullable Object */; +short int var91 /* : Bool */; +short int var93 /* : Bool */; long var94 /* : Int */; -val* var95 /* : nullable Object */; -long var96 /* : Int */; +long var95 /* : Int */; long var97 /* : Int */; -long var99 /* : Int */; +long var98 /* : Int */; +long var100 /* : Int */; +val* var101 /* : nullable Object */; +long var102 /* : Int */; +long var103 /* : Int */; +long var105 /* : Int */; var1 = self->attrs[COLOR_string_search__BM_Pattern___motif].val; /* _motif on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _motif", "lib/standard/string_search.nit", 152); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _motif"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 152); +show_backtrace(1); } var_x = var1; var2 = self->attrs[COLOR_string_search__BM_Pattern___length].l; /* _length on */ @@ -832,7 +876,6 @@ var_m = var2; var3 = NEW_array__Array(&type_array__Arraykernel__Int); var4 = BOX_kernel__Int(var_m); /* autobox from Int to nullable Object */ ((void (*)(val*, val*, long))(var3->class->vft[COLOR_array__Array__filled_with]))(var3, var4, var_m) /* filled_with on */; -CHECK_NEW_array__Array(var3); var_suff = var3; var5 = 0; var_f = var5; @@ -859,8 +902,10 @@ var14 = 0; /* isa OTHER */ var17 = 1; /* easy isa OTHER*/ if (!var17) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -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", 266); +show_backtrace(1); } var18 = var_i >= var14; var15 = var18; @@ -873,181 +918,191 @@ if (!var15) break; /* isa OTHER */ var22 = 1; /* easy isa OTHER*/ if (!var22) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); +var_class_name25 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267); +show_backtrace(1); } -var25 = var_i > var_g; -var20 = var25; +var26 = var_i > var_g; +var20 = var26; goto RET_LABEL21; RET_LABEL21:(void)0; } var_ = var20; if (var20){ { /* Inline kernel#Int#+ (var_i,var_m) */ -var28 = var_i + var_m; -var26 = var28; -goto RET_LABEL27; -RET_LABEL27:(void)0; -} -var29 = 1; -{ /* Inline kernel#Int#- (var26,var29) */ -var32 = var26 - var29; -var30 = var32; -goto RET_LABEL31; -RET_LABEL31:(void)0; -} -{ /* Inline kernel#Int#- (var30,var_f) */ -var35 = var30 - var_f; -var33 = var35; -goto RET_LABEL34; -RET_LABEL34:(void)0; -} -var36 = ((val* (*)(val*, long))(var_suff->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_suff, var33) /* [] on */; -{ /* Inline kernel#Int#- (var_i,var_g) */ -var39 = var_i - var_g; -var37 = var39; -goto RET_LABEL38; -RET_LABEL38:(void)0; -} -{ /* Inline kernel#Int#< (var36,var37) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var42 = 1; /* easy isa OTHER*/ -if (!var42) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var45 = ((struct instance_kernel__Int*)var36)->value; /* autounbox from nullable Object to Int */; -var46 = var45 < var37; -var40 = var46; -goto RET_LABEL41; -RET_LABEL41:(void)0; +var29 = var_i + var_m; +var27 = var29; +goto RET_LABEL28; +RET_LABEL28:(void)0; +} +var30 = 1; +{ /* Inline kernel#Int#- (var27,var30) */ +var33 = var27 - var30; +var31 = var33; +goto RET_LABEL32; +RET_LABEL32:(void)0; } -var19 = var40; +{ /* Inline kernel#Int#- (var31,var_f) */ +var36 = var31 - var_f; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; +} +var37 = ((val* (*)(val*, long))(var_suff->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_suff, var34) /* [] on */; +{ /* Inline kernel#Int#- (var_i,var_g) */ +var40 = var_i - var_g; +var38 = var40; +goto RET_LABEL39; +RET_LABEL39:(void)0; +} +{ /* Inline kernel#Int#< (var37,var38) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var43 = 1; /* easy isa OTHER*/ +if (!var43) { +var_class_name46 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265); +show_backtrace(1); +} +var47 = ((struct instance_kernel__Int*)var37)->value; /* autounbox from nullable Object to Int */; +var48 = var47 < var38; +var41 = var48; +goto RET_LABEL42; +RET_LABEL42:(void)0; +} +var19 = var41; } else { var19 = var_; } if (var19){ { /* Inline kernel#Int#+ (var_i,var_m) */ -var49 = var_i + var_m; -var47 = var49; -goto RET_LABEL48; -RET_LABEL48:(void)0; -} -var50 = 1; -{ /* Inline kernel#Int#- (var47,var50) */ -var53 = var47 - var50; -var51 = var53; -goto RET_LABEL52; -RET_LABEL52:(void)0; +var51 = var_i + var_m; +var49 = var51; +goto RET_LABEL50; +RET_LABEL50:(void)0; +} +var52 = 1; +{ /* Inline kernel#Int#- (var49,var52) */ +var55 = var49 - var52; +var53 = var55; +goto RET_LABEL54; +RET_LABEL54:(void)0; } -{ /* Inline kernel#Int#- (var51,var_f) */ -var56 = var51 - var_f; -var54 = var56; -goto RET_LABEL55; -RET_LABEL55:(void)0; +{ /* Inline kernel#Int#- (var53,var_f) */ +var58 = var53 - var_f; +var56 = var58; +goto RET_LABEL57; +RET_LABEL57:(void)0; } -var57 = ((val* (*)(val*, long))(var_suff->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_suff, var54) /* [] on */; -((void (*)(val*, long, val*))(var_suff->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var_suff, var_i, var57) /* []= on */; +var59 = ((val* (*)(val*, long))(var_suff->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_suff, var56) /* [] on */; +((void (*)(val*, long, val*))(var_suff->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var_suff, var_i, var59) /* []= on */; } else { { /* Inline kernel#Int#< (var_i,var_g) */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var60 = 1; /* easy isa OTHER*/ -if (!var60) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var63 = var_i < var_g; -var58 = var63; -goto RET_LABEL59; -RET_LABEL59:(void)0; -} -if (var58){ +var62 = 1; /* easy isa OTHER*/ +if (!var62) { +var_class_name65 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265); +show_backtrace(1); +} +var66 = var_i < var_g; +var60 = var66; +goto RET_LABEL61; +RET_LABEL61:(void)0; +} +if (var60){ var_g = var_i; } else { } var_f = var_i; for(;;) { -var65 = 0; -{ /* Inline kernel#Int#>= (var_g,var65) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var68 = 1; /* easy isa OTHER*/ -if (!var68) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); -} -var71 = var_g >= var65; -var66 = var71; -goto RET_LABEL67; -RET_LABEL67:(void)0; -} -var_72 = var66; -if (var66){ -var73 = ((val* (*)(val*, long))(var_x->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_x, var_g) /* [] on */; -{ /* Inline kernel#Int#+ (var_g,var_m) */ -var76 = var_g + var_m; -var74 = var76; -goto RET_LABEL75; -RET_LABEL75:(void)0; -} -var77 = 1; -{ /* Inline kernel#Int#- (var74,var77) */ -var80 = var74 - var77; -var78 = var80; -goto RET_LABEL79; -RET_LABEL79:(void)0; -} -{ /* Inline kernel#Int#- (var78,var_f) */ -var83 = var78 - var_f; -var81 = var83; -goto RET_LABEL82; -RET_LABEL82:(void)0; +var68 = 0; +{ /* Inline kernel#Int#>= (var_g,var68) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var71 = 1; /* easy isa OTHER*/ +if (!var71) { +var_class_name74 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 266); +show_backtrace(1); +} +var75 = var_g >= var68; +var69 = var75; +goto RET_LABEL70; +RET_LABEL70:(void)0; } -var84 = ((val* (*)(val*, long))(var_x->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_x, var81) /* [] on */; -{ /* Inline kernel#Char#== (var73,var84) */ -var87 = var73 == var84 || (((struct instance_kernel__Char*)var73)->value == ((struct instance_kernel__Char*)var84)->value); -var85 = var87; -goto RET_LABEL86; -RET_LABEL86:(void)0; +var_76 = var69; +if (var69){ +var77 = ((val* (*)(val*))(var_x->class->vft[COLOR_string__AbstractString__chars]))(var_x) /* chars on */; +var78 = ((val* (*)(val*, long))(var77->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var77, var_g) /* [] on */; +var79 = ((val* (*)(val*))(var_x->class->vft[COLOR_string__AbstractString__chars]))(var_x) /* chars on */; +{ /* Inline kernel#Int#+ (var_g,var_m) */ +var82 = var_g + var_m; +var80 = var82; +goto RET_LABEL81; +RET_LABEL81:(void)0; } -var64 = var85; +var83 = 1; +{ /* Inline kernel#Int#- (var80,var83) */ +var86 = var80 - var83; +var84 = var86; +goto RET_LABEL85; +RET_LABEL85:(void)0; +} +{ /* Inline kernel#Int#- (var84,var_f) */ +var89 = var84 - var_f; +var87 = var89; +goto RET_LABEL88; +RET_LABEL88:(void)0; +} +var90 = ((val* (*)(val*, long))(var79->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var79, var87) /* [] on */; +{ /* Inline kernel#Char#== (var78,var90) */ +var93 = var78 == var90 || (((struct instance_kernel__Char*)var78)->value == ((struct instance_kernel__Char*)var90)->value); +var91 = var93; +goto RET_LABEL92; +RET_LABEL92:(void)0; +} +var67 = var91; } else { -var64 = var_72; +var67 = var_76; } -if (!var64) break; -var88 = 1; -{ /* Inline kernel#Int#- (var_g,var88) */ -var91 = var_g - var88; -var89 = var91; -goto RET_LABEL90; -RET_LABEL90:(void)0; +if (!var67) break; +var94 = 1; +{ /* Inline kernel#Int#- (var_g,var94) */ +var97 = var_g - var94; +var95 = var97; +goto RET_LABEL96; +RET_LABEL96:(void)0; } -var_g = var89; +var_g = var95; CONTINUE_label: (void)0; } BREAK_label: (void)0; { /* Inline kernel#Int#- (var_f,var_g) */ -var94 = var_f - var_g; -var92 = var94; -goto RET_LABEL93; -RET_LABEL93:(void)0; +var100 = var_f - var_g; +var98 = var100; +goto RET_LABEL99; +RET_LABEL99:(void)0; } -var95 = BOX_kernel__Int(var92); /* autobox from Int to nullable Object */ -((void (*)(val*, long, val*))(var_suff->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var_suff, var_i, var95) /* []= on */; +var101 = BOX_kernel__Int(var98); /* autobox from Int to nullable Object */ +((void (*)(val*, long, val*))(var_suff->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var_suff, var_i, var101) /* []= on */; } -var96 = 1; -{ /* Inline kernel#Int#- (var_i,var96) */ -var99 = var_i - var96; -var97 = var99; -goto RET_LABEL98; -RET_LABEL98:(void)0; +var102 = 1; +{ /* Inline kernel#Int#- (var_i,var102) */ +var105 = var_i - var102; +var103 = var105; +goto RET_LABEL104; +RET_LABEL104:(void)0; } -var_i = var97; -CONTINUE_label100: (void)0; +var_i = var103; +CONTINUE_label106: (void)0; } -BREAK_label100: (void)0; +BREAK_label106: (void)0; var = var_suff; goto RET_LABEL; RET_LABEL:; @@ -1076,6 +1131,7 @@ short int var4 /* : Bool */; short int var6 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var7 /* : Bool */; val* var8 /* : Array[Int] */; val* var9 /* : nullable Object */; @@ -1094,79 +1150,83 @@ short int var23 /* : Bool */; short int var25 /* : Bool */; int cltype26; int idtype27; -short int var28 /* : Bool */; +const char* var_class_name28; short int var29 /* : Bool */; -long var30 /* : Int */; +short int var30 /* : Bool */; long var31 /* : Int */; -long var33 /* : Int */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; +long var32 /* : Int */; +long var34 /* : Int */; +short int var35 /* : Bool */; +short int var37 /* : Bool */; short int var_ /* var : Bool */; -val* var37 /* : nullable Object */; -long var38 /* : Int */; +val* var38 /* : nullable Object */; long var39 /* : Int */; -long var41 /* : Int */; -short int var42 /* : Bool */; -short int var44 /* : Bool */; -long var45 /* : Int */; +long var40 /* : Int */; +long var42 /* : Int */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; long var46 /* : Int */; long var47 /* : Int */; -long var49 /* : Int */; +long var48 /* : Int */; long var50 /* : Int */; -long var52 /* : Int */; -short int var53 /* : Bool */; -short int var55 /* : Bool */; -int cltype56; -int idtype57; -short int var58 /* : Bool */; -val* var59 /* : Array[Int] */; -val* var60 /* : nullable Object */; -short int var61 /* : Bool */; +long var51 /* : Int */; +long var53 /* : Int */; +short int var54 /* : Bool */; +short int var56 /* : Bool */; +int cltype57; +int idtype58; +const char* var_class_name59; +short int var60 /* : Bool */; +val* var61 /* : Array[Int] */; +val* var62 /* : nullable Object */; short int var63 /* : Bool */; -long var64 /* : Int */; -val* var65 /* : Array[Int] */; +short int var65 /* : Bool */; long var66 /* : Int */; -long var67 /* : Int */; +val* var67 /* : Array[Int] */; +long var68 /* : Int */; long var69 /* : Int */; -long var70 /* : Int */; +long var71 /* : Int */; long var72 /* : Int */; -val* var73 /* : nullable Object */; long var74 /* : Int */; -long var75 /* : Int */; +val* var75 /* : nullable Object */; +long var76 /* : Int */; long var77 /* : Int */; long var79 /* : Int */; -long var80 /* : Int */; +long var81 /* : Int */; long var82 /* : Int */; long var84 /* : Int */; -long var85 /* : Int */; long var86 /* : Int */; +long var87 /* : Int */; long var88 /* : Int */; -short int var89 /* : Bool */; +long var90 /* : Int */; short int var91 /* : Bool */; -int cltype92; -int idtype93; -short int var94 /* : Bool */; -val* var95 /* : Array[Int] */; -long var96 /* : Int */; -long var97 /* : Int */; +short int var93 /* : Bool */; +int cltype94; +int idtype95; +const char* var_class_name96; +short int var97 /* : Bool */; +val* var98 /* : Array[Int] */; long var99 /* : Int */; -val* var100 /* : nullable Object */; -long var101 /* : Int */; -long var103 /* : Int */; +long var100 /* : Int */; +long var102 /* : Int */; +val* var103 /* : nullable Object */; long var104 /* : Int */; -long var105 /* : Int */; long var106 /* : Int */; +long var107 /* : Int */; long var108 /* : Int */; long var109 /* : Int */; long var111 /* : Int */; -val* var112 /* : nullable Object */; -long var113 /* : Int */; +long var112 /* : Int */; long var114 /* : Int */; +val* var115 /* : nullable Object */; long var116 /* : Int */; +long var117 /* : Int */; +long var119 /* : Int */; var = self->attrs[COLOR_string_search__BM_Pattern___motif].val; /* _motif on */ if (var == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _motif", "lib/standard/string_search.nit", 175); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _motif"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 175); +show_backtrace(1); } var_x = var; var1 = self->attrs[COLOR_string_search__BM_Pattern___length].l; /* _length on */ @@ -1181,8 +1241,10 @@ for(;;) { /* isa OTHER */ var6 = 1; /* easy isa OTHER*/ if (!var6) { -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); } var7 = var_i < var_m; var4 = var7; @@ -1192,8 +1254,9 @@ RET_LABEL5:(void)0; if (!var4) break; var8 = self->attrs[COLOR_string_search__BM_Pattern___gs].val; /* _gs on */ if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _gs", "lib/standard/string_search.nit", 180); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _gs"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 180); +show_backtrace(1); } var9 = BOX_kernel__Int(var_m); /* autobox from Int to nullable Object */ ((void (*)(val*, long, val*))(var8->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var8, var_i, var9) /* []= on */; @@ -1231,214 +1294,223 @@ RET_LABEL21:(void)0; /* isa OTHER */ var25 = 1; /* easy isa OTHER*/ if (!var25) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); +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", 266); +show_backtrace(1); } -var28 = var_i >= var20; -var23 = var28; +var29 = var_i >= var20; +var23 = var29; goto RET_LABEL24; RET_LABEL24:(void)0; } if (!var23) break; -var30 = 1; -{ /* Inline kernel#Int#unary - (var30) */ -var33 = -var30; -var31 = var33; -goto RET_LABEL32; -RET_LABEL32:(void)0; -} -{ /* Inline kernel#Int#== (var_i,var31) */ -var36 = var_i == var31; -var34 = var36; -goto RET_LABEL35; -RET_LABEL35:(void)0; +var31 = 1; +{ /* Inline kernel#Int#unary - (var31) */ +var34 = -var31; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +{ /* Inline kernel#Int#== (var_i,var32) */ +var37 = var_i == var32; +var35 = var37; +goto RET_LABEL36; +RET_LABEL36:(void)0; } -var_ = var34; -if (var34){ -var29 = var_; +var_ = var35; +if (var35){ +var30 = var_; } else { -var37 = ((val* (*)(val*, long))(var_suff->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_suff, var_i) /* [] on */; -var38 = 1; -{ /* Inline kernel#Int#+ (var_i,var38) */ -var41 = var_i + var38; -var39 = var41; -goto RET_LABEL40; -RET_LABEL40:(void)0; +var38 = ((val* (*)(val*, long))(var_suff->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_suff, var_i) /* [] on */; +var39 = 1; +{ /* Inline kernel#Int#+ (var_i,var39) */ +var42 = var_i + var39; +var40 = var42; +goto RET_LABEL41; +RET_LABEL41:(void)0; } -{ /* Inline kernel#Int#== (var37,var39) */ -var44 = (var37 != NULL) && (var37->class == &class_kernel__Int); -if (var44) { -var45 = ((struct instance_kernel__Int*)var37)->value; /* autounbox from nullable Object to Int */; -var44 = (var45 == var39); +{ /* Inline kernel#Int#== (var38,var40) */ +var45 = (var38 != NULL) && (var38->class == &class_kernel__Int); +if (var45) { +var46 = ((struct instance_kernel__Int*)var38)->value; /* autounbox from nullable Object to Int */; +var45 = (var46 == var40); } -var42 = var44; -goto RET_LABEL43; -RET_LABEL43:(void)0; +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; } -var29 = var42; +var30 = var43; } -if (var29){ +if (var30){ for(;;) { -var46 = 1; -{ /* Inline kernel#Int#- (var_m,var46) */ -var49 = var_m - var46; -var47 = var49; -goto RET_LABEL48; -RET_LABEL48:(void)0; +var47 = 1; +{ /* Inline kernel#Int#- (var_m,var47) */ +var50 = var_m - var47; +var48 = var50; +goto RET_LABEL49; +RET_LABEL49:(void)0; +} +{ /* Inline kernel#Int#- (var48,var_i) */ +var53 = var48 - var_i; +var51 = var53; +goto RET_LABEL52; +RET_LABEL52:(void)0; } -{ /* Inline kernel#Int#- (var47,var_i) */ -var52 = var47 - var_i; -var50 = var52; -goto RET_LABEL51; -RET_LABEL51:(void)0; +{ /* Inline kernel#Int#< (var_j,var51) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var56 = 1; /* easy isa OTHER*/ +if (!var56) { +var_class_name59 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265); +show_backtrace(1); +} +var60 = var_j < var51; +var54 = var60; +goto RET_LABEL55; +RET_LABEL55:(void)0; } -{ /* Inline kernel#Int#< (var_j,var50) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var55 = 1; /* easy isa OTHER*/ -if (!var55) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); +if (!var54) break; +var61 = self->attrs[COLOR_string_search__BM_Pattern___gs].val; /* _gs on */ +if (var61 == NULL) { +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _gs"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 188); +show_backtrace(1); +} +var62 = ((val* (*)(val*, long))(var61->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var61, var_j) /* [] on */; +{ /* Inline kernel#Int#== (var62,var_m) */ +var65 = (var62 != NULL) && (var62->class == &class_kernel__Int); +if (var65) { +var66 = ((struct instance_kernel__Int*)var62)->value; /* autounbox from nullable Object to Int */; +var65 = (var66 == var_m); +} +var63 = var65; +goto RET_LABEL64; +RET_LABEL64:(void)0; +} +if (var63){ +var67 = self->attrs[COLOR_string_search__BM_Pattern___gs].val; /* _gs on */ +if (var67 == NULL) { +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _gs"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 188); +show_backtrace(1); +} +var68 = 1; +{ /* Inline kernel#Int#- (var_m,var68) */ +var71 = var_m - var68; +var69 = var71; +goto RET_LABEL70; +RET_LABEL70:(void)0; } -var58 = var_j < var50; -var53 = var58; -goto RET_LABEL54; -RET_LABEL54:(void)0; +{ /* Inline kernel#Int#- (var69,var_i) */ +var74 = var69 - var_i; +var72 = var74; +goto RET_LABEL73; +RET_LABEL73:(void)0; } -if (!var53) break; -var59 = self->attrs[COLOR_string_search__BM_Pattern___gs].val; /* _gs on */ -if (var59 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _gs", "lib/standard/string_search.nit", 188); -exit(1); -} -var60 = ((val* (*)(val*, long))(var59->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var59, var_j) /* [] on */; -{ /* Inline kernel#Int#== (var60,var_m) */ -var63 = (var60 != NULL) && (var60->class == &class_kernel__Int); -if (var63) { -var64 = ((struct instance_kernel__Int*)var60)->value; /* autounbox from nullable Object to Int */; -var63 = (var64 == var_m); -} -var61 = var63; -goto RET_LABEL62; -RET_LABEL62:(void)0; -} -if (var61){ -var65 = self->attrs[COLOR_string_search__BM_Pattern___gs].val; /* _gs on */ -if (var65 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _gs", "lib/standard/string_search.nit", 188); -exit(1); -} -var66 = 1; -{ /* Inline kernel#Int#- (var_m,var66) */ -var69 = var_m - var66; -var67 = var69; -goto RET_LABEL68; -RET_LABEL68:(void)0; -} -{ /* Inline kernel#Int#- (var67,var_i) */ -var72 = var67 - var_i; -var70 = var72; -goto RET_LABEL71; -RET_LABEL71:(void)0; -} -var73 = BOX_kernel__Int(var70); /* autobox from Int to nullable Object */ -((void (*)(val*, long, val*))(var65->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var65, var_j, var73) /* []= on */; +var75 = BOX_kernel__Int(var72); /* autobox from Int to nullable Object */ +((void (*)(val*, long, val*))(var67->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var67, var_j, var75) /* []= on */; } else { } -var74 = 1; -{ /* Inline kernel#Int#+ (var_j,var74) */ -var77 = var_j + var74; -var75 = var77; -goto RET_LABEL76; -RET_LABEL76:(void)0; +var76 = 1; +{ /* Inline kernel#Int#+ (var_j,var76) */ +var79 = var_j + var76; +var77 = var79; +goto RET_LABEL78; +RET_LABEL78:(void)0; } -var_j = var75; -CONTINUE_label78: (void)0; +var_j = var77; +CONTINUE_label80: (void)0; } -BREAK_label78: (void)0; +BREAK_label80: (void)0; } else { } -var79 = 1; -{ /* Inline kernel#Int#- (var_i,var79) */ -var82 = var_i - var79; -var80 = var82; -goto RET_LABEL81; -RET_LABEL81:(void)0; +var81 = 1; +{ /* Inline kernel#Int#- (var_i,var81) */ +var84 = var_i - var81; +var82 = var84; +goto RET_LABEL83; +RET_LABEL83:(void)0; } -var_i = var80; -CONTINUE_label83: (void)0; +var_i = var82; +CONTINUE_label85: (void)0; } -BREAK_label83: (void)0; -var84 = 0; -var_i = var84; +BREAK_label85: (void)0; +var86 = 0; +var_i = var86; for(;;) { -var85 = 1; -{ /* Inline kernel#Int#- (var_m,var85) */ -var88 = var_m - var85; -var86 = var88; -goto RET_LABEL87; -RET_LABEL87:(void)0; -} -{ /* Inline kernel#Int#< (var_i,var86) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var91 = 1; /* easy isa OTHER*/ -if (!var91) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var94 = var_i < var86; -var89 = var94; -goto RET_LABEL90; -RET_LABEL90:(void)0; -} -if (!var89) break; -var95 = self->attrs[COLOR_string_search__BM_Pattern___gs].val; /* _gs on */ -if (var95 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _gs", "lib/standard/string_search.nit", 196); -exit(1); -} -var96 = 1; -{ /* Inline kernel#Int#- (var_m,var96) */ -var99 = var_m - var96; -var97 = var99; -goto RET_LABEL98; -RET_LABEL98:(void)0; -} -var100 = ((val* (*)(val*, long))(var_suff->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_suff, var_i) /* [] on */; -{ /* Inline kernel#Int#- (var97,var100) */ -var103 = ((struct instance_kernel__Int*)var100)->value; /* autounbox from nullable Object to Int */; -var104 = var97 - var103; -var101 = var104; -goto RET_LABEL102; -RET_LABEL102:(void)0; -} -var105 = 1; -{ /* Inline kernel#Int#- (var_m,var105) */ -var108 = var_m - var105; -var106 = var108; -goto RET_LABEL107; -RET_LABEL107:(void)0; -} -{ /* Inline kernel#Int#- (var106,var_i) */ -var111 = var106 - var_i; +var87 = 1; +{ /* Inline kernel#Int#- (var_m,var87) */ +var90 = var_m - var87; +var88 = var90; +goto RET_LABEL89; +RET_LABEL89:(void)0; +} +{ /* Inline kernel#Int#< (var_i,var88) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var93 = 1; /* easy isa OTHER*/ +if (!var93) { +var_class_name96 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265); +show_backtrace(1); +} +var97 = var_i < var88; +var91 = var97; +goto RET_LABEL92; +RET_LABEL92:(void)0; +} +if (!var91) break; +var98 = self->attrs[COLOR_string_search__BM_Pattern___gs].val; /* _gs on */ +if (var98 == NULL) { +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _gs"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 196); +show_backtrace(1); +} +var99 = 1; +{ /* Inline kernel#Int#- (var_m,var99) */ +var102 = var_m - var99; +var100 = var102; +goto RET_LABEL101; +RET_LABEL101:(void)0; +} +var103 = ((val* (*)(val*, long))(var_suff->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_suff, var_i) /* [] on */; +{ /* Inline kernel#Int#- (var100,var103) */ +var106 = ((struct instance_kernel__Int*)var103)->value; /* autounbox from nullable Object to Int */; +var107 = var100 - var106; +var104 = var107; +goto RET_LABEL105; +RET_LABEL105:(void)0; +} +var108 = 1; +{ /* Inline kernel#Int#- (var_m,var108) */ +var111 = var_m - var108; var109 = var111; goto RET_LABEL110; RET_LABEL110:(void)0; } -var112 = BOX_kernel__Int(var109); /* autobox from Int to nullable Object */ -((void (*)(val*, long, val*))(var95->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var95, var101, var112) /* []= on */; -var113 = 1; -{ /* Inline kernel#Int#+ (var_i,var113) */ -var116 = var_i + var113; -var114 = var116; -goto RET_LABEL115; -RET_LABEL115:(void)0; -} -var_i = var114; -CONTINUE_label117: (void)0; -} -BREAK_label117: (void)0; +{ /* Inline kernel#Int#- (var109,var_i) */ +var114 = var109 - var_i; +var112 = var114; +goto RET_LABEL113; +RET_LABEL113:(void)0; +} +var115 = BOX_kernel__Int(var112); /* autobox from Int to nullable Object */ +((void (*)(val*, long, val*))(var98->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var98, var104, var115) /* []= on */; +var116 = 1; +{ /* Inline kernel#Int#+ (var_i,var116) */ +var119 = var_i + var116; +var117 = var119; +goto RET_LABEL118; +RET_LABEL118:(void)0; +} +var_i = var117; +CONTINUE_label120: (void)0; +} +BREAK_label120: (void)0; RET_LABEL:; } /* method string_search#BM_Pattern#compute_gs for (self: Object) */ @@ -1453,8 +1525,9 @@ val* var1 /* : String */; long var2 /* : Int */; var1 = self->attrs[COLOR_string_search__BM_Pattern___motif].val; /* _motif on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _motif", "lib/standard/string_search.nit", 201); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _motif"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 201); +show_backtrace(1); } var2 = ((long (*)(val*))(var1->class->vft[COLOR_kernel__Object__hash]))(var1) /* hash on */; var = var2; @@ -1500,13 +1573,15 @@ var_ = var2; if (var2){ var3 = var_o->attrs[COLOR_string_search__BM_Pattern___motif].val; /* _motif on */ if (var3 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _motif", "lib/standard/string_search.nit", 202); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _motif"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 202); +show_backtrace(1); } var4 = self->attrs[COLOR_string_search__BM_Pattern___motif].val; /* _motif on */ if (var4 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _motif", "lib/standard/string_search.nit", 202); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _motif"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 202); +show_backtrace(1); } var5 = ((short int (*)(val*, val*))(var3->class->vft[COLOR_kernel__Object___61d_61d]))(var3, var4) /* == on */; var1 = var5; @@ -1533,8 +1608,9 @@ val* var /* : String */; val* var1 /* : String */; var1 = self->attrs[COLOR_string_search__Match___string].val; /* _string on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _string", "lib/standard/string_search.nit", 207); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _string"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 207); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -1623,8 +1699,9 @@ long var3 /* : Int */; val* var4 /* : String */; var1 = self->attrs[COLOR_string_search__Match___string].val; /* _string on */ if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _string", "lib/standard/string_search.nit", 221); -exit(1); +fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _string"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 221); +show_backtrace(1); } var2 = self->attrs[COLOR_string_search__Match___from].l; /* _from on */ var3 = self->attrs[COLOR_string_search__Match___length].l; /* _length on */ @@ -1653,21 +1730,24 @@ short int var1 /* : Bool */; short int var3 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var4 /* : Bool */; long var5 /* : Int */; short int var6 /* : Bool */; short int var8 /* : Bool */; int cltype9; int idtype10; -short int var11 /* : Bool */; -long var12 /* : Int */; -long var14 /* : Int */; +const char* var_class_name11; +short int var12 /* : Bool */; +long var13 /* : Int */; long var15 /* : Int */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -short int var21 /* : Bool */; +long var16 /* : Int */; +short int var17 /* : Bool */; +short int var19 /* : Bool */; +int cltype20; +int idtype21; +const char* var_class_name22; +short int var23 /* : Bool */; var_s = p0; var_f = p1; var_len = p2; @@ -1677,8 +1757,10 @@ var = 0; /* isa OTHER */ var3 = 1; /* easy isa OTHER*/ if (!var3) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -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", 266); +show_backtrace(1); } var4 = var_len >= var; var1 = var4; @@ -1686,8 +1768,9 @@ goto RET_LABEL2; RET_LABEL2:(void)0; } if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert \'positive_length\' failed", "lib/standard/string_search.nit", 226); -exit(1); +fprintf(stderr, "Runtime error: %s", "Assert \'positive_length\' failed"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 226); +show_backtrace(1); } var5 = 0; { /* Inline kernel#Int#>= (var_f,var5) */ @@ -1695,41 +1778,47 @@ var5 = 0; /* isa OTHER */ var8 = 1; /* easy isa OTHER*/ if (!var8) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); +var_class_name11 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 266); +show_backtrace(1); } -var11 = var_f >= var5; -var6 = var11; +var12 = var_f >= var5; +var6 = var12; goto RET_LABEL7; RET_LABEL7:(void)0; } if (!var6) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert \'valid_from\' failed", "lib/standard/string_search.nit", 227); -exit(1); +fprintf(stderr, "Runtime error: %s", "Assert \'valid_from\' failed"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 227); +show_backtrace(1); } { /* Inline kernel#Int#+ (var_f,var_len) */ -var14 = var_f + var_len; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +var15 = var_f + var_len; +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } -var15 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on */; -{ /* Inline kernel#Int#<= (var12,var15) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var18 = 1; /* easy isa OTHER*/ -if (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256); -exit(1); -} -var21 = var12 <= var15; -var16 = var21; -goto RET_LABEL17; -RET_LABEL17:(void)0; +var16 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on */; +{ /* Inline kernel#Int#<= (var13,var16) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var19 = 1; /* easy isa OTHER*/ +if (!var19) { +var_class_name22 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 264); +show_backtrace(1); +} +var23 = var13 <= var16; +var17 = var23; +goto RET_LABEL18; +RET_LABEL18:(void)0; } -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert \'valid_after\' failed", "lib/standard/string_search.nit", 228); -exit(1); +if (!var17) { +fprintf(stderr, "Runtime error: %s", "Assert \'valid_after\' failed"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 228); +show_backtrace(1); } self->attrs[COLOR_string_search__Match___string].val = var_s; /* _string on */ self->attrs[COLOR_string_search__Match___from].l = var_f; /* _from on */ @@ -1752,17 +1841,19 @@ short int var2 /* : Bool */; short int var4 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var5 /* : Bool */; -val* var6 /* : nullable Object */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; -char var10 /* : Char */; -long var11 /* : Int */; +val* var6 /* : StringCharView */; +val* var7 /* : nullable Object */; +short int var8 /* : Bool */; +short int var10 /* : Bool */; +char var11 /* : Char */; long var12 /* : Int */; -long var14 /* : Int */; +long var13 /* : Int */; long var15 /* : Int */; long var16 /* : Int */; -long var18 /* : Int */; +long var17 /* : Int */; +long var19 /* : Int */; var_s = p0; var_from = p1; var1 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on */; @@ -1773,8 +1864,10 @@ for(;;) { /* isa OTHER */ var4 = 1; /* easy isa OTHER*/ if (!var4) { -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); } var5 = var_from < var_stop; var2 = var5; @@ -1782,41 +1875,42 @@ goto RET_LABEL3; RET_LABEL3:(void)0; } if (!var2) break; -var6 = ((val* (*)(val*, long))(var_s->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_s, var_from) /* [] on */; -{ /* Inline kernel#Char#== (var6,self) */ -var9 = (var6 != NULL) && (var6->class == &class_kernel__Char); -if (var9) { -var10 = ((struct instance_kernel__Char*)var6)->value; /* autounbox from nullable Object to Char */; -var9 = (var10 == self); +var6 = ((val* (*)(val*))(var_s->class->vft[COLOR_string__AbstractString__chars]))(var_s) /* chars on */; +var7 = ((val* (*)(val*, long))(var6->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var6, var_from) /* [] on */; +{ /* Inline kernel#Char#== (var7,self) */ +var10 = (var7 != NULL) && (var7->class == &class_kernel__Char); +if (var10) { +var11 = ((struct instance_kernel__Char*)var7)->value; /* autounbox from nullable Object to Char */; +var10 = (var11 == self); } -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var8 = var10; +goto RET_LABEL9; +RET_LABEL9:(void)0; } -if (var7){ +if (var8){ var = var_from; goto RET_LABEL; } else { } -var11 = 1; -{ /* Inline kernel#Int#+ (var_from,var11) */ -var14 = var_from + var11; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +var12 = 1; +{ /* Inline kernel#Int#+ (var_from,var12) */ +var15 = var_from + var12; +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } -var_from = var12; +var_from = var13; CONTINUE_label: (void)0; } BREAK_label: (void)0; -var15 = 1; -{ /* Inline kernel#Int#unary - (var15) */ -var18 = -var15; -var16 = var18; -goto RET_LABEL17; -RET_LABEL17:(void)0; +var16 = 1; +{ /* Inline kernel#Int#unary - (var16) */ +var19 = -var16; +var17 = var19; +goto RET_LABEL18; +RET_LABEL18:(void)0; } -var = var16; +var = var17; goto RET_LABEL; RET_LABEL:; return var; @@ -1844,6 +1938,7 @@ short int var3 /* : Bool */; short int var5 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var6 /* : Bool */; val* var7 /* : null */; val* var8 /* : Match */; @@ -1858,8 +1953,10 @@ var2 = 0; /* isa OTHER */ var5 = 1; /* easy isa OTHER*/ if (!var5) { -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); } var6 = var_pos < var2; var3 = var6; @@ -1874,7 +1971,6 @@ goto RET_LABEL; var8 = NEW_string_search__Match(&type_string_search__Match); var9 = 1; ((void (*)(val*, val*, long, long))(var8->class->vft[COLOR_string_search__Match__init]))(var8, var_s, var_pos, var9) /* init on */; -CHECK_NEW_string_search__Match(var8); var = var8; goto RET_LABEL; } @@ -1902,6 +1998,7 @@ short int var2 /* : Bool */; short int var4 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var5 /* : Bool */; long var6 /* : Int */; long var7 /* : Int */; @@ -1915,41 +2012,46 @@ short int var15 /* : Bool */; short int var17 /* : Bool */; int cltype18; int idtype19; -short int var20 /* : Bool */; -long var21 /* : Int */; +const char* var_class_name20; +short int var21 /* : Bool */; long var22 /* : Int */; long var23 /* : Int */; -long var25 /* : Int */; +long var24 /* : Int */; +long var26 /* : Int */; long var_i /* var i: Int */; -short int var26 /* : Bool */; -long var27 /* : Int */; -short int var28 /* : Bool */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -short int var33 /* : Bool */; +short int var27 /* : Bool */; +long var28 /* : Int */; +short int var29 /* : Bool */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +const char* var_class_name34; +short int var35 /* : Bool */; short int var_ /* var : Bool */; -val* var34 /* : nullable Object */; -long var35 /* : Int */; -long var37 /* : Int */; -val* var38 /* : nullable Object */; -short int var39 /* : Bool */; -short int var41 /* : Bool */; -long var42 /* : Int */; -long var43 /* : Int */; -long var45 /* : Int */; +val* var36 /* : StringCharView */; +val* var37 /* : nullable Object */; +val* var38 /* : StringCharView */; +long var39 /* : Int */; +long var41 /* : Int */; +val* var42 /* : nullable Object */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; long var46 /* : Int */; -short int var47 /* : Bool */; -short int var49 /* : Bool */; -int cltype50; -int idtype51; -short int var52 /* : Bool */; -long var53 /* : Int */; -long var54 /* : Int */; -long var56 /* : Int */; +long var47 /* : Int */; +long var49 /* : Int */; +long var50 /* : Int */; +short int var51 /* : Bool */; +short int var53 /* : Bool */; +int cltype54; +int idtype55; +const char* var_class_name56; +short int var57 /* : Bool */; long var58 /* : Int */; long var59 /* : Int */; long var61 /* : Int */; +long var63 /* : Int */; +long var64 /* : Int */; +long var66 /* : Int */; var_s = p0; var_from = p1; var1 = 0; @@ -1958,8 +2060,10 @@ var1 = 0; /* isa OTHER */ var4 = 1; /* easy isa OTHER*/ if (!var4) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -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", 266); +show_backtrace(1); } var5 = var_from >= var1; var2 = var5; @@ -1967,8 +2071,9 @@ goto RET_LABEL3; RET_LABEL3:(void)0; } if (!var2) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/string_search.nit", 264); -exit(1); +fprintf(stderr, "Runtime error: %s", "Assert failed"); +fprintf(stderr, " (%s:%d)\n", "lib/standard/string_search.nit", 264); +show_backtrace(1); } var6 = ((long (*)(val*))(var_s->class->vft[COLOR_abstract_collection__Collection__length]))(var_s) /* length on */; var7 = ((long (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__length]))(self) /* length on */; @@ -1992,109 +2097,117 @@ for(;;) { /* isa OTHER */ var17 = 1; /* easy isa OTHER*/ if (!var17) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); +var_class_name20 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265); +show_backtrace(1); } -var20 = var_from < var_stop; -var15 = var20; +var21 = var_from < var_stop; +var15 = var21; goto RET_LABEL16; RET_LABEL16:(void)0; } if (!var15) break; -var21 = ((long (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__length]))(self) /* length on */; -var22 = 1; -{ /* Inline kernel#Int#- (var21,var22) */ -var25 = var21 - var22; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; -} -var_i = var23; +var22 = ((long (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__length]))(self) /* length on */; +var23 = 1; +{ /* Inline kernel#Int#- (var22,var23) */ +var26 = var22 - var23; +var24 = var26; +goto RET_LABEL25; +RET_LABEL25:(void)0; +} +var_i = var24; for(;;) { -var27 = 0; -{ /* Inline kernel#Int#>= (var_i,var27) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var30 = 1; /* easy isa OTHER*/ -if (!var30) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258); -exit(1); -} -var33 = var_i >= var27; -var28 = var33; -goto RET_LABEL29; -RET_LABEL29:(void)0; -} -var_ = var28; -if (var28){ -var34 = ((val* (*)(val*, long))(self->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(self, var_i) /* [] on */; +var28 = 0; +{ /* Inline kernel#Int#>= (var_i,var28) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var31 = 1; /* easy isa OTHER*/ +if (!var31) { +var_class_name34 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 266); +show_backtrace(1); +} +var35 = var_i >= var28; +var29 = var35; +goto RET_LABEL30; +RET_LABEL30:(void)0; +} +var_ = var29; +if (var29){ +var36 = ((val* (*)(val*))(self->class->vft[COLOR_string__AbstractString__chars]))(self) /* chars on */; +var37 = ((val* (*)(val*, long))(var36->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var36, var_i) /* [] on */; +var38 = ((val* (*)(val*))(var_s->class->vft[COLOR_string__AbstractString__chars]))(var_s) /* chars on */; { /* Inline kernel#Int#+ (var_i,var_from) */ -var37 = var_i + var_from; -var35 = var37; -goto RET_LABEL36; -RET_LABEL36:(void)0; -} -var38 = ((val* (*)(val*, long))(var_s->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_s, var35) /* [] on */; -{ /* Inline kernel#Char#== (var34,var38) */ -var41 = var34 == var38 || (((struct instance_kernel__Char*)var34)->value == ((struct instance_kernel__Char*)var38)->value); +var41 = var_i + var_from; var39 = var41; goto RET_LABEL40; RET_LABEL40:(void)0; } -var26 = var39; -} else { -var26 = var_; -} -if (!var26) break; -var42 = 1; -{ /* Inline kernel#Int#- (var_i,var42) */ -var45 = var_i - var42; +var42 = ((val* (*)(val*, long))(var38->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var38, var39) /* [] on */; +{ /* Inline kernel#Char#== (var37,var42) */ +var45 = var37 == var42 || (((struct instance_kernel__Char*)var37)->value == ((struct instance_kernel__Char*)var42)->value); var43 = var45; goto RET_LABEL44; RET_LABEL44:(void)0; } -var_i = var43; -CONTINUE_label: (void)0; +var27 = var43; +} else { +var27 = var_; } -BREAK_label: (void)0; -var46 = 0; -{ /* Inline kernel#Int#< (var_i,var46) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var49 = 1; /* easy isa OTHER*/ -if (!var49) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var52 = var_i < var46; -var47 = var52; +if (!var27) break; +var46 = 1; +{ /* Inline kernel#Int#- (var_i,var46) */ +var49 = var_i - var46; +var47 = var49; goto RET_LABEL48; RET_LABEL48:(void)0; } -if (var47){ +var_i = var47; +CONTINUE_label: (void)0; +} +BREAK_label: (void)0; +var50 = 0; +{ /* Inline kernel#Int#< (var_i,var50) */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var53 = 1; /* easy isa OTHER*/ +if (!var53) { +var_class_name56 = type_kernel__Int.name; +fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265); +show_backtrace(1); +} +var57 = var_i < var50; +var51 = var57; +goto RET_LABEL52; +RET_LABEL52:(void)0; +} +if (var51){ var = var_from; goto RET_LABEL; } else { } -var53 = 1; -{ /* Inline kernel#Int#+ (var_from,var53) */ -var56 = var_from + var53; -var54 = var56; -goto RET_LABEL55; -RET_LABEL55:(void)0; -} -var_from = var54; -CONTINUE_label57: (void)0; -} -BREAK_label57: (void)0; var58 = 1; -{ /* Inline kernel#Int#unary - (var58) */ -var61 = -var58; +{ /* Inline kernel#Int#+ (var_from,var58) */ +var61 = var_from + var58; var59 = var61; goto RET_LABEL60; RET_LABEL60:(void)0; } -var = var59; +var_from = var59; +CONTINUE_label62: (void)0; +} +BREAK_label62: (void)0; +var63 = 1; +{ /* Inline kernel#Int#unary - (var63) */ +var66 = -var63; +var64 = var66; +goto RET_LABEL65; +RET_LABEL65:(void)0; +} +var = var64; goto RET_LABEL; RET_LABEL:; return var; @@ -2120,6 +2233,7 @@ short int var3 /* : Bool */; short int var5 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var6 /* : Bool */; val* var7 /* : null */; val* var8 /* : Match */; @@ -2134,8 +2248,10 @@ var2 = 0; /* isa OTHER */ var5 = 1; /* easy isa OTHER*/ if (!var5) { -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); } var6 = var_pos < var2; var3 = var6; @@ -2150,7 +2266,6 @@ goto RET_LABEL; var8 = NEW_string_search__Match(&type_string_search__Match); var9 = ((long (*)(val*))(self->class->vft[COLOR_abstract_collection__Collection__length]))(self) /* length on */; ((void (*)(val*, val*, long, long))(var8->class->vft[COLOR_string_search__Match__init]))(var8, var_s, var_pos, var9) /* init on */; -CHECK_NEW_string_search__Match(var8); var = var8; goto RET_LABEL; } @@ -2253,7 +2368,6 @@ var_matches = var1; var2 = NEW_array__Array(&type_array__Arraystring__String); var3 = ((long (*)(val*))(var_matches->class->vft[COLOR_abstract_collection__Collection__length]))(var_matches) /* length on */; ((void (*)(val*, long))(var2->class->vft[COLOR_array__Array__with_capacity]))(var2, var3) /* with_capacity on */; -CHECK_NEW_array__Array(var2); var_res = var2; var4 = ((val* (*)(val*))(var_matches->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_matches) /* iterator on */; for(;;) { @@ -2331,125 +2445,133 @@ return var; val* string_search__String__html_escape(val* self) { val* var /* : String */; val* var_ret /* var ret: String */; -char var1 /* : Char */; -short int var2 /* : Bool */; -val* var3 /* : nullable Object */; -char var4 /* : Char */; +val* var1 /* : StringCharView */; +char var2 /* : Char */; +short int var3 /* : Bool */; +val* var4 /* : nullable Object */; +char var5 /* : Char */; static val* varonce; -val* var5 /* : String */; -char* var6 /* : NativeString */; -long var7 /* : Int */; -val* var8 /* : String */; +val* var6 /* : String */; +char* var7 /* : NativeString */; +long var8 /* : Int */; val* var9 /* : String */; -val* var10 /* : Pattern */; -char var11 /* : Char */; -short int var12 /* : Bool */; -val* var13 /* : nullable Object */; -char var14 /* : Char */; -static val* varonce15; -val* var16 /* : String */; -char* var17 /* : NativeString */; -long var18 /* : Int */; -val* var19 /* : String */; -val* var20 /* : String */; -val* var21 /* : Pattern */; -char var22 /* : Char */; -short int var23 /* : Bool */; -val* var24 /* : nullable Object */; +val* var10 /* : String */; +val* var11 /* : Pattern */; +val* var12 /* : StringCharView */; +char var13 /* : Char */; +short int var14 /* : Bool */; +val* var15 /* : nullable Object */; +char var16 /* : Char */; +static val* varonce17; +val* var18 /* : String */; +char* var19 /* : NativeString */; +long var20 /* : Int */; +val* var21 /* : String */; +val* var22 /* : String */; +val* var23 /* : Pattern */; +val* var24 /* : StringCharView */; char var25 /* : Char */; -static val* varonce26; -val* var27 /* : String */; -char* var28 /* : NativeString */; -long var29 /* : Int */; +short int var26 /* : Bool */; +val* var27 /* : nullable Object */; +char var28 /* : Char */; +static val* varonce29; val* var30 /* : String */; -val* var31 /* : String */; -val* var32 /* : Pattern */; -char var33 /* : Char */; -short int var34 /* : Bool */; -val* var35 /* : nullable Object */; -char var36 /* : Char */; -static val* varonce37; -val* var38 /* : String */; -char* var39 /* : NativeString */; -long var40 /* : Int */; -val* var41 /* : String */; +char* var31 /* : NativeString */; +long var32 /* : Int */; +val* var33 /* : String */; +val* var34 /* : String */; +val* var35 /* : Pattern */; +val* var36 /* : StringCharView */; +char var37 /* : Char */; +short int var38 /* : Bool */; +val* var39 /* : nullable Object */; +char var40 /* : Char */; +static val* varonce41; val* var42 /* : String */; -val* var43 /* : Pattern */; +char* var43 /* : NativeString */; +long var44 /* : Int */; +val* var45 /* : String */; +val* var46 /* : String */; +val* var47 /* : Pattern */; var_ret = self; -var1 = '&'; -var3 = BOX_kernel__Char(var1); /* autobox from Char to nullable Object */ -var2 = ((short int (*)(val*, val*))(var_ret->class->vft[COLOR_abstract_collection__Collection__has]))(var_ret, var3) /* has on */; -if (var2){ -var4 = '&'; +var1 = ((val* (*)(val*))(var_ret->class->vft[COLOR_string__AbstractString__chars]))(var_ret) /* chars on */; +var2 = '&'; +var4 = BOX_kernel__Char(var2); /* autobox from Char to nullable Object */ +var3 = ((short int (*)(val*, val*))(var1->class->vft[COLOR_abstract_collection__Collection__has]))(var1, var4) /* has on */; +if (var3){ +var5 = '&'; if (varonce) { -var5 = varonce; +var6 = varonce; } else { -var6 = "&"; -var7 = 5; -var8 = string__NativeString__to_s_with_length(var6, var7); -var5 = var8; -varonce = var5; -} -var10 = BOX_kernel__Char(var4); /* autobox from Char to Pattern */ -var9 = ((val* (*)(val*, val*, val*))(var_ret->class->vft[COLOR_string_search__String__replace]))(var_ret, var10, var5) /* replace on */; -var_ret = var9; +var7 = "&"; +var8 = 5; +var9 = string__NativeString__to_s_with_length(var7, var8); +var6 = var9; +varonce = var6; +} +var11 = BOX_kernel__Char(var5); /* autobox from Char to Pattern */ +var10 = ((val* (*)(val*, val*, val*))(var_ret->class->vft[COLOR_string_search__String__replace]))(var_ret, var11, var6) /* replace on */; +var_ret = var10; } else { } -var11 = '<'; -var13 = BOX_kernel__Char(var11); /* autobox from Char to nullable Object */ -var12 = ((short int (*)(val*, val*))(var_ret->class->vft[COLOR_abstract_collection__Collection__has]))(var_ret, var13) /* has on */; -if (var12){ -var14 = '<'; -if (varonce15) { -var16 = varonce15; +var12 = ((val* (*)(val*))(var_ret->class->vft[COLOR_string__AbstractString__chars]))(var_ret) /* chars on */; +var13 = '<'; +var15 = BOX_kernel__Char(var13); /* autobox from Char to nullable Object */ +var14 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_abstract_collection__Collection__has]))(var12, var15) /* has on */; +if (var14){ +var16 = '<'; +if (varonce17) { +var18 = varonce17; } else { -var17 = "<"; -var18 = 4; -var19 = string__NativeString__to_s_with_length(var17, var18); -var16 = var19; -varonce15 = var16; -} -var21 = BOX_kernel__Char(var14); /* autobox from Char to Pattern */ -var20 = ((val* (*)(val*, val*, val*))(var_ret->class->vft[COLOR_string_search__String__replace]))(var_ret, var21, var16) /* replace on */; -var_ret = var20; +var19 = "<"; +var20 = 4; +var21 = string__NativeString__to_s_with_length(var19, var20); +var18 = var21; +varonce17 = var18; +} +var23 = BOX_kernel__Char(var16); /* autobox from Char to Pattern */ +var22 = ((val* (*)(val*, val*, val*))(var_ret->class->vft[COLOR_string_search__String__replace]))(var_ret, var23, var18) /* replace on */; +var_ret = var22; } else { } -var22 = '>'; -var24 = BOX_kernel__Char(var22); /* autobox from Char to nullable Object */ -var23 = ((short int (*)(val*, val*))(var_ret->class->vft[COLOR_abstract_collection__Collection__has]))(var_ret, var24) /* has on */; -if (var23){ +var24 = ((val* (*)(val*))(var_ret->class->vft[COLOR_string__AbstractString__chars]))(var_ret) /* chars on */; var25 = '>'; -if (varonce26) { -var27 = varonce26; +var27 = BOX_kernel__Char(var25); /* autobox from Char to nullable Object */ +var26 = ((short int (*)(val*, val*))(var24->class->vft[COLOR_abstract_collection__Collection__has]))(var24, var27) /* has on */; +if (var26){ +var28 = '>'; +if (varonce29) { +var30 = varonce29; } else { -var28 = ">"; -var29 = 4; -var30 = string__NativeString__to_s_with_length(var28, var29); -var27 = var30; -varonce26 = var27; -} -var32 = BOX_kernel__Char(var25); /* autobox from Char to Pattern */ -var31 = ((val* (*)(val*, val*, val*))(var_ret->class->vft[COLOR_string_search__String__replace]))(var_ret, var32, var27) /* replace on */; -var_ret = var31; +var31 = ">"; +var32 = 4; +var33 = string__NativeString__to_s_with_length(var31, var32); +var30 = var33; +varonce29 = var30; +} +var35 = BOX_kernel__Char(var28); /* autobox from Char to Pattern */ +var34 = ((val* (*)(val*, val*, val*))(var_ret->class->vft[COLOR_string_search__String__replace]))(var_ret, var35, var30) /* replace on */; +var_ret = var34; } else { } -var33 = '\"'; -var35 = BOX_kernel__Char(var33); /* autobox from Char to nullable Object */ -var34 = ((short int (*)(val*, val*))(var_ret->class->vft[COLOR_abstract_collection__Collection__has]))(var_ret, var35) /* has on */; -if (var34){ -var36 = '\"'; -if (varonce37) { -var38 = varonce37; +var36 = ((val* (*)(val*))(var_ret->class->vft[COLOR_string__AbstractString__chars]))(var_ret) /* chars on */; +var37 = '\"'; +var39 = BOX_kernel__Char(var37); /* autobox from Char to nullable Object */ +var38 = ((short int (*)(val*, val*))(var36->class->vft[COLOR_abstract_collection__Collection__has]))(var36, var39) /* has on */; +if (var38){ +var40 = '\"'; +if (varonce41) { +var42 = varonce41; } else { -var39 = """; -var40 = 6; -var41 = string__NativeString__to_s_with_length(var39, var40); -var38 = var41; -varonce37 = var38; -} -var43 = BOX_kernel__Char(var36); /* autobox from Char to Pattern */ -var42 = ((val* (*)(val*, val*, val*))(var_ret->class->vft[COLOR_string_search__String__replace]))(var_ret, var43, var38) /* replace on */; -var_ret = var42; +var43 = """; +var44 = 6; +var45 = string__NativeString__to_s_with_length(var43, var44); +var42 = var45; +varonce41 = var42; +} +var47 = BOX_kernel__Char(var40); /* autobox from Char to Pattern */ +var46 = ((val* (*)(val*, val*, val*))(var_ret->class->vft[COLOR_string_search__String__replace]))(var_ret, var47, var42) /* replace on */; +var_ret = var46; } else { } var = var_ret;