c_src: regenerate
[nit.git] / c_src / core__string_search.sep.1.c
similarity index 61%
rename from c_src/standard__string_search.sep.1.c
rename to c_src/core__string_search.sep.1.c
index 7302b65..33e73fb 100644 (file)
@@ -1,6 +1,6 @@
-#include "standard__string_search.sep.0.h"
+#include "core__string_search.sep.0.h"
 /* method string_search#Pattern#split_in for (self: Pattern, Text): Array[Match] */
-val* standard___standard__Pattern___split_in(val* self, val* p0) {
+val* core___core__Pattern___split_in(val* self, val* p0) {
 val* var /* : Array[Match] */;
 val* var_s /* var s: Text */;
 val* var1 /* : Array[Match] */;
@@ -36,14 +36,14 @@ int idtype26;
 const char* var_class_name27;
 long var28 /* : Int */;
 var_s = p0;
-var1 = NEW_standard__Array(&type_standard__Array__standard__Match);
+var1 = NEW_core__Array(&type_core__Array__core__Match);
 {
-standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on <var1:Array[Match]>*/
+core___core__Array___core__kernel__Object__init(var1); /* Direct call array#Array#init on <var1:Array[Match]>*/
 }
 var_res = var1;
 var_i = 0l;
 {
-var2 = ((val*(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__string_search__Pattern__search_in]))(self, var_s, 0l); /* search_in on <self:Pattern>*/
+var2 = ((val*(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__string_search__Pattern__search_in]))(self, var_s, 0l); /* search_in on <self:Pattern>*/
 }
 var_match = var2;
 for(;;) {
@@ -56,7 +56,7 @@ if (0) {
 { /* Inline kernel#Object#!= (var_match,((val*)NULL)) on <var_match:nullable Match> */
 var_other = ((val*)NULL);
 {
-var6 = ((short int(*)(val* self, val* p0))(var_match->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_match, var_other); /* == on <var_match:nullable Match(Match)>*/
+var6 = ((short int(*)(val* self, val* p0))(var_match->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_match, var_other); /* == on <var_match:nullable Match(Match)>*/
 }
 var7 = !var6;
 var4 = var7;
@@ -68,7 +68,7 @@ var3 = var4;
 if (var3){
 {
 { /* Inline string_search#Match#from (var_match) on <var_match:nullable Match(Match)> */
-var10 = var_match->attrs[COLOR_standard__string_search__Match___from].l; /* _from on <var_match:nullable Match(Match)> */
+var10 = var_match->attrs[COLOR_core__string_search__Match___from].l; /* _from on <var_match:nullable Match(Match)> */
 var8 = var10;
 RET_LABEL9:(void)0;
 }
@@ -79,9 +79,9 @@ RET_LABEL9:(void)0;
 /* <var_i:Int> isa OTHER */
 var13 = 1; /* easy <var_i:Int> isa OTHER*/
 if (unlikely(!var13)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var14 = var8 - var_i;
@@ -91,31 +91,31 @@ RET_LABEL12:(void)0;
 }
 }
 var_len = var11;
-var15 = NEW_standard__Match(&type_standard__Match);
+var15 = NEW_core__Match(&type_core__Match);
 {
-var16 = ((val*(*)(val* self))(var_s->class->vft[COLOR_standard__string__Object__to_s]))(var_s); /* to_s on <var_s:Text>*/
+var16 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_s); /* to_s on <var_s:Text>*/
 }
 {
-((void(*)(val* self, val* p0))(var15->class->vft[COLOR_standard__string_search__Match__string_61d]))(var15, var16); /* string= on <var15:Match>*/
+((void(*)(val* self, val* p0))(var15->class->vft[COLOR_core__string_search__Match__string_61d]))(var15, var16); /* string= on <var15:Match>*/
 }
 {
-((void(*)(val* self, long p0))(var15->class->vft[COLOR_standard__string_search__Match__from_61d]))(var15, var_i); /* from= on <var15:Match>*/
+((void(*)(val* self, long p0))(var15->class->vft[COLOR_core__string_search__Match__from_61d]))(var15, var_i); /* from= on <var15:Match>*/
 }
 {
-((void(*)(val* self, long p0))(var15->class->vft[COLOR_standard__string_search__Match__length_61d]))(var15, var_len); /* length= on <var15:Match>*/
+((void(*)(val* self, long p0))(var15->class->vft[COLOR_core__string_search__Match__length_61d]))(var15, var_len); /* length= on <var15:Match>*/
 }
 {
-((void(*)(val* self))(var15->class->vft[COLOR_standard__kernel__Object__init]))(var15); /* init on <var15:Match>*/
+((void(*)(val* self))(var15->class->vft[COLOR_core__kernel__Object__init]))(var15); /* init on <var15:Match>*/
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var15); /* Direct call array#Array#add on <var_res:Array[Match]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var15); /* Direct call array#Array#add on <var_res:Array[Match]>*/
 }
 {
-var17 = standard___standard__Match___after(var_match);
+var17 = core___core__Match___after(var_match);
 }
 var_i = var17;
 {
-var18 = ((val*(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__string_search__Pattern__search_in]))(self, var_s, var_i); /* search_in on <self:Pattern>*/
+var18 = ((val*(*)(val* self, val* p0, long p1))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__string_search__Pattern__search_in]))(self, var_s, var_i); /* search_in on <self:Pattern>*/
 }
 var_match = var18;
 } else {
@@ -123,12 +123,12 @@ goto BREAK_label;
 }
 }
 BREAK_label: (void)0;
-var19 = NEW_standard__Match(&type_standard__Match);
+var19 = NEW_core__Match(&type_core__Match);
 {
-var20 = ((val*(*)(val* self))(var_s->class->vft[COLOR_standard__string__Object__to_s]))(var_s); /* to_s on <var_s:Text>*/
+var20 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_s); /* to_s on <var_s:Text>*/
 }
 {
-var21 = ((long(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s); /* length on <var_s:Text>*/
+var21 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__length]))(var_s); /* length on <var_s:Text>*/
 }
 {
 { /* Inline kernel#Int#- (var21,var_i) on <var21:Int> */
@@ -136,9 +136,9 @@ var21 = ((long(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__le
 /* <var_i:Int> isa OTHER */
 var24 = 1; /* easy <var_i:Int> isa OTHER*/
 if (unlikely(!var24)) {
-var_class_name27 = type_standard__Int.name;
+var_class_name27 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var28 = var21 - var_i;
@@ -148,19 +148,19 @@ RET_LABEL23:(void)0;
 }
 }
 {
-((void(*)(val* self, val* p0))(var19->class->vft[COLOR_standard__string_search__Match__string_61d]))(var19, var20); /* string= on <var19:Match>*/
+((void(*)(val* self, val* p0))(var19->class->vft[COLOR_core__string_search__Match__string_61d]))(var19, var20); /* string= on <var19:Match>*/
 }
 {
-((void(*)(val* self, long p0))(var19->class->vft[COLOR_standard__string_search__Match__from_61d]))(var19, var_i); /* from= on <var19:Match>*/
+((void(*)(val* self, long p0))(var19->class->vft[COLOR_core__string_search__Match__from_61d]))(var19, var_i); /* from= on <var19:Match>*/
 }
 {
-((void(*)(val* self, long p0))(var19->class->vft[COLOR_standard__string_search__Match__length_61d]))(var19, var22); /* length= on <var19:Match>*/
+((void(*)(val* self, long p0))(var19->class->vft[COLOR_core__string_search__Match__length_61d]))(var19, var22); /* length= on <var19:Match>*/
 }
 {
-((void(*)(val* self))(var19->class->vft[COLOR_standard__kernel__Object__init]))(var19); /* init on <var19:Match>*/
+((void(*)(val* self))(var19->class->vft[COLOR_core__kernel__Object__init]))(var19); /* init on <var19:Match>*/
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var19); /* Direct call array#Array#add on <var_res:Array[Match]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var19); /* Direct call array#Array#add on <var_res:Array[Match]>*/
 }
 var = var_res;
 goto RET_LABEL;
@@ -168,13 +168,13 @@ RET_LABEL:;
 return var;
 }
 /* method string_search#Match#string for (self: Match): String */
-val* standard___standard__Match___string(val* self) {
+val* core___core__Match___string(val* self) {
 val* var /* : String */;
 val* var1 /* : String */;
-var1 = self->attrs[COLOR_standard__string_search__Match___string].val; /* _string on <self:Match> */
+var1 = self->attrs[COLOR_core__string_search__Match___string].val; /* _string on <self:Match> */
 if (unlikely(var1 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search, 239);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search, 239);
 fatal_exit(1);
 }
 var = var1;
@@ -182,40 +182,40 @@ RET_LABEL:;
 return var;
 }
 /* method string_search#Match#string= for (self: Match, String) */
-void standard___standard__Match___string_61d(val* self, val* p0) {
-self->attrs[COLOR_standard__string_search__Match___string].val = p0; /* _string on <self:Match> */
+void core___core__Match___string_61d(val* self, val* p0) {
+self->attrs[COLOR_core__string_search__Match___string].val = p0; /* _string on <self:Match> */
 RET_LABEL:;
 }
 /* method string_search#Match#from for (self: Match): Int */
-long standard___standard__Match___from(val* self) {
+long core___core__Match___from(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
-var1 = self->attrs[COLOR_standard__string_search__Match___from].l; /* _from on <self:Match> */
+var1 = self->attrs[COLOR_core__string_search__Match___from].l; /* _from on <self:Match> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method string_search#Match#from= for (self: Match, Int) */
-void standard___standard__Match___from_61d(val* self, long p0) {
-self->attrs[COLOR_standard__string_search__Match___from].l = p0; /* _from on <self:Match> */
+void core___core__Match___from_61d(val* self, long p0) {
+self->attrs[COLOR_core__string_search__Match___from].l = p0; /* _from on <self:Match> */
 RET_LABEL:;
 }
 /* method string_search#Match#length for (self: Match): Int */
-long standard___standard__Match___length(val* self) {
+long core___core__Match___length(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
-var1 = self->attrs[COLOR_standard__string_search__Match___length].l; /* _length on <self:Match> */
+var1 = self->attrs[COLOR_core__string_search__Match___length].l; /* _length on <self:Match> */
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method string_search#Match#length= for (self: Match, Int) */
-void standard___standard__Match___length_61d(val* self, long p0) {
-self->attrs[COLOR_standard__string_search__Match___length].l = p0; /* _length on <self:Match> */
+void core___core__Match___length_61d(val* self, long p0) {
+self->attrs[COLOR_core__string_search__Match___length].l = p0; /* _length on <self:Match> */
 RET_LABEL:;
 }
 /* method string_search#Match#after for (self: Match): Int */
-long standard___standard__Match___after(val* self) {
+long core___core__Match___after(val* self) {
 long var /* : Int */;
 long var1 /* : Int */;
 long var3 /* : Int */;
@@ -229,14 +229,14 @@ const char* var_class_name;
 long var10 /* : Int */;
 {
 { /* Inline string_search#Match#from (self) on <self:Match> */
-var3 = self->attrs[COLOR_standard__string_search__Match___from].l; /* _from on <self:Match> */
+var3 = self->attrs[COLOR_core__string_search__Match___from].l; /* _from on <self:Match> */
 var1 = var3;
 RET_LABEL2:(void)0;
 }
 }
 {
 { /* Inline string_search#Match#length (self) on <self:Match> */
-var6 = self->attrs[COLOR_standard__string_search__Match___length].l; /* _length on <self:Match> */
+var6 = self->attrs[COLOR_core__string_search__Match___length].l; /* _length on <self:Match> */
 var4 = var6;
 RET_LABEL5:(void)0;
 }
@@ -247,9 +247,9 @@ RET_LABEL5:(void)0;
 /* <var4:Int> isa OTHER */
 var9 = 1; /* easy <var4:Int> isa OTHER*/
 if (unlikely(!var9)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var10 = var1 + var4;
@@ -264,7 +264,7 @@ RET_LABEL:;
 return var;
 }
 /* method string_search#Match#to_s for (self: Match): String */
-val* standard___standard__Match___standard__string__Object__to_s(val* self) {
+val* core___core__Match___core__abstract_text__Object__to_s(val* self) {
 val* var /* : String */;
 val* var1 /* : String */;
 val* var3 /* : String */;
@@ -275,10 +275,10 @@ long var9 /* : Int */;
 val* var10 /* : Text */;
 {
 { /* Inline string_search#Match#string (self) on <self:Match> */
-var3 = self->attrs[COLOR_standard__string_search__Match___string].val; /* _string on <self:Match> */
+var3 = self->attrs[COLOR_core__string_search__Match___string].val; /* _string on <self:Match> */
 if (unlikely(var3 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search, 239);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search, 239);
 fatal_exit(1);
 }
 var1 = var3;
@@ -287,20 +287,20 @@ RET_LABEL2:(void)0;
 }
 {
 { /* Inline string_search#Match#from (self) on <self:Match> */
-var6 = self->attrs[COLOR_standard__string_search__Match___from].l; /* _from on <self:Match> */
+var6 = self->attrs[COLOR_core__string_search__Match___from].l; /* _from on <self:Match> */
 var4 = var6;
 RET_LABEL5:(void)0;
 }
 }
 {
 { /* Inline string_search#Match#length (self) on <self:Match> */
-var9 = self->attrs[COLOR_standard__string_search__Match___length].l; /* _length on <self:Match> */
+var9 = self->attrs[COLOR_core__string_search__Match___length].l; /* _length on <self:Match> */
 var7 = var9;
 RET_LABEL8:(void)0;
 }
 }
 {
-var10 = ((val*(*)(val* self, long p0, long p1))(var1->class->vft[COLOR_standard__string__Text__substring]))(var1, var4, var7); /* substring on <var1:String>*/
+var10 = ((val*(*)(val* self, long p0, long p1))(var1->class->vft[COLOR_core__abstract_text__Text__substring]))(var1, var4, var7); /* substring on <var1:String>*/
 }
 var = var10;
 goto RET_LABEL;
@@ -308,7 +308,7 @@ RET_LABEL:;
 return var;
 }
 /* method string_search#Match#init for (self: Match) */
-void standard___standard__Match___standard__kernel__Object__init(val* self) {
+void core___core__Match___core__kernel__Object__init(val* self) {
 long var /* : Int */;
 long var2 /* : Int */;
 short int var3 /* : Bool */;
@@ -345,8 +345,11 @@ int idtype38;
 const char* var_class_name39;
 short int var40 /* : Bool */;
 {
+((void(*)(val* self))(self->class->vft[COLOR_core___core__Match___core__kernel__Object__init]))(self); /* init on <self:Match>*/
+}
+{
 { /* Inline string_search#Match#length (self) on <self:Match> */
-var2 = self->attrs[COLOR_standard__string_search__Match___length].l; /* _length on <self:Match> */
+var2 = self->attrs[COLOR_core__string_search__Match___length].l; /* _length on <self:Match> */
 var = var2;
 RET_LABEL1:(void)0;
 }
@@ -357,9 +360,9 @@ RET_LABEL1:(void)0;
 /* <0l:Int> isa OTHER */
 var5 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var5)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
 fatal_exit(1);
 }
 var6 = var >= 0l;
@@ -370,12 +373,12 @@ RET_LABEL4:(void)0;
 }
 if (unlikely(!var3)) {
 PRINT_ERROR("Runtime error: %s", "Assert \'positive_length\' failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search, 257);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search, 298);
 fatal_exit(1);
 }
 {
 { /* Inline string_search#Match#from (self) on <self:Match> */
-var9 = self->attrs[COLOR_standard__string_search__Match___from].l; /* _from on <self:Match> */
+var9 = self->attrs[COLOR_core__string_search__Match___from].l; /* _from on <self:Match> */
 var7 = var9;
 RET_LABEL8:(void)0;
 }
@@ -386,9 +389,9 @@ RET_LABEL8:(void)0;
 /* <0l:Int> isa OTHER */
 var12 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var12)) {
-var_class_name15 = type_standard__Int.name;
+var_class_name15 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
 fatal_exit(1);
 }
 var16 = var7 >= 0l;
@@ -399,19 +402,19 @@ RET_LABEL11:(void)0;
 }
 if (unlikely(!var10)) {
 PRINT_ERROR("Runtime error: %s", "Assert \'valid_from\' failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search, 258);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search, 299);
 fatal_exit(1);
 }
 {
 { /* Inline string_search#Match#from (self) on <self:Match> */
-var19 = self->attrs[COLOR_standard__string_search__Match___from].l; /* _from on <self:Match> */
+var19 = self->attrs[COLOR_core__string_search__Match___from].l; /* _from on <self:Match> */
 var17 = var19;
 RET_LABEL18:(void)0;
 }
 }
 {
 { /* Inline string_search#Match#length (self) on <self:Match> */
-var22 = self->attrs[COLOR_standard__string_search__Match___length].l; /* _length on <self:Match> */
+var22 = self->attrs[COLOR_core__string_search__Match___length].l; /* _length on <self:Match> */
 var20 = var22;
 RET_LABEL21:(void)0;
 }
@@ -422,9 +425,9 @@ RET_LABEL21:(void)0;
 /* <var20:Int> isa OTHER */
 var25 = 1; /* easy <var20:Int> isa OTHER*/
 if (unlikely(!var25)) {
-var_class_name28 = type_standard__Int.name;
+var_class_name28 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var29 = var17 + var20;
@@ -435,10 +438,10 @@ RET_LABEL24:(void)0;
 }
 {
 { /* Inline string_search#Match#string (self) on <self:Match> */
-var32 = self->attrs[COLOR_standard__string_search__Match___string].val; /* _string on <self:Match> */
+var32 = self->attrs[COLOR_core__string_search__Match___string].val; /* _string on <self:Match> */
 if (unlikely(var32 == NULL)) {
 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search, 239);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search, 239);
 fatal_exit(1);
 }
 var30 = var32;
@@ -446,7 +449,7 @@ RET_LABEL31:(void)0;
 }
 }
 {
-var33 = ((long(*)(val* self))(var30->class->vft[COLOR_standard__string__Text__length]))(var30); /* length on <var30:String>*/
+var33 = ((long(*)(val* self))(var30->class->vft[COLOR_core__abstract_text__Text__length]))(var30); /* length on <var30:String>*/
 }
 {
 { /* Inline kernel#Int#<= (var23,var33) on <var23:Int> */
@@ -454,9 +457,9 @@ var33 = ((long(*)(val* self))(var30->class->vft[COLOR_standard__string__Text__le
 /* <var33:Int> isa OTHER */
 var36 = 1; /* easy <var33:Int> isa OTHER*/
 if (unlikely(!var36)) {
-var_class_name39 = type_standard__Int.name;
+var_class_name39 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
 fatal_exit(1);
 }
 var40 = var23 <= var33;
@@ -467,13 +470,13 @@ RET_LABEL35:(void)0;
 }
 if (unlikely(!var34)) {
 PRINT_ERROR("Runtime error: %s", "Assert \'valid_after\' failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search, 259);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search, 300);
 fatal_exit(1);
 }
 RET_LABEL:;
 }
 /* method string_search#Char#search_index_in for (self: Char, Text, Int): Int */
-long standard__string_search___Char___Pattern__search_index_in(uint32_t self, val* p0, long p1) {
+long core__string_search___Char___Pattern__search_index_in(uint32_t self, val* p0, long p1) {
 long var /* : Int */;
 val* var_s /* var s: Text */;
 long var_from /* var from: Int */;
@@ -501,7 +504,7 @@ long var21 /* : Int */;
 var_s = p0;
 var_from = p1;
 {
-var1 = ((long(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s); /* length on <var_s:Text>*/
+var1 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__length]))(var_s); /* length on <var_s:Text>*/
 }
 var_stop = var1;
 for(;;) {
@@ -511,9 +514,9 @@ for(;;) {
 /* <var_stop:Int> isa OTHER */
 var4 = 1; /* easy <var_stop:Int> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var5 = var_from < var_stop;
@@ -524,15 +527,15 @@ RET_LABEL3:(void)0;
 }
 if (var2){
 {
-var6 = ((val*(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__chars]))(var_s); /* chars on <var_s:Text>*/
+var6 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__chars]))(var_s); /* chars on <var_s:Text>*/
 }
 {
-var7 = ((val*(*)(val* self, long p0))((((long)var6&3)?class_info[((long)var6&3)]:var6->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var6, var_from); /* [] on <var6:SequenceRead[Char]>*/
+var7 = ((val*(*)(val* self, long p0))((((long)var6&3)?class_info[((long)var6&3)]:var6->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var6, var_from); /* [] on <var6:SequenceRead[Char]>*/
 }
 {
 { /* Inline kernel#Char#== (var7,self) on <var7:nullable Object(Char)> */
 var11 = (uint32_t)((long)(var7)>>2);
-var10 = (var7 != NULL) && (var11 == self);
+var10 = var11 == self;
 var8 = var10;
 goto RET_LABEL9;
 RET_LABEL9:(void)0;
@@ -549,9 +552,9 @@ goto RET_LABEL;
 /* <1l:Int> isa OTHER */
 var14 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var14)) {
-var_class_name17 = type_standard__Int.name;
+var_class_name17 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var18 = var_from + 1l;
@@ -580,18 +583,18 @@ RET_LABEL:;
 return var;
 }
 /* method string_search#Char#search_index_in for (self: Pattern, Text, Int): Int */
-long VIRTUAL_standard__string_search___Char___Pattern__search_index_in(val* self, val* p0, long p1) {
+long VIRTUAL_core__string_search___Char___Pattern__search_index_in(val* self, val* p0, long p1) {
 long var /* : Int */;
 long var1 /* : Int */;
 uint32_t var2 /* : Char */;
 var2 = (uint32_t)((long)(self)>>2);
-var1 = standard__string_search___Char___Pattern__search_index_in(var2, p0, p1);
+var1 = core__string_search___Char___Pattern__search_index_in(var2, p0, p1);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method string_search#Char#search_in for (self: Char, Text, Int): nullable Match */
-val* standard__string_search___Char___Pattern__search_in(uint32_t self, val* p0, long p1) {
+val* core__string_search___Char___Pattern__search_in(uint32_t self, val* p0, long p1) {
 val* var /* : nullable Match */;
 val* var_s /* var s: Text */;
 long var_from /* var from: Int */;
@@ -608,7 +611,7 @@ val* var7 /* : String */;
 var_s = p0;
 var_from = p1;
 {
-var1 = standard__string_search___Char___Pattern__search_index_in(self, var_s, var_from);
+var1 = core__string_search___Char___Pattern__search_index_in(self, var_s, var_from);
 }
 var_pos = var1;
 {
@@ -617,9 +620,9 @@ var_pos = var1;
 /* <0l:Int> isa OTHER */
 var4 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var5 = var_pos < 0l;
@@ -632,21 +635,21 @@ if (var2){
 var = ((val*)NULL);
 goto RET_LABEL;
 } else {
-var6 = NEW_standard__Match(&type_standard__Match);
+var6 = NEW_core__Match(&type_core__Match);
 {
-var7 = ((val*(*)(val* self))(var_s->class->vft[COLOR_standard__string__Object__to_s]))(var_s); /* to_s on <var_s:Text>*/
+var7 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_s); /* to_s on <var_s:Text>*/
 }
 {
-((void(*)(val* self, val* p0))(var6->class->vft[COLOR_standard__string_search__Match__string_61d]))(var6, var7); /* string= on <var6:Match>*/
+((void(*)(val* self, val* p0))(var6->class->vft[COLOR_core__string_search__Match__string_61d]))(var6, var7); /* string= on <var6:Match>*/
 }
 {
-((void(*)(val* self, long p0))(var6->class->vft[COLOR_standard__string_search__Match__from_61d]))(var6, var_pos); /* from= on <var6:Match>*/
+((void(*)(val* self, long p0))(var6->class->vft[COLOR_core__string_search__Match__from_61d]))(var6, var_pos); /* from= on <var6:Match>*/
 }
 {
-((void(*)(val* self, long p0))(var6->class->vft[COLOR_standard__string_search__Match__length_61d]))(var6, 1l); /* length= on <var6:Match>*/
+((void(*)(val* self, long p0))(var6->class->vft[COLOR_core__string_search__Match__length_61d]))(var6, 1l); /* length= on <var6:Match>*/
 }
 {
-((void(*)(val* self))(var6->class->vft[COLOR_standard__kernel__Object__init]))(var6); /* init on <var6:Match>*/
+((void(*)(val* self))(var6->class->vft[COLOR_core__kernel__Object__init]))(var6); /* init on <var6:Match>*/
 }
 var = var6;
 goto RET_LABEL;
@@ -655,18 +658,18 @@ RET_LABEL:;
 return var;
 }
 /* method string_search#Char#search_in for (self: Pattern, Text, Int): nullable Match */
-val* VIRTUAL_standard__string_search___Char___Pattern__search_in(val* self, val* p0, long p1) {
+val* VIRTUAL_core__string_search___Char___Pattern__search_in(val* self, val* p0, long p1) {
 val* var /* : nullable Match */;
 val* var1 /* : nullable Match */;
 uint32_t var2 /* : Char */;
 var2 = (uint32_t)((long)(self)>>2);
-var1 = standard__string_search___Char___Pattern__search_in(var2, p0, p1);
+var1 = core__string_search___Char___Pattern__search_in(var2, p0, p1);
 var = var1;
 RET_LABEL:;
 return var;
 }
 /* method string_search#Text#search_index_in for (self: Text, Text, Int): Int */
-long standard__string_search___Text___Pattern__search_index_in(val* self, val* p0, long p1) {
+long core__string_search___Text___Pattern__search_index_in(val* self, val* p0, long p1) {
 long var /* : Int */;
 val* var_s /* var s: Text */;
 long var_from /* var from: Int */;
@@ -753,9 +756,9 @@ var_from = p1;
 /* <0l:Int> isa OTHER */
 var3 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var3)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
 fatal_exit(1);
 }
 var4 = var_from >= 0l;
@@ -766,14 +769,14 @@ RET_LABEL2:(void)0;
 }
 if (unlikely(!var1)) {
 PRINT_ERROR("Runtime error: %s", "Assert failed");
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search, 292);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search, 333);
 fatal_exit(1);
 }
 {
-var5 = ((long(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s); /* length on <var_s:Text>*/
+var5 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__length]))(var_s); /* length on <var_s:Text>*/
 }
 {
-var6 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on <self:Text>*/
+var6 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
 }
 {
 { /* Inline kernel#Int#- (var5,var6) on <var5:Int> */
@@ -781,9 +784,9 @@ var6 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__leng
 /* <var6:Int> isa OTHER */
 var9 = 1; /* easy <var6:Int> isa OTHER*/
 if (unlikely(!var9)) {
-var_class_name12 = type_standard__Int.name;
+var_class_name12 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var13 = var5 - var6;
@@ -798,9 +801,9 @@ RET_LABEL8:(void)0;
 /* <1l:Int> isa OTHER */
 var16 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var16)) {
-var_class_name19 = type_standard__Int.name;
+var_class_name19 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var20 = var7 + 1l;
@@ -817,9 +820,9 @@ for(;;) {
 /* <var_stop:Int> isa OTHER */
 var23 = 1; /* easy <var_stop:Int> isa OTHER*/
 if (unlikely(!var23)) {
-var_class_name26 = type_standard__Int.name;
+var_class_name26 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var27 = var_from < var_stop;
@@ -830,7 +833,7 @@ RET_LABEL22:(void)0;
 }
 if (var21){
 {
-var28 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on <self:Text>*/
+var28 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
 }
 {
 { /* Inline kernel#Int#- (var28,1l) on <var28:Int> */
@@ -838,9 +841,9 @@ var28 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__len
 /* <1l:Int> isa OTHER */
 var31 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var31)) {
-var_class_name34 = type_standard__Int.name;
+var_class_name34 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var35 = var28 - 1l;
@@ -857,9 +860,9 @@ for(;;) {
 /* <0l:Int> isa OTHER */
 var39 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var39)) {
-var_class_name42 = type_standard__Int.name;
+var_class_name42 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
 fatal_exit(1);
 }
 var43 = var_i >= 0l;
@@ -871,13 +874,13 @@ RET_LABEL38:(void)0;
 var_ = var37;
 if (var37){
 {
-var44 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on <self:Text>*/
+var44 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on <self:Text>*/
 }
 {
-var45 = ((val*(*)(val* self, long p0))((((long)var44&3)?class_info[((long)var44&3)]:var44->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var44, var_i); /* [] on <var44:SequenceRead[Char]>*/
+var45 = ((val*(*)(val* self, long p0))((((long)var44&3)?class_info[((long)var44&3)]:var44->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var44, var_i); /* [] on <var44:SequenceRead[Char]>*/
 }
 {
-var46 = ((val*(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__chars]))(var_s); /* chars on <var_s:Text>*/
+var46 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__chars]))(var_s); /* chars on <var_s:Text>*/
 }
 {
 { /* Inline kernel#Int#+ (var_i,var_from) on <var_i:Int> */
@@ -885,9 +888,9 @@ var46 = ((val*(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__ch
 /* <var_from:Int> isa OTHER */
 var49 = 1; /* easy <var_from:Int> isa OTHER*/
 if (unlikely(!var49)) {
-var_class_name52 = type_standard__Int.name;
+var_class_name52 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var53 = var_i + var_from;
@@ -897,7 +900,7 @@ RET_LABEL48:(void)0;
 }
 }
 {
-var54 = ((val*(*)(val* self, long p0))((((long)var46&3)?class_info[((long)var46&3)]:var46->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var46, var47); /* [] on <var46:SequenceRead[Char]>*/
+var54 = ((val*(*)(val* self, long p0))((((long)var46&3)?class_info[((long)var46&3)]:var46->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var46, var47); /* [] on <var46:SequenceRead[Char]>*/
 }
 {
 { /* Inline kernel#Char#== (var45,var54) on <var45:nullable Object(Char)> */
@@ -918,9 +921,9 @@ if (var36){
 /* <1l:Int> isa OTHER */
 var60 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var60)) {
-var_class_name63 = type_standard__Int.name;
+var_class_name63 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
 fatal_exit(1);
 }
 var64 = var_i - 1l;
@@ -941,9 +944,9 @@ BREAK_label: (void)0;
 /* <0l:Int> isa OTHER */
 var67 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var67)) {
-var_class_name70 = type_standard__Int.name;
+var_class_name70 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var71 = var_i < 0l;
@@ -963,9 +966,9 @@ goto RET_LABEL;
 /* <1l:Int> isa OTHER */
 var74 = 1; /* easy <1l:Int> isa OTHER*/
 if (unlikely(!var74)) {
-var_class_name77 = type_standard__Int.name;
+var_class_name77 = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name77);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
 fatal_exit(1);
 }
 var78 = var_from + 1l;
@@ -994,7 +997,7 @@ RET_LABEL:;
 return var;
 }
 /* method string_search#Text#search_in for (self: Text, Text, Int): nullable Match */
-val* standard__string_search___Text___Pattern__search_in(val* self, val* p0, long p1) {
+val* core__string_search___Text___Pattern__search_in(val* self, val* p0, long p1) {
 val* var /* : nullable Match */;
 val* var_s /* var s: Text */;
 long var_from /* var from: Int */;
@@ -1012,7 +1015,7 @@ long var8 /* : Int */;
 var_s = p0;
 var_from = p1;
 {
-var1 = standard__string_search___Text___Pattern__search_index_in(self, var_s, var_from);
+var1 = core__string_search___Text___Pattern__search_index_in(self, var_s, var_from);
 }
 var_pos = var1;
 {
@@ -1021,9 +1024,9 @@ var_pos = var1;
 /* <0l:Int> isa OTHER */
 var4 = 1; /* easy <0l:Int> isa OTHER*/
 if (unlikely(!var4)) {
-var_class_name = type_standard__Int.name;
+var_class_name = type_core__Int.name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
 fatal_exit(1);
 }
 var5 = var_pos < 0l;
@@ -1036,24 +1039,24 @@ if (var2){
 var = ((val*)NULL);
 goto RET_LABEL;
 } else {
-var6 = NEW_standard__Match(&type_standard__Match);
+var6 = NEW_core__Match(&type_core__Match);
 {
-var7 = ((val*(*)(val* self))(var_s->class->vft[COLOR_standard__string__Object__to_s]))(var_s); /* to_s on <var_s:Text>*/
+var7 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_s); /* to_s on <var_s:Text>*/
 }
 {
-var8 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on <self:Text>*/
+var8 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
 }
 {
-((void(*)(val* self, val* p0))(var6->class->vft[COLOR_standard__string_search__Match__string_61d]))(var6, var7); /* string= on <var6:Match>*/
+((void(*)(val* self, val* p0))(var6->class->vft[COLOR_core__string_search__Match__string_61d]))(var6, var7); /* string= on <var6:Match>*/
 }
 {
-((void(*)(val* self, long p0))(var6->class->vft[COLOR_standard__string_search__Match__from_61d]))(var6, var_pos); /* from= on <var6:Match>*/
+((void(*)(val* self, long p0))(var6->class->vft[COLOR_core__string_search__Match__from_61d]))(var6, var_pos); /* from= on <var6:Match>*/
 }
 {
-((void(*)(val* self, long p0))(var6->class->vft[COLOR_standard__string_search__Match__length_61d]))(var6, var8); /* length= on <var6:Match>*/
+((void(*)(val* self, long p0))(var6->class->vft[COLOR_core__string_search__Match__length_61d]))(var6, var8); /* length= on <var6:Match>*/
 }
 {
-((void(*)(val* self))(var6->class->vft[COLOR_standard__kernel__Object__init]))(var6); /* init on <var6:Match>*/
+((void(*)(val* self))(var6->class->vft[COLOR_core__kernel__Object__init]))(var6); /* init on <var6:Match>*/
 }
 var = var6;
 goto RET_LABEL;
@@ -1062,9 +1065,9 @@ RET_LABEL:;
 return var;
 }
 /* method string_search#Text#split for (self: Text, Pattern): Array[String] */
-val* standard__string_search___Text___split(val* self, val* p0) {
+val* core__string_search___Text___split(val* self, val* p0) {
 val* var /* : Array[String] */;
-val* var_p /* var p: Pattern */;
+val* var_pattern /* var pattern: Pattern */;
 val* var1 /* : Array[Match] */;
 val* var_matches /* var matches: Array[Match] */;
 val* var2 /* : Array[String] */;
@@ -1072,59 +1075,59 @@ long var3 /* : Int */;
 long var5 /* : Int */;
 val* var_res /* var res: Array[String] */;
 val* var_ /* var : Array[Match] */;
-val* var6 /* : ArrayIterator[nullable Object] */;
-val* var_7 /* var : ArrayIterator[Match] */;
+val* var6 /* : IndexedIterator[nullable Object] */;
+val* var_7 /* var : IndexedIterator[Match] */;
 short int var8 /* : Bool */;
 val* var9 /* : nullable Object */;
 val* var_m /* var m: Match */;
 val* var10 /* : String */;
-var_p = p0;
+var_pattern = p0;
 {
-var1 = standard___standard__Pattern___split_in(var_p, self);
+var1 = core___core__Pattern___split_in(var_pattern, self);
 }
 var_matches = var1;
-var2 = NEW_standard__Array(&type_standard__Array__standard__String);
+var2 = NEW_core__Array(&type_core__Array__core__String);
 {
 { /* Inline array#AbstractArrayRead#length (var_matches) on <var_matches:Array[Match]> */
-var5 = var_matches->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_matches:Array[Match]> */
+var5 = var_matches->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <var_matches:Array[Match]> */
 var3 = var5;
 RET_LABEL4:(void)0;
 }
 }
 {
-standard___standard__Array___with_capacity(var2, var3); /* Direct call array#Array#with_capacity on <var2:Array[String]>*/
+core___core__Array___with_capacity(var2, var3); /* Direct call array#Array#with_capacity on <var2:Array[String]>*/
 }
 var_res = var2;
 var_ = var_matches;
 {
-var6 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
+var6 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_);
 }
 var_7 = var6;
 for(;;) {
 {
-var8 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_7);
+var8 = ((short int(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_7); /* is_ok on <var_7:IndexedIterator[Match]>*/
 }
 if (var8){
+} else {
+goto BREAK_label;
+}
 {
-var9 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_7);
+var9 = ((val*(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_7); /* item on <var_7:IndexedIterator[Match]>*/
 }
 var_m = var9;
 {
-var10 = standard___standard__Match___standard__string__Object__to_s(var_m);
+var10 = core___core__Match___core__abstract_text__Object__to_s(var_m);
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var10); /* Direct call array#Array#add on <var_res:Array[String]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var10); /* Direct call array#Array#add on <var_res:Array[String]>*/
 }
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_7); /* Direct call array#ArrayIterator#next on <var_7:ArrayIterator[Match]>*/
-}
-} else {
-goto BREAK_label;
+((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_7); /* next on <var_7:IndexedIterator[Match]>*/
 }
 }
 BREAK_label: (void)0;
 {
-standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_7); /* Direct call array#ArrayIterator#finish on <var_7:ArrayIterator[Match]>*/
+((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_7); /* finish on <var_7:IndexedIterator[Match]>*/
 }
 var = var_res;
 goto RET_LABEL;
@@ -1132,13 +1135,13 @@ RET_LABEL:;
 return var;
 }
 /* method string_search#Text#split_with for (self: Text, Pattern): Array[String] */
-val* standard__string_search___Text___split_with(val* self, val* p0) {
+val* core__string_search___Text___split_with(val* self, val* p0) {
 val* var /* : Array[String] */;
-val* var_p /* var p: Pattern */;
+val* var_pattern /* var pattern: Pattern */;
 val* var1 /* : Array[String] */;
-var_p = p0;
+var_pattern = p0;
 {
-var1 = standard__string_search___Text___split(self, var_p);
+var1 = core__string_search___Text___split(self, var_pattern);
 }
 var = var1;
 goto RET_LABEL;
@@ -1146,9 +1149,9 @@ RET_LABEL:;
 return var;
 }
 /* method string_search#Text#split_once_on for (self: Text, Pattern): Array[Text] */
-val* standard__string_search___Text___split_once_on(val* self, val* p0) {
+val* core__string_search___Text___split_once_on(val* self, val* p0) {
 val* var /* : Array[Text] */;
-val* var_p /* var p: Pattern */;
+val* var_pattern /* var pattern: Pattern */;
 val* var1 /* : nullable Match */;
 val* var_m /* var m: nullable Match */;
 val* var2 /* : Array[Text] */;
@@ -1168,14 +1171,14 @@ long var12 /* : Int */;
 val* var13 /* : Text */;
 long var14 /* : Int */;
 val* var15 /* : Text */;
-var_p = p0;
+var_pattern = p0;
 {
-var1 = ((val*(*)(val* self, val* p0, long p1))((((long)var_p&3)?class_info[((long)var_p&3)]:var_p->class)->vft[COLOR_standard__string_search__Pattern__search_in]))(var_p, self, 0l); /* search_in on <var_p:Pattern>*/
+var1 = ((val*(*)(val* self, val* p0, long p1))((((long)var_pattern&3)?class_info[((long)var_pattern&3)]:var_pattern->class)->vft[COLOR_core__string_search__Pattern__search_in]))(var_pattern, self, 0l); /* search_in on <var_pattern:Pattern>*/
 }
 var_m = var1;
-var2 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__standard__string__Text__SELFTYPE]);
+var2 = NEW_core__Array(self->type->resolution_table->types[COLOR_core__Array__core__abstract_text__Text__SELFTYPE]);
 {
-standard___standard__Array___standard__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[Text]>*/
+core___core__Array___core__kernel__Object__init(var2); /* Direct call array#Array#init on <var2:Array[Text]>*/
 }
 var_res = var2;
 if (var_m == NULL) {
@@ -1202,7 +1205,7 @@ var3 = var4;
 }
 if (var3){
 /* <self:Text> isa SELFTYPE */
-type_struct = self->type->resolution_table->types[COLOR_standard__string__Text__SELFTYPE];
+type_struct = self->type->resolution_table->types[COLOR_core__abstract_text__Text__SELFTYPE];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= self->type->table_size) {
@@ -1213,34 +1216,34 @@ var9 = self->type->type_table[cltype] == idtype;
 if (unlikely(!var9)) {
 var_class_name = self == NULL ? "null" : self->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search, 393);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search, 465);
 fatal_exit(1);
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, self); /* Direct call array#Array#add on <var_res:Array[Text]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, self); /* Direct call array#Array#add on <var_res:Array[Text]>*/
 }
 } else {
 {
 { /* Inline string_search#Match#from (var_m) on <var_m:nullable Match(Match)> */
-var12 = var_m->attrs[COLOR_standard__string_search__Match___from].l; /* _from on <var_m:nullable Match(Match)> */
+var12 = var_m->attrs[COLOR_core__string_search__Match___from].l; /* _from on <var_m:nullable Match(Match)> */
 var10 = var12;
 RET_LABEL11:(void)0;
 }
 }
 {
-var13 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_standard__string__Text__substring]))(self, 0l, var10); /* substring on <self:Text>*/
+var13 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_core__abstract_text__Text__substring]))(self, 0l, var10); /* substring on <self:Text>*/
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var13); /* Direct call array#Array#add on <var_res:Array[Text]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var13); /* Direct call array#Array#add on <var_res:Array[Text]>*/
 }
 {
-var14 = standard___standard__Match___after(var_m);
+var14 = core___core__Match___after(var_m);
 }
 {
-var15 = standard___standard__Text___substring_from(self, var14);
+var15 = ((val*(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text__substring_from]))(self, var14); /* substring_from on <self:Text>*/
 }
 {
-standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var15); /* Direct call array#Array#add on <var_res:Array[Text]>*/
+core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var15); /* Direct call array#Array#add on <var_res:Array[Text]>*/
 }
 }
 var = var_res;
@@ -1249,20 +1252,20 @@ RET_LABEL:;
 return var;
 }
 /* method string_search#Text#replace for (self: Text, Pattern, Text): String */
-val* standard__string_search___Text___replace(val* self, val* p0, val* p1) {
+val* core__string_search___Text___replace(val* self, val* p0, val* p1) {
 val* var /* : String */;
 short int var1 /* : Bool */;
 int cltype;
 int idtype;
 const struct type* type_struct;
 const char* var_class_name;
-val* var_p /* var p: Pattern */;
+val* var_pattern /* var pattern: Pattern */;
 val* var_string /* var string: Text */;
 val* var2 /* : Array[String] */;
 val* var3 /* : String */;
 /* Covariant cast for argument 1 (string) <p1:Text> isa SELFTYPE */
 /* <p1:Text> isa SELFTYPE */
-type_struct = self->type->resolution_table->types[COLOR_standard__string__Text__SELFTYPE];
+type_struct = self->type->resolution_table->types[COLOR_core__abstract_text__Text__SELFTYPE];
 cltype = type_struct->color;
 idtype = type_struct->id;
 if(cltype >= p1->type->table_size) {
@@ -1273,19 +1276,37 @@ var1 = p1->type->type_table[cltype] == idtype;
 if (unlikely(!var1)) {
 var_class_name = p1 == NULL ? "null" : p1->type->name;
 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search, 401);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search, 473);
 fatal_exit(1);
 }
-var_p = p0;
+var_pattern = p0;
 var_string = p1;
 {
-var2 = standard__string_search___Text___split_with(self, var_p);
+var2 = core__string_search___Text___split_with(self, var_pattern);
 }
 {
-var3 = standard__string___Collection___join(var2, var_string);
+var3 = core__abstract_text___Collection___join(var2, var_string);
 }
 var = var3;
 goto RET_LABEL;
 RET_LABEL:;
 return var;
 }
+/* method string_search#Text#remove_all for (self: Text, Pattern): String */
+val* core__string_search___Text___remove_all(val* self, val* p0) {
+val* var /* : String */;
+val* var_pattern /* var pattern: Pattern */;
+val* var1 /* : Array[String] */;
+val* var2 /* : String */;
+var_pattern = p0;
+{
+var1 = core__string_search___Text___split(self, var_pattern);
+}
+{
+var2 = core__abstract_text___Collection___join(var1, ((val*)NULL));
+}
+var = var2;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}