X-Git-Url: http://nitlanguage.org diff --git a/c_src/core__abstract_text.sep.1.c b/c_src/core__abstract_text.sep.1.c index 9d77a35..fd78569 100644 --- a/c_src/core__abstract_text.sep.1.c +++ b/c_src/core__abstract_text.sep.1.c @@ -1,60 +1,49 @@ #include "core__abstract_text.sep.0.h" -/* method abstract_text#Text#bytes for (self: Text): SequenceRead[Byte] */ -val* core___core__Text___bytes(val* self) { -val* var /* : SequenceRead[Byte] */; -const char* var_class_name; -var_class_name = self == NULL ? "null" : self->type->name; -PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "bytes", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 39); -fatal_exit(1); -RET_LABEL:; -return var; -} -/* method abstract_text#Text#length for (self: Text): Int */ +/* method abstract_text$Text$length for (self: Text): Int */ long core___core__Text___length(val* self) { long var /* : Int */; const char* var_class_name; var_class_name = self == NULL ? "null" : self->type->name; PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "length", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 44); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 45); fatal_exit(1); RET_LABEL:; return var; } -/* method abstract_text#Text#bytelen for (self: Text): Int */ -long core___core__Text___bytelen(val* self) { +/* method abstract_text$Text$byte_length for (self: Text): Int */ +long core___core__Text___byte_length(val* self) { long var /* : Int */; const char* var_class_name; var_class_name = self == NULL ? "null" : self->type->name; -PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "bytelen", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 51); +PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "byte_length", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 52); fatal_exit(1); RET_LABEL:; return var; } -/* method abstract_text#Text#substring for (self: Text, Int, Int): Text */ +/* method abstract_text$Text$substring for (self: Text, Int, Int): Text */ val* core___core__Text___substring(val* self, long p0, long p1) { val* var /* : Text */; const char* var_class_name; var_class_name = self == NULL ? "null" : self->type->name; PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "substring", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 57); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 58); fatal_exit(1); RET_LABEL:; return var; } -/* method abstract_text#Text#substrings for (self: Text): Iterator[FlatText] */ +/* method abstract_text$Text$substrings for (self: Text): Iterator[FlatText] */ val* core___core__Text___substrings(val* self) { val* var /* : Iterator[FlatText] */; const char* var_class_name; var_class_name = self == NULL ? "null" : self->type->name; PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "substrings", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 70); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 71); fatal_exit(1); RET_LABEL:; return var; } -/* method abstract_text#Text#is_empty for (self: Text): Bool */ +/* method abstract_text$Text$is_empty for (self: Text): Bool */ short int core___core__Text___is_empty(val* self) { short int var /* : Bool */; long var1 /* : Int */; @@ -64,7 +53,7 @@ short int var4 /* : Bool */; var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#== (var1,0l) on */ +{ /* Inline kernel$Int$== (var1,0l) on */ var4 = var1 == 0l; var2 = var4; goto RET_LABEL3; @@ -76,18 +65,36 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#empty for (self: Text): Text */ +/* method abstract_text$Text$empty for (self: Text): Text */ val* core___core__Text___empty(val* self) { val* var /* : Text */; const char* var_class_name; var_class_name = self == NULL ? "null" : self->type->name; PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "empty", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 79); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 80); fatal_exit(1); RET_LABEL:; return var; } -/* method abstract_text#Text#[] for (self: Text, Int): Char */ +/* method abstract_text$Text$first for (self: Text): Char */ +uint32_t core___core__Text___first(val* self) { +uint32_t var /* : Char */; +val* var1 /* : SequenceRead[Char] */; +val* var2 /* : nullable Object */; +uint32_t var3 /* : Char */; +{ +var1 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ +} +{ +var2 = ((val*(*)(val* self, long p0))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var1, 0l); /* [] on */ +} +var3 = (uint32_t)((long)(var2)>>2); +var = var3; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_text$Text$[] for (self: Text, Int): Char */ uint32_t core___core__Text____91d_93d(val* self, long p0) { uint32_t var /* : Char */; long var_index /* var index: Int */; @@ -107,7 +114,21 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#last for (self: Text): Char */ +/* method abstract_text$Text$index_of for (self: Text, Char): Int */ +long core___core__Text___index_of(val* self, uint32_t p0) { +long var /* : Int */; +uint32_t var_c /* var c: Char */; +long var1 /* : Int */; +var_c = p0; +{ +var1 = core___core__Text___index_of_from(self, var_c, 0l); +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_text$Text$last for (self: Text): Char */ uint32_t core___core__Text___last(val* self) { uint32_t var /* : Char */; val* var1 /* : SequenceRead[Char] */; @@ -127,14 +148,14 @@ var1 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__c var2 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#- (var2,1l) on */ +{ /* Inline kernel$Int$- (var2,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var5 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var5)) { 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_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var6 = var2 - 1l; @@ -152,18 +173,163 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#to_cstring for (self: Text): NativeString */ +/* method abstract_text$Text$index_of_from for (self: Text, Char, Int): Int */ +long core___core__Text___index_of_from(val* self, uint32_t p0, long p1) { +long var /* : Int */; +uint32_t var_c /* var c: Char */; +long var_pos /* var pos: Int */; +val* var1 /* : SequenceRead[Char] */; +val* var2 /* : IndexedIterator[nullable Object] */; +val* var_iter /* var iter: IndexedIterator[Char] */; +short int var3 /* : Bool */; +val* var4 /* : nullable Object */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; +uint32_t var8 /* : Char */; +long var9 /* : Int */; +long var10 /* : Int */; +long var12 /* : Int */; +var_c = p0; +var_pos = p1; +{ +var1 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ +} +{ +var2 = ((val*(*)(val* self, long p0))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_core__abstract_collection__SequenceRead__iterator_from]))(var1, var_pos); /* iterator_from on */ +} +var_iter = var2; +for(;;) { +{ +var3 = ((short int(*)(val* self))((((long)var_iter&3)?class_info[((long)var_iter&3)]:var_iter->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_iter); /* is_ok on */ +} +if (var3){ +{ +var4 = ((val*(*)(val* self))((((long)var_iter&3)?class_info[((long)var_iter&3)]:var_iter->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_iter); /* item on */ +} +{ +{ /* Inline kernel$Char$== (var4,var_c) on */ +var8 = (uint32_t)((long)(var4)>>2); +var7 = var8 == var_c; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +if (var5){ +{ +var9 = ((long(*)(val* self))((((long)var_iter&3)?class_info[((long)var_iter&3)]:var_iter->class)->vft[COLOR_core__abstract_collection__IndexedIterator__index]))(var_iter); /* index on */ +} +var = var9; +goto RET_LABEL; +} else { +} +{ +((void(*)(val* self))((((long)var_iter&3)?class_info[((long)var_iter&3)]:var_iter->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_iter); /* next on */ +} +} else { +goto BREAK_label; +} +} +BREAK_label: (void)0; +{ +{ /* Inline kernel$Int$unary - (1l) on <1l:Int> */ +var12 = -1l; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +} +var = var10; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_text$Text$last_index_of for (self: Text, Char): Int */ +long core___core__Text___last_index_of(val* self, uint32_t p0) { +long var /* : Int */; +uint32_t var_c /* var c: Char */; +long var1 /* : Int */; +long var2 /* : Int */; +short int var4 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var5 /* : Int */; +long var6 /* : Int */; +var_c = p0; +{ +var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +} +{ +{ /* Inline kernel$Int$- (var1,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var4 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var4)) { +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_core__kernel, 731); +fatal_exit(1); +} +var5 = var1 - 1l; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +} +{ +var6 = core___core__Text___last_index_of_from(self, var_c, var2); +} +var = var6; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_text$Text$to_cstring for (self: Text): CString */ char* core___core__Text___to_cstring(val* self) { -char* var /* : NativeString */; +char* var /* : CString */; const char* var_class_name; var_class_name = self == NULL ? "null" : self->type->name; PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "to_cstring", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 137); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 141); +fatal_exit(1); +RET_LABEL:; +return var; +} +/* method abstract_text$Text$last_index_of_from for (self: Text, Char, Int): Int */ +long core___core__Text___last_index_of_from(val* self, uint32_t p0, long p1) { +long var /* : Int */; +uint32_t var_item /* var item: Char */; +long var_pos /* var pos: Int */; +val* var1 /* : SequenceRead[Char] */; +val* var2 /* : nullable Object */; +long var3 /* : Int */; +var_item = p0; +var_pos = p1; +{ +var1 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ +} +{ +var2 = (val*)((long)(var_item)<<2|2); +var3 = ((long(*)(val* self, val* p0, long p1))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_core__abstract_collection__SequenceRead__last_index_of_from]))(var1, var2, var_pos); /* last_index_of_from on */ +} +var = var3; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_text$Text$+ for (self: Text, Text): Text */ +val* core___core__Text____43d(val* self, val* p0) { +val* var /* : Text */; +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "+", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 155); fatal_exit(1); RET_LABEL:; return var; } -/* method abstract_text#Text#substring_from for (self: Text, Int): Text */ +/* method abstract_text$Text$substring_from for (self: Text, Int): Text */ val* core___core__Text___substring_from(val* self, long p0) { val* var /* : Text */; long var_from /* var from: Int */; @@ -194,14 +360,14 @@ var_from = p0; var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#>= (var_from,var1) on */ +{ /* Inline kernel$Int$>= (var_from,var1) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var4 = 1; /* easy isa OTHER*/ if (unlikely(!var4)) { 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_core__kernel, 729); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726); fatal_exit(1); } var5 = var_from >= var1; @@ -219,14 +385,14 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Int#< (var_from,0l) on */ +{ /* Inline kernel$Int$< (var_from,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ var9 = 1; /* easy <0l:Int> isa OTHER*/ if (unlikely(!var9)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var13 = var_from < 0l; @@ -243,14 +409,14 @@ var_from = 0l; var14 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#- (var14,var_from) on */ +{ /* Inline kernel$Int$- (var14,var_from) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var17 = 1; /* easy isa OTHER*/ if (unlikely(!var17)) { var_class_name20 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var21 = var14 - var_from; @@ -267,7 +433,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#has_substring for (self: Text, String, Int): Bool */ +/* method abstract_text$Text$has_substring for (self: Text, String, Int): Bool */ short int core___core__Text___has_substring(val* self, val* p0, long p1) { short int var /* : Bool */; val* var_str /* var str: String */; @@ -322,14 +488,14 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Int#< (var_pos,0l) on */ +{ /* Inline kernel$Int$< (var_pos,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ var5 = 1; /* easy <0l:Int> isa OTHER*/ if (unlikely(!var5)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var6 = var_pos < 0l; @@ -346,14 +512,14 @@ var2 = var_; var7 = ((long(*)(val* self))(var_str->class->vft[COLOR_core__abstract_text__Text__length]))(var_str); /* length on */ } { -{ /* Inline kernel#Int#+ (var_pos,var7) on */ +{ /* Inline kernel$Int$+ (var_pos,var7) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var10 = 1; /* easy isa OTHER*/ if (unlikely(!var10)) { var_class_name13 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var14 = var_pos + var7; @@ -366,14 +532,14 @@ RET_LABEL9:(void)0; var15 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#> (var8,var15) on */ +{ /* Inline kernel$Int$> (var8,var15) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var18 = 1; /* easy isa OTHER*/ if (unlikely(!var18)) { var_class_name21 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); fatal_exit(1); } var22 = var8 > var15; @@ -424,7 +590,7 @@ var31 = ((val*(*)(val* self))((((long)var_myiter&3)?class_info[((long)var_myiter var32 = ((val*(*)(val* self))((((long)var_itsiter&3)?class_info[((long)var_itsiter&3)]:var_itsiter->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_itsiter); /* item on */ } { -{ /* Inline kernel#Char#!= (var31,var32) on */ +{ /* Inline kernel$Char$!= (var31,var32) on */ var35 = var31 == var32; var36 = !var35; var33 = var36; @@ -461,7 +627,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#has_prefix for (self: Text, String): Bool */ +/* method abstract_text$Text$has_prefix for (self: Text, String): Bool */ short int core___core__Text___has_prefix(val* self, val* p0) { short int var /* : Bool */; val* var_prefix /* var prefix: String */; @@ -475,7 +641,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#has_suffix for (self: Text, String): Bool */ +/* method abstract_text$Text$has_suffix for (self: Text, String): Bool */ short int core___core__Text___has_suffix(val* self, val* p0) { short int var /* : Bool */; val* var_suffix /* var suffix: String */; @@ -496,14 +662,14 @@ var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__l var2 = ((long(*)(val* self))(var_suffix->class->vft[COLOR_core__abstract_text__Text__length]))(var_suffix); /* length on */ } { -{ /* Inline kernel#Int#- (var1,var2) on */ +{ /* Inline kernel$Int$- (var1,var2) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var5 = 1; /* easy isa OTHER*/ if (unlikely(!var5)) { 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_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var6 = var1 - var2; @@ -520,11 +686,11 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#to_f for (self: Text): Float */ +/* method abstract_text$Text$to_f for (self: Text): Float */ double core___core__Text___to_f(val* self) { double var /* : Float */; val* var1 /* : String */; -char* var2 /* : NativeString */; +char* var2 /* : CString */; double var3 /* : Float */; double var5 /* : Float */; { @@ -534,8 +700,8 @@ var1 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Object_ var2 = ((char*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__Text__to_cstring]))(var1); /* to_cstring on */ } { -{ /* Inline native#NativeString#atof (var2) on */ -var5 = native___NativeString_atof___impl(var2); +{ /* Inline native$CString$atof (var2) on */ +var5 = core__native___CString_atof___impl(var2); var3 = var5; goto RET_LABEL4; RET_LABEL4:(void)0; @@ -546,7 +712,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#to_hex for (self: Text, nullable Int, nullable Int): Int */ +/* method abstract_text$Text$to_hex for (self: Text, nullable Int, nullable Int): Int */ long core___core__Text___to_hex(val* self, val* p0, val* p1) { long var /* : Int */; val* var_pos /* var pos: nullable Int */; @@ -606,7 +772,7 @@ var1 = 1; /* is null */ var1 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Int#== (var_pos,((val*)NULL)) on */ +{ /* Inline kernel$Int$== (var_pos,((val*)NULL)) on */ var4 = 0; /* incompatible types Int vs. null; cannot be NULL */ var2 = var4; goto RET_LABEL3; @@ -625,7 +791,7 @@ var6 = 1; /* is null */ var6 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Int#== (var_ln,((val*)NULL)) on */ +{ /* Inline kernel$Int$== (var_ln,((val*)NULL)) on */ var9 = 0; /* incompatible types Int vs. null; cannot be NULL */ var7 = var9; goto RET_LABEL8; @@ -638,14 +804,14 @@ if (var6){ var10 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#- (var10,var_pos) on */ +{ /* Inline kernel$Int$- (var10,var_pos) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var13 = 1; /* easy isa OTHER*/ if (unlikely(!var13)) { var_class_name = var_pos == NULL ? "null" : (((long)var_pos&3)?type_info[((long)var_pos&3)]:var_pos->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var14 = (long)(var_pos)>>2; @@ -660,14 +826,14 @@ var_ln = var16; } else { } { -{ /* Inline kernel#Int#+ (var_pos,var_ln) on */ +{ /* Inline kernel$Int$+ (var_pos,var_ln) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var19 = 1; /* easy isa OTHER*/ if (unlikely(!var19)) { var_class_name22 = var_ln == NULL ? "null" : (((long)var_ln&3)?type_info[((long)var_ln&3)]:var_ln->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var23 = (long)(var_pos)>>2; @@ -684,14 +850,14 @@ var_i = var26; var_ = var_max; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var29 = 1; /* easy isa OTHER*/ if (unlikely(!var29)) { var_class_name32 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var33 = var_i < var_; @@ -705,7 +871,7 @@ if (var27){ goto BREAK_label; } { -{ /* Inline kernel#Int#<< (var_res,4l) on */ +{ /* Inline kernel$Int$<< (var_res,4l) on */ var36 = var_res << 4l; var34 = var36; goto RET_LABEL35; @@ -720,14 +886,14 @@ var37 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract var38 = core__abstract_text___Char___from_hex(var37); } { -{ /* Inline kernel#Int#+ (var_res,var38) on */ +{ /* Inline kernel$Int$+ (var_res,var38) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var41 = 1; /* easy isa OTHER*/ if (unlikely(!var41)) { var_class_name44 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var45 = var_res + var38; @@ -748,7 +914,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#to_oct for (self: Text): Int */ +/* method abstract_text$Text$to_oct for (self: Text): Int */ long core___core__Text___to_oct(val* self) { long var /* : Int */; long var1 /* : Int */; @@ -760,7 +926,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#to_bin for (self: Text): Int */ +/* method abstract_text$Text$to_bin for (self: Text): Int */ long core___core__Text___to_bin(val* self) { long var /* : Int */; long var1 /* : Int */; @@ -772,7 +938,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#to_dec for (self: Text): Int */ +/* method abstract_text$Text$to_dec for (self: Text): Int */ long core___core__Text___to_dec(val* self) { long var /* : Int */; long var1 /* : Int */; @@ -784,7 +950,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#a_to for (self: Text, Int): Int */ +/* method abstract_text$Text$a_to for (self: Text, Int): Int */ long core___core__Text___a_to(val* self, long p0) { long var /* : Int */; long var_base /* var base: Int */; @@ -844,14 +1010,14 @@ var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__l var_ = var1; for(;;) { { -{ /* Inline kernel#Int#< (var_j,var_) on */ +{ /* Inline kernel$Int$< (var_j,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var4 = 1; /* easy isa OTHER*/ if (unlikely(!var4)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var5 = var_j < var_; @@ -877,14 +1043,14 @@ var9 = core___core__Char___to_i(var_c); } var_v = var9; { -{ /* Inline kernel#Int#> (var_v,var_base) on */ +{ /* Inline kernel$Int$> (var_v,var_base) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var12 = 1; /* easy isa OTHER*/ if (unlikely(!var12)) { 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_core__kernel, 730); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); fatal_exit(1); } var16 = var_v > var_base; @@ -896,7 +1062,7 @@ RET_LABEL11:(void)0; if (var10){ if (var_neg){ { -{ /* Inline kernel#Int#unary - (var_i) on */ +{ /* Inline kernel$Int$unary - (var_i) on */ var19 = -var_i; var17 = var19; goto RET_LABEL18; @@ -911,14 +1077,14 @@ goto RET_LABEL; } } else { { -{ /* Inline kernel#Int#< (var_v,0l) on */ +{ /* Inline kernel$Int$< (var_v,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ var22 = 1; /* easy <0l:Int> isa OTHER*/ if (unlikely(!var22)) { var_class_name25 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var26 = var_v < 0l; @@ -931,14 +1097,14 @@ if (var20){ var_neg = 1; } else { { -{ /* Inline kernel#Int#* (var_i,var_base) on */ +{ /* Inline kernel$Int$* (var_i,var_base) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var29 = 1; /* easy isa OTHER*/ if (unlikely(!var29)) { var_class_name32 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 735); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 732); fatal_exit(1); } var33 = var_i * var_base; @@ -948,14 +1114,14 @@ RET_LABEL28:(void)0; } } { -{ /* Inline kernel#Int#+ (var27,var_v) on */ +{ /* Inline kernel$Int$+ (var27,var_v) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var36 = 1; /* easy isa OTHER*/ if (unlikely(!var36)) { 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_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var40 = var27 + var_v; @@ -975,7 +1141,7 @@ var_j = var41; BREAK_label: (void)0; if (var_neg){ { -{ /* Inline kernel#Int#unary - (var_i) on */ +{ /* Inline kernel$Int$unary - (var_i) on */ var44 = -var_i; var42 = var44; goto RET_LABEL43; @@ -991,7 +1157,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#is_numeric for (self: Text): Bool */ +/* method abstract_text$Text$is_numeric for (self: Text): Bool */ short int core___core__Text___is_numeric(val* self) { short int var /* : Bool */; short int var_has_point /* var has_point: Bool */; @@ -1095,7 +1261,7 @@ short int var106 /* : Bool */; short int var107 /* : Bool */; var_has_point = 0; { -{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +{ /* Inline kernel$Int$unary - (1l) on <1l:Int> */ var3 = -1l; var1 = var3; goto RET_LABEL2; @@ -1110,14 +1276,14 @@ var4 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__l var_ = var4; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var7 = 1; /* easy isa OTHER*/ if (unlikely(!var7)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var8 = var_i < var_; @@ -1144,7 +1310,7 @@ var12 = core__abstract_text___Char___is_numeric(var_c); var13 = !var12; if (var13){ { -{ /* Inline kernel#Char#== (var_c,'.') on */ +{ /* Inline kernel$Char$== (var_c,'.') on */ var17 = var_c == '.'; var15 = var17; goto RET_LABEL16; @@ -1162,7 +1328,7 @@ if (var14){ var_has_point = 1; } else { { -{ /* Inline kernel#Char#== (var_c,'e') on */ +{ /* Inline kernel$Char$== (var_c,'e') on */ var26 = var_c == 'e'; var24 = var26; goto RET_LABEL25; @@ -1172,7 +1338,7 @@ RET_LABEL25:(void)0; var_27 = var24; if (var24){ { -{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +{ /* Inline kernel$Int$unary - (1l) on <1l:Int> */ var30 = -1l; var28 = var30; goto RET_LABEL29; @@ -1180,7 +1346,7 @@ RET_LABEL29:(void)0; } } { -{ /* Inline kernel#Int#== (var_e_index,var28) on */ +{ /* Inline kernel$Int$== (var_e_index,var28) on */ var33 = var_e_index == var28; var31 = var33; goto RET_LABEL32; @@ -1194,14 +1360,14 @@ var23 = var_27; var_34 = var23; if (var23){ { -{ /* Inline kernel#Int#> (var_i,0l) on */ +{ /* Inline kernel$Int$> (var_i,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ var37 = 1; /* easy <0l:Int> isa OTHER*/ if (unlikely(!var37)) { var_class_name40 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); fatal_exit(1); } var41 = var_i > 0l; @@ -1220,14 +1386,14 @@ if (var22){ var43 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#- (var43,1l) on */ +{ /* Inline kernel$Int$- (var43,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var46 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var46)) { var_class_name49 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var50 = var43 - 1l; @@ -1237,14 +1403,14 @@ RET_LABEL45:(void)0; } } { -{ /* Inline kernel#Int#< (var_i,var44) on */ +{ /* Inline kernel$Int$< (var_i,var44) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var53 = 1; /* easy isa OTHER*/ if (unlikely(!var53)) { var_class_name56 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var57 = var_i < var44; @@ -1263,14 +1429,14 @@ if (var21){ var59 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ } { -{ /* Inline kernel#Int#- (var_i,1l) on */ +{ /* Inline kernel$Int$- (var_i,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var62 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var62)) { var_class_name65 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var66 = var_i - 1l; @@ -1283,7 +1449,7 @@ RET_LABEL61:(void)0; var67 = ((val*(*)(val* self, long p0))((((long)var59&3)?class_info[((long)var59&3)]:var59->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var59, var60); /* [] on */ } { -{ /* Inline kernel#Char#!= (var67,'-') on */ +{ /* Inline kernel$Char$!= (var67,'-') on */ var71 = (uint32_t)((long)(var67)>>2); var70 = var71 == '-'; var72 = !var70; @@ -1300,7 +1466,7 @@ if (var20){ var_e_index = var_i; } else { { -{ /* Inline kernel#Char#== (var_c,'-') on */ +{ /* Inline kernel$Char$== (var_c,'-') on */ var77 = var_c == '-'; var75 = var77; goto RET_LABEL76; @@ -1310,14 +1476,14 @@ RET_LABEL76:(void)0; var_78 = var75; if (var75){ { -{ /* Inline kernel#Int#+ (var_e_index,1l) on */ +{ /* Inline kernel$Int$+ (var_e_index,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var81 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var81)) { var_class_name84 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var85 = var_e_index + 1l; @@ -1327,7 +1493,7 @@ RET_LABEL80:(void)0; } } { -{ /* Inline kernel#Int#== (var_i,var79) on */ +{ /* Inline kernel$Int$== (var_i,var79) on */ var88 = var_i == var79; var86 = var88; goto RET_LABEL87; @@ -1344,14 +1510,14 @@ if (var74){ var90 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#- (var90,1l) on */ +{ /* Inline kernel$Int$- (var90,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var93 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var93)) { var_class_name96 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var97 = var90 - 1l; @@ -1361,14 +1527,14 @@ RET_LABEL92:(void)0; } } { -{ /* Inline kernel#Int#< (var_i,var91) on */ +{ /* Inline kernel$Int$< (var_i,var91) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var100 = 1; /* easy isa OTHER*/ if (unlikely(!var100)) { var_class_name103 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name103); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var104 = var_i < var91; @@ -1405,7 +1571,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#is_hex for (self: Text): Bool */ +/* method abstract_text$Text$is_hex for (self: Text): Bool */ short int core___core__Text___is_hex(val* self) { short int var /* : Bool */; long var_i /* var i: Int */; @@ -1478,14 +1644,14 @@ var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__l var_ = var1; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var4 = 1; /* easy isa OTHER*/ if (unlikely(!var4)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var5 = var_i < var_; @@ -1507,14 +1673,14 @@ var7 = ((val*(*)(val* self, long p0))((((long)var6&3)?class_info[((long)var6&3)] var8 = (uint32_t)((long)(var7)>>2); var_c = var8; { -{ /* Inline kernel#Char#>= (var_c,'a') on */ +{ /* Inline kernel$Char$>= (var_c,'a') on */ /* Covariant cast for argument 0 (i) <'a':Char> isa OTHER */ /* <'a':Char> isa OTHER */ var14 = 1; /* easy <'a':Char> isa OTHER*/ if (unlikely(!var14)) { var_class_name17 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } var18 = var_c >= 'a'; @@ -1526,14 +1692,14 @@ RET_LABEL13:(void)0; var_19 = var12; if (var12){ { -{ /* Inline kernel#Char#<= (var_c,'f') on */ +{ /* Inline kernel$Char$<= (var_c,'f') on */ /* Covariant cast for argument 0 (i) <'f':Char> isa OTHER */ /* <'f':Char> isa OTHER */ var22 = 1; /* easy <'f':Char> isa OTHER*/ if (unlikely(!var22)) { var_class_name25 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } var26 = var_c <= 'f'; @@ -1550,14 +1716,14 @@ var27 = !var11; var_28 = var27; if (var27){ { -{ /* Inline kernel#Char#>= (var_c,'A') on */ +{ /* Inline kernel$Char$>= (var_c,'A') on */ /* Covariant cast for argument 0 (i) <'A':Char> isa OTHER */ /* <'A':Char> isa OTHER */ var32 = 1; /* easy <'A':Char> isa OTHER*/ if (unlikely(!var32)) { var_class_name35 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } var36 = var_c >= 'A'; @@ -1569,14 +1735,14 @@ RET_LABEL31:(void)0; var_37 = var30; if (var30){ { -{ /* Inline kernel#Char#<= (var_c,'F') on */ +{ /* Inline kernel$Char$<= (var_c,'F') on */ /* Covariant cast for argument 0 (i) <'F':Char> isa OTHER */ /* <'F':Char> isa OTHER */ var40 = 1; /* easy <'F':Char> isa OTHER*/ if (unlikely(!var40)) { var_class_name43 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } var44 = var_c <= 'F'; @@ -1597,14 +1763,14 @@ var10 = var_28; var_46 = var10; if (var10){ { -{ /* Inline kernel#Char#>= (var_c,'0') on */ +{ /* Inline kernel$Char$>= (var_c,'0') on */ /* Covariant cast for argument 0 (i) <'0':Char> isa OTHER */ /* <'0':Char> isa OTHER */ var50 = 1; /* easy <'0':Char> isa OTHER*/ if (unlikely(!var50)) { var_class_name53 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } var54 = var_c >= '0'; @@ -1616,14 +1782,14 @@ RET_LABEL49:(void)0; var_55 = var48; if (var48){ { -{ /* Inline kernel#Char#<= (var_c,'9') on */ +{ /* Inline kernel$Char$<= (var_c,'9') on */ /* Covariant cast for argument 0 (i) <'9':Char> isa OTHER */ /* <'9':Char> isa OTHER */ var58 = 1; /* easy <'9':Char> isa OTHER*/ if (unlikely(!var58)) { var_class_name61 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } var62 = var_c <= '9'; @@ -1657,7 +1823,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#is_bin for (self: Text): Bool */ +/* method abstract_text$Text$is_bin for (self: Text): Bool */ short int core___core__Text___is_bin(val* self) { short int var /* : Bool */; val* var1 /* : SequenceRead[Char] */; @@ -1698,7 +1864,7 @@ var5 = ((val*(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3- var6 = (uint32_t)((long)(var5)>>2); var_i = var6; { -{ /* Inline kernel#Char#!= (var_i,'0') on */ +{ /* Inline kernel$Char$!= (var_i,'0') on */ var10 = var_i == '0'; var11 = !var10; var8 = var11; @@ -1709,7 +1875,7 @@ RET_LABEL9:(void)0; var_12 = var8; if (var8){ { -{ /* Inline kernel#Char#!= (var_i,'1') on */ +{ /* Inline kernel$Char$!= (var_i,'1') on */ var15 = var_i == '1'; var16 = !var15; var13 = var16; @@ -1739,7 +1905,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#is_oct for (self: Text): Bool */ +/* method abstract_text$Text$is_oct for (self: Text): Bool */ short int core___core__Text___is_oct(val* self) { short int var /* : Bool */; val* var1 /* : SequenceRead[Char] */; @@ -1786,14 +1952,14 @@ var5 = ((val*(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3- var6 = (uint32_t)((long)(var5)>>2); var_i = var6; { -{ /* Inline kernel#Char#< (var_i,'0') on */ +{ /* Inline kernel$Char$< (var_i,'0') on */ /* Covariant cast for argument 0 (i) <'0':Char> isa OTHER */ /* <'0':Char> isa OTHER */ var10 = 1; /* easy <'0':Char> isa OTHER*/ if (unlikely(!var10)) { var_class_name = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 923); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 914); fatal_exit(1); } var11 = var_i < '0'; @@ -1807,14 +1973,14 @@ if (var8){ var7 = var_12; } else { { -{ /* Inline kernel#Char#> (var_i,'7') on */ +{ /* Inline kernel$Char$> (var_i,'7') on */ /* Covariant cast for argument 0 (i) <'7':Char> isa OTHER */ /* <'7':Char> isa OTHER */ var15 = 1; /* easy <'7':Char> isa OTHER*/ if (unlikely(!var15)) { var_class_name18 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 925); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 916); fatal_exit(1); } var19 = var_i > '7'; @@ -1843,7 +2009,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#is_dec for (self: Text): Bool */ +/* method abstract_text$Text$is_dec for (self: Text): Bool */ short int core___core__Text___is_dec(val* self) { short int var /* : Bool */; val* var1 /* : SequenceRead[Char] */; @@ -1890,14 +2056,14 @@ var5 = ((val*(*)(val* self))((((long)var_3&3)?class_info[((long)var_3&3)]:var_3- var6 = (uint32_t)((long)(var5)>>2); var_i = var6; { -{ /* Inline kernel#Char#< (var_i,'0') on */ +{ /* Inline kernel$Char$< (var_i,'0') on */ /* Covariant cast for argument 0 (i) <'0':Char> isa OTHER */ /* <'0':Char> isa OTHER */ var10 = 1; /* easy <'0':Char> isa OTHER*/ if (unlikely(!var10)) { var_class_name = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 923); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 914); fatal_exit(1); } var11 = var_i < '0'; @@ -1911,14 +2077,14 @@ if (var8){ var7 = var_12; } else { { -{ /* Inline kernel#Char#> (var_i,'9') on */ +{ /* Inline kernel$Char$> (var_i,'9') on */ /* Covariant cast for argument 0 (i) <'9':Char> isa OTHER */ /* <'9':Char> isa OTHER */ var15 = 1; /* easy <'9':Char> isa OTHER*/ if (unlikely(!var15)) { var_class_name18 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 925); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 916); fatal_exit(1); } var19 = var_i > '9'; @@ -1947,7 +2113,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#is_lower for (self: Text): Bool */ +/* method abstract_text$Text$is_lower for (self: Text): Bool */ short int core___core__Text___is_lower(val* self) { short int var /* : Bool */; long var_i /* var i: Int */; @@ -1972,14 +2138,14 @@ var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__l var_ = var1; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var4 = 1; /* easy isa OTHER*/ if (unlikely(!var4)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var5 = var_i < var_; @@ -2019,7 +2185,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#l_trim for (self: Text): Text */ +/* method abstract_text$Text$l_trim for (self: Text): Text */ val* core___core__Text___l_trim(val* self) { val* var /* : Text */; val* var1 /* : SequenceRead[Char] */; @@ -2076,7 +2242,7 @@ var8 = ((long(*)(val* self))((((long)var_iter&3)?class_info[((long)var_iter&3)]: var9 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#== (var8,var9) on */ +{ /* Inline kernel$Int$== (var8,var9) on */ var12 = var8 == var9; var10 = var12; goto RET_LABEL11; @@ -2102,7 +2268,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#r_trim for (self: Text): Text */ +/* method abstract_text$Text$r_trim for (self: Text): Text */ val* core___core__Text___r_trim(val* self) { val* var /* : Text */; val* var1 /* : SequenceRead[Char] */; @@ -2165,14 +2331,14 @@ BREAK_label: (void)0; var8 = ((long(*)(val* self))((((long)var_iter&3)?class_info[((long)var_iter&3)]:var_iter->class)->vft[COLOR_core__abstract_collection__IndexedIterator__index]))(var_iter); /* index on */ } { -{ /* Inline kernel#Int#< (var8,0l) on */ +{ /* Inline kernel$Int$< (var8,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ var11 = 1; /* easy <0l:Int> isa OTHER*/ if (unlikely(!var11)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var12 = var8 < 0l; @@ -2193,14 +2359,14 @@ goto RET_LABEL; var14 = ((long(*)(val* self))((((long)var_iter&3)?class_info[((long)var_iter&3)]:var_iter->class)->vft[COLOR_core__abstract_collection__IndexedIterator__index]))(var_iter); /* index on */ } { -{ /* Inline kernel#Int#+ (var14,1l) on */ +{ /* Inline kernel$Int$+ (var14,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var17 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var17)) { var_class_name20 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var21 = var14 + 1l; @@ -2217,7 +2383,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#trim for (self: Text): Text */ +/* method abstract_text$Text$trim for (self: Text): Text */ val* core___core__Text___trim(val* self) { val* var /* : Text */; val* var1 /* : Text */; @@ -2245,7 +2411,7 @@ var3 = var2->type->type_table[cltype] == idtype; if (unlikely(!var3)) { var_class_name = var2 == NULL ? "null" : var2->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 446); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 456); fatal_exit(1); } var = var2; @@ -2253,7 +2419,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#chomp for (self: Text): Text */ +/* method abstract_text$Text$chomp for (self: Text): Text */ val* core___core__Text___chomp(val* self) { val* var /* : Text */; long var1 /* : Int */; @@ -2324,7 +2490,7 @@ var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__l } var_len = var1; { -{ /* Inline kernel#Int#== (var_len,0l) on */ +{ /* Inline kernel$Int$== (var_len,0l) on */ var4 = var_len == 0l; var2 = var4; goto RET_LABEL3; @@ -2344,7 +2510,7 @@ var5 = self->type->type_table[cltype] == idtype; if (unlikely(!var5)) { 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_core__abstract_text, 485); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 495); fatal_exit(1); } var = self; @@ -2360,7 +2526,7 @@ var7 = ((val*(*)(val* self))((((long)var6&3)?class_info[((long)var6&3)]:var6->cl var8 = (uint32_t)((long)(var7)>>2); var_l = var8; { -{ /* Inline kernel#Char#== (var_l,'\015') on */ +{ /* Inline kernel$Char$== (var_l,'\015') on */ var11 = var_l == '\015'; var9 = var11; goto RET_LABEL10; @@ -2369,14 +2535,14 @@ RET_LABEL10:(void)0; } if (var9){ { -{ /* Inline kernel#Int#- (var_len,1l) on */ +{ /* Inline kernel$Int$- (var_len,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var14 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var14)) { 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_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var18 = var_len - 1l; @@ -2392,7 +2558,7 @@ var = var19; goto RET_LABEL; } else { { -{ /* Inline kernel#Char#!= (var_l,'\n') on */ +{ /* Inline kernel$Char$!= (var_l,'\n') on */ var22 = var_l == '\n'; var23 = !var22; var20 = var23; @@ -2413,21 +2579,21 @@ var24 = self->type->type_table[cltype25] == idtype26; if (unlikely(!var24)) { var_class_name28 = self == NULL ? "null" : self->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name28); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 490); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 500); fatal_exit(1); } var = self; goto RET_LABEL; } else { { -{ /* Inline kernel#Int#> (var_len,1l) on */ +{ /* Inline kernel$Int$> (var_len,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var32 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var32)) { var_class_name35 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); fatal_exit(1); } var36 = var_len > 1l; @@ -2442,14 +2608,14 @@ if (var30){ var37 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ } { -{ /* Inline kernel#Int#- (var_len,2l) on */ +{ /* Inline kernel$Int$- (var_len,2l) on */ /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ /* <2l:Int> isa OTHER */ var40 = 1; /* easy <2l:Int> isa OTHER*/ if (unlikely(!var40)) { var_class_name43 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var44 = var_len - 2l; @@ -2462,7 +2628,7 @@ RET_LABEL39:(void)0; var45 = ((val*(*)(val* self, long p0))((((long)var37&3)?class_info[((long)var37&3)]:var37->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var37, var38); /* [] on */ } { -{ /* Inline kernel#Char#== (var45,'\015') on */ +{ /* Inline kernel$Char$== (var45,'\015') on */ var49 = (uint32_t)((long)(var45)>>2); var48 = var49 == '\015'; var46 = var48; @@ -2476,14 +2642,14 @@ var29 = var_; } if (var29){ { -{ /* Inline kernel#Int#- (var_len,2l) on */ +{ /* Inline kernel$Int$- (var_len,2l) on */ /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ /* <2l:Int> isa OTHER */ var52 = 1; /* easy <2l:Int> isa OTHER*/ if (unlikely(!var52)) { var_class_name55 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var56 = var_len - 2l; @@ -2499,14 +2665,14 @@ var = var57; goto RET_LABEL; } else { { -{ /* Inline kernel#Int#- (var_len,1l) on */ +{ /* Inline kernel$Int$- (var_len,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var60 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var60)) { 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_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var64 = var_len - 1l; @@ -2526,109 +2692,112 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#to_cmangle for (self: Text): String */ +/* method abstract_text$Text$to_cmangle for (self: Text): String */ val* core___core__Text___to_cmangle(val* self) { val* var /* : String */; short int var1 /* : Bool */; static val* varonce; val* var2 /* : String */; -char* var3 /* : NativeString */; +char* var3 /* : CString */; val* var4 /* : String */; -val* var5 /* : Buffer */; -val* var6 /* : Buffer */; +val* var5 /* : nullable Int */; +val* var6 /* : nullable Int */; +val* var7 /* : nullable Bool */; +val* var8 /* : nullable Bool */; +static val* varoncenew; +static int varoncenew_guard; +val* var9 /* : Buffer */; +val* var10 /* : Buffer */; +val* var11 /* : Buffer */; val* var_res /* var res: Buffer */; short int var_underscore /* var underscore: Bool */; long var_start /* var start: Int */; -val* var7 /* : SequenceRead[Char] */; -val* var8 /* : nullable Object */; -uint32_t var9 /* : Char */; +uint32_t var12 /* : Char */; uint32_t var_c /* var c: Char */; -short int var10 /* : Bool */; -short int var11 /* : Bool */; short int var13 /* : Bool */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var14 /* : Bool */; -short int var_ /* var : Bool */; -short int var15 /* : Bool */; short int var17 /* : Bool */; -int cltype18; -int idtype19; -const char* var_class_name20; -short int var21 /* : Bool */; -long var22 /* : Int */; -long var24 /* : Int */; -val* var25 /* : String */; +short int var_ /* var : Bool */; +short int var18 /* : Bool */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +const char* var_class_name23; +short int var24 /* : Bool */; +long var25 /* : Int */; +long var27 /* : Int */; +val* var28 /* : String */; long var_i /* var i: Int */; -long var26 /* : Int */; -long var_27 /* var : Int */; -short int var28 /* : Bool */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -const char* var_class_name33; -short int var34 /* : Bool */; -val* var35 /* : SequenceRead[Char] */; -val* var36 /* : nullable Object */; -uint32_t var37 /* : Char */; -short int var38 /* : Bool */; +long var29 /* : Int */; +long var_30 /* var : Int */; +short int var31 /* : Bool */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; +const char* var_class_name36; +short int var37 /* : Bool */; +uint32_t var38 /* : Char */; short int var39 /* : Bool */; short int var40 /* : Bool */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -const char* var_class_name45; -short int var46 /* : Bool */; -short int var_47 /* var : Bool */; -short int var48 /* : Bool */; -short int var50 /* : Bool */; -int cltype51; -int idtype52; -const char* var_class_name53; -short int var54 /* : Bool */; -short int var_55 /* var : Bool */; -short int var56 /* : Bool */; +short int var41 /* : Bool */; +short int var43 /* : Bool */; +int cltype44; +int idtype45; +const char* var_class_name46; +short int var47 /* : Bool */; +short int var_48 /* var : Bool */; +short int var49 /* : Bool */; +short int var51 /* : Bool */; +int cltype52; +int idtype53; +const char* var_class_name54; +short int var55 /* : Bool */; +short int var_56 /* var : Bool */; short int var57 /* : Bool */; -short int var59 /* : Bool */; -int cltype60; -int idtype61; -const char* var_class_name62; -short int var63 /* : Bool */; -short int var_64 /* var : Bool */; -short int var65 /* : Bool */; -short int var67 /* : Bool */; -int cltype68; -int idtype69; -const char* var_class_name70; -short int var71 /* : Bool */; -long var73 /* : Int */; -long var75 /* : Int */; -val* var76 /* : String */; -short int var77 /* : Bool */; +short int var58 /* : Bool */; +short int var60 /* : Bool */; +int cltype61; +int idtype62; +const char* var_class_name63; +short int var64 /* : Bool */; +short int var_65 /* var : Bool */; +short int var66 /* : Bool */; +short int var68 /* : Bool */; +int cltype69; +int idtype70; +const char* var_class_name71; +short int var72 /* : Bool */; +long var74 /* : Int */; +long var76 /* : Int */; +val* var77 /* : String */; short int var78 /* : Bool */; -short int var80 /* : Bool */; -int cltype81; -int idtype82; -const char* var_class_name83; -short int var84 /* : Bool */; -short int var_85 /* var : Bool */; -short int var86 /* : Bool */; -short int var88 /* : Bool */; -int cltype89; -int idtype90; -const char* var_class_name91; -short int var92 /* : Bool */; +short int var79 /* : Bool */; +short int var81 /* : Bool */; +int cltype82; +int idtype83; +const char* var_class_name84; +short int var85 /* : Bool */; +short int var_86 /* var : Bool */; +short int var87 /* : Bool */; +short int var89 /* : Bool */; +int cltype90; +int idtype91; +const char* var_class_name92; short int var93 /* : Bool */; -short int var95 /* : Bool */; -long var96 /* : Int */; -long var98 /* : Int */; -val* var99 /* : String */; -long var100 /* : Int */; +short int var94 /* : Bool */; +short int var96 /* : Bool */; +long var97 /* : Int */; +long var99 /* : Int */; +val* var100 /* : String */; long var101 /* : Int */; -long var103 /* : Int */; -val* var104 /* : String */; +long var102 /* : Int */; +long var104 /* : Int */; val* var105 /* : String */; +val* var106 /* : String */; { var1 = ((short int(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__is_empty]))(self); /* is_empty on */ } @@ -2637,7 +2806,11 @@ if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = ""; -var4 = core__flat___NativeString___to_s_full(var3, 0l, 0l); +var5 = (val*)(0l<<2|1); +var6 = (val*)(0l<<2|1); +var7 = (val*)((long)(0)<<2|3); +var8 = (val*)((long)(0)<<2|3); +var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8); var2 = var4; varonce = var2; } @@ -2645,78 +2818,81 @@ var = var2; goto RET_LABEL; } else { } -var5 = NEW_core__Buffer(&type_core__Buffer); +if (likely(varoncenew_guard)) { +var9 = varoncenew; +} else { +var10 = NEW_core__Buffer(&type_core__Buffer); +var9 = var10; +varoncenew = var9; +varoncenew_guard = 1; +} { -var6 = core__flat___Buffer___new(var5); +var11 = core__flat___Buffer___new(var9); } -var_res = var6; +var_res = var11; var_underscore = 0; var_start = 0l; { -var7 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ -} -{ -var8 = ((val*(*)(val* self, long p0))((((long)var7&3)?class_info[((long)var7&3)]:var7->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var7, 0l); /* [] on */ +var12 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, 0l); /* [] on */ } -var9 = (uint32_t)((long)(var8)>>2); -var_c = var9; +var_c = var12; { -{ /* Inline kernel#Char#>= (var_c,'0') on */ +{ /* Inline kernel$Char$>= (var_c,'0') on */ /* Covariant cast for argument 0 (i) <'0':Char> isa OTHER */ /* <'0':Char> isa OTHER */ -var13 = 1; /* easy <'0':Char> isa OTHER*/ -if (unlikely(!var13)) { +var16 = 1; /* easy <'0':Char> isa OTHER*/ +if (unlikely(!var16)) { var_class_name = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } -var14 = var_c >= '0'; -var11 = var14; -goto RET_LABEL12; -RET_LABEL12:(void)0; +var17 = var_c >= '0'; +var14 = var17; +goto RET_LABEL15; +RET_LABEL15:(void)0; } } -var_ = var11; -if (var11){ +var_ = var14; +if (var14){ { -{ /* Inline kernel#Char#<= (var_c,'9') on */ +{ /* Inline kernel$Char$<= (var_c,'9') on */ /* Covariant cast for argument 0 (i) <'9':Char> isa OTHER */ /* <'9':Char> isa OTHER */ -var17 = 1; /* easy <'9':Char> isa OTHER*/ -if (unlikely(!var17)) { -var_class_name20 = type_core__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +var20 = 1; /* easy <'9':Char> isa OTHER*/ +if (unlikely(!var20)) { +var_class_name23 = type_core__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } -var21 = var_c <= '9'; -var15 = var21; -goto RET_LABEL16; -RET_LABEL16:(void)0; +var24 = var_c <= '9'; +var18 = var24; +goto RET_LABEL19; +RET_LABEL19:(void)0; } } -var10 = var15; +var13 = var18; } else { -var10 = var_; +var13 = var_; } -if (var10){ +if (var13){ { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, '_'); /* add on */ } { -{ /* Inline kernel#Char#code_point (var_c) on */ -var24 = (long)var_c; -var22 = var24; -goto RET_LABEL23; -RET_LABEL23:(void)0; +{ /* Inline kernel$Char$code_point (var_c) on */ +var27 = (long)var_c; +var25 = var27; +goto RET_LABEL26; +RET_LABEL26:(void)0; } } { -var25 = core__flat___Int___core__abstract_text__Object__to_s(var22); +var28 = core__flat___Int___core__abstract_text__Object__to_s(var25); } { -((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_res, var25); /* append on */ +((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_res, var28); /* append on */ } { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, 'd'); /* add on */ @@ -2726,147 +2902,143 @@ var_start = 1l; } var_i = var_start; { -var26 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +var29 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } -var_27 = var26; +var_30 = var29; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_27) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var30 = 1; /* easy isa OTHER*/ -if (unlikely(!var30)) { -var_class_name33 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +{ /* Inline kernel$Int$< (var_i,var_30) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var33 = 1; /* easy isa OTHER*/ +if (unlikely(!var33)) { +var_class_name36 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var34 = var_i < var_27; -var28 = var34; -goto RET_LABEL29; -RET_LABEL29:(void)0; +var37 = var_i < var_30; +var31 = var37; +goto RET_LABEL32; +RET_LABEL32:(void)0; } } -if (var28){ +if (var31){ } else { goto BREAK_label; } { -var35 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ +var38 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, var_i); /* [] on */ } +var_c = var38; { -var36 = ((val*(*)(val* self, long p0))((((long)var35&3)?class_info[((long)var35&3)]:var35->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var35, var_i); /* [] on */ -} -var37 = (uint32_t)((long)(var36)>>2); -var_c = var37; -{ -{ /* Inline kernel#Char#>= (var_c,'a') on */ +{ /* Inline kernel$Char$>= (var_c,'a') on */ /* Covariant cast for argument 0 (i) <'a':Char> isa OTHER */ /* <'a':Char> isa OTHER */ -var42 = 1; /* easy <'a':Char> isa OTHER*/ -if (unlikely(!var42)) { -var_class_name45 = type_core__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +var43 = 1; /* easy <'a':Char> isa OTHER*/ +if (unlikely(!var43)) { +var_class_name46 = type_core__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } -var46 = var_c >= 'a'; -var40 = var46; -goto RET_LABEL41; -RET_LABEL41:(void)0; +var47 = var_c >= 'a'; +var41 = var47; +goto RET_LABEL42; +RET_LABEL42:(void)0; } } -var_47 = var40; -if (var40){ +var_48 = var41; +if (var41){ { -{ /* Inline kernel#Char#<= (var_c,'z') on */ +{ /* Inline kernel$Char$<= (var_c,'z') on */ /* Covariant cast for argument 0 (i) <'z':Char> isa OTHER */ /* <'z':Char> isa OTHER */ -var50 = 1; /* easy <'z':Char> isa OTHER*/ -if (unlikely(!var50)) { -var_class_name53 = type_core__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +var51 = 1; /* easy <'z':Char> isa OTHER*/ +if (unlikely(!var51)) { +var_class_name54 = type_core__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } -var54 = var_c <= 'z'; -var48 = var54; -goto RET_LABEL49; -RET_LABEL49:(void)0; +var55 = var_c <= 'z'; +var49 = var55; +goto RET_LABEL50; +RET_LABEL50:(void)0; } } -var39 = var48; +var40 = var49; } else { -var39 = var_47; +var40 = var_48; } -var_55 = var39; -if (var39){ -var38 = var_55; +var_56 = var40; +if (var40){ +var39 = var_56; } else { { -{ /* Inline kernel#Char#>= (var_c,'A') on */ +{ /* Inline kernel$Char$>= (var_c,'A') on */ /* Covariant cast for argument 0 (i) <'A':Char> isa OTHER */ /* <'A':Char> isa OTHER */ -var59 = 1; /* easy <'A':Char> isa OTHER*/ -if (unlikely(!var59)) { -var_class_name62 = type_core__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name62); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +var60 = 1; /* easy <'A':Char> isa OTHER*/ +if (unlikely(!var60)) { +var_class_name63 = type_core__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } -var63 = var_c >= 'A'; -var57 = var63; -goto RET_LABEL58; -RET_LABEL58:(void)0; +var64 = var_c >= 'A'; +var58 = var64; +goto RET_LABEL59; +RET_LABEL59:(void)0; } } -var_64 = var57; -if (var57){ +var_65 = var58; +if (var58){ { -{ /* Inline kernel#Char#<= (var_c,'Z') on */ +{ /* Inline kernel$Char$<= (var_c,'Z') on */ /* Covariant cast for argument 0 (i) <'Z':Char> isa OTHER */ /* <'Z':Char> isa OTHER */ -var67 = 1; /* easy <'Z':Char> isa OTHER*/ -if (unlikely(!var67)) { -var_class_name70 = type_core__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +var68 = 1; /* easy <'Z':Char> isa OTHER*/ +if (unlikely(!var68)) { +var_class_name71 = type_core__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name71); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } -var71 = var_c <= 'Z'; -var65 = var71; -goto RET_LABEL66; -RET_LABEL66:(void)0; +var72 = var_c <= 'Z'; +var66 = var72; +goto RET_LABEL67; +RET_LABEL67:(void)0; } } -var56 = var65; +var57 = var66; } else { -var56 = var_64; +var57 = var_65; } -var38 = var56; +var39 = var57; } -if (var38){ +if (var39){ { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, var_c); /* add on */ } var_underscore = 0; -goto BREAK_label72; +goto BREAK_label73; } else { } if (var_underscore){ { -{ /* Inline kernel#Char#code_point ('_') on <'_':Char> */ -var75 = (long)'_'; -var73 = var75; -goto RET_LABEL74; -RET_LABEL74:(void)0; +{ /* Inline kernel$Char$code_point ('_') on <'_':Char> */ +var76 = (long)'_'; +var74 = var76; +goto RET_LABEL75; +RET_LABEL75:(void)0; } } { -var76 = core__flat___Int___core__abstract_text__Object__to_s(var73); +var77 = core__flat___Int___core__abstract_text__Object__to_s(var74); } { -((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_res, var76); /* append on */ +((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_res, var77); /* append on */ } { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, 'd'); /* add on */ @@ -2874,60 +3046,60 @@ var76 = core__flat___Int___core__abstract_text__Object__to_s(var73); } else { } { -{ /* Inline kernel#Char#>= (var_c,'0') on */ +{ /* Inline kernel$Char$>= (var_c,'0') on */ /* Covariant cast for argument 0 (i) <'0':Char> isa OTHER */ /* <'0':Char> isa OTHER */ -var80 = 1; /* easy <'0':Char> isa OTHER*/ -if (unlikely(!var80)) { -var_class_name83 = type_core__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name83); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +var81 = 1; /* easy <'0':Char> isa OTHER*/ +if (unlikely(!var81)) { +var_class_name84 = type_core__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } -var84 = var_c >= '0'; -var78 = var84; -goto RET_LABEL79; -RET_LABEL79:(void)0; +var85 = var_c >= '0'; +var79 = var85; +goto RET_LABEL80; +RET_LABEL80:(void)0; } } -var_85 = var78; -if (var78){ +var_86 = var79; +if (var79){ { -{ /* Inline kernel#Char#<= (var_c,'9') on */ +{ /* Inline kernel$Char$<= (var_c,'9') on */ /* Covariant cast for argument 0 (i) <'9':Char> isa OTHER */ /* <'9':Char> isa OTHER */ -var88 = 1; /* easy <'9':Char> isa OTHER*/ -if (unlikely(!var88)) { -var_class_name91 = type_core__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name91); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +var89 = 1; /* easy <'9':Char> isa OTHER*/ +if (unlikely(!var89)) { +var_class_name92 = type_core__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name92); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } -var92 = var_c <= '9'; -var86 = var92; -goto RET_LABEL87; -RET_LABEL87:(void)0; +var93 = var_c <= '9'; +var87 = var93; +goto RET_LABEL88; +RET_LABEL88:(void)0; } } -var77 = var86; +var78 = var87; } else { -var77 = var_85; +var78 = var_86; } -if (var77){ +if (var78){ { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, var_c); /* add on */ } var_underscore = 0; } else { { -{ /* Inline kernel#Char#== (var_c,'_') on */ -var95 = var_c == '_'; -var93 = var95; -goto RET_LABEL94; -RET_LABEL94:(void)0; +{ /* Inline kernel$Char$== (var_c,'_') on */ +var96 = var_c == '_'; +var94 = var96; +goto RET_LABEL95; +RET_LABEL95:(void)0; } } -if (var93){ +if (var94){ { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, var_c); /* add on */ } @@ -2937,18 +3109,18 @@ var_underscore = 1; ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, '_'); /* add on */ } { -{ /* Inline kernel#Char#code_point (var_c) on */ -var98 = (long)var_c; -var96 = var98; -goto RET_LABEL97; -RET_LABEL97:(void)0; +{ /* Inline kernel$Char$code_point (var_c) on */ +var99 = (long)var_c; +var97 = var99; +goto RET_LABEL98; +RET_LABEL98:(void)0; } } { -var99 = core__flat___Int___core__abstract_text__Object__to_s(var96); +var100 = core__flat___Int___core__abstract_text__Object__to_s(var97); } { -((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_res, var99); /* append on */ +((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_res, var100); /* append on */ } { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, 'd'); /* add on */ @@ -2956,27 +3128,27 @@ var99 = core__flat___Int___core__abstract_text__Object__to_s(var96); var_underscore = 0; } } -BREAK_label72: (void)0; +BREAK_label73: (void)0; { -var100 = core___core__Int___Discrete__successor(var_i, 1l); +var101 = core___core__Int___Discrete__successor(var_i, 1l); } -var_i = var100; +var_i = var101; } BREAK_label: (void)0; if (var_underscore){ { -{ /* Inline kernel#Char#code_point ('_') on <'_':Char> */ -var103 = (long)'_'; -var101 = var103; -goto RET_LABEL102; -RET_LABEL102:(void)0; +{ /* Inline kernel$Char$code_point ('_') on <'_':Char> */ +var104 = (long)'_'; +var102 = var104; +goto RET_LABEL103; +RET_LABEL103:(void)0; } } { -var104 = core__flat___Int___core__abstract_text__Object__to_s(var101); +var105 = core__flat___Int___core__abstract_text__Object__to_s(var102); } { -((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_res, var104); /* append on */ +((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_res, var105); /* append on */ } { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, 'd'); /* add on */ @@ -2984,280 +3156,554 @@ var104 = core__flat___Int___core__abstract_text__Object__to_s(var101); } else { } { -var105 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on */ +var106 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on */ } -var = var105; +var = var106; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#escape_to_c for (self: Text): String */ +/* method abstract_text$Text$escape_to_c for (self: Text): String */ val* core___core__Text___escape_to_c(val* self) { val* var /* : String */; +static val* varoncenew; +static int varoncenew_guard; val* var1 /* : Buffer */; val* var2 /* : Buffer */; +val* var3 /* : Buffer */; val* var_b /* var b: Buffer */; long var_i /* var i: Int */; -long var3 /* : Int */; +long var4 /* : Int */; long var_ /* var : Int */; -short int var4 /* : Bool */; -short int var6 /* : Bool */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var7 /* : Bool */; -val* var8 /* : SequenceRead[Char] */; -val* var9 /* : nullable Object */; -uint32_t var10 /* : Char */; +short int var8 /* : Bool */; +val* var9 /* : SequenceRead[Char] */; +val* var10 /* : nullable Object */; +uint32_t var11 /* : Char */; uint32_t var_c /* var c: Char */; -short int var11 /* : Bool */; -short int var13 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; static val* varonce; -val* var14 /* : String */; -char* var15 /* : NativeString */; -val* var16 /* : String */; -short int var17 /* : Bool */; -short int var19 /* : Bool */; -static val* varonce20; -val* var21 /* : String */; -char* var22 /* : NativeString */; -val* var23 /* : String */; +val* var15 /* : String */; +char* var16 /* : CString */; +val* var17 /* : String */; +val* var18 /* : nullable Int */; +val* var19 /* : nullable Int */; +val* var20 /* : nullable Bool */; +val* var21 /* : nullable Bool */; +short int var22 /* : Bool */; short int var24 /* : Bool */; -short int var26 /* : Bool */; -static val* varonce27; +static val* varonce25; +val* var26 /* : String */; +char* var27 /* : CString */; val* var28 /* : String */; -char* var29 /* : NativeString */; -val* var30 /* : String */; -short int var31 /* : Bool */; +val* var29 /* : nullable Int */; +val* var30 /* : nullable Int */; +val* var31 /* : nullable Bool */; +val* var32 /* : nullable Bool */; short int var33 /* : Bool */; -static val* varonce34; -val* var35 /* : String */; -char* var36 /* : NativeString */; +short int var35 /* : Bool */; +static val* varonce36; val* var37 /* : String */; -short int var38 /* : Bool */; -short int var40 /* : Bool */; -static val* varonce41; -val* var42 /* : String */; -char* var43 /* : NativeString */; -val* var44 /* : String */; -long var45 /* : Int */; -long var47 /* : Int */; -short int var48 /* : Bool */; -short int var50 /* : Bool */; -int cltype51; -int idtype52; -const char* var_class_name53; -short int var54 /* : Bool */; -long var55 /* : Int */; -long var57 /* : Int */; -val* var58 /* : String */; -val* var_oct /* var oct: String */; -long var59 /* : Int */; -short int var60 /* : Bool */; -short int var62 /* : Bool */; -long var63 /* : Int */; -short int var64 /* : Bool */; +char* var38 /* : CString */; +val* var39 /* : String */; +val* var40 /* : nullable Int */; +val* var41 /* : nullable Int */; +val* var42 /* : nullable Bool */; +val* var43 /* : nullable Bool */; +short int var44 /* : Bool */; +short int var46 /* : Bool */; +static val* varonce47; +val* var48 /* : String */; +char* var49 /* : CString */; +val* var50 /* : String */; +val* var51 /* : nullable Int */; +val* var52 /* : nullable Int */; +val* var53 /* : nullable Bool */; +val* var54 /* : nullable Bool */; +short int var55 /* : Bool */; +short int var57 /* : Bool */; +static val* varonce58; +val* var59 /* : String */; +char* var60 /* : CString */; +val* var61 /* : String */; +val* var62 /* : nullable Int */; +val* var63 /* : nullable Int */; +val* var64 /* : nullable Bool */; +val* var65 /* : nullable Bool */; short int var66 /* : Bool */; -long var67 /* : Int */; -val* var68 /* : String */; -var1 = NEW_core__Buffer(&type_core__Buffer); +short int var68 /* : Bool */; +long var69 /* : Int */; +short int var71 /* : Bool */; +int cltype72; +int idtype73; +const char* var_class_name74; +long var75 /* : Int */; +long var_j /* var j: Int */; +long var76 /* : Int */; +short int var77 /* : Bool */; +short int var79 /* : Bool */; +int cltype80; +int idtype81; +const char* var_class_name82; +short int var83 /* : Bool */; +val* var84 /* : SequenceRead[Char] */; +val* var85 /* : nullable Object */; +uint32_t var86 /* : Char */; +uint32_t var_next /* var next: Char */; +short int var87 /* : Bool */; +short int var88 /* : Bool */; +short int var89 /* : Bool */; +short int var90 /* : Bool */; +short int var91 /* : Bool */; +short int var92 /* : Bool */; +short int var93 /* : Bool */; +short int var94 /* : Bool */; +short int var96 /* : Bool */; +short int var_97 /* var : Bool */; +short int var98 /* : Bool */; +short int var100 /* : Bool */; +short int var_101 /* var : Bool */; +short int var102 /* : Bool */; +short int var104 /* : Bool */; +short int var_105 /* var : Bool */; +short int var106 /* : Bool */; +short int var108 /* : Bool */; +short int var_109 /* var : Bool */; +short int var110 /* : Bool */; +short int var112 /* : Bool */; +short int var_113 /* var : Bool */; +short int var114 /* : Bool */; +short int var116 /* : Bool */; +short int var_117 /* var : Bool */; +short int var118 /* : Bool */; +short int var120 /* : Bool */; +short int var_121 /* var : Bool */; +short int var122 /* : Bool */; +short int var124 /* : Bool */; +long var125 /* : Int */; +long var127 /* : Int */; +short int var128 /* : Bool */; +short int var130 /* : Bool */; +int cltype131; +int idtype132; +const char* var_class_name133; +short int var134 /* : Bool */; +long var135 /* : Int */; +long var137 /* : Int */; +val* var138 /* : String */; +val* var_oct /* var oct: String */; +long var139 /* : Int */; +short int var140 /* : Bool */; +short int var142 /* : Bool */; +long var143 /* : Int */; +short int var144 /* : Bool */; +short int var146 /* : Bool */; +long var147 /* : Int */; +val* var148 /* : String */; +if (likely(varoncenew_guard)) { +var1 = varoncenew; +} else { +var2 = NEW_core__Buffer(&type_core__Buffer); +var1 = var2; +varoncenew = var1; +varoncenew_guard = 1; +} { -var2 = core__flat___Buffer___new(var1); +var3 = core__flat___Buffer___new(var1); } -var_b = var2; +var_b = var3; var_i = 0l; { -var3 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +var4 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } -var_ = var3; +var_ = var4; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var6 = 1; /* easy isa OTHER*/ -if (unlikely(!var6)) { +var7 = 1; /* easy isa OTHER*/ +if (unlikely(!var7)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var7 = var_i < var_; -var4 = var7; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var8 = var_i < var_; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } -if (var4){ +if (var5){ } else { goto BREAK_label; } { -var8 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ +var9 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ } { -var9 = ((val*(*)(val* self, long p0))((((long)var8&3)?class_info[((long)var8&3)]:var8->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var8, var_i); /* [] on */ +var10 = ((val*(*)(val* self, long p0))((((long)var9&3)?class_info[((long)var9&3)]:var9->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var9, var_i); /* [] on */ } -var10 = (uint32_t)((long)(var9)>>2); -var_c = var10; +var11 = (uint32_t)((long)(var10)>>2); +var_c = var11; { -{ /* Inline kernel#Char#== (var_c,'\n') on */ -var13 = var_c == '\n'; -var11 = var13; -goto RET_LABEL12; -RET_LABEL12:(void)0; +{ /* Inline kernel$Char$== (var_c,'\n') on */ +var14 = var_c == '\n'; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -if (var11){ +if (var12){ if (likely(varonce!=NULL)) { -var14 = varonce; -} else { -var15 = "\\n"; -var16 = core__flat___NativeString___to_s_full(var15, 2l, 2l); -var14 = var16; -varonce = var14; +var15 = varonce; +} else { +var16 = "\\n"; +var18 = (val*)(2l<<2|1); +var19 = (val*)(2l<<2|1); +var20 = (val*)((long)(0)<<2|3); +var21 = (val*)((long)(0)<<2|3); +var17 = core__flat___CString___to_s_unsafe(var16, var18, var19, var20, var21); +var15 = var17; +varonce = var15; } { -((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var14); /* append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var15); /* append on */ } } else { { -{ /* Inline kernel#Char#== (var_c,'\t') on */ -var19 = var_c == '\t'; -var17 = var19; -goto RET_LABEL18; -RET_LABEL18:(void)0; +{ /* Inline kernel$Char$== (var_c,'\t') on */ +var24 = var_c == '\t'; +var22 = var24; +goto RET_LABEL23; +RET_LABEL23:(void)0; } } -if (var17){ -if (likely(varonce20!=NULL)) { -var21 = varonce20; -} else { -var22 = "\\t"; -var23 = core__flat___NativeString___to_s_full(var22, 2l, 2l); -var21 = var23; -varonce20 = var21; +if (var22){ +if (likely(varonce25!=NULL)) { +var26 = varonce25; +} else { +var27 = "\\t"; +var29 = (val*)(2l<<2|1); +var30 = (val*)(2l<<2|1); +var31 = (val*)((long)(0)<<2|3); +var32 = (val*)((long)(0)<<2|3); +var28 = core__flat___CString___to_s_unsafe(var27, var29, var30, var31, var32); +var26 = var28; +varonce25 = var26; } { -((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var21); /* append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var26); /* append on */ } } else { { -{ /* Inline kernel#Char#== (var_c,'\"') on */ -var26 = var_c == '\"'; -var24 = var26; -goto RET_LABEL25; -RET_LABEL25:(void)0; +{ /* Inline kernel$Char$== (var_c,'\"') on */ +var35 = var_c == '\"'; +var33 = var35; +goto RET_LABEL34; +RET_LABEL34:(void)0; } } -if (var24){ -if (likely(varonce27!=NULL)) { -var28 = varonce27; +if (var33){ +if (likely(varonce36!=NULL)) { +var37 = varonce36; } else { -var29 = "\\\""; -var30 = core__flat___NativeString___to_s_full(var29, 2l, 2l); -var28 = var30; -varonce27 = var28; +var38 = "\\\""; +var40 = (val*)(2l<<2|1); +var41 = (val*)(2l<<2|1); +var42 = (val*)((long)(0)<<2|3); +var43 = (val*)((long)(0)<<2|3); +var39 = core__flat___CString___to_s_unsafe(var38, var40, var41, var42, var43); +var37 = var39; +varonce36 = var37; } { -((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var28); /* append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var37); /* append on */ } } else { { -{ /* Inline kernel#Char#== (var_c,'\'') on */ -var33 = var_c == '\''; -var31 = var33; -goto RET_LABEL32; -RET_LABEL32:(void)0; +{ /* Inline kernel$Char$== (var_c,'\'') on */ +var46 = var_c == '\''; +var44 = var46; +goto RET_LABEL45; +RET_LABEL45:(void)0; } } -if (var31){ -if (likely(varonce34!=NULL)) { -var35 = varonce34; +if (var44){ +if (likely(varonce47!=NULL)) { +var48 = varonce47; } else { -var36 = "\\\'"; -var37 = core__flat___NativeString___to_s_full(var36, 2l, 2l); -var35 = var37; -varonce34 = var35; +var49 = "\\\'"; +var51 = (val*)(2l<<2|1); +var52 = (val*)(2l<<2|1); +var53 = (val*)((long)(0)<<2|3); +var54 = (val*)((long)(0)<<2|3); +var50 = core__flat___CString___to_s_unsafe(var49, var51, var52, var53, var54); +var48 = var50; +varonce47 = var48; } { -((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var35); /* append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var48); /* append on */ } } else { { -{ /* Inline kernel#Char#== (var_c,'\\') on */ -var40 = var_c == '\\'; -var38 = var40; -goto RET_LABEL39; -RET_LABEL39:(void)0; +{ /* Inline kernel$Char$== (var_c,'\\') on */ +var57 = var_c == '\\'; +var55 = var57; +goto RET_LABEL56; +RET_LABEL56:(void)0; } } -if (var38){ -if (likely(varonce41!=NULL)) { -var42 = varonce41; +if (var55){ +if (likely(varonce58!=NULL)) { +var59 = varonce58; } else { -var43 = "\\\\"; -var44 = core__flat___NativeString___to_s_full(var43, 2l, 2l); -var42 = var44; -varonce41 = var42; +var60 = "\\\\"; +var62 = (val*)(2l<<2|1); +var63 = (val*)(2l<<2|1); +var64 = (val*)((long)(0)<<2|3); +var65 = (val*)((long)(0)<<2|3); +var61 = core__flat___CString___to_s_unsafe(var60, var62, var63, var64, var65); +var59 = var61; +varonce58 = var59; } { -((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var42); /* append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var59); /* append on */ } } else { { -{ /* Inline kernel#Char#code_point (var_c) on */ -var47 = (long)var_c; -var45 = var47; -goto RET_LABEL46; -RET_LABEL46:(void)0; +{ /* Inline kernel$Char$== (var_c,'?') on */ +var68 = var_c == '?'; +var66 = var68; +goto RET_LABEL67; +RET_LABEL67:(void)0; +} +} +if (var66){ +{ +{ /* Inline kernel$Int$+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var71 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var71)) { +var_class_name74 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var75 = var_i + 1l; +var69 = var75; +goto RET_LABEL70; +RET_LABEL70:(void)0; +} +} +var_j = var69; +{ +var76 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +} +{ +{ /* Inline kernel$Int$< (var_j,var76) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var79 = 1; /* easy isa OTHER*/ +if (unlikely(!var79)) { +var_class_name82 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); +fatal_exit(1); +} +var83 = var_j < var76; +var77 = var83; +goto RET_LABEL78; +RET_LABEL78:(void)0; +} +} +if (var77){ +{ +var84 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ +} +{ +var85 = ((val*(*)(val* self, long p0))((((long)var84&3)?class_info[((long)var84&3)]:var84->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var84, var_j); /* [] on */ +} +var86 = (uint32_t)((long)(var85)>>2); +var_next = var86; +{ +{ /* Inline kernel$Char$== (var_next,'!') on */ +var96 = var_next == '!'; +var94 = var96; +goto RET_LABEL95; +RET_LABEL95:(void)0; +} +} +var_97 = var94; +if (var94){ +var93 = var_97; +} else { +{ +{ /* Inline kernel$Char$== (var_next,'(') on */ +var100 = var_next == '('; +var98 = var100; +goto RET_LABEL99; +RET_LABEL99:(void)0; +} +} +var93 = var98; +} +var_101 = var93; +if (var93){ +var92 = var_101; +} else { +{ +{ /* Inline kernel$Char$== (var_next,')') on */ +var104 = var_next == ')'; +var102 = var104; +goto RET_LABEL103; +RET_LABEL103:(void)0; +} +} +var92 = var102; +} +var_105 = var92; +if (var92){ +var91 = var_105; +} else { +{ +{ /* Inline kernel$Char$== (var_next,'-') on */ +var108 = var_next == '-'; +var106 = var108; +goto RET_LABEL107; +RET_LABEL107:(void)0; +} +} +var91 = var106; +} +var_109 = var91; +if (var91){ +var90 = var_109; +} else { +{ +{ /* Inline kernel$Char$== (var_next,'/') on */ +var112 = var_next == '/'; +var110 = var112; +goto RET_LABEL111; +RET_LABEL111:(void)0; +} +} +var90 = var110; +} +var_113 = var90; +if (var90){ +var89 = var_113; +} else { +{ +{ /* Inline kernel$Char$== (var_next,'<') on */ +var116 = var_next == '<'; +var114 = var116; +goto RET_LABEL115; +RET_LABEL115:(void)0; +} +} +var89 = var114; +} +var_117 = var89; +if (var89){ +var88 = var_117; +} else { +{ +{ /* Inline kernel$Char$== (var_next,'=') on */ +var120 = var_next == '='; +var118 = var120; +goto RET_LABEL119; +RET_LABEL119:(void)0; +} +} +var88 = var118; +} +var_121 = var88; +if (var88){ +var87 = var_121; +} else { +{ +{ /* Inline kernel$Char$== (var_next,'>') on */ +var124 = var_next == '>'; +var122 = var124; +goto RET_LABEL123; +RET_LABEL123:(void)0; +} +} +var87 = var122; +} +if (var87){ +{ +((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_b, '\\'); /* add on */ +} +} else { +} +} else { +} +{ +((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_b, '?'); /* add on */ +} +} else { +{ +{ /* Inline kernel$Char$code_point (var_c) on */ +var127 = (long)var_c; +var125 = var127; +goto RET_LABEL126; +RET_LABEL126:(void)0; } } { -{ /* Inline kernel#Int#< (var45,32l) on */ +{ /* Inline kernel$Int$< (var125,32l) on */ /* Covariant cast for argument 0 (i) <32l:Int> isa OTHER */ /* <32l:Int> isa OTHER */ -var50 = 1; /* easy <32l:Int> isa OTHER*/ -if (unlikely(!var50)) { -var_class_name53 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +var130 = 1; /* easy <32l:Int> isa OTHER*/ +if (unlikely(!var130)) { +var_class_name133 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name133); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var54 = var45 < 32l; -var48 = var54; -goto RET_LABEL49; -RET_LABEL49:(void)0; +var134 = var125 < 32l; +var128 = var134; +goto RET_LABEL129; +RET_LABEL129:(void)0; } } -if (var48){ +if (var128){ { ((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_b, '\\'); /* add on */ } { -{ /* Inline kernel#Char#code_point (var_c) on */ -var57 = (long)var_c; -var55 = var57; -goto RET_LABEL56; -RET_LABEL56:(void)0; +{ /* Inline kernel$Char$code_point (var_c) on */ +var137 = (long)var_c; +var135 = var137; +goto RET_LABEL136; +RET_LABEL136:(void)0; } } { -var58 = core__flat___Int___to_base(var55, 8l, 0); +var138 = core__abstract_text___Int___to_base(var135, 8l); } -var_oct = var58; +var_oct = var138; { -var59 = ((long(*)(val* self))(var_oct->class->vft[COLOR_core__abstract_text__Text__length]))(var_oct); /* length on */ +var139 = ((long(*)(val* self))(var_oct->class->vft[COLOR_core__abstract_text__Text__length]))(var_oct); /* length on */ } { -{ /* Inline kernel#Int#== (var59,1l) on */ -var62 = var59 == 1l; -var60 = var62; -goto RET_LABEL61; -RET_LABEL61:(void)0; +{ /* Inline kernel$Int$== (var139,1l) on */ +var142 = var139 == 1l; +var140 = var142; +goto RET_LABEL141; +RET_LABEL141:(void)0; } } -if (var60){ +if (var140){ { ((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_b, '0'); /* add on */ } @@ -3266,17 +3712,17 @@ if (var60){ } } else { { -var63 = ((long(*)(val* self))(var_oct->class->vft[COLOR_core__abstract_text__Text__length]))(var_oct); /* length on */ +var143 = ((long(*)(val* self))(var_oct->class->vft[COLOR_core__abstract_text__Text__length]))(var_oct); /* length on */ } { -{ /* Inline kernel#Int#== (var63,2l) on */ -var66 = var63 == 2l; -var64 = var66; -goto RET_LABEL65; -RET_LABEL65:(void)0; +{ /* Inline kernel$Int$== (var143,2l) on */ +var146 = var143 == 2l; +var144 = var146; +goto RET_LABEL145; +RET_LABEL145:(void)0; } } -if (var64){ +if (var144){ { ((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_b, '0'); /* add on */ } @@ -3296,134 +3742,156 @@ if (var64){ } } } +} { -var67 = core___core__Int___Discrete__successor(var_i, 1l); +var147 = core___core__Int___Discrete__successor(var_i, 1l); } -var_i = var67; +var_i = var147; } BREAK_label: (void)0; { -var68 = ((val*(*)(val* self))(var_b->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_b); /* to_s on */ +var148 = ((val*(*)(val* self))(var_b->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_b); /* to_s on */ } -var = var68; +var = var148; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#escape_to_sh for (self: Text): String */ +/* method abstract_text$Text$escape_to_sh for (self: Text): String */ val* core___core__Text___escape_to_sh(val* self) { val* var /* : String */; +static val* varoncenew; +static int varoncenew_guard; val* var1 /* : Buffer */; val* var2 /* : Buffer */; +val* var3 /* : Buffer */; val* var_b /* var b: Buffer */; -val* var3 /* : SequenceRead[Char] */; -val* var4 /* : nullable Object */; +val* var4 /* : SequenceRead[Char] */; +val* var5 /* : nullable Object */; long var_i /* var i: Int */; -long var5 /* : Int */; +long var6 /* : Int */; long var_ /* var : Int */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var9 /* : Bool */; -val* var10 /* : SequenceRead[Char] */; -val* var11 /* : nullable Object */; -uint32_t var12 /* : Char */; +short int var10 /* : Bool */; +val* var11 /* : SequenceRead[Char] */; +val* var12 /* : nullable Object */; +uint32_t var13 /* : Char */; uint32_t var_c /* var c: Char */; -short int var13 /* : Bool */; -short int var15 /* : Bool */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; static val* varonce; -val* var16 /* : String */; -char* var17 /* : NativeString */; -val* var18 /* : String */; -short int var19 /* : Bool */; -short int var21 /* : Bool */; -short int var22 /* : Bool */; -long var23 /* : Int */; -val* var24 /* : SequenceRead[Char] */; -val* var25 /* : nullable Object */; -val* var26 /* : String */; -var1 = NEW_core__Buffer(&type_core__Buffer); +val* var17 /* : String */; +char* var18 /* : CString */; +val* var19 /* : String */; +val* var20 /* : nullable Int */; +val* var21 /* : nullable Int */; +val* var22 /* : nullable Bool */; +val* var23 /* : nullable Bool */; +short int var24 /* : Bool */; +short int var26 /* : Bool */; +short int var27 /* : Bool */; +long var28 /* : Int */; +val* var29 /* : SequenceRead[Char] */; +val* var30 /* : nullable Object */; +val* var31 /* : String */; +if (likely(varoncenew_guard)) { +var1 = varoncenew; +} else { +var2 = NEW_core__Buffer(&type_core__Buffer); +var1 = var2; +varoncenew = var1; +varoncenew_guard = 1; +} { -var2 = core__flat___Buffer___new(var1); +var3 = core__flat___Buffer___new(var1); } -var_b = var2; +var_b = var3; { -var3 = ((val*(*)(val* self))(var_b->class->vft[COLOR_core__abstract_text__Text__chars]))(var_b); /* chars on */ +var4 = ((val*(*)(val* self))(var_b->class->vft[COLOR_core__abstract_text__Text__chars]))(var_b); /* chars on */ } { -var4 = (val*)((long)('\'')<<2|2); -((void(*)(val* self, val* p0))((((long)var3&3)?class_info[((long)var3&3)]:var3->class)->vft[COLOR_core__abstract_collection__SimpleCollection__add]))(var3, var4); /* add on */ +var5 = (val*)((long)('\'')<<2|2); +((void(*)(val* self, val* p0))((((long)var4&3)?class_info[((long)var4&3)]:var4->class)->vft[COLOR_core__abstract_collection__SimpleCollection__add]))(var4, var5); /* add on */ } var_i = 0l; { -var5 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +var6 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } -var_ = var5; +var_ = var6; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var8 = 1; /* easy isa OTHER*/ -if (unlikely(!var8)) { +var9 = 1; /* easy isa OTHER*/ +if (unlikely(!var9)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var9 = var_i < var_; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var10 = var_i < var_; +var7 = var10; +goto RET_LABEL8; +RET_LABEL8:(void)0; } } -if (var6){ +if (var7){ } else { goto BREAK_label; } { -var10 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ +var11 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ } { -var11 = ((val*(*)(val* self, long p0))((((long)var10&3)?class_info[((long)var10&3)]:var10->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var10, var_i); /* [] on */ +var12 = ((val*(*)(val* self, long p0))((((long)var11&3)?class_info[((long)var11&3)]:var11->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var11, var_i); /* [] on */ } -var12 = (uint32_t)((long)(var11)>>2); -var_c = var12; +var13 = (uint32_t)((long)(var12)>>2); +var_c = var13; { -{ /* Inline kernel#Char#== (var_c,'\'') on */ -var15 = var_c == '\''; -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; +{ /* Inline kernel$Char$== (var_c,'\'') on */ +var16 = var_c == '\''; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; } } -if (var13){ +if (var14){ if (likely(varonce!=NULL)) { -var16 = varonce; -} else { -var17 = "\'\\\'\'"; -var18 = core__flat___NativeString___to_s_full(var17, 4l, 4l); -var16 = var18; -varonce = var16; +var17 = varonce; +} else { +var18 = "\'\\\'\'"; +var20 = (val*)(4l<<2|1); +var21 = (val*)(4l<<2|1); +var22 = (val*)((long)(0)<<2|3); +var23 = (val*)((long)(0)<<2|3); +var19 = core__flat___CString___to_s_unsafe(var18, var20, var21, var22, var23); +var17 = var19; +varonce = var17; } { -((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var16); /* append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var17); /* append on */ } } else { { -{ /* Inline kernel#Char#!= (var_c,'\000') on */ -var21 = var_c == '\000'; -var22 = !var21; -var19 = var22; -goto RET_LABEL20; -RET_LABEL20:(void)0; +{ /* Inline kernel$Char$!= (var_c,'\000') on */ +var26 = var_c == '\000'; +var27 = !var26; +var24 = var27; +goto RET_LABEL25; +RET_LABEL25:(void)0; } } -if (unlikely(!var19)) { +if (unlikely(!var24)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert \'without_null_byte\' failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 669); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 705); fatal_exit(1); } { @@ -3431,195 +3899,217 @@ fatal_exit(1); } } { -var23 = core___core__Int___Discrete__successor(var_i, 1l); +var28 = core___core__Int___Discrete__successor(var_i, 1l); } -var_i = var23; +var_i = var28; } BREAK_label: (void)0; { -var24 = ((val*(*)(val* self))(var_b->class->vft[COLOR_core__abstract_text__Text__chars]))(var_b); /* chars on */ +var29 = ((val*(*)(val* self))(var_b->class->vft[COLOR_core__abstract_text__Text__chars]))(var_b); /* chars on */ } { -var25 = (val*)((long)('\'')<<2|2); -((void(*)(val* self, val* p0))((((long)var24&3)?class_info[((long)var24&3)]:var24->class)->vft[COLOR_core__abstract_collection__SimpleCollection__add]))(var24, var25); /* add on */ +var30 = (val*)((long)('\'')<<2|2); +((void(*)(val* self, val* p0))((((long)var29&3)?class_info[((long)var29&3)]:var29->class)->vft[COLOR_core__abstract_collection__SimpleCollection__add]))(var29, var30); /* add on */ } { -var26 = ((val*(*)(val* self))(var_b->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_b); /* to_s on */ +var31 = ((val*(*)(val* self))(var_b->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_b); /* to_s on */ } -var = var26; +var = var31; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#escape_to_mk for (self: Text): String */ +/* method abstract_text$Text$escape_to_mk for (self: Text): String */ val* core___core__Text___escape_to_mk(val* self) { val* var /* : String */; +static val* varoncenew; +static int varoncenew_guard; val* var1 /* : Buffer */; val* var2 /* : Buffer */; +val* var3 /* : Buffer */; val* var_b /* var b: Buffer */; long var_i /* var i: Int */; -long var3 /* : Int */; +long var4 /* : Int */; long var_ /* var : Int */; -short int var4 /* : Bool */; -short int var6 /* : Bool */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var7 /* : Bool */; -val* var8 /* : SequenceRead[Char] */; -val* var9 /* : nullable Object */; -uint32_t var10 /* : Char */; +short int var8 /* : Bool */; +val* var9 /* : SequenceRead[Char] */; +val* var10 /* : nullable Object */; +uint32_t var11 /* : Char */; uint32_t var_c /* var c: Char */; -short int var11 /* : Bool */; -short int var13 /* : Bool */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; static val* varonce; -val* var14 /* : String */; -char* var15 /* : NativeString */; -val* var16 /* : String */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -short int var19 /* : Bool */; -short int var21 /* : Bool */; -short int var_22 /* var : Bool */; +val* var15 /* : String */; +char* var16 /* : CString */; +val* var17 /* : String */; +val* var18 /* : nullable Int */; +val* var19 /* : nullable Int */; +val* var20 /* : nullable Bool */; +val* var21 /* : nullable Bool */; +short int var22 /* : Bool */; short int var23 /* : Bool */; -short int var25 /* : Bool */; -short int var_26 /* var : Bool */; -short int var27 /* : Bool */; -short int var29 /* : Bool */; +short int var24 /* : Bool */; +short int var26 /* : Bool */; +short int var_27 /* var : Bool */; +short int var28 /* : Bool */; short int var30 /* : Bool */; -short int var31 /* : Bool */; +short int var_31 /* var : Bool */; short int var32 /* : Bool */; -short int var33 /* : Bool */; -long var34 /* : Int */; -long var36 /* : Int */; +short int var34 /* : Bool */; +short int var35 /* : Bool */; +short int var36 /* : Bool */; short int var37 /* : Bool */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -const char* var_class_name42; -short int var43 /* : Bool */; -short int var_44 /* var : Bool */; -short int var45 /* : Bool */; -short int var47 /* : Bool */; -short int var_48 /* var : Bool */; -short int var49 /* : Bool */; -short int var51 /* : Bool */; -short int var_52 /* var : Bool */; -short int var53 /* : Bool */; -short int var55 /* : Bool */; -short int var_56 /* var : Bool */; -short int var57 /* : Bool */; -short int var59 /* : Bool */; -val* var61 /* : NativeArray[String] */; -static val* varonce60; -static val* varonce62; -val* var63 /* : String */; -char* var64 /* : NativeString */; -val* var65 /* : String */; -long var66 /* : Int */; -long var68 /* : Int */; -val* var69 /* : String */; +short int var38 /* : Bool */; +long var39 /* : Int */; +long var41 /* : Int */; +short int var42 /* : Bool */; +short int var44 /* : Bool */; +int cltype45; +int idtype46; +const char* var_class_name47; +short int var48 /* : Bool */; +short int var_49 /* var : Bool */; +short int var50 /* : Bool */; +short int var52 /* : Bool */; +short int var_53 /* var : Bool */; +short int var54 /* : Bool */; +short int var56 /* : Bool */; +short int var_57 /* var : Bool */; +short int var58 /* : Bool */; +short int var60 /* : Bool */; +short int var_61 /* var : Bool */; +short int var62 /* : Bool */; +short int var64 /* : Bool */; +val* var66 /* : NativeArray[String] */; +static val* varonce65; +static val* varonce67; +val* var68 /* : String */; +char* var69 /* : CString */; val* var70 /* : String */; -long var71 /* : Int */; -val* var72 /* : String */; -var1 = NEW_core__Buffer(&type_core__Buffer); +val* var71 /* : nullable Int */; +val* var72 /* : nullable Int */; +val* var73 /* : nullable Bool */; +val* var74 /* : nullable Bool */; +long var75 /* : Int */; +long var77 /* : Int */; +val* var78 /* : String */; +val* var79 /* : String */; +long var80 /* : Int */; +val* var81 /* : String */; +if (likely(varoncenew_guard)) { +var1 = varoncenew; +} else { +var2 = NEW_core__Buffer(&type_core__Buffer); +var1 = var2; +varoncenew = var1; +varoncenew_guard = 1; +} { -var2 = core__flat___Buffer___new(var1); +var3 = core__flat___Buffer___new(var1); } -var_b = var2; +var_b = var3; var_i = 0l; { -var3 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +var4 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } -var_ = var3; +var_ = var4; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var6 = 1; /* easy isa OTHER*/ -if (unlikely(!var6)) { +var7 = 1; /* easy isa OTHER*/ +if (unlikely(!var7)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var7 = var_i < var_; -var4 = var7; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var8 = var_i < var_; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } -if (var4){ +if (var5){ } else { goto BREAK_label; } { -var8 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ +var9 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ } { -var9 = ((val*(*)(val* self, long p0))((((long)var8&3)?class_info[((long)var8&3)]:var8->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var8, var_i); /* [] on */ +var10 = ((val*(*)(val* self, long p0))((((long)var9&3)?class_info[((long)var9&3)]:var9->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var9, var_i); /* [] on */ } -var10 = (uint32_t)((long)(var9)>>2); -var_c = var10; +var11 = (uint32_t)((long)(var10)>>2); +var_c = var11; { -{ /* Inline kernel#Char#== (var_c,'$') on */ -var13 = var_c == '$'; -var11 = var13; -goto RET_LABEL12; -RET_LABEL12:(void)0; +{ /* Inline kernel$Char$== (var_c,'$') on */ +var14 = var_c == '$'; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -if (var11){ +if (var12){ if (likely(varonce!=NULL)) { -var14 = varonce; -} else { -var15 = "$$"; -var16 = core__flat___NativeString___to_s_full(var15, 2l, 2l); -var14 = var16; -varonce = var14; +var15 = varonce; +} else { +var16 = "$$"; +var18 = (val*)(2l<<2|1); +var19 = (val*)(2l<<2|1); +var20 = (val*)((long)(0)<<2|3); +var21 = (val*)((long)(0)<<2|3); +var17 = core__flat___CString___to_s_unsafe(var16, var18, var19, var20, var21); +var15 = var17; +varonce = var15; } { -((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var14); /* append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var15); /* append on */ } } else { { -{ /* Inline kernel#Char#== (var_c,':') on */ -var21 = var_c == ':'; -var19 = var21; -goto RET_LABEL20; -RET_LABEL20:(void)0; +{ /* Inline kernel$Char$== (var_c,':') on */ +var26 = var_c == ':'; +var24 = var26; +goto RET_LABEL25; +RET_LABEL25:(void)0; } } -var_22 = var19; -if (var19){ -var18 = var_22; +var_27 = var24; +if (var24){ +var23 = var_27; } else { { -{ /* Inline kernel#Char#== (var_c,' ') on */ -var25 = var_c == ' '; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +{ /* Inline kernel$Char$== (var_c,' ') on */ +var30 = var_c == ' '; +var28 = var30; +goto RET_LABEL29; +RET_LABEL29:(void)0; } } -var18 = var23; +var23 = var28; } -var_26 = var18; -if (var18){ -var17 = var_26; +var_31 = var23; +if (var23){ +var22 = var_31; } else { { -{ /* Inline kernel#Char#== (var_c,'#') on */ -var29 = var_c == '#'; -var27 = var29; -goto RET_LABEL28; -RET_LABEL28:(void)0; +{ /* Inline kernel$Char$== (var_c,'#') on */ +var34 = var_c == '#'; +var32 = var34; +goto RET_LABEL33; +RET_LABEL33:(void)0; } } -var17 = var27; +var22 = var32; } -if (var17){ +if (var22){ { ((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_b, '\\'); /* add on */ } @@ -3628,120 +4118,124 @@ if (var17){ } } else { { -{ /* Inline kernel#Char#code_point (var_c) on */ -var36 = (long)var_c; -var34 = var36; -goto RET_LABEL35; -RET_LABEL35:(void)0; +{ /* Inline kernel$Char$code_point (var_c) on */ +var41 = (long)var_c; +var39 = var41; +goto RET_LABEL40; +RET_LABEL40:(void)0; } } { -{ /* Inline kernel#Int#< (var34,32l) on */ +{ /* Inline kernel$Int$< (var39,32l) on */ /* Covariant cast for argument 0 (i) <32l:Int> isa OTHER */ /* <32l:Int> isa OTHER */ -var39 = 1; /* easy <32l:Int> isa OTHER*/ -if (unlikely(!var39)) { -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_core__kernel, 728); +var44 = 1; /* easy <32l:Int> isa OTHER*/ +if (unlikely(!var44)) { +var_class_name47 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var43 = var34 < 32l; -var37 = var43; -goto RET_LABEL38; -RET_LABEL38:(void)0; +var48 = var39 < 32l; +var42 = var48; +goto RET_LABEL43; +RET_LABEL43:(void)0; } } -var_44 = var37; -if (var37){ -var33 = var_44; +var_49 = var42; +if (var42){ +var38 = var_49; } else { { -{ /* Inline kernel#Char#== (var_c,';') on */ -var47 = var_c == ';'; -var45 = var47; -goto RET_LABEL46; -RET_LABEL46:(void)0; +{ /* Inline kernel$Char$== (var_c,';') on */ +var52 = var_c == ';'; +var50 = var52; +goto RET_LABEL51; +RET_LABEL51:(void)0; } } -var33 = var45; +var38 = var50; } -var_48 = var33; -if (var33){ -var32 = var_48; +var_53 = var38; +if (var38){ +var37 = var_53; } else { { -{ /* Inline kernel#Char#== (var_c,'|') on */ -var51 = var_c == '|'; -var49 = var51; -goto RET_LABEL50; -RET_LABEL50:(void)0; +{ /* Inline kernel$Char$== (var_c,'|') on */ +var56 = var_c == '|'; +var54 = var56; +goto RET_LABEL55; +RET_LABEL55:(void)0; } } -var32 = var49; +var37 = var54; } -var_52 = var32; -if (var32){ -var31 = var_52; +var_57 = var37; +if (var37){ +var36 = var_57; } else { { -{ /* Inline kernel#Char#== (var_c,'\\') on */ -var55 = var_c == '\\'; -var53 = var55; -goto RET_LABEL54; -RET_LABEL54:(void)0; +{ /* Inline kernel$Char$== (var_c,'\\') on */ +var60 = var_c == '\\'; +var58 = var60; +goto RET_LABEL59; +RET_LABEL59:(void)0; } } -var31 = var53; +var36 = var58; } -var_56 = var31; -if (var31){ -var30 = var_56; +var_61 = var36; +if (var36){ +var35 = var_61; } else { { -{ /* Inline kernel#Char#== (var_c,'=') on */ -var59 = var_c == '='; -var57 = var59; -goto RET_LABEL58; -RET_LABEL58:(void)0; +{ /* Inline kernel$Char$== (var_c,'=') on */ +var64 = var_c == '='; +var62 = var64; +goto RET_LABEL63; +RET_LABEL63:(void)0; } } -var30 = var57; +var35 = var62; } -if (var30){ -if (unlikely(varonce60==NULL)) { -var61 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String); -if (likely(varonce62!=NULL)) { -var63 = varonce62; +if (var35){ +if (unlikely(varonce65==NULL)) { +var66 = NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String); +if (likely(varonce67!=NULL)) { +var68 = varonce67; } else { -var64 = "?"; -var65 = core__flat___NativeString___to_s_full(var64, 1l, 1l); -var63 = var65; -varonce62 = var63; +var69 = "?"; +var71 = (val*)(1l<<2|1); +var72 = (val*)(1l<<2|1); +var73 = (val*)((long)(0)<<2|3); +var74 = (val*)((long)(0)<<2|3); +var70 = core__flat___CString___to_s_unsafe(var69, var71, var72, var73, var74); +var68 = var70; +varonce67 = var68; } -((struct instance_core__NativeArray*)var61)->values[0]=var63; +((struct instance_core__NativeArray*)var66)->values[0]=var68; } else { -var61 = varonce60; -varonce60 = NULL; +var66 = varonce65; +varonce65 = NULL; } { -{ /* Inline kernel#Char#code_point (var_c) on */ -var68 = (long)var_c; -var66 = var68; -goto RET_LABEL67; -RET_LABEL67:(void)0; +{ /* Inline kernel$Char$code_point (var_c) on */ +var77 = (long)var_c; +var75 = var77; +goto RET_LABEL76; +RET_LABEL76:(void)0; } } { -var69 = core__flat___Int___to_base(var66, 16l, 0); +var78 = core__abstract_text___Int___to_base(var75, 16l); } -((struct instance_core__NativeArray*)var61)->values[1]=var69; +((struct instance_core__NativeArray*)var66)->values[1]=var78; { -var70 = ((val*(*)(val* self))(var61->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var61); /* native_to_s on */ +var79 = ((val*(*)(val* self))(var66->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var66); /* native_to_s on */ } -varonce60 = var61; +varonce65 = var66; { -((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var70); /* append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_b, var79); /* append on */ } } else { { @@ -3751,166 +4245,176 @@ varonce60 = var61; } } { -var71 = core___core__Int___Discrete__successor(var_i, 1l); +var80 = core___core__Int___Discrete__successor(var_i, 1l); } -var_i = var71; +var_i = var80; } BREAK_label: (void)0; { -var72 = ((val*(*)(val* self))(var_b->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_b); /* to_s on */ +var81 = ((val*(*)(val* self))(var_b->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_b); /* to_s on */ } -var = var72; +var = var81; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#unescape_nit for (self: Text): String */ +/* method abstract_text$Text$unescape_nit for (self: Text): String */ val* core___core__Text___unescape_nit(val* self) { val* var /* : String */; +static val* varoncenew; +static int varoncenew_guard; val* var1 /* : Buffer */; -long var2 /* : Int */; -val* var3 /* : Buffer */; +val* var2 /* : Buffer */; +long var3 /* : Int */; +val* var4 /* : Buffer */; val* var_res /* var res: Buffer */; short int var_was_slash /* var was_slash: Bool */; long var_i /* var i: Int */; -long var4 /* : Int */; +long var5 /* : Int */; long var_ /* var : Int */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var8 /* : Bool */; -val* var9 /* : SequenceRead[Char] */; -val* var10 /* : nullable Object */; -uint32_t var11 /* : Char */; +short int var9 /* : Bool */; +val* var10 /* : SequenceRead[Char] */; +val* var11 /* : nullable Object */; +uint32_t var12 /* : Char */; uint32_t var_c /* var c: Char */; -short int var12 /* : Bool */; short int var13 /* : Bool */; -short int var15 /* : Bool */; -short int var17 /* : Bool */; -short int var19 /* : Bool */; +short int var14 /* : Bool */; +short int var16 /* : Bool */; +short int var18 /* : Bool */; short int var20 /* : Bool */; -short int var22 /* : Bool */; +short int var21 /* : Bool */; short int var23 /* : Bool */; -short int var25 /* : Bool */; +short int var24 /* : Bool */; short int var26 /* : Bool */; -short int var28 /* : Bool */; -long var29 /* : Int */; -val* var30 /* : String */; -var1 = NEW_core__Buffer(&type_core__Buffer); +short int var27 /* : Bool */; +short int var29 /* : Bool */; +long var30 /* : Int */; +val* var31 /* : String */; +if (likely(varoncenew_guard)) { +var1 = varoncenew; +} else { +var2 = NEW_core__Buffer(&type_core__Buffer); +var1 = var2; +varoncenew = var1; +varoncenew_guard = 1; +} { -var2 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +var3 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } { -var3 = core__flat___Buffer___with_cap(var1, var2); +var4 = core__flat___Buffer___with_cap(var1, var3); } -var_res = var3; +var_res = var4; var_was_slash = 0; var_i = 0l; { -var4 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +var5 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } -var_ = var4; +var_ = var5; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var7 = 1; /* easy isa OTHER*/ -if (unlikely(!var7)) { +var8 = 1; /* easy isa OTHER*/ +if (unlikely(!var8)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var8 = var_i < var_; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var9 = var_i < var_; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } -if (var5){ +if (var6){ } else { goto BREAK_label; } { -var9 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ +var10 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ } { -var10 = ((val*(*)(val* self, long p0))((((long)var9&3)?class_info[((long)var9&3)]:var9->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var9, var_i); /* [] on */ +var11 = ((val*(*)(val* self, long p0))((((long)var10&3)?class_info[((long)var10&3)]:var10->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var10, var_i); /* [] on */ } -var11 = (uint32_t)((long)(var10)>>2); -var_c = var11; -var12 = !var_was_slash; -if (var12){ +var12 = (uint32_t)((long)(var11)>>2); +var_c = var12; +var13 = !var_was_slash; +if (var13){ { -{ /* Inline kernel#Char#== (var_c,'\\') on */ -var15 = var_c == '\\'; -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; +{ /* Inline kernel$Char$== (var_c,'\\') on */ +var16 = var_c == '\\'; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; } } -if (var13){ +if (var14){ var_was_slash = 1; } else { { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, var_c); /* add on */ } } -goto BREAK_label16; +goto BREAK_label17; } else { } var_was_slash = 0; { -{ /* Inline kernel#Char#== (var_c,'n') on */ -var19 = var_c == 'n'; -var17 = var19; -goto RET_LABEL18; -RET_LABEL18:(void)0; +{ /* Inline kernel$Char$== (var_c,'n') on */ +var20 = var_c == 'n'; +var18 = var20; +goto RET_LABEL19; +RET_LABEL19:(void)0; } } -if (var17){ +if (var18){ { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, '\n'); /* add on */ } } else { { -{ /* Inline kernel#Char#== (var_c,'r') on */ -var22 = var_c == 'r'; -var20 = var22; -goto RET_LABEL21; -RET_LABEL21:(void)0; +{ /* Inline kernel$Char$== (var_c,'r') on */ +var23 = var_c == 'r'; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } } -if (var20){ +if (var21){ { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, '\015'); /* add on */ } } else { { -{ /* Inline kernel#Char#== (var_c,'t') on */ -var25 = var_c == 't'; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +{ /* Inline kernel$Char$== (var_c,'t') on */ +var26 = var_c == 't'; +var24 = var26; +goto RET_LABEL25; +RET_LABEL25:(void)0; } } -if (var23){ +if (var24){ { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, '\t'); /* add on */ } } else { { -{ /* Inline kernel#Char#== (var_c,'0') on */ -var28 = var_c == '0'; -var26 = var28; -goto RET_LABEL27; -RET_LABEL27:(void)0; +{ /* Inline kernel$Char$== (var_c,'0') on */ +var29 = var_c == '0'; +var27 = var29; +goto RET_LABEL28; +RET_LABEL28:(void)0; } } -if (var26){ +if (var27){ { ((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_res, '\000'); /* add on */ } @@ -3922,22 +4426,22 @@ if (var26){ } } } -BREAK_label16: (void)0; +BREAK_label17: (void)0; { -var29 = core___core__Int___Discrete__successor(var_i, 1l); +var30 = core___core__Int___Discrete__successor(var_i, 1l); } -var_i = var29; +var_i = var30; } BREAK_label: (void)0; { -var30 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on */ +var31 = ((val*(*)(val* self))(var_res->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_res); /* to_s on */ } -var = var30; +var = var31; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#== for (self: Text, nullable Object): Bool */ +/* method abstract_text$Text$== for (self: Text, nullable Object): Bool */ short int core___core__Text___core__kernel__Object___61d_61d(val* self, val* p0) { short int var /* : Bool */; val* var_o /* var o: nullable Object */; @@ -3987,7 +4491,7 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Object#is_same_instance (self,var_o) on */ +{ /* Inline kernel$Object$is_same_instance (self,var_o) on */ var7 = self == var_o; var5 = var7; goto RET_LABEL6; @@ -4006,7 +4510,7 @@ var8 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__l var9 = ((long(*)(val* self))(var_o->class->vft[COLOR_core__abstract_text__Text__length]))(var_o); /* length on */ } { -{ /* Inline kernel#Int#!= (var8,var9) on */ +{ /* Inline kernel$Int$!= (var8,var9) on */ var12 = var8 == var9; var13 = !var12; var10 = var13; @@ -4033,7 +4537,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#< for (self: Text, Text): Bool */ +/* method abstract_text$Text$< for (self: Text, Text): Bool */ short int core___core__Text___core__kernel__Comparable___60d(val* self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -4086,7 +4590,7 @@ var1 = p0->type->type_table[cltype] == idtype; if (unlikely(!var1)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 918); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 955); fatal_exit(1); } var_other = p0; @@ -4125,14 +4629,14 @@ var9 = ((val*(*)(val* self))((((long)var_self_chars&3)?class_info[((long)var_sel var10 = ((val*(*)(val* self))((((long)var_other_chars&3)?class_info[((long)var_other_chars&3)]:var_other_chars->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_other_chars); /* item on */ } { -{ /* Inline kernel#Char#< (var9,var10) on */ +{ /* Inline kernel$Char$< (var9,var10) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var13 = 1; /* easy isa OTHER*/ if (unlikely(!var13)) { var_class_name16 = var10 == NULL ? "null" : (((long)var10&3)?type_info[((long)var10&3)]:var10->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 923); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 914); fatal_exit(1); } var17 = (uint32_t)((long)(var9)>>2); @@ -4155,14 +4659,14 @@ var20 = ((val*(*)(val* self))((((long)var_self_chars&3)?class_info[((long)var_se var21 = ((val*(*)(val* self))((((long)var_other_chars&3)?class_info[((long)var_other_chars&3)]:var_other_chars->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_other_chars); /* item on */ } { -{ /* Inline kernel#Char#> (var20,var21) on */ +{ /* Inline kernel$Char$> (var20,var21) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var24 = 1; /* easy isa OTHER*/ if (unlikely(!var24)) { var_class_name27 = var21 == NULL ? "null" : (((long)var21&3)?type_info[((long)var21&3)]:var21->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 925); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 916); fatal_exit(1); } var28 = (uint32_t)((long)(var20)>>2); @@ -4202,7 +4706,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Text#hash_cache for (self: Text): nullable Int */ +/* method abstract_text$Text$hash_cache for (self: Text): nullable Int */ val* core___core__Text___hash_cache(val* self) { val* var /* : nullable Int */; val* var1 /* : nullable Int */; @@ -4211,12 +4715,12 @@ var = var1; RET_LABEL:; return var; } -/* method abstract_text#Text#hash_cache= for (self: Text, nullable Int) */ +/* method abstract_text$Text$hash_cache= for (self: Text, nullable Int) */ void core___core__Text___hash_cache_61d(val* self, val* p0) { self->attrs[COLOR_core__abstract_text__Text___hash_cache].val = p0; /* _hash_cache on */ RET_LABEL:; } -/* method abstract_text#Text#hash for (self: Text): Int */ +/* method abstract_text$Text$hash for (self: Text): Int */ long core___core__Text___core__kernel__Object__hash(val* self) { long var /* : Int */; val* var1 /* : nullable Int */; @@ -4260,7 +4764,7 @@ val* var39 /* : nullable Int */; val* var41 /* : nullable Int */; long var42 /* : Int */; { -{ /* Inline abstract_text#Text#hash_cache (self) on */ +{ /* Inline abstract_text$Text$hash_cache (self) on */ var3 = self->attrs[COLOR_core__abstract_text__Text___hash_cache].val; /* _hash_cache on */ var1 = var3; RET_LABEL2:(void)0; @@ -4272,7 +4776,7 @@ var4 = 1; /* is null */ var4 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Int#== (var1,((val*)NULL)) on */ +{ /* Inline kernel$Int$== (var1,((val*)NULL)) on */ var7 = 0; /* incompatible types Int vs. null; cannot be NULL */ var5 = var7; goto RET_LABEL6; @@ -4289,14 +4793,14 @@ var8 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__l var_ = var8; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var11 = 1; /* easy isa OTHER*/ if (unlikely(!var11)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var12 = var_i < var_; @@ -4318,7 +4822,7 @@ var14 = ((val*(*)(val* self, long p0))((((long)var13&3)?class_info[((long)var13& var15 = (uint32_t)((long)(var14)>>2); var_char = var15; { -{ /* Inline kernel#Int#<< (var_h,5l) on */ +{ /* Inline kernel$Int$<< (var_h,5l) on */ var18 = var_h << 5l; var16 = var18; goto RET_LABEL17; @@ -4326,14 +4830,14 @@ RET_LABEL17:(void)0; } } { -{ /* Inline kernel#Int#+ (var16,var_h) on */ +{ /* Inline kernel$Int$+ (var16,var_h) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var21 = 1; /* easy isa OTHER*/ if (unlikely(!var21)) { var_class_name24 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var25 = var16 + var_h; @@ -4343,7 +4847,7 @@ RET_LABEL20:(void)0; } } { -{ /* Inline kernel#Char#code_point (var_char) on */ +{ /* Inline kernel$Char$code_point (var_char) on */ var28 = (long)var_char; var26 = var28; goto RET_LABEL27; @@ -4351,14 +4855,14 @@ RET_LABEL27:(void)0; } } { -{ /* Inline kernel#Int#+ (var19,var26) on */ +{ /* Inline kernel$Int$+ (var19,var26) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var31 = 1; /* easy isa OTHER*/ if (unlikely(!var31)) { 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_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var35 = var19 + var26; @@ -4375,7 +4879,7 @@ var_i = var36; } BREAK_label: (void)0; { -{ /* Inline abstract_text#Text#hash_cache= (self,var_h) on */ +{ /* Inline abstract_text$Text$hash_cache= (self,var_h) on */ var38 = (val*)(var_h<<2|1); self->attrs[COLOR_core__abstract_text__Text___hash_cache].val = var38; /* _hash_cache on */ RET_LABEL37:(void)0; @@ -4384,15 +4888,18 @@ RET_LABEL37:(void)0; } else { } { -{ /* Inline abstract_text#Text#hash_cache (self) on */ +{ /* Inline abstract_text$Text$hash_cache (self) on */ var41 = self->attrs[COLOR_core__abstract_text__Text___hash_cache].val; /* _hash_cache on */ var39 = var41; RET_LABEL40:(void)0; } } if (unlikely(var39 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 964); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1001); fatal_exit(1); } var42 = (long)(var39)>>2; @@ -4401,85 +4908,558 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#FlatText#items for (self: FlatText): NativeString */ -char* core___core__FlatText___items(val* self) { -char* var /* : NativeString */; -char* var1 /* : NativeString */; -var1 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on */ -var = var1; -RET_LABEL:; -return var; -} -/* method abstract_text#FlatText#length for (self: FlatText): Int */ -long core___core__FlatText___Text__length(val* self) { -long var /* : Int */; -long var1 /* : Int */; -var1 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on */ -var = var1; -RET_LABEL:; -return var; -} -/* method abstract_text#FlatText#bytelen for (self: FlatText): Int */ -long core___core__FlatText___Text__bytelen(val* self) { +/* method abstract_text$Text$levenshtein_distance for (self: Text, String): Int */ +long core___core__Text___levenshtein_distance(val* self, val* p0) { long var /* : Int */; +val* var_other /* var other: String */; long var1 /* : Int */; -var1 = self->attrs[COLOR_core__abstract_text__FlatText___bytelen].l; /* _bytelen on */ -var = var1; -RET_LABEL:; -return var; -} -/* method abstract_text#StringCharView#target for (self: StringCharView): Text */ -val* core__abstract_text___core__abstract_text__StringCharView___target(val* self) { -val* var /* : Text */; -val* var1 /* : Text */; -var1 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on */ -if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1138); -fatal_exit(1); -} -var = var1; -RET_LABEL:; -return var; -} -/* method abstract_text#StringCharView#target= for (self: StringCharView, Text) */ -void core__abstract_text___core__abstract_text__StringCharView___target_61d(val* self, val* p0) { -short int var /* : Bool */; +long var_slen /* var slen: Int */; +long var2 /* : Int */; +long var_olen /* var olen: Int */; +short int var3 /* : Bool */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +val* var10 /* : Array[Int] */; +long var11 /* : Int */; +short int var13 /* : Bool */; int cltype; int idtype; -const struct type* type_struct; const char* var_class_name; -/* Covariant cast for argument 0 (target) isa SELFTYPE */ -/* isa SELFTYPE */ -type_struct = self->type->resolution_table->types[COLOR_core__abstract_text__StringCharView__SELFTYPE]; -cltype = type_struct->color; -idtype = type_struct->id; -if(cltype >= p0->type->table_size) { -var = 0; -} else { -var = p0->type->type_table[cltype] == idtype; -} +long var14 /* : Int */; +val* var_v0 /* var v0: Array[Int] */; +val* var15 /* : Array[Int] */; +long var16 /* : Int */; +short int var18 /* : Bool */; +int cltype19; +int idtype20; +const char* var_class_name21; +long var22 /* : Int */; +val* var_v1 /* var v1: Array[Int] */; +long var_j /* var j: Int */; +long var_ /* var : Int */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +const char* var_class_name28; +short int var29 /* : Bool */; +val* var30 /* : nullable Object */; +long var31 /* : Int */; +long var_i /* var i: Int */; +long var_32 /* var : Int */; +short int var33 /* : Bool */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +const char* var_class_name38; +short int var39 /* : Bool */; +long var41 /* : Int */; +short int var43 /* : Bool */; +int cltype44; +int idtype45; +const char* var_class_name46; +long var47 /* : Int */; +val* var48 /* : nullable Object */; +long var_j49 /* var j: Int */; +long var_50 /* var : Int */; +short int var51 /* : Bool */; +short int var53 /* : Bool */; +int cltype54; +int idtype55; +const char* var_class_name56; +short int var57 /* : Bool */; +val* var59 /* : nullable Object */; +long var60 /* : Int */; +short int var62 /* : Bool */; +int cltype63; +int idtype64; +const char* var_class_name65; +long var66 /* : Int */; +long var67 /* : Int */; +long var_cost1 /* var cost1: Int */; +long var68 /* : Int */; +short int var70 /* : Bool */; +int cltype71; +int idtype72; +const char* var_class_name73; +long var74 /* : Int */; +val* var75 /* : nullable Object */; +long var76 /* : Int */; +short int var78 /* : Bool */; +int cltype79; +int idtype80; +const char* var_class_name81; +long var82 /* : Int */; +long var83 /* : Int */; +long var_cost2 /* var cost2: Int */; +val* var84 /* : nullable Object */; +long var85 /* : Int */; +long var_cost3 /* var cost3: Int */; +uint32_t var86 /* : Char */; +uint32_t var87 /* : Char */; +short int var88 /* : Bool */; +short int var90 /* : Bool */; +short int var91 /* : Bool */; +long var92 /* : Int */; +short int var94 /* : Bool */; +int cltype95; +int idtype96; +const char* var_class_name97; +long var98 /* : Int */; +long var99 /* : Int */; +short int var101 /* : Bool */; +int cltype102; +int idtype103; +const char* var_class_name104; +long var105 /* : Int */; +long var106 /* : Int */; +long var107 /* : Int */; +val* var108 /* : nullable Object */; +long var109 /* : Int */; +val* var_tmp /* var tmp: Array[Int] */; +long var110 /* : Int */; +val* var111 /* : nullable Object */; +long var112 /* : Int */; +var_other = p0; +{ +var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +} +var_slen = var1; +{ +var2 = ((long(*)(val* self))(var_other->class->vft[COLOR_core__abstract_text__Text__length]))(var_other); /* length on */ +} +var_olen = var2; +{ +{ /* Inline kernel$Int$== (var_slen,0l) on */ +var5 = var_slen == 0l; +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; +} +} +if (var3){ +var = var_olen; +goto RET_LABEL; +} else { +} +{ +{ /* Inline kernel$Int$== (var_olen,0l) on */ +var8 = var_olen == 0l; +var6 = var8; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +} +if (var6){ +var = var_slen; +goto RET_LABEL; +} else { +} +{ +var9 = ((short int(*)(val* self, val* p0))(self->class->vft[COLOR_core__kernel__Object___61d_61d]))(self, var_other); /* == on */ +} +if (var9){ +var = 0l; +goto RET_LABEL; +} else { +} +var10 = NEW_core__Array(&type_core__Array__core__Int); +{ +{ /* Inline kernel$Int$+ (var_olen,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var13 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var13)) { +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_core__kernel, 728); +fatal_exit(1); +} +var14 = var_olen + 1l; +var11 = var14; +goto RET_LABEL12; +RET_LABEL12:(void)0; +} +} +{ +core___core__Array___with_capacity(var10, var11); /* Direct call array$Array$with_capacity on */ +} +var_v0 = var10; +var15 = NEW_core__Array(&type_core__Array__core__Int); +{ +{ /* Inline kernel$Int$+ (var_olen,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var18 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var18)) { +var_class_name21 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var22 = var_olen + 1l; +var16 = var22; +goto RET_LABEL17; +RET_LABEL17:(void)0; +} +} +{ +core___core__Array___with_capacity(var15, var16); /* Direct call array$Array$with_capacity on */ +} +var_v1 = var15; +var_j = 0l; +var_ = var_olen; +for(;;) { +{ +{ /* Inline kernel$Int$<= (var_j,var_) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var25 = 1; /* easy isa OTHER*/ +if (unlikely(!var25)) { +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_core__kernel, 724); +fatal_exit(1); +} +var29 = var_j <= var_; +var23 = var29; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +if (var23){ +} else { +goto BREAK_label; +} +{ +var30 = (val*)(var_j<<2|1); +core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_v0, var_j, var30); /* Direct call array$Array$[]= on */ +} +{ +var31 = core___core__Int___Discrete__successor(var_j, 1l); +} +var_j = var31; +} +BREAK_label: (void)0; +var_i = 0l; +var_32 = var_slen; +for(;;) { +{ +{ /* Inline kernel$Int$< (var_i,var_32) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var35 = 1; /* easy isa OTHER*/ +if (unlikely(!var35)) { +var_class_name38 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); +fatal_exit(1); +} +var39 = var_i < var_32; +var33 = var39; +goto RET_LABEL34; +RET_LABEL34:(void)0; +} +} +if (var33){ +} else { +goto BREAK_label40; +} +{ +{ /* Inline kernel$Int$+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var43 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var43)) { +var_class_name46 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var47 = var_i + 1l; +var41 = var47; +goto RET_LABEL42; +RET_LABEL42:(void)0; +} +} +{ +var48 = (val*)(var41<<2|1); +core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_v1, 0l, var48); /* Direct call array$Array$[]= on */ +} +var_j49 = 0l; +var_50 = var_olen; +for(;;) { +{ +{ /* Inline kernel$Int$< (var_j49,var_50) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var53 = 1; /* easy isa OTHER*/ +if (unlikely(!var53)) { +var_class_name56 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); +fatal_exit(1); +} +var57 = var_j49 < var_50; +var51 = var57; +goto RET_LABEL52; +RET_LABEL52:(void)0; +} +} +if (var51){ +} else { +goto BREAK_label58; +} +{ +var59 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_v1, var_j49); +} +{ +{ /* Inline kernel$Int$+ (var59,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var62 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var62)) { +var_class_name65 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var66 = (long)(var59)>>2; +var67 = var66 + 1l; +var60 = var67; +goto RET_LABEL61; +RET_LABEL61:(void)0; +} +} +var_cost1 = var60; +{ +{ /* Inline kernel$Int$+ (var_j49,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var70 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var70)) { +var_class_name73 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var74 = var_j49 + 1l; +var68 = var74; +goto RET_LABEL69; +RET_LABEL69:(void)0; +} +} +{ +var75 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_v0, var68); +} +{ +{ /* Inline kernel$Int$+ (var75,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var78 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var78)) { +var_class_name81 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var82 = (long)(var75)>>2; +var83 = var82 + 1l; +var76 = var83; +goto RET_LABEL77; +RET_LABEL77:(void)0; +} +} +var_cost2 = var76; +{ +var84 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_v0, var_j49); +} +var85 = (long)(var84)>>2; +var_cost3 = var85; +{ +var86 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, var_i); /* [] on */ +} +{ +var87 = ((uint32_t(*)(val* self, long p0))(var_other->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var_other, var_j49); /* [] on */ +} +{ +{ /* Inline kernel$Char$!= (var86,var87) on */ +var90 = var86 == var87; +var91 = !var90; +var88 = var91; +goto RET_LABEL89; +RET_LABEL89:(void)0; +} +} +if (var88){ +{ +{ /* Inline kernel$Int$+ (var_cost3,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var94 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var94)) { +var_class_name97 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name97); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var98 = var_cost3 + 1l; +var92 = var98; +goto RET_LABEL93; +RET_LABEL93:(void)0; +} +} +var_cost3 = var92; +} else { +} +{ +{ /* Inline kernel$Int$+ (var_j49,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var101 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var101)) { +var_class_name104 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name104); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var105 = var_j49 + 1l; +var99 = var105; +goto RET_LABEL100; +RET_LABEL100:(void)0; +} +} +{ +var106 = core___core__Int___Comparable__min(var_cost1, var_cost2); +} +{ +var107 = core___core__Int___Comparable__min(var106, var_cost3); +} +{ +var108 = (val*)(var107<<2|1); +core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_v1, var99, var108); /* Direct call array$Array$[]= on */ +} +{ +var109 = core___core__Int___Discrete__successor(var_j49, 1l); +} +var_j49 = var109; +} +BREAK_label58: (void)0; +var_tmp = var_v1; +var_v1 = var_v0; +var_v0 = var_tmp; +{ +var110 = core___core__Int___Discrete__successor(var_i, 1l); +} +var_i = var110; +} +BREAK_label40: (void)0; +{ +var111 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_v0, var_olen); +} +var112 = (long)(var111)>>2; +var = var112; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_text$FlatText$items for (self: FlatText): CString */ +char* core___core__FlatText___items(val* self) { +char* var /* : CString */; +char* var1 /* : CString */; +var1 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on */ +var = var1; +RET_LABEL:; +return var; +} +/* method abstract_text$FlatText$length for (self: FlatText): Int */ +long core___core__FlatText___Text__length(val* self) { +long var /* : Int */; +long var1 /* : Int */; +var1 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on */ +var = var1; +RET_LABEL:; +return var; +} +/* method abstract_text$FlatText$length= for (self: FlatText, Int) */ +void core___core__FlatText___length_61d(val* self, long p0) { +self->attrs[COLOR_core__abstract_text__FlatText___length].l = p0; /* _length on */ +RET_LABEL:; +} +/* method abstract_text$FlatText$byte_length for (self: FlatText): Int */ +long core___core__FlatText___Text__byte_length(val* self) { +long var /* : Int */; +long var1 /* : Int */; +var1 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on */ +var = var1; +RET_LABEL:; +return var; +} +/* method abstract_text$FlatText$byte_length= for (self: FlatText, Int) */ +void core___core__FlatText___byte_length_61d(val* self, long p0) { +self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l = p0; /* _byte_length on */ +RET_LABEL:; +} +/* method abstract_text$StringCharView$target for (self: StringCharView): Text */ +val* core__abstract_text___core__abstract_text__StringCharView___target(val* self) { +val* var /* : Text */; +val* var1 /* : Text */; +var1 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on */ +if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320); +fatal_exit(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method abstract_text$StringCharView$target= for (self: StringCharView, Text) */ +void core__abstract_text___core__abstract_text__StringCharView___target_61d(val* self, val* p0) { +short int var /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +/* Covariant cast for argument 0 (target) isa SELFTYPE */ +/* isa SELFTYPE */ +type_struct = self->type->resolution_table->types[COLOR_core__abstract_text__StringCharView__SELFTYPE]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= p0->type->table_size) { +var = 0; +} else { +var = p0->type->type_table[cltype] == idtype; +} if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1138); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320); fatal_exit(1); } self->attrs[COLOR_core__abstract_text__StringCharView___target].val = p0; /* _target on */ RET_LABEL:; } -/* method abstract_text#StringCharView#is_empty for (self: StringCharView): Bool */ +/* method abstract_text$StringCharView$is_empty for (self: StringCharView): Bool */ short int core__abstract_text___core__abstract_text__StringCharView___core__abstract_collection__Collection__is_empty(val* self) { short int var /* : Bool */; val* var1 /* : Text */; val* var3 /* : Text */; short int var4 /* : Bool */; { -{ /* Inline abstract_text#StringCharView#target (self) on */ +{ /* Inline abstract_text$StringCharView$target (self) on */ var3 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1138); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320); fatal_exit(1); } var1 = var3; @@ -4494,18 +5474,21 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#StringCharView#length for (self: StringCharView): Int */ +/* method abstract_text$StringCharView$length for (self: StringCharView): Int */ long core__abstract_text___core__abstract_text__StringCharView___core__abstract_collection__Collection__length(val* self) { long var /* : Int */; val* var1 /* : Text */; val* var3 /* : Text */; long var4 /* : Int */; { -{ /* Inline abstract_text#StringCharView#target (self) on */ +{ /* Inline abstract_text$StringCharView$target (self) on */ var3 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1138); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320); fatal_exit(1); } var1 = var3; @@ -4520,7 +5503,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#StringCharView#iterator for (self: StringCharView): IndexedIterator[Char] */ +/* method abstract_text$StringCharView$iterator for (self: StringCharView): IndexedIterator[Char] */ val* core__abstract_text___core__abstract_text__StringCharView___core__abstract_collection__Collection__iterator(val* self) { val* var /* : IndexedIterator[Char] */; val* var1 /* : IndexedIterator[nullable Object] */; @@ -4532,7 +5515,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#StringCharView#reverse_iterator for (self: StringCharView): IndexedIterator[Char] */ +/* method abstract_text$StringCharView$reverse_iterator for (self: StringCharView): IndexedIterator[Char] */ val* core__abstract_text___core__abstract_text__StringCharView___core__abstract_collection__SequenceRead__reverse_iterator(val* self) { val* var /* : IndexedIterator[Char] */; long var1 /* : Int */; @@ -4547,14 +5530,14 @@ val* var6 /* : IndexedIterator[nullable Object] */; var1 = core__abstract_text___core__abstract_text__StringCharView___core__abstract_collection__Collection__length(self); } { -{ /* Inline kernel#Int#- (var1,1l) on */ +{ /* Inline kernel$Int$- (var1,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var4 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var4)) { 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_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var5 = var1 - 1l; @@ -4564,538 +5547,667 @@ RET_LABEL3:(void)0; } } { -var6 = ((val*(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_collection__SequenceRead__reverse_iterator_from]))(self, var2); /* reverse_iterator_from on */ +var6 = ((val*(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_collection__SequenceRead__reverse_iterator_from]))(self, var2); /* reverse_iterator_from on */ +} +var = var6; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_text$StringCharView$init for (self: StringCharView) */ +void core__abstract_text___core__abstract_text__StringCharView___core__kernel__Object__init(val* self) { +{ +((void(*)(val* self))(self->class->vft[COLOR_core__abstract_text___core__abstract_text__StringCharView___core__kernel__Object__init]))(self); /* init on */ +} +RET_LABEL:; +} +/* method abstract_text$String$to_s for (self: String): String */ +val* core___core__String___Object__to_s(val* self) { +val* var /* : String */; +var = self; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_text$String$clone for (self: String): String */ +val* core___core__String___core__kernel__Cloneable__clone(val* self) { +val* var /* : String */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +/* isa SELF */ +type_struct = self->type->resolution_table->types[COLOR_core__kernel__Object__SELF]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= self->type->table_size) { +var1 = 0; +} else { +var1 = self->type->type_table[cltype] == idtype; +} +if (unlikely(!var1)) { +var_class_name = self == NULL ? "null" : self->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELF", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1361); +fatal_exit(1); +} +var = self; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_text$String$to_snake_case for (self: String): String */ +val* core___core__String___Text__to_snake_case(val* self) { +val* var /* : String */; +short int var1 /* : Bool */; +static val* varoncenew; +static int varoncenew_guard; +val* var2 /* : Buffer */; +val* var3 /* : Buffer */; +long var4 /* : Int */; +val* var5 /* : Buffer */; +val* var_new_str /* var new_str: Buffer */; +val* var6 /* : String */; +{ +var1 = core___core__Text___is_lower(self); +} +if (var1){ +var = self; +goto RET_LABEL; +} else { +} +if (likely(varoncenew_guard)) { +var2 = varoncenew; +} else { +var3 = NEW_core__Buffer(&type_core__Buffer); +var2 = var3; +varoncenew = var2; +varoncenew_guard = 1; +} +{ +var4 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +} +{ +var5 = core__flat___Buffer___with_cap(var2, var4); +} +var_new_str = var5; +{ +((void(*)(val* self, val* p0))(var_new_str->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_new_str, self); /* append on */ +} +{ +core___core__Buffer___snake_case(var_new_str); /* Direct call abstract_text$Buffer$snake_case on */ +} +{ +var6 = ((val*(*)(val* self))(var_new_str->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_new_str); /* to_s on */ +} +var = var6; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method abstract_text$Buffer$written for (self: Buffer): Bool */ +short int core___core__Buffer___written(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_core__abstract_text__Buffer___written].s; /* _written on */ +var = var1; +RET_LABEL:; +return var; +} +/* method abstract_text$Buffer$written= for (self: Buffer, Bool) */ +void core___core__Buffer___written_61d(val* self, short int p0) { +self->attrs[COLOR_core__abstract_text__Buffer___written].s = p0; /* _written on */ +RET_LABEL:; +} +/* method abstract_text$Buffer$[]= for (self: Buffer, Int, Char) */ +void core___core__Buffer____91d_93d_61d(val* self, long p0, uint32_t p1) { +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "[]=", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1411); +fatal_exit(1); +RET_LABEL:; +} +/* method abstract_text$Buffer$clone for (self: Buffer): Buffer */ +val* core___core__Buffer___core__kernel__Cloneable__clone(val* self) { +val* var /* : Buffer */; +static val* varoncenew; +static int varoncenew_guard; +val* var1 /* : Buffer */; +val* var2 /* : Buffer */; +long var3 /* : Int */; +val* var4 /* : Buffer */; +val* var_cln /* var cln: Buffer */; +short int var5 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +if (likely(varoncenew_guard)) { +var1 = varoncenew; +} else { +var2 = NEW_core__Buffer(&type_core__Buffer); +var1 = var2; +varoncenew = var1; +varoncenew_guard = 1; +} +{ +var3 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__byte_length]))(self); /* byte_length on */ +} +{ +var4 = core__flat___Buffer___with_cap(var1, var3); +} +var_cln = var4; +{ +((void(*)(val* self, val* p0))(var_cln->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_cln, self); /* append on */ } -var = var6; +/* isa SELF */ +type_struct = self->type->resolution_table->types[COLOR_core__kernel__Object__SELF]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= var_cln->type->table_size) { +var5 = 0; +} else { +var5 = var_cln->type->type_table[cltype] == idtype; +} +if (unlikely(!var5)) { +var_class_name = var_cln == NULL ? "null" : var_cln->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELF", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1427); +fatal_exit(1); +} +var = var_cln; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#StringCharView#init for (self: StringCharView) */ -void core__abstract_text___core__abstract_text__StringCharView___core__kernel__Object__init(val* self) { -{ -((void(*)(val* self))(self->class->vft[COLOR_core__abstract_text___core__abstract_text__StringCharView___core__kernel__Object__init]))(self); /* init on */ +/* method abstract_text$Buffer$add for (self: Buffer, Char) */ +void core___core__Buffer___add(val* self, uint32_t p0) { +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "add", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1430); +fatal_exit(1); +RET_LABEL:; } +/* method abstract_text$Buffer$enlarge for (self: Buffer, Int) */ +void core___core__Buffer___enlarge(val* self, long p0) { +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "enlarge", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1444); +fatal_exit(1); RET_LABEL:; } -/* method abstract_text#StringByteView#target for (self: StringByteView): Text */ -val* core__abstract_text___core__abstract_text__StringByteView___target(val* self) { -val* var /* : Text */; -val* var1 /* : Text */; -var1 = self->attrs[COLOR_core__abstract_text__StringByteView___target].val; /* _target on */ -if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1156); +/* method abstract_text$Buffer$append for (self: Buffer, Text) */ +void core___core__Buffer___append(val* self, val* p0) { +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "append", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1447); fatal_exit(1); +RET_LABEL:; } -var = var1; +/* method abstract_text$Buffer$upper for (self: Buffer) */ +void core___core__Buffer___upper(val* self) { +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "upper", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1471); +fatal_exit(1); +RET_LABEL:; +} +/* method abstract_text$Buffer$lower for (self: Buffer) */ +void core___core__Buffer___lower(val* self) { +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "lower", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1479); +fatal_exit(1); +RET_LABEL:; +} +/* method abstract_text$Buffer$chars for (self: Buffer): Sequence[Char] */ +val* core___core__Buffer___Text__chars(val* self) { +val* var /* : Sequence[Char] */; +const char* var_class_name; +var_class_name = self == NULL ? "null" : self->type->name; +PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "chars", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1542); +fatal_exit(1); RET_LABEL:; return var; } -/* method abstract_text#StringByteView#target= for (self: StringByteView, Text) */ -void core__abstract_text___core__abstract_text__StringByteView___target_61d(val* self, val* p0) { -short int var /* : Bool */; +/* method abstract_text$Buffer$* for (self: Buffer, Int): Buffer */ +val* core___core__Buffer___Text___42d(val* self, long p0) { +val* var /* : Buffer */; +long var_i /* var i: Int */; +static val* varoncenew; +static int varoncenew_guard; +val* var1 /* : Buffer */; +val* var2 /* : Buffer */; +long var3 /* : Int */; +long var4 /* : Int */; +short int var6 /* : Bool */; int cltype; int idtype; -const struct type* type_struct; const char* var_class_name; -/* Covariant cast for argument 0 (target) isa SELFTYPE */ -/* isa SELFTYPE */ -type_struct = self->type->resolution_table->types[COLOR_core__abstract_text__StringByteView__SELFTYPE]; -cltype = type_struct->color; -idtype = type_struct->id; -if(cltype >= p0->type->table_size) { -var = 0; +long var7 /* : Int */; +val* var8 /* : Buffer */; +val* var_ret /* var ret: Buffer */; +long var_its /* var its: Int */; +long var_ /* var : Int */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +const char* var_class_name14; +short int var15 /* : Bool */; +long var16 /* : Int */; +var_i = p0; +if (likely(varoncenew_guard)) { +var1 = varoncenew; } else { -var = p0->type->type_table[cltype] == idtype; -} -if (unlikely(!var)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1156); -fatal_exit(1); +var2 = NEW_core__Buffer(&type_core__Buffer); +var1 = var2; +varoncenew = var1; +varoncenew_guard = 1; } -self->attrs[COLOR_core__abstract_text__StringByteView___target].val = p0; /* _target on */ -RET_LABEL:; +{ +var3 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__byte_length]))(self); /* byte_length on */ } -/* method abstract_text#StringByteView#is_empty for (self: StringByteView): Bool */ -short int core__abstract_text___core__abstract_text__StringByteView___core__abstract_collection__Collection__is_empty(val* self) { -short int var /* : Bool */; -val* var1 /* : Text */; -val* var3 /* : Text */; -short int var4 /* : Bool */; { -{ /* Inline abstract_text#StringByteView#target (self) on */ -var3 = self->attrs[COLOR_core__abstract_text__StringByteView___target].val; /* _target on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1156); +{ /* Inline kernel$Int$* (var3,var_i) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var6 = 1; /* easy isa OTHER*/ +if (unlikely(!var6)) { +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_core__kernel, 732); fatal_exit(1); } -var1 = var3; -RET_LABEL2:(void)0; +var7 = var3 * var_i; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } { -var4 = ((short int(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__Text__is_empty]))(var1); /* is_empty on */ -} -var = var4; -goto RET_LABEL; -RET_LABEL:; -return var; +var8 = core__flat___Buffer___with_cap(var1, var4); } -/* method abstract_text#StringByteView#length for (self: StringByteView): Int */ -long core__abstract_text___core__abstract_text__StringByteView___core__abstract_collection__Collection__length(val* self) { -long var /* : Int */; -val* var1 /* : Text */; -val* var3 /* : Text */; -long var4 /* : Int */; +var_ret = var8; +var_its = 0l; +var_ = var_i; +for(;;) { { -{ /* Inline abstract_text#StringByteView#target (self) on */ -var3 = self->attrs[COLOR_core__abstract_text__StringByteView___target].val; /* _target on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1156); +{ /* Inline kernel$Int$< (var_its,var_) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var11 = 1; /* easy isa OTHER*/ +if (unlikely(!var11)) { +var_class_name14 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var1 = var3; -RET_LABEL2:(void)0; +var15 = var_its < var_; +var9 = var15; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -{ -var4 = ((long(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__Text__bytelen]))(var1); /* bytelen on */ +if (var9){ +} else { +goto BREAK_label; } -var = var4; -goto RET_LABEL; -RET_LABEL:; -return var; +{ +((void(*)(val* self, val* p0))(var_ret->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_ret, self); /* append on */ } -/* method abstract_text#StringByteView#iterator for (self: StringByteView): Iterator[Byte] */ -val* core__abstract_text___core__abstract_text__StringByteView___core__abstract_collection__Collection__iterator(val* self) { -val* var /* : Iterator[Byte] */; -val* var1 /* : IndexedIterator[nullable Object] */; { -var1 = ((val*(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_collection__SequenceRead__iterator_from]))(self, 0l); /* iterator_from on */ +var16 = core___core__Int___Discrete__successor(var_its, 1l); } -var = var1; +var_its = var16; +} +BREAK_label: (void)0; +var = var_ret; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#StringByteView#reverse_iterator for (self: StringByteView): IndexedIterator[Byte] */ -val* core__abstract_text___core__abstract_text__StringByteView___core__abstract_collection__SequenceRead__reverse_iterator(val* self) { -val* var /* : IndexedIterator[Byte] */; -val* var1 /* : Text */; -val* var3 /* : Text */; -long var4 /* : Int */; -long var5 /* : Int */; -short int var7 /* : Bool */; -int cltype; -int idtype; +/* method abstract_text$Buffer$insert_char for (self: Buffer, Char, Int) */ +void core___core__Buffer___insert_char(val* self, uint32_t p0, long p1) { const char* var_class_name; -long var8 /* : Int */; -val* var9 /* : IndexedIterator[nullable Object] */; -{ -{ /* Inline abstract_text#StringByteView#target (self) on */ -var3 = self->attrs[COLOR_core__abstract_text__StringByteView___target].val; /* _target on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1156); +var_class_name = self == NULL ? "null" : self->type->name; +PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "insert_char", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1603); fatal_exit(1); +RET_LABEL:; } -var1 = var3; -RET_LABEL2:(void)0; -} -} +/* method abstract_text$Buffer$to_upper for (self: Buffer): Buffer */ +val* core___core__Buffer___Text__to_upper(val* self) { +val* var /* : Buffer */; +val* var1 /* : Buffer */; +val* var_ret /* var ret: Buffer */; { -var4 = ((long(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__Text__bytelen]))(var1); /* bytelen on */ +var1 = core___core__Buffer___core__kernel__Cloneable__clone(self); } +var_ret = var1; { -{ /* Inline kernel#Int#- (var4,1l) on */ -/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ -/* <1l:Int> isa OTHER */ -var7 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var7)) { -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_core__kernel, 734); -fatal_exit(1); +((void(*)(val* self))(var_ret->class->vft[COLOR_core__abstract_text__Buffer__upper]))(var_ret); /* upper on */ } -var8 = var4 - 1l; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var = var_ret; +goto RET_LABEL; +RET_LABEL:; +return var; } +/* method abstract_text$Buffer$to_lower for (self: Buffer): Buffer */ +val* core___core__Buffer___Text__to_lower(val* self) { +val* var /* : Buffer */; +val* var1 /* : Buffer */; +val* var_ret /* var ret: Buffer */; +{ +var1 = core___core__Buffer___core__kernel__Cloneable__clone(self); } +var_ret = var1; { -var9 = ((val*(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_collection__SequenceRead__reverse_iterator_from]))(self, var5); /* reverse_iterator_from on */ +((void(*)(val* self))(var_ret->class->vft[COLOR_core__abstract_text__Buffer__lower]))(var_ret); /* lower on */ } -var = var9; +var = var_ret; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#StringByteView#init for (self: StringByteView) */ -void core__abstract_text___core__abstract_text__StringByteView___core__kernel__Object__init(val* self) { +/* method abstract_text$Buffer$to_snake_case for (self: Buffer): Buffer */ +val* core___core__Buffer___Text__to_snake_case(val* self) { +val* var /* : Buffer */; +val* var1 /* : Buffer */; +val* var_ret /* var ret: Buffer */; { -((void(*)(val* self))(self->class->vft[COLOR_core__abstract_text___core__abstract_text__StringByteView___core__kernel__Object__init]))(self); /* init on */ +var1 = core___core__Buffer___core__kernel__Cloneable__clone(self); } -RET_LABEL:; +var_ret = var1; +{ +core___core__Buffer___snake_case(var_ret); /* Direct call abstract_text$Buffer$snake_case on */ } -/* method abstract_text#String#to_s for (self: String): String */ -val* core___core__String___Object__to_s(val* self) { -val* var /* : String */; -var = self; +var = var_ret; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#String#to_snake_case for (self: String): String */ -val* core___core__String___to_snake_case(val* self) { -val* var /* : String */; -short int var1 /* : Bool */; -val* var2 /* : Buffer */; -long var3 /* : Int */; -val* var4 /* : Buffer */; -val* var_new_str /* var new_str: Buffer */; +/* method abstract_text$Buffer$snake_case for (self: Buffer) */ +void core___core__Buffer___snake_case(val* self) { +short int var /* : Bool */; short int var_prev_is_lower /* var prev_is_lower: Bool */; short int var_prev_is_upper /* var prev_is_upper: Bool */; long var_i /* var i: Int */; -long var5 /* : Int */; -long var_ /* var : Int */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; +long var1 /* : Int */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var9 /* : Bool */; -val* var10 /* : SequenceRead[Char] */; -val* var11 /* : nullable Object */; -uint32_t var12 /* : Char */; +short int var5 /* : Bool */; +val* var6 /* : SequenceRead[Char] */; +val* var7 /* : nullable Object */; +uint32_t var8 /* : Char */; uint32_t var_char /* var char: Char */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +long var11 /* : Int */; short int var13 /* : Bool */; -short int var14 /* : Bool */; -short int var15 /* : Bool */; -short int var16 /* : Bool */; -short int var_17 /* var : Bool */; -long var18 /* : Int */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -const char* var_class_name23; -long var24 /* : Int */; -long var25 /* : Int */; -short int var26 /* : Bool */; +int cltype14; +int idtype15; +const char* var_class_name16; +long var17 /* : Int */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; +short int var_ /* var : Bool */; +long var20 /* : Int */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +const char* var_class_name25; +long var26 /* : Int */; +long var27 /* : Int */; short int var28 /* : Bool */; -int cltype29; -int idtype30; -const char* var_class_name31; -short int var32 /* : Bool */; -short int var_33 /* var : Bool */; -val* var34 /* : SequenceRead[Char] */; -long var35 /* : Int */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -const char* var_class_name40; -long var41 /* : Int */; -val* var42 /* : nullable Object */; -short int var43 /* : Bool */; -uint32_t var44 /* : Char */; -uint32_t var45 /* : Char */; -long var46 /* : Int */; -val* var47 /* : String */; -{ -var1 = core___core__Text___is_lower(self); -} -if (var1){ -var = self; -goto RET_LABEL; -} else { -} -var2 = NEW_core__Buffer(&type_core__Buffer); +short int var30 /* : Bool */; +int cltype31; +int idtype32; +const char* var_class_name33; +short int var34 /* : Bool */; +short int var_35 /* var : Bool */; +long var36 /* : Int */; +short int var38 /* : Bool */; +int cltype39; +int idtype40; +const char* var_class_name41; +long var42 /* : Int */; +uint32_t var43 /* : Char */; +short int var44 /* : Bool */; +long var45 /* : Int */; +short int var47 /* : Bool */; +int cltype48; +int idtype49; +const char* var_class_name50; +long var51 /* : Int */; +uint32_t var52 /* : Char */; +long var53 /* : Int */; +short int var55 /* : Bool */; +int cltype56; +int idtype57; +const char* var_class_name58; +long var59 /* : Int */; { -var3 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +var = core___core__Text___is_lower(self); } -{ -var4 = core__flat___Buffer___with_cap(var2, var3); +if (var){ +goto RET_LABEL; +} else { } -var_new_str = var4; var_prev_is_lower = 0; var_prev_is_upper = 0; var_i = 0l; +for(;;) { { -var5 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } -var_ = var5; -for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var8 = 1; /* easy isa OTHER*/ -if (unlikely(!var8)) { +{ /* Inline kernel$Int$< (var_i,var1) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var4 = 1; /* easy isa OTHER*/ +if (unlikely(!var4)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var9 = var_i < var_; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; -} -} -if (var6){ -} else { -goto BREAK_label; +var5 = var_i < var1; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; } -{ -var10 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ } +if (var2){ { -var11 = ((val*(*)(val* self, long p0))((((long)var10&3)?class_info[((long)var10&3)]:var10->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var10, var_i); /* [] on */ +var6 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ } -var12 = (uint32_t)((long)(var11)>>2); -var_char = var12; { -var13 = core___core__Char___is_lower(var_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_i); /* [] on */ } -if (var13){ +var8 = (uint32_t)((long)(var7)>>2); +var_char = var8; { -((void(*)(val* self, uint32_t p0))(var_new_str->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_new_str, var_char); /* add on */ +var9 = core___core__Char___is_lower(var_char); } +if (var9){ var_prev_is_lower = 1; var_prev_is_upper = 0; } else { { -var14 = core___core__Char___is_upper(var_char); +var10 = core___core__Char___is_upper(var_char); } -if (var14){ +if (var10){ if (var_prev_is_lower){ { -((void(*)(val* self, uint32_t p0))(var_new_str->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_new_str, '_'); /* add on */ +((void(*)(val* self, uint32_t p0, long p1))(self->class->vft[COLOR_core__abstract_text__Buffer__insert_char]))(self, '_', var_i); /* insert_char on */ +} +{ +{ /* Inline kernel$Int$+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var13 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var13)) { +var_class_name16 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var17 = var_i + 1l; +var11 = var17; +goto RET_LABEL12; +RET_LABEL12:(void)0; } +} +var_i = var11; } else { -var_17 = var_prev_is_upper; +var_ = var_prev_is_upper; if (var_prev_is_upper){ { -{ /* Inline kernel#Int#+ (var_i,1l) on */ +{ /* Inline kernel$Int$+ (var_i,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var20 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var20)) { -var_class_name23 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +var22 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var22)) { +var_class_name25 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var24 = var_i + 1l; -var18 = var24; -goto RET_LABEL19; -RET_LABEL19:(void)0; +var26 = var_i + 1l; +var20 = var26; +goto RET_LABEL21; +RET_LABEL21:(void)0; } } { -var25 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ +var27 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#< (var18,var25) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var28 = 1; /* easy isa OTHER*/ -if (unlikely(!var28)) { -var_class_name31 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +{ /* Inline kernel$Int$< (var20,var27) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var30 = 1; /* easy isa OTHER*/ +if (unlikely(!var30)) { +var_class_name33 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var32 = var18 < var25; -var26 = var32; -goto RET_LABEL27; -RET_LABEL27:(void)0; +var34 = var20 < var27; +var28 = var34; +goto RET_LABEL29; +RET_LABEL29:(void)0; } } -var16 = var26; +var19 = var28; } else { -var16 = var_17; -} -var_33 = var16; -if (var16){ -{ -var34 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__chars]))(self); /* chars on */ +var19 = var_; } +var_35 = var19; +if (var19){ { -{ /* Inline kernel#Int#+ (var_i,1l) on */ +{ /* Inline kernel$Int$+ (var_i,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var37 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var37)) { -var_class_name40 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +var38 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var38)) { +var_class_name41 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var41 = var_i + 1l; -var35 = var41; -goto RET_LABEL36; -RET_LABEL36:(void)0; +var42 = var_i + 1l; +var36 = var42; +goto RET_LABEL37; +RET_LABEL37:(void)0; } } { -var42 = ((val*(*)(val* self, long p0))((((long)var34&3)?class_info[((long)var34&3)]:var34->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var34, var35); /* [] on */ +var43 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, var36); /* [] on */ } { -var44 = (uint32_t)((long)(var42)>>2); -var43 = core___core__Char___is_lower(var44); +var44 = core___core__Char___is_lower(var43); } -var15 = var43; +var18 = var44; } else { -var15 = var_33; +var18 = var_35; +} +if (var18){ +{ +((void(*)(val* self, uint32_t p0, long p1))(self->class->vft[COLOR_core__abstract_text__Buffer__insert_char]))(self, '_', var_i); /* insert_char on */ } -if (var15){ { -((void(*)(val* self, uint32_t p0))(var_new_str->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_new_str, '_'); /* add on */ +{ /* Inline kernel$Int$+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var47 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var47)) { +var_class_name50 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var51 = var_i + 1l; +var45 = var51; +goto RET_LABEL46; +RET_LABEL46:(void)0; } +} +var_i = var45; } else { } } { -var45 = core___core__Char___to_lower(var_char); +var52 = core___core__Char___to_lower(var_char); } { -((void(*)(val* self, uint32_t p0))(var_new_str->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_new_str, var45); /* add on */ +((void(*)(val* self, long p0, uint32_t p1))(self->class->vft[COLOR_core__abstract_text__Buffer___91d_93d_61d]))(self, var_i, var52); /* []= on */ } var_prev_is_lower = 0; var_prev_is_upper = 1; } else { -{ -((void(*)(val* self, uint32_t p0))(var_new_str->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_new_str, var_char); /* add on */ -} var_prev_is_lower = 0; var_prev_is_upper = 0; } } { -var46 = core___core__Int___Discrete__successor(var_i, 1l); -} -var_i = var46; -} -BREAK_label: (void)0; -{ -var47 = ((val*(*)(val* self))(var_new_str->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_new_str); /* to_s on */ -} -var = var47; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method abstract_text#Buffer#is_dirty for (self: Buffer): Bool */ -short int core___core__Buffer___is_dirty(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_core__abstract_text__Buffer___is_dirty].s; /* _is_dirty on */ -var = var1; -RET_LABEL:; -return var; -} -/* method abstract_text#Buffer#is_dirty= for (self: Buffer, Bool) */ -void core___core__Buffer___is_dirty_61d(val* self, short int p0) { -self->attrs[COLOR_core__abstract_text__Buffer___is_dirty].s = p0; /* _is_dirty on */ -RET_LABEL:; -} -/* method abstract_text#Buffer#written for (self: Buffer): Bool */ -short int core___core__Buffer___written(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_core__abstract_text__Buffer___written].s; /* _written on */ -var = var1; -RET_LABEL:; -return var; -} -/* method abstract_text#Buffer#written= for (self: Buffer, Bool) */ -void core___core__Buffer___written_61d(val* self, short int p0) { -self->attrs[COLOR_core__abstract_text__Buffer___written].s = p0; /* _written on */ -RET_LABEL:; -} -/* method abstract_text#Buffer#[]= for (self: Buffer, Int, Char) */ -void core___core__Buffer____91d_93d_61d(val* self, long p0, uint32_t p1) { -const char* var_class_name; -var_class_name = self == NULL ? "null" : self->type->name; -PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "[]=", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1367); -fatal_exit(1); -RET_LABEL:; -} -/* method abstract_text#Buffer#add for (self: Buffer, Char) */ -void core___core__Buffer___add(val* self, uint32_t p0) { -const char* var_class_name; -var_class_name = self == NULL ? "null" : self->type->name; -PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "add", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1372); -fatal_exit(1); -RET_LABEL:; -} -/* method abstract_text#Buffer#enlarge for (self: Buffer, Int) */ -void core___core__Buffer___enlarge(val* self, long p0) { -const char* var_class_name; -var_class_name = self == NULL ? "null" : self->type->name; -PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "enlarge", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1386); -fatal_exit(1); -RET_LABEL:; -} -/* method abstract_text#Buffer#append for (self: Buffer, Text) */ -void core___core__Buffer___append(val* self, val* p0) { -const char* var_class_name; -var_class_name = self == NULL ? "null" : self->type->name; -PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "append", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1389); +{ /* Inline kernel$Int$+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var55 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var55)) { +var_class_name58 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); -RET_LABEL:; -} -/* method abstract_text#Buffer#hash for (self: Buffer): Int */ -long core___core__Buffer___core__kernel__Object__hash(val* self) { -long var /* : Int */; -short int var1 /* : Bool */; -short int var3 /* : Bool */; -long var5 /* : Int */; -{ -{ /* Inline abstract_text#Buffer#is_dirty (self) on */ -var3 = self->attrs[COLOR_core__abstract_text__Buffer___is_dirty].s; /* _is_dirty on */ -var1 = var3; -RET_LABEL2:(void)0; -} } -if (var1){ -{ -{ /* Inline abstract_text#Text#hash_cache= (self,((val*)NULL)) on */ -self->attrs[COLOR_core__abstract_text__Text___hash_cache].val = ((val*)NULL); /* _hash_cache on */ -RET_LABEL4:(void)0; +var59 = var_i + 1l; +var53 = var59; +goto RET_LABEL54; +RET_LABEL54:(void)0; } } +var_i = var53; } else { +goto BREAK_label; } -{ -var5 = ((long(*)(val* self))(self->class->vft[COLOR_core___core__Buffer___core__kernel__Object__hash]))(self); /* hash on */ -} -var = var5; -goto RET_LABEL; -RET_LABEL:; -return var; } -/* method abstract_text#Buffer#chars for (self: Buffer): Sequence[Char] */ -val* core___core__Buffer___Text__chars(val* self) { -val* var /* : Sequence[Char] */; -const char* var_class_name; -var_class_name = self == NULL ? "null" : self->type->name; -PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "chars", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1467); -fatal_exit(1); +BREAK_label: (void)0; RET_LABEL:; -return var; } -/* method abstract_text#Object#to_s for (self: Object): String */ +/* method abstract_text$Object$to_s for (self: Object): String */ val* core__abstract_text___Object___to_s(val* self) { val* var /* : String */; val* var1 /* : String */; @@ -5107,11 +6219,11 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Object#native_class_name for (self: Object): NativeString */ +/* method abstract_text$Object$native_class_name for (self: Object): CString */ char* core__abstract_text___Object___native_class_name(val* self) { -char* var /* : NativeString */; +char* var /* : CString */; const char* var_class_name; -char* var1 /* : NativeString */; +char* var1 /* : CString */; var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name; var1 = (char*)var_class_name; var = var1; @@ -5119,15 +6231,15 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Object#class_name for (self: Object): String */ +/* method abstract_text$Object$class_name for (self: Object): String */ val* core__abstract_text___Object___class_name(val* self) { val* var /* : String */; -char* var1 /* : NativeString */; +char* var1 /* : CString */; const char* var_class_name; -char* var3 /* : NativeString */; +char* var3 /* : CString */; val* var4 /* : String */; { -{ /* Inline abstract_text#Object#native_class_name (self) on */ +{ /* Inline abstract_text$Object$native_class_name (self) on */ var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name; var3 = (char*)var_class_name; var1 = var3; @@ -5136,85 +6248,109 @@ RET_LABEL2:(void)0; } } { -var4 = core__flat___NativeString___core__abstract_text__Object__to_s(var1); +var4 = core__flat___CString___core__abstract_text__Object__to_s(var1); } var = var4; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Object#inspect for (self: Object): String */ +/* method abstract_text$Object$inspect for (self: Object): String */ val* core__abstract_text___Object___inspect(val* self) { val* var /* : String */; val* var1 /* : NativeArray[String] */; static val* varonce; static val* varonce2; val* var3 /* : String */; -char* var4 /* : NativeString */; +char* var4 /* : CString */; val* var5 /* : String */; -static val* varonce6; -val* var7 /* : String */; -char* var8 /* : NativeString */; -val* var9 /* : String */; -val* var10 /* : String */; +val* var6 /* : nullable Int */; +val* var7 /* : nullable Int */; +val* var8 /* : nullable Bool */; +val* var9 /* : nullable Bool */; +static val* varonce10; val* var11 /* : String */; +char* var12 /* : CString */; +val* var13 /* : String */; +val* var14 /* : nullable Int */; +val* var15 /* : nullable Int */; +val* var16 /* : nullable Bool */; +val* var17 /* : nullable Bool */; +val* var18 /* : String */; +val* var19 /* : String */; if (unlikely(varonce==NULL)) { -var1 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +var1 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); if (likely(varonce2!=NULL)) { var3 = varonce2; } else { var4 = "<"; -var5 = core__flat___NativeString___to_s_full(var4, 1l, 1l); +var6 = (val*)(1l<<2|1); +var7 = (val*)(1l<<2|1); +var8 = (val*)((long)(0)<<2|3); +var9 = (val*)((long)(0)<<2|3); +var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9); var3 = var5; varonce2 = var3; } ((struct instance_core__NativeArray*)var1)->values[0]=var3; -if (likely(varonce6!=NULL)) { -var7 = varonce6; +if (likely(varonce10!=NULL)) { +var11 = varonce10; } else { -var8 = ">"; -var9 = core__flat___NativeString___to_s_full(var8, 1l, 1l); -var7 = var9; -varonce6 = var7; +var12 = ">"; +var14 = (val*)(1l<<2|1); +var15 = (val*)(1l<<2|1); +var16 = (val*)((long)(0)<<2|3); +var17 = (val*)((long)(0)<<2|3); +var13 = core__flat___CString___to_s_unsafe(var12, var14, var15, var16, var17); +var11 = var13; +varonce10 = var11; } -((struct instance_core__NativeArray*)var1)->values[2]=var7; +((struct instance_core__NativeArray*)var1)->values[2]=var11; } else { var1 = varonce; varonce = NULL; } { -var10 = core__abstract_text___Object___inspect_head(self); +var18 = core__abstract_text___Object___inspect_head(self); } -((struct instance_core__NativeArray*)var1)->values[1]=var10; +((struct instance_core__NativeArray*)var1)->values[1]=var18; { -var11 = ((val*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1); /* native_to_s on */ +var19 = ((val*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1); /* native_to_s on */ } varonce = var1; -var = var11; +var = var19; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Object#inspect_head for (self: Object): String */ +/* method abstract_text$Object$inspect_head for (self: Object): String */ val* core__abstract_text___Object___inspect_head(val* self) { val* var /* : String */; val* var1 /* : NativeArray[String] */; static val* varonce; static val* varonce2; val* var3 /* : String */; -char* var4 /* : NativeString */; +char* var4 /* : CString */; val* var5 /* : String */; -val* var6 /* : String */; -long var7 /* : Int */; -val* var8 /* : String */; -val* var9 /* : String */; +val* var6 /* : nullable Int */; +val* var7 /* : nullable Int */; +val* var8 /* : nullable Bool */; +val* var9 /* : nullable Bool */; +val* var10 /* : String */; +long var11 /* : Int */; +val* var12 /* : String */; +val* var13 /* : String */; if (unlikely(varonce==NULL)) { -var1 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +var1 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); if (likely(varonce2!=NULL)) { var3 = varonce2; } else { var4 = ":#"; -var5 = core__flat___NativeString___to_s_full(var4, 2l, 2l); +var6 = (val*)(2l<<2|1); +var7 = (val*)(2l<<2|1); +var8 = (val*)((long)(0)<<2|3); +var9 = (val*)((long)(0)<<2|3); +var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9); var3 = var5; varonce2 = var3; } @@ -5224,26 +6360,26 @@ var1 = varonce; varonce = NULL; } { -var6 = core__abstract_text___Object___class_name(self); +var10 = core__abstract_text___Object___class_name(self); } -((struct instance_core__NativeArray*)var1)->values[0]=var6; +((struct instance_core__NativeArray*)var1)->values[0]=var10; { -var7 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__kernel__Object__object_id]))(self); /* object_id on */ +var11 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__kernel__Object__object_id]))(self); /* object_id on */ } { -var8 = core__abstract_text___Int___to_hex(var7); +var12 = core__abstract_text___Int___to_hex(var11); } -((struct instance_core__NativeArray*)var1)->values[2]=var8; +((struct instance_core__NativeArray*)var1)->values[2]=var12; { -var9 = ((val*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1); /* native_to_s on */ +var13 = ((val*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1); /* native_to_s on */ } varonce = var1; -var = var9; +var = var13; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Bool#to_s for (self: Bool): String */ +/* method abstract_text$Bool$to_s for (self: Bool): String */ val* core__abstract_text___Bool___Object__to_s(short int self) { val* var /* : String */; static val* varonce; @@ -5251,15 +6387,23 @@ static int varonce_guard; val* var1 /* : String */; static val* varonce2; val* var3 /* : String */; -char* var4 /* : NativeString */; +char* var4 /* : CString */; val* var5 /* : String */; -static val* varonce6; -static int varonce6_guard; -val* var7 /* : String */; -static val* varonce8; -val* var9 /* : String */; -char* var10 /* : NativeString */; +val* var6 /* : nullable Int */; +val* var7 /* : nullable Int */; +val* var8 /* : nullable Bool */; +val* var9 /* : nullable Bool */; +static val* varonce10; +static int varonce10_guard; val* var11 /* : String */; +static val* varonce12; +val* var13 /* : String */; +char* var14 /* : CString */; +val* var15 /* : String */; +val* var16 /* : nullable Int */; +val* var17 /* : nullable Int */; +val* var18 /* : nullable Bool */; +val* var19 /* : nullable Bool */; if (self){ if (likely(varonce_guard)) { var1 = varonce; @@ -5268,7 +6412,11 @@ if (likely(varonce2!=NULL)) { var3 = varonce2; } else { var4 = "true"; -var5 = core__flat___NativeString___to_s_full(var4, 4l, 4l); +var6 = (val*)(4l<<2|1); +var7 = (val*)(4l<<2|1); +var8 = (val*)((long)(0)<<2|3); +var9 = (val*)((long)(0)<<2|3); +var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9); var3 = var5; varonce2 = var3; } @@ -5279,28 +6427,32 @@ varonce_guard = 1; var = var1; goto RET_LABEL; } else { -if (likely(varonce6_guard)) { -var7 = varonce6; +if (likely(varonce10_guard)) { +var11 = varonce10; } else { -if (likely(varonce8!=NULL)) { -var9 = varonce8; +if (likely(varonce12!=NULL)) { +var13 = varonce12; } else { -var10 = "false"; -var11 = core__flat___NativeString___to_s_full(var10, 5l, 5l); -var9 = var11; -varonce8 = var9; +var14 = "false"; +var16 = (val*)(5l<<2|1); +var17 = (val*)(5l<<2|1); +var18 = (val*)((long)(0)<<2|3); +var19 = (val*)((long)(0)<<2|3); +var15 = core__flat___CString___to_s_unsafe(var14, var16, var17, var18, var19); +var13 = var15; +varonce12 = var13; } -var7 = var9; -varonce6 = var7; -varonce6_guard = 1; +var11 = var13; +varonce10 = var11; +varonce10_guard = 1; } -var = var7; +var = var11; goto RET_LABEL; } RET_LABEL:; return var; } -/* method abstract_text#Bool#to_s for (self: Object): String */ +/* method abstract_text$Bool$to_s for (self: Object): String */ val* VIRTUAL_core__abstract_text___Bool___Object__to_s(val* self) { val* var /* : String */; val* var1 /* : String */; @@ -5311,120 +6463,134 @@ var = var1; RET_LABEL:; return var; } -/* method abstract_text#Byte#byte_to_s_len for (self: Byte): Int */ +/* method abstract_text$Byte$byte_to_s_len for (self: Byte): Int */ long core__abstract_text___Byte___byte_to_s_len(unsigned char self) { long var /* : Int */; long var1 /* : Int */; -var1 = abstract_text___Byte_byte_to_s_len___impl(self); +var1 = core__abstract_text___Byte_byte_to_s_len___impl(self); var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Byte#native_byte_to_s for (self: Byte, NativeString, Int) */ +/* method abstract_text$Byte$native_byte_to_s for (self: Byte, CString, Int) */ void core__abstract_text___Byte___native_byte_to_s(unsigned char self, char* p0, long p1) { -abstract_text___Byte_native_byte_to_s___impl(self, p0, p1); +core__abstract_text___Byte_native_byte_to_s___impl(self, p0, p1); RET_LABEL:; } -/* method abstract_text#Byte#to_s for (self: Byte): String */ +/* method abstract_text$Byte$to_s for (self: Byte): String */ val* core__abstract_text___Byte___Object__to_s(unsigned char self) { val* var /* : String */; long var1 /* : Int */; long var3 /* : Int */; long var_nslen /* var nslen: Int */; -char* var4 /* : NativeString */; -long var5 /* : Int */; -short int var7 /* : Bool */; +static char* varoncenew; +static int varoncenew_guard; +char* var4 /* : CString */; +char* var5 /* : CString */; +long var6 /* : Int */; +short int var8 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var8 /* : Int */; -char* var9 /* : NativeString */; -char* var11 /* : NativeString */; -char* var_ns /* var ns: NativeString */; -long var13 /* : Int */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -const char* var_class_name18; -long var19 /* : Int */; -val* var21 /* : String */; -val* var22 /* : nullable Int */; +long var9 /* : Int */; +char* var10 /* : CString */; +char* var12 /* : CString */; +char* var_ns /* var ns: CString */; +long var14 /* : Int */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +const char* var_class_name19; +long var20 /* : Int */; +val* var22 /* : String */; +val* var23 /* : nullable Int */; +val* var24 /* : nullable Bool */; +val* var25 /* : nullable Bool */; { -{ /* Inline abstract_text#Byte#byte_to_s_len (self) on */ -var3 = abstract_text___Byte_byte_to_s_len___impl(self); +{ /* Inline abstract_text$Byte$byte_to_s_len (self) on */ +var3 = core__abstract_text___Byte_byte_to_s_len___impl(self); var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0; } } var_nslen = var1; -var4 = NULL/*special!*/; +if (likely(varoncenew_guard)) { +var4 = varoncenew; +} else { +var5 = NULL/*special!*/; +var4 = var5; +varoncenew = var4; +varoncenew_guard = 1; +} { -{ /* Inline kernel#Int#+ (var_nslen,1l) on */ +{ /* Inline kernel$Int$+ (var_nslen,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var7 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var7)) { +var8 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var8)) { 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_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var8 = var_nslen + 1l; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var9 = var_nslen + 1l; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } { -{ /* Inline native#NativeString#new (var4,var5) on */ -var11 = (char*)nit_alloc(var5); -var9 = var11; -goto RET_LABEL10; -RET_LABEL10:(void)0; +{ /* Inline native$CString$new (var4,var6) on */ +var12 = (char*)nit_alloc(var6); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } } -var_ns = var9; +var_ns = var10; { -{ /* Inline native#NativeString#[]= (var_ns,var_nslen,((unsigned char)0x00)) on */ +{ /* Inline native$CString$[]= (var_ns,var_nslen,((unsigned char)0x00)) on */ var_ns[var_nslen]=(unsigned char)((unsigned char)0x00); -RET_LABEL12:(void)0; +RET_LABEL13:(void)0; } } { -{ /* Inline kernel#Int#+ (var_nslen,1l) on */ +{ /* Inline kernel$Int$+ (var_nslen,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var15 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var15)) { -var_class_name18 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +var16 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var16)) { +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_core__kernel, 728); fatal_exit(1); } -var19 = var_nslen + 1l; -var13 = var19; -goto RET_LABEL14; -RET_LABEL14:(void)0; +var20 = var_nslen + 1l; +var14 = var20; +goto RET_LABEL15; +RET_LABEL15:(void)0; } } { -{ /* Inline abstract_text#Byte#native_byte_to_s (self,var_ns,var13) on */ -abstract_text___Byte_native_byte_to_s___impl(self, var_ns, var13); -RET_LABEL20:(void)0; +{ /* Inline abstract_text$Byte$native_byte_to_s (self,var_ns,var14) on */ +core__abstract_text___Byte_native_byte_to_s___impl(self, var_ns, var14); +RET_LABEL21:(void)0; } } { -var22 = (val*)(var_nslen<<2|1); -var21 = core__flat___NativeString___to_s_unsafe(var_ns, var22); +var23 = (val*)(var_nslen<<2|1); +var24 = (val*)((long)(0)<<2|3); +var25 = (val*)((long)(0)<<2|3); +var22 = core__flat___CString___to_s_unsafe(var_ns, var23, ((val*)NULL), var24, var25); } -var = var21; +var = var22; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Byte#to_s for (self: Object): String */ +/* method abstract_text$Byte$to_s for (self: Object): String */ val* VIRTUAL_core__abstract_text___Byte___Object__to_s(val* self) { val* var /* : String */; val* var1 /* : String */; @@ -5435,43 +6601,42 @@ var = var1; RET_LABEL:; return var; } -/* method abstract_text#Int#strerror_ext for (self: Int): NativeString */ +/* method abstract_text$Int$strerror_ext for (self: Int): CString */ char* core__abstract_text___Int___strerror_ext(long self) { -char* var /* : NativeString */; -char* var1 /* : NativeString */; -var1 = abstract_text___Int_strerror_ext___impl(self); +char* var /* : CString */; +char* var1 /* : CString */; +var1 = core__abstract_text___Int_strerror_ext___impl(self); var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Int#strerror for (self: Int): String */ +/* method abstract_text$Int$strerror for (self: Int): String */ val* core__abstract_text___Int___strerror(long self) { val* var /* : String */; -char* var1 /* : NativeString */; -char* var3 /* : NativeString */; +char* var1 /* : CString */; +char* var3 /* : CString */; val* var4 /* : String */; { -{ /* Inline abstract_text#Int#strerror_ext (self) on */ -var3 = abstract_text___Int_strerror_ext___impl(self); +{ /* Inline abstract_text$Int$strerror_ext (self) on */ +var3 = core__abstract_text___Int_strerror_ext___impl(self); var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0; } } { -var4 = core__flat___NativeString___core__abstract_text__Object__to_s(var1); +var4 = core__flat___CString___core__abstract_text__Object__to_s(var1); } var = var4; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Int#fill_buffer for (self: Int, Buffer, Int, Bool) */ -void core__abstract_text___Int___fill_buffer(long self, val* p0, long p1, short int p2) { +/* method abstract_text$Int$fill_buffer for (self: Int, Buffer, Int) */ +void core__abstract_text___Int___fill_buffer(long self, val* p0, long p1) { val* var_s /* var s: Buffer */; long var_base /* var base: Int */; -short int var_signed /* var signed: Bool */; short int var /* : Bool */; short int var2 /* : Bool */; int cltype; @@ -5528,16 +6693,15 @@ const char* var_class_name55; long var56 /* : Int */; var_s = p0; var_base = p1; -var_signed = p2; { -{ /* Inline kernel#Int#< (self,0l) on */ +{ /* Inline kernel$Int$< (self,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ var2 = 1; /* easy <0l:Int> isa OTHER*/ if (unlikely(!var2)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var3 = self < 0l; @@ -5548,7 +6712,7 @@ RET_LABEL1:(void)0; } if (var){ { -{ /* Inline kernel#Int#unary - (self) on */ +{ /* Inline kernel$Int$unary - (self) on */ var6 = -self; var4 = var6; goto RET_LABEL5; @@ -5565,7 +6729,7 @@ var8 = (val*)((long)('-')<<2|2); } } else { { -{ /* Inline kernel#Int#== (self,0l) on */ +{ /* Inline kernel$Int$== (self,0l) on */ var11 = self == 0l; var9 = var11; goto RET_LABEL10; @@ -5589,14 +6753,14 @@ var_n = self; var14 = core___core__Int___digit_count(self, var_base); } { -{ /* Inline kernel#Int#- (var14,1l) on */ +{ /* Inline kernel$Int$- (var14,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var17 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var17)) { var_class_name20 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var21 = var14 - 1l; @@ -5608,14 +6772,14 @@ RET_LABEL16:(void)0; var_pos = var15; for(;;) { { -{ /* Inline kernel#Int#>= (var_pos,0l) on */ +{ /* Inline kernel$Int$>= (var_pos,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ var25 = 1; /* easy <0l:Int> isa OTHER*/ if (unlikely(!var25)) { 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_core__kernel, 729); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726); fatal_exit(1); } var29 = var_pos >= 0l; @@ -5627,14 +6791,14 @@ RET_LABEL24:(void)0; var_ = var23; if (var23){ { -{ /* Inline kernel#Int#> (var_n,0l) on */ +{ /* Inline kernel$Int$> (var_n,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ var32 = 1; /* easy <0l:Int> isa OTHER*/ if (unlikely(!var32)) { var_class_name35 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); fatal_exit(1); } var36 = var_n > 0l; @@ -5652,7 +6816,7 @@ if (var22){ var37 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__chars]))(var_s); /* chars on */ } { -{ /* Inline kernel#Int#% (var_n,var_base) on */ +{ /* Inline kernel$Int$% (var_n,var_base) on */ var40 = var_n % var_base; var38 = var40; goto RET_LABEL39; @@ -5667,14 +6831,14 @@ var42 = (val*)((long)(var41)<<2|2); ((void(*)(val* self, long p0, val* p1))((((long)var37&3)?class_info[((long)var37&3)]:var37->class)->vft[COLOR_core__abstract_collection__Sequence___91d_93d_61d]))(var37, var_pos, var42); /* []= on */ } { -{ /* Inline kernel#Int#/ (var_n,var_base) on */ +{ /* Inline kernel$Int$/ (var_n,var_base) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var45 = 1; /* easy isa OTHER*/ if (unlikely(!var45)) { var_class_name48 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 736); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 733); fatal_exit(1); } var49 = var_n / var_base; @@ -5685,14 +6849,14 @@ RET_LABEL44:(void)0; } var_n = var43; { -{ /* Inline kernel#Int#- (var_pos,1l) on */ +{ /* Inline kernel$Int$- (var_pos,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var52 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var52)) { var_class_name55 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var56 = var_pos - 1l; @@ -5709,34 +6873,120 @@ goto BREAK_label; BREAK_label: (void)0; RET_LABEL:; } -/* method abstract_text#Int#int_to_s_len for (self: Int): Int */ +/* method abstract_text$Int$int_to_s_len for (self: Int): Int */ long core__abstract_text___Int___int_to_s_len(long self) { long var /* : Int */; long var1 /* : Int */; -var1 = abstract_text___Int_int_to_s_len___impl(self); +var1 = core__abstract_text___Int_int_to_s_len___impl(self); var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Int#native_int_to_s for (self: Int, NativeString, Int) */ +/* method abstract_text$Int$native_int_to_s for (self: Int, CString, Int) */ void core__abstract_text___Int___native_int_to_s(long self, char* p0, long p1) { -abstract_text___Int_native_int_to_s___impl(self, p0, p1); +core__abstract_text___Int_native_int_to_s___impl(self, p0, p1); +RET_LABEL:; +} +/* method abstract_text$Int$to_base for (self: Int, Int): String */ +val* core__abstract_text___Int___to_base(long self, long p0) { +val* var /* : String */; +long var_base /* var base: Int */; +long var1 /* : Int */; +long var_l /* var l: Int */; +static val* varoncenew; +static int varoncenew_guard; +val* var2 /* : Buffer */; +val* var3 /* : Buffer */; +val* var4 /* : Buffer */; +val* var_s /* var s: Buffer */; +long var_x /* var x: Int */; +long var_ /* var : Int */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var8 /* : Bool */; +long var9 /* : Int */; +val* var10 /* : String */; +var_base = p0; +{ +var1 = core___core__Int___digit_count(self, var_base); +} +var_l = var1; +if (likely(varoncenew_guard)) { +var2 = varoncenew; +} else { +var3 = NEW_core__Buffer(&type_core__Buffer); +var2 = var3; +varoncenew = var2; +varoncenew_guard = 1; +} +{ +var4 = core__flat___Buffer___new(var2); +} +var_s = var4; +{ +((void(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__enlarge]))(var_s, var_l); /* enlarge on */ +} +var_x = 0l; +var_ = var_l; +for(;;) { +{ +{ /* Inline kernel$Int$< (var_x,var_) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var7 = 1; /* easy isa OTHER*/ +if (unlikely(!var7)) { +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_core__kernel, 725); +fatal_exit(1); +} +var8 = var_x < var_; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +if (var5){ +} else { +goto BREAK_label; +} +{ +((void(*)(val* self, uint32_t p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__add]))(var_s, ' '); /* add on */ +} +{ +var9 = core___core__Int___Discrete__successor(var_x, 1l); +} +var_x = var9; +} +BREAK_label: (void)0; +{ +core__abstract_text___Int___fill_buffer(self, var_s, var_base); /* Direct call abstract_text$Int$fill_buffer on */ +} +{ +var10 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_s); /* to_s on */ +} +var = var10; +goto RET_LABEL; RET_LABEL:; +return var; } -/* method abstract_text#Int#to_hex for (self: Int): String */ +/* method abstract_text$Int$to_hex for (self: Int): String */ val* core__abstract_text___Int___to_hex(long self) { val* var /* : String */; val* var1 /* : String */; { -var1 = core__flat___Int___to_base(self, 16l, 0); +var1 = core__abstract_text___Int___to_base(self, 16l); } var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Float#to_s for (self: Float): String */ +/* method abstract_text$Float$to_s for (self: Float): String */ val* core__abstract_text___Float___Object__to_s(double self) { val* var /* : String */; val* var1 /* : String */; @@ -5809,7 +7059,7 @@ var_str = var1; var3 = core__math___Float___is_inf(self); } { -{ /* Inline kernel#Int#!= (var3,0l) on */ +{ /* Inline kernel$Int$!= (var3,0l) on */ var6 = var3 == 0l; var7 = !var6; var4 = var7; @@ -5822,8 +7072,8 @@ if (var4){ var2 = var_; } else { { -{ /* Inline math#Float#is_nan (self) on */ -var10 = math___Float_is_nan___impl(self); +{ /* Inline math$Float$is_nan (self) on */ +var10 = core__math___Float_is_nan___impl(self); var8 = var10; goto RET_LABEL9; RET_LABEL9:(void)0; @@ -5842,14 +7092,14 @@ var11 = ((long(*)(val* self))(var_str->class->vft[COLOR_core__abstract_text__Tex var_len = var11; var_i = 0l; { -{ /* Inline kernel#Int#- (var_len,1l) on */ +{ /* Inline kernel$Int$- (var_len,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var14 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var14)) { 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_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var15 = var_len - 1l; @@ -5861,14 +7111,14 @@ RET_LABEL13:(void)0; var_16 = var12; for(;;) { { -{ /* Inline kernel#Int#<= (var_i,var_16) on */ +{ /* Inline kernel$Int$<= (var_i,var_16) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var19 = 1; /* easy isa OTHER*/ if (unlikely(!var19)) { var_class_name22 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724); fatal_exit(1); } var23 = var_i <= var_16; @@ -5882,14 +7132,14 @@ if (var17){ goto BREAK_label; } { -{ /* Inline kernel#Int#- (var_len,1l) on */ +{ /* Inline kernel$Int$- (var_len,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var26 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var26)) { var_class_name29 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var30 = var_len - 1l; @@ -5899,14 +7149,14 @@ RET_LABEL25:(void)0; } } { -{ /* Inline kernel#Int#- (var24,var_i) on */ +{ /* Inline kernel$Int$- (var24,var_i) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var33 = 1; /* easy isa OTHER*/ if (unlikely(!var33)) { var_class_name36 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var37 = var24 - var_i; @@ -5925,7 +7175,7 @@ var39 = ((val*(*)(val* self, long p0))((((long)var38&3)?class_info[((long)var38& var40 = (uint32_t)((long)(var39)>>2); var_c = var40; { -{ /* Inline kernel#Char#== (var_c,'0') on */ +{ /* Inline kernel$Char$== (var_c,'0') on */ var43 = var_c == '0'; var41 = var43; goto RET_LABEL42; @@ -5936,7 +7186,7 @@ if (var41){ goto BREAK_label44; } else { { -{ /* Inline kernel#Char#== (var_c,'.') on */ +{ /* Inline kernel$Char$== (var_c,'.') on */ var47 = var_c == '.'; var45 = var47; goto RET_LABEL46; @@ -5945,14 +7195,14 @@ RET_LABEL46:(void)0; } if (var45){ { -{ /* Inline kernel#Int#+ (var_j,2l) on */ +{ /* Inline kernel$Int$+ (var_j,2l) on */ /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ /* <2l:Int> isa OTHER */ var50 = 1; /* easy <2l:Int> isa OTHER*/ if (unlikely(!var50)) { var_class_name53 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var54 = var_j + 2l; @@ -5968,14 +7218,14 @@ var = var55; goto RET_LABEL; } else { { -{ /* Inline kernel#Int#+ (var_j,1l) on */ +{ /* Inline kernel$Int$+ (var_j,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var58 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var58)) { var_class_name61 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var62 = var_j + 1l; @@ -6003,7 +7253,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Float#to_s for (self: Object): String */ +/* method abstract_text$Float$to_s for (self: Object): String */ val* VIRTUAL_core__abstract_text___Float___Object__to_s(val* self) { val* var /* : String */; val* var1 /* : String */; @@ -6014,7 +7264,7 @@ var = var1; RET_LABEL:; return var; } -/* method abstract_text#Float#to_precision for (self: Float, Int): String */ +/* method abstract_text$Float$to_precision for (self: Float, Int): String */ val* core__abstract_text___Float___to_precision(double self, long p0) { val* var /* : String */; long var_decimals /* var decimals: Int */; @@ -6022,142 +7272,178 @@ short int var1 /* : Bool */; short int var3 /* : Bool */; static val* varonce; val* var4 /* : String */; -char* var5 /* : NativeString */; +char* var5 /* : CString */; val* var6 /* : String */; -long var7 /* : Int */; +val* var7 /* : nullable Int */; +val* var8 /* : nullable Int */; +val* var9 /* : nullable Bool */; +val* var10 /* : nullable Bool */; +long var11 /* : Int */; long var_isinf /* var isinf: Int */; -short int var8 /* : Bool */; -short int var10 /* : Bool */; -static val* varonce11; -val* var12 /* : String */; -char* var13 /* : NativeString */; -val* var14 /* : String */; -long var15 /* : Int */; -long var17 /* : Int */; -short int var18 /* : Bool */; -short int var20 /* : Bool */; -static val* varonce21; -val* var22 /* : String */; -char* var23 /* : NativeString */; -val* var24 /* : String */; -short int var25 /* : Bool */; -short int var27 /* : Bool */; -long var28 /* : Int */; -long var30 /* : Int */; -val* var31 /* : String */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +static val* varonce15; +val* var16 /* : String */; +char* var17 /* : CString */; +val* var18 /* : String */; +val* var19 /* : nullable Int */; +val* var20 /* : nullable Int */; +val* var21 /* : nullable Bool */; +val* var22 /* : nullable Bool */; +long var23 /* : Int */; +long var25 /* : Int */; +short int var26 /* : Bool */; +short int var28 /* : Bool */; +static val* varonce29; +val* var30 /* : String */; +char* var31 /* : CString */; +val* var32 /* : String */; +val* var33 /* : nullable Int */; +val* var34 /* : nullable Int */; +val* var35 /* : nullable Bool */; +val* var36 /* : nullable Bool */; +short int var37 /* : Bool */; +short int var39 /* : Bool */; +long var40 /* : Int */; +long var42 /* : Int */; +val* var43 /* : String */; double var_f /* var f: Float */; long var_i /* var i: Int */; long var_ /* var : Int */; -short int var32 /* : Bool */; -short int var34 /* : Bool */; +short int var44 /* : Bool */; +short int var46 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var35 /* : Bool */; -double var36 /* : Float */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -const char* var_class_name41; -double var42 /* : Float */; -long var43 /* : Int */; -short int var44 /* : Bool */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -const char* var_class_name49; +short int var47 /* : Bool */; +double var48 /* : Float */; short int var50 /* : Bool */; -double var51 /* : Float */; -short int var53 /* : Bool */; -int cltype54; -int idtype55; -const char* var_class_name56; -double var57 /* : Float */; -double var58 /* : Float */; -short int var60 /* : Bool */; -int cltype61; -int idtype62; -const char* var_class_name63; -double var64 /* : Float */; -long var65 /* : Int */; -long var67 /* : Int */; -long var_i68 /* var i: Int */; -short int var69 /* : Bool */; -short int var71 /* : Bool */; -static val* varonce72; -val* var73 /* : String */; -char* var74 /* : NativeString */; -val* var75 /* : String */; -static val* varonce76; -val* var77 /* : String */; -char* var78 /* : NativeString */; -val* var79 /* : String */; -val* var80 /* : String */; -val* var81 /* : String */; -long var82 /* : Int */; -val* var83 /* : String */; +int cltype51; +int idtype52; +const char* var_class_name53; +double var54 /* : Float */; +long var55 /* : Int */; +short int var56 /* : Bool */; +short int var58 /* : Bool */; +int cltype59; +int idtype60; +const char* var_class_name61; +short int var62 /* : Bool */; +double var63 /* : Float */; +short int var65 /* : Bool */; +int cltype66; +int idtype67; +const char* var_class_name68; +double var69 /* : Float */; +double var70 /* : Float */; +short int var72 /* : Bool */; +int cltype73; +int idtype74; +const char* var_class_name75; +double var76 /* : Float */; +long var77 /* : Int */; +long var79 /* : Int */; +long var_i80 /* var i: Int */; +short int var81 /* : Bool */; +short int var83 /* : Bool */; +static val* varonce84; +val* var85 /* : String */; +char* var86 /* : CString */; +val* var87 /* : String */; +val* var88 /* : nullable Int */; +val* var89 /* : nullable Int */; +val* var90 /* : nullable Bool */; +val* var91 /* : nullable Bool */; +static val* varonce92; +val* var93 /* : String */; +char* var94 /* : CString */; +val* var95 /* : String */; +val* var96 /* : nullable Int */; +val* var97 /* : nullable Int */; +val* var98 /* : nullable Bool */; +val* var99 /* : nullable Bool */; +val* var100 /* : Text */; +val* var101 /* : Text */; +long var102 /* : Int */; +val* var103 /* : String */; val* var_s /* var s: String */; -long var84 /* : Int */; +long var104 /* : Int */; long var_sl /* var sl: Int */; -short int var85 /* : Bool */; -short int var87 /* : Bool */; -int cltype88; -int idtype89; -const char* var_class_name90; -short int var91 /* : Bool */; -long var92 /* : Int */; -short int var94 /* : Bool */; -int cltype95; -int idtype96; -const char* var_class_name97; -long var98 /* : Int */; -val* var99 /* : Text */; +short int var105 /* : Bool */; +short int var107 /* : Bool */; +int cltype108; +int idtype109; +const char* var_class_name110; +short int var111 /* : Bool */; +long var112 /* : Int */; +short int var114 /* : Bool */; +int cltype115; +int idtype116; +const char* var_class_name117; +long var118 /* : Int */; +val* var119 /* : Text */; val* var_p1 /* var p1: nullable Object */; -long var100 /* : Int */; -short int var102 /* : Bool */; -int cltype103; -int idtype104; -const char* var_class_name105; -long var106 /* : Int */; -val* var107 /* : Text */; +long var120 /* : Int */; +short int var122 /* : Bool */; +int cltype123; +int idtype124; +const char* var_class_name125; +long var126 /* : Int */; +val* var127 /* : Text */; val* var_p2 /* var p2: nullable Object */; -static val* varonce108; -val* var109 /* : String */; -char* var110 /* : NativeString */; -val* var111 /* : String */; -static val* varonce112; -val* var113 /* : String */; -char* var114 /* : NativeString */; -val* var115 /* : String */; -long var116 /* : Int */; -short int var118 /* : Bool */; -int cltype119; -int idtype120; -const char* var_class_name121; -long var122 /* : Int */; -val* var123 /* : String */; -val* var124 /* : String */; -short int var125 /* : Bool */; -short int var127 /* : Bool */; -int cltype128; -int idtype129; -const char* var_class_name130; -short int var131 /* : Bool */; -static val* varonce132; -val* var133 /* : String */; -char* var134 /* : NativeString */; -val* var135 /* : String */; -val* var136 /* : String */; -static val* varonce137; -val* var138 /* : String */; -char* var139 /* : NativeString */; -val* var140 /* : String */; -val* var141 /* : String */; -val* var142 /* : String */; +static val* varonce128; +val* var129 /* : String */; +char* var130 /* : CString */; +val* var131 /* : String */; +val* var132 /* : nullable Int */; +val* var133 /* : nullable Int */; +val* var134 /* : nullable Bool */; +val* var135 /* : nullable Bool */; +static val* varonce136; +val* var137 /* : String */; +char* var138 /* : CString */; +val* var139 /* : String */; +val* var140 /* : nullable Int */; +val* var141 /* : nullable Int */; +val* var142 /* : nullable Bool */; +val* var143 /* : nullable Bool */; +long var144 /* : Int */; +short int var146 /* : Bool */; +int cltype147; +int idtype148; +const char* var_class_name149; +long var150 /* : Int */; +val* var151 /* : Text */; +val* var152 /* : Text */; +short int var153 /* : Bool */; +short int var155 /* : Bool */; +int cltype156; +int idtype157; +const char* var_class_name158; +short int var159 /* : Bool */; +static val* varonce160; +val* var161 /* : String */; +char* var162 /* : CString */; +val* var163 /* : String */; +val* var164 /* : nullable Int */; +val* var165 /* : nullable Int */; +val* var166 /* : nullable Bool */; +val* var167 /* : nullable Bool */; +val* var168 /* : Text */; +static val* varonce169; +val* var170 /* : String */; +char* var171 /* : CString */; +val* var172 /* : String */; +val* var173 /* : nullable Int */; +val* var174 /* : nullable Int */; +val* var175 /* : nullable Bool */; +val* var176 /* : nullable Bool */; +val* var177 /* : Text */; +val* var178 /* : Text */; var_decimals = p0; { -{ /* Inline math#Float#is_nan (self) on */ -var3 = math___Float_is_nan___impl(self); +{ /* Inline math$Float$is_nan (self) on */ +var3 = core__math___Float_is_nan___impl(self); var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0; @@ -6168,7 +7454,11 @@ if (likely(varonce!=NULL)) { var4 = varonce; } else { var5 = "nan"; -var6 = core__flat___NativeString___to_s_full(var5, 3l, 3l); +var7 = (val*)(3l<<2|1); +var8 = (val*)(3l<<2|1); +var9 = (val*)((long)(0)<<2|3); +var10 = (val*)((long)(0)<<2|3); +var6 = core__flat___CString___to_s_unsafe(var5, var7, var8, var9, var10); var4 = var6; varonce = var4; } @@ -6177,80 +7467,88 @@ goto RET_LABEL; } else { } { -var7 = core__math___Float___is_inf(self); +var11 = core__math___Float___is_inf(self); } -var_isinf = var7; +var_isinf = var11; { -{ /* Inline kernel#Int#== (var_isinf,1l) on */ -var10 = var_isinf == 1l; -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +{ /* Inline kernel$Int$== (var_isinf,1l) on */ +var14 = var_isinf == 1l; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -if (var8){ -if (likely(varonce11!=NULL)) { -var12 = varonce11; -} else { -var13 = "inf"; -var14 = core__flat___NativeString___to_s_full(var13, 3l, 3l); -var12 = var14; -varonce11 = var12; +if (var12){ +if (likely(varonce15!=NULL)) { +var16 = varonce15; +} else { +var17 = "inf"; +var19 = (val*)(3l<<2|1); +var20 = (val*)(3l<<2|1); +var21 = (val*)((long)(0)<<2|3); +var22 = (val*)((long)(0)<<2|3); +var18 = core__flat___CString___to_s_unsafe(var17, var19, var20, var21, var22); +var16 = var18; +varonce15 = var16; } -var = var12; +var = var16; goto RET_LABEL; } else { { -{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ -var17 = -1l; -var15 = var17; -goto RET_LABEL16; -RET_LABEL16:(void)0; +{ /* Inline kernel$Int$unary - (1l) on <1l:Int> */ +var25 = -1l; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; } } { -{ /* Inline kernel#Int#== (var_isinf,var15) on */ -var20 = var_isinf == var15; -var18 = var20; -goto RET_LABEL19; -RET_LABEL19:(void)0; +{ /* Inline kernel$Int$== (var_isinf,var23) on */ +var28 = var_isinf == var23; +var26 = var28; +goto RET_LABEL27; +RET_LABEL27:(void)0; } } -if (var18){ -if (likely(varonce21!=NULL)) { -var22 = varonce21; -} else { -var23 = "-inf"; -var24 = core__flat___NativeString___to_s_full(var23, 4l, 4l); -var22 = var24; -varonce21 = var22; +if (var26){ +if (likely(varonce29!=NULL)) { +var30 = varonce29; +} else { +var31 = "-inf"; +var33 = (val*)(4l<<2|1); +var34 = (val*)(4l<<2|1); +var35 = (val*)((long)(0)<<2|3); +var36 = (val*)((long)(0)<<2|3); +var32 = core__flat___CString___to_s_unsafe(var31, var33, var34, var35, var36); +var30 = var32; +varonce29 = var30; } -var = var22; +var = var30; goto RET_LABEL; } else { } } { -{ /* Inline kernel#Int#== (var_decimals,0l) on */ -var27 = var_decimals == 0l; -var25 = var27; -goto RET_LABEL26; -RET_LABEL26:(void)0; +{ /* Inline kernel$Int$== (var_decimals,0l) on */ +var39 = var_decimals == 0l; +var37 = var39; +goto RET_LABEL38; +RET_LABEL38:(void)0; } } -if (var25){ +if (var37){ { -{ /* Inline kernel#Float#to_i (self) on */ -var30 = (long)self; -var28 = var30; -goto RET_LABEL29; -RET_LABEL29:(void)0; +{ /* Inline kernel$Float$to_i (self) on */ +var42 = (long)self; +var40 = var42; +goto RET_LABEL41; +RET_LABEL41:(void)0; } } { -var31 = core__flat___Int___core__abstract_text__Object__to_s(var28); +var43 = core__flat___Int___core__abstract_text__Object__to_s(var40); } -var = var31; +var = var43; goto RET_LABEL; } else { } @@ -6259,316 +7557,340 @@ var_i = 0l; var_ = var_decimals; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_) on */ +{ /* Inline kernel$Int$< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var34 = 1; /* easy isa OTHER*/ -if (unlikely(!var34)) { +var46 = 1; /* easy isa OTHER*/ +if (unlikely(!var46)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var35 = var_i < var_; -var32 = var35; -goto RET_LABEL33; -RET_LABEL33:(void)0; +var47 = var_i < var_; +var44 = var47; +goto RET_LABEL45; +RET_LABEL45:(void)0; } } -if (var32){ +if (var44){ } else { goto BREAK_label; } { -{ /* Inline kernel#Float#* (var_f,10.0) on */ +{ /* Inline kernel$Float$* (var_f,10.0) on */ /* Covariant cast for argument 0 (i) <10.0:Float> isa OTHER */ /* <10.0:Float> isa OTHER */ -var38 = 1; /* easy <10.0:Float> isa OTHER*/ -if (unlikely(!var38)) { -var_class_name41 = type_core__Float.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41); +var50 = 1; /* easy <10.0:Float> isa OTHER*/ +if (unlikely(!var50)) { +var_class_name53 = type_core__Float.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53); PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 537); fatal_exit(1); } -var42 = var_f * 10.0; -var36 = var42; -goto RET_LABEL37; -RET_LABEL37:(void)0; +var54 = var_f * 10.0; +var48 = var54; +goto RET_LABEL49; +RET_LABEL49:(void)0; } } -var_f = var36; +var_f = var48; { -var43 = core___core__Int___Discrete__successor(var_i, 1l); +var55 = core___core__Int___Discrete__successor(var_i, 1l); } -var_i = var43; +var_i = var55; } BREAK_label: (void)0; { -{ /* Inline kernel#Float#> (self,0.0) on */ +{ /* Inline kernel$Float$> (self,0.0) on */ /* Covariant cast for argument 0 (i) <0.0:Float> isa OTHER */ /* <0.0:Float> isa OTHER */ -var46 = 1; /* easy <0.0:Float> isa OTHER*/ -if (unlikely(!var46)) { -var_class_name49 = type_core__Float.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49); +var58 = 1; /* easy <0.0:Float> isa OTHER*/ +if (unlikely(!var58)) { +var_class_name61 = type_core__Float.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61); PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 532); fatal_exit(1); } -var50 = self > 0.0; -var44 = var50; -goto RET_LABEL45; -RET_LABEL45:(void)0; +var62 = self > 0.0; +var56 = var62; +goto RET_LABEL57; +RET_LABEL57:(void)0; } } -if (var44){ +if (var56){ { -{ /* Inline kernel#Float#+ (var_f,0.5) on */ +{ /* Inline kernel$Float$+ (var_f,0.5) on */ /* Covariant cast for argument 0 (i) <0.5:Float> isa OTHER */ /* <0.5:Float> isa OTHER */ -var53 = 1; /* easy <0.5:Float> isa OTHER*/ -if (unlikely(!var53)) { -var_class_name56 = type_core__Float.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56); +var65 = 1; /* easy <0.5:Float> isa OTHER*/ +if (unlikely(!var65)) { +var_class_name68 = type_core__Float.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68); PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 534); fatal_exit(1); } -var57 = var_f + 0.5; -var51 = var57; -goto RET_LABEL52; -RET_LABEL52:(void)0; +var69 = var_f + 0.5; +var63 = var69; +goto RET_LABEL64; +RET_LABEL64:(void)0; } } -var_f = var51; +var_f = var63; } else { { -{ /* Inline kernel#Float#- (var_f,0.5) on */ +{ /* Inline kernel$Float$- (var_f,0.5) on */ /* Covariant cast for argument 0 (i) <0.5:Float> isa OTHER */ /* <0.5:Float> isa OTHER */ -var60 = 1; /* easy <0.5:Float> isa OTHER*/ -if (unlikely(!var60)) { -var_class_name63 = type_core__Float.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63); +var72 = 1; /* easy <0.5:Float> isa OTHER*/ +if (unlikely(!var72)) { +var_class_name75 = type_core__Float.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75); PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 536); fatal_exit(1); } -var64 = var_f - 0.5; -var58 = var64; -goto RET_LABEL59; -RET_LABEL59:(void)0; +var76 = var_f - 0.5; +var70 = var76; +goto RET_LABEL71; +RET_LABEL71:(void)0; } } -var_f = var58; +var_f = var70; } { -{ /* Inline kernel#Float#to_i (var_f) on */ -var67 = (long)var_f; -var65 = var67; -goto RET_LABEL66; -RET_LABEL66:(void)0; +{ /* Inline kernel$Float$to_i (var_f) on */ +var79 = (long)var_f; +var77 = var79; +goto RET_LABEL78; +RET_LABEL78:(void)0; } } -var_i68 = var65; +var_i80 = var77; { -{ /* Inline kernel#Int#== (var_i68,0l) on */ -var71 = var_i68 == 0l; -var69 = var71; -goto RET_LABEL70; -RET_LABEL70:(void)0; +{ /* Inline kernel$Int$== (var_i80,0l) on */ +var83 = var_i80 == 0l; +var81 = var83; +goto RET_LABEL82; +RET_LABEL82:(void)0; } } -if (var69){ -if (likely(varonce72!=NULL)) { -var73 = varonce72; +if (var81){ +if (likely(varonce84!=NULL)) { +var85 = varonce84; } else { -var74 = "0."; -var75 = core__flat___NativeString___to_s_full(var74, 2l, 2l); -var73 = var75; -varonce72 = var73; +var86 = "0."; +var88 = (val*)(2l<<2|1); +var89 = (val*)(2l<<2|1); +var90 = (val*)((long)(0)<<2|3); +var91 = (val*)((long)(0)<<2|3); +var87 = core__flat___CString___to_s_unsafe(var86, var88, var89, var90, var91); +var85 = var87; +varonce84 = var85; } -if (likely(varonce76!=NULL)) { -var77 = varonce76; +if (likely(varonce92!=NULL)) { +var93 = varonce92; } else { -var78 = "0"; -var79 = core__flat___NativeString___to_s_full(var78, 1l, 1l); -var77 = var79; -varonce76 = var77; +var94 = "0"; +var96 = (val*)(1l<<2|1); +var97 = (val*)(1l<<2|1); +var98 = (val*)((long)(0)<<2|3); +var99 = (val*)((long)(0)<<2|3); +var95 = core__flat___CString___to_s_unsafe(var94, var96, var97, var98, var99); +var93 = var95; +varonce92 = var93; } { -var80 = ((val*(*)(val* self, long p0))(var77->class->vft[COLOR_core__abstract_text__String___42d]))(var77, var_decimals); /* * on */ +var100 = ((val*(*)(val* self, long p0))(var93->class->vft[COLOR_core__abstract_text__Text___42d]))(var93, var_decimals); /* * on */ } { -var81 = ((val*(*)(val* self, val* p0))(var73->class->vft[COLOR_core__abstract_text__String___43d]))(var73, var80); /* + on */ +var101 = ((val*(*)(val* self, val* p0))(var85->class->vft[COLOR_core__abstract_text__Text___43d]))(var85, var100); /* + on */ } -var = var81; +var = var101; goto RET_LABEL; } else { } { -var82 = core___core__Int___abs(var_i68); +var102 = core___core__Int___abs(var_i80); } { -var83 = core__flat___Int___core__abstract_text__Object__to_s(var82); +var103 = core__flat___Int___core__abstract_text__Object__to_s(var102); } -var_s = var83; +var_s = var103; { -var84 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__length]))(var_s); /* length on */ +var104 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__length]))(var_s); /* length on */ } -var_sl = var84; +var_sl = var104; { -{ /* Inline kernel#Int#> (var_sl,var_decimals) on */ +{ /* Inline kernel$Int$> (var_sl,var_decimals) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var87 = 1; /* easy isa OTHER*/ -if (unlikely(!var87)) { -var_class_name90 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); +var107 = 1; /* easy isa OTHER*/ +if (unlikely(!var107)) { +var_class_name110 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name110); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); fatal_exit(1); } -var91 = var_sl > var_decimals; -var85 = var91; -goto RET_LABEL86; -RET_LABEL86:(void)0; +var111 = var_sl > var_decimals; +var105 = var111; +goto RET_LABEL106; +RET_LABEL106:(void)0; } } -if (var85){ +if (var105){ { -{ /* Inline kernel#Int#- (var_sl,var_decimals) on */ +{ /* Inline kernel$Int$- (var_sl,var_decimals) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var94 = 1; /* easy isa OTHER*/ -if (unlikely(!var94)) { -var_class_name97 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name97); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +var114 = 1; /* easy isa OTHER*/ +if (unlikely(!var114)) { +var_class_name117 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name117); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } -var98 = var_sl - var_decimals; -var92 = var98; -goto RET_LABEL93; -RET_LABEL93:(void)0; +var118 = var_sl - var_decimals; +var112 = var118; +goto RET_LABEL113; +RET_LABEL113:(void)0; } } { -var99 = ((val*(*)(val* self, long p0, long p1))(var_s->class->vft[COLOR_core__abstract_text__Text__substring]))(var_s, 0l, var92); /* substring on */ +var119 = ((val*(*)(val* self, long p0, long p1))(var_s->class->vft[COLOR_core__abstract_text__Text__substring]))(var_s, 0l, var112); /* substring on */ } -var_p1 = var99; +var_p1 = var119; { -{ /* Inline kernel#Int#- (var_sl,var_decimals) on */ +{ /* Inline kernel$Int$- (var_sl,var_decimals) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var102 = 1; /* easy isa OTHER*/ -if (unlikely(!var102)) { -var_class_name105 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name105); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +var122 = 1; /* easy isa OTHER*/ +if (unlikely(!var122)) { +var_class_name125 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name125); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } -var106 = var_sl - var_decimals; -var100 = var106; -goto RET_LABEL101; -RET_LABEL101:(void)0; +var126 = var_sl - var_decimals; +var120 = var126; +goto RET_LABEL121; +RET_LABEL121:(void)0; } } { -var107 = ((val*(*)(val* self, long p0, long p1))(var_s->class->vft[COLOR_core__abstract_text__Text__substring]))(var_s, var100, var_decimals); /* substring on */ +var127 = ((val*(*)(val* self, long p0, long p1))(var_s->class->vft[COLOR_core__abstract_text__Text__substring]))(var_s, var120, var_decimals); /* substring on */ } -var_p2 = var107; +var_p2 = var127; } else { -if (likely(varonce108!=NULL)) { -var109 = varonce108; +if (likely(varonce128!=NULL)) { +var129 = varonce128; } else { -var110 = "0"; -var111 = core__flat___NativeString___to_s_full(var110, 1l, 1l); -var109 = var111; -varonce108 = var109; +var130 = "0"; +var132 = (val*)(1l<<2|1); +var133 = (val*)(1l<<2|1); +var134 = (val*)((long)(0)<<2|3); +var135 = (val*)((long)(0)<<2|3); +var131 = core__flat___CString___to_s_unsafe(var130, var132, var133, var134, var135); +var129 = var131; +varonce128 = var129; } -var_p1 = var109; -if (likely(varonce112!=NULL)) { -var113 = varonce112; +var_p1 = var129; +if (likely(varonce136!=NULL)) { +var137 = varonce136; } else { -var114 = "0"; -var115 = core__flat___NativeString___to_s_full(var114, 1l, 1l); -var113 = var115; -varonce112 = var113; +var138 = "0"; +var140 = (val*)(1l<<2|1); +var141 = (val*)(1l<<2|1); +var142 = (val*)((long)(0)<<2|3); +var143 = (val*)((long)(0)<<2|3); +var139 = core__flat___CString___to_s_unsafe(var138, var140, var141, var142, var143); +var137 = var139; +varonce136 = var137; } { -{ /* Inline kernel#Int#- (var_decimals,var_sl) on */ +{ /* Inline kernel$Int$- (var_decimals,var_sl) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var118 = 1; /* easy isa OTHER*/ -if (unlikely(!var118)) { -var_class_name121 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name121); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +var146 = 1; /* easy isa OTHER*/ +if (unlikely(!var146)) { +var_class_name149 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name149); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } -var122 = var_decimals - var_sl; -var116 = var122; -goto RET_LABEL117; -RET_LABEL117:(void)0; +var150 = var_decimals - var_sl; +var144 = var150; +goto RET_LABEL145; +RET_LABEL145:(void)0; } } { -var123 = ((val*(*)(val* self, long p0))(var113->class->vft[COLOR_core__abstract_text__String___42d]))(var113, var116); /* * on */ +var151 = ((val*(*)(val* self, long p0))(var137->class->vft[COLOR_core__abstract_text__Text___42d]))(var137, var144); /* * on */ } { -var124 = ((val*(*)(val* self, val* p0))(var123->class->vft[COLOR_core__abstract_text__String___43d]))(var123, var_s); /* + on */ +var152 = ((val*(*)(val* self, val* p0))(var151->class->vft[COLOR_core__abstract_text__Text___43d]))(var151, var_s); /* + on */ } -var_p2 = var124; +var_p2 = var152; } { -{ /* Inline kernel#Int#< (var_i68,0l) on */ +{ /* Inline kernel$Int$< (var_i80,0l) on */ /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ /* <0l:Int> isa OTHER */ -var127 = 1; /* easy <0l:Int> isa OTHER*/ -if (unlikely(!var127)) { -var_class_name130 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name130); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +var155 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var155)) { +var_class_name158 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name158); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } -var131 = var_i68 < 0l; -var125 = var131; -goto RET_LABEL126; -RET_LABEL126:(void)0; +var159 = var_i80 < 0l; +var153 = var159; +goto RET_LABEL154; +RET_LABEL154:(void)0; } } -if (var125){ -if (likely(varonce132!=NULL)) { -var133 = varonce132; +if (var153){ +if (likely(varonce160!=NULL)) { +var161 = varonce160; } else { -var134 = "-"; -var135 = core__flat___NativeString___to_s_full(var134, 1l, 1l); -var133 = var135; -varonce132 = var133; +var162 = "-"; +var164 = (val*)(1l<<2|1); +var165 = (val*)(1l<<2|1); +var166 = (val*)((long)(0)<<2|3); +var167 = (val*)((long)(0)<<2|3); +var163 = core__flat___CString___to_s_unsafe(var162, var164, var165, var166, var167); +var161 = var163; +varonce160 = var161; } { -var136 = ((val*(*)(val* self, val* p0))(var133->class->vft[COLOR_core__abstract_text__String___43d]))(var133, var_p1); /* + on */ +var168 = ((val*(*)(val* self, val* p0))(var161->class->vft[COLOR_core__abstract_text__Text___43d]))(var161, var_p1); /* + on */ } -var_p1 = var136; +var_p1 = var168; } else { } -if (likely(varonce137!=NULL)) { -var138 = varonce137; +if (likely(varonce169!=NULL)) { +var170 = varonce169; } else { -var139 = "."; -var140 = core__flat___NativeString___to_s_full(var139, 1l, 1l); -var138 = var140; -varonce137 = var138; +var171 = "."; +var173 = (val*)(1l<<2|1); +var174 = (val*)(1l<<2|1); +var175 = (val*)((long)(0)<<2|3); +var176 = (val*)((long)(0)<<2|3); +var172 = core__flat___CString___to_s_unsafe(var171, var173, var174, var175, var176); +var170 = var172; +varonce169 = var170; } { -var141 = ((val*(*)(val* self, val* p0))(var_p1->class->vft[COLOR_core__abstract_text__String___43d]))(var_p1, var138); /* + on */ +var177 = ((val*(*)(val* self, val* p0))(var_p1->class->vft[COLOR_core__abstract_text__Text___43d]))(var_p1, var170); /* + on */ } { -var142 = ((val*(*)(val* self, val* p0))(var141->class->vft[COLOR_core__abstract_text__String___43d]))(var141, var_p2); /* + on */ +var178 = ((val*(*)(val* self, val* p0))(var177->class->vft[COLOR_core__abstract_text__Text___43d]))(var177, var_p2); /* + on */ } -var = var142; +var = var178; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Char#u8char_len for (self: Char): Int */ +/* method abstract_text$Char$u8char_len for (self: Char): Int */ long core__abstract_text___Char___u8char_len(uint32_t self) { long var /* : Int */; long var1 /* : Int */; @@ -6599,7 +7921,7 @@ int idtype26; const char* var_class_name27; short int var28 /* : Bool */; { -{ /* Inline kernel#Char#code_point (self) on */ +{ /* Inline kernel$Char$code_point (self) on */ var3 = (long)self; var1 = var3; goto RET_LABEL2; @@ -6608,14 +7930,14 @@ RET_LABEL2:(void)0; } var_c = var1; { -{ /* Inline kernel#Int#< (var_c,128l) on */ +{ /* Inline kernel$Int$< (var_c,128l) on */ /* Covariant cast for argument 0 (i) <128l:Int> isa OTHER */ /* <128l:Int> isa OTHER */ var6 = 1; /* easy <128l:Int> isa OTHER*/ if (unlikely(!var6)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var7 = var_c < 128l; @@ -6630,14 +7952,14 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Int#<= (var_c,2047l) on */ +{ /* Inline kernel$Int$<= (var_c,2047l) on */ /* Covariant cast for argument 0 (i) <2047l:Int> isa OTHER */ /* <2047l:Int> isa OTHER */ var10 = 1; /* easy <2047l:Int> isa OTHER*/ if (unlikely(!var10)) { var_class_name13 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724); fatal_exit(1); } var14 = var_c <= 2047l; @@ -6652,14 +7974,14 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Int#<= (var_c,65535l) on */ +{ /* Inline kernel$Int$<= (var_c,65535l) on */ /* Covariant cast for argument 0 (i) <65535l:Int> isa OTHER */ /* <65535l:Int> isa OTHER */ var17 = 1; /* easy <65535l:Int> isa OTHER*/ if (unlikely(!var17)) { var_class_name20 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724); fatal_exit(1); } var21 = var_c <= 65535l; @@ -6674,14 +7996,14 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Int#<= (var_c,1114111l) on */ +{ /* Inline kernel$Int$<= (var_c,1114111l) on */ /* Covariant cast for argument 0 (i) <1114111l:Int> isa OTHER */ /* <1114111l:Int> isa OTHER */ var24 = 1; /* easy <1114111l:Int> isa OTHER*/ if (unlikely(!var24)) { 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_core__kernel, 727); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724); fatal_exit(1); } var28 = var_c <= 1114111l; @@ -6700,70 +8022,84 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Char#to_s for (self: Char): String */ +/* method abstract_text$Char$to_s for (self: Char): String */ val* core__abstract_text___Char___Object__to_s(uint32_t self) { val* var /* : String */; long var1 /* : Int */; long var_ln /* var ln: Int */; -char* var2 /* : NativeString */; -long var3 /* : Int */; -short int var5 /* : Bool */; +static char* varoncenew; +static int varoncenew_guard; +char* var2 /* : CString */; +char* var3 /* : CString */; +long var4 /* : Int */; +short int var6 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var6 /* : Int */; -char* var7 /* : NativeString */; -char* var9 /* : NativeString */; -char* var_ns /* var ns: NativeString */; -val* var11 /* : String */; -val* var12 /* : nullable Int */; +long var7 /* : Int */; +char* var8 /* : CString */; +char* var10 /* : CString */; +char* var_ns /* var ns: CString */; +val* var12 /* : String */; +val* var13 /* : nullable Int */; +val* var14 /* : nullable Bool */; +val* var15 /* : nullable Bool */; { var1 = core__abstract_text___Char___u8char_len(self); } var_ln = var1; -var2 = NULL/*special!*/; +if (likely(varoncenew_guard)) { +var2 = varoncenew; +} else { +var3 = NULL/*special!*/; +var2 = var3; +varoncenew = var2; +varoncenew_guard = 1; +} { -{ /* Inline kernel#Int#+ (var_ln,1l) on */ +{ /* Inline kernel$Int$+ (var_ln,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var5 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var5)) { +var6 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var6)) { 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_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var6 = var_ln + 1l; -var3 = var6; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var7 = var_ln + 1l; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } { -{ /* Inline native#NativeString#new (var2,var3) on */ -var9 = (char*)nit_alloc(var3); -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +{ /* Inline native$CString$new (var2,var4) on */ +var10 = (char*)nit_alloc(var4); +var8 = var10; +goto RET_LABEL9; +RET_LABEL9:(void)0; } } -var_ns = var7; +var_ns = var8; { -{ /* Inline abstract_text#Char#u8char_tos (self,var_ns,var_ln) on */ -abstract_text___Char_u8char_tos___impl(self, var_ns, var_ln); -RET_LABEL10:(void)0; +{ /* Inline abstract_text$Char$u8char_tos (self,var_ns,var_ln) on */ +core__abstract_text___Char_u8char_tos___impl(self, var_ns, var_ln); +RET_LABEL11:(void)0; } } { -var12 = (val*)(var_ln<<2|1); -var11 = core__flat___NativeString___to_s_unsafe(var_ns, var12); +var13 = (val*)(var_ln<<2|1); +var14 = (val*)((long)(0)<<2|3); +var15 = (val*)((long)(0)<<2|3); +var12 = core__flat___CString___to_s_unsafe(var_ns, var13, ((val*)NULL), var14, var15); } -var = var11; +var = var12; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Char#to_s for (self: Object): String */ +/* method abstract_text$Char$to_s for (self: Object): String */ val* VIRTUAL_core__abstract_text___Char___Object__to_s(val* self) { val* var /* : String */; val* var1 /* : String */; @@ -6774,12 +8110,12 @@ var = var1; RET_LABEL:; return var; } -/* method abstract_text#Char#u8char_tos for (self: Char, NativeString, Int) */ +/* method abstract_text$Char$u8char_tos for (self: Char, CString, Int) */ void core__abstract_text___Char___u8char_tos(uint32_t self, char* p0, long p1) { -abstract_text___Char_u8char_tos___impl(self, p0, p1); +core__abstract_text___Char_u8char_tos___impl(self, p0, p1); RET_LABEL:; } -/* method abstract_text#Char#is_numeric for (self: Char): Bool */ +/* method abstract_text$Char$is_numeric for (self: Char): Bool */ short int core__abstract_text___Char___is_numeric(uint32_t self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -6797,14 +8133,14 @@ int idtype10; const char* var_class_name11; short int var12 /* : Bool */; { -{ /* Inline kernel#Char#>= (self,'0') on */ +{ /* Inline kernel$Char$>= (self,'0') on */ /* Covariant cast for argument 0 (i) <'0':Char> isa OTHER */ /* <'0':Char> isa OTHER */ var4 = 1; /* easy <'0':Char> isa OTHER*/ if (unlikely(!var4)) { var_class_name = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } var5 = self >= '0'; @@ -6816,14 +8152,14 @@ RET_LABEL3:(void)0; var_ = var2; if (var2){ { -{ /* Inline kernel#Char#<= (self,'9') on */ +{ /* Inline kernel$Char$<= (self,'9') on */ /* Covariant cast for argument 0 (i) <'9':Char> isa OTHER */ /* <'9':Char> isa OTHER */ var8 = 1; /* easy <'9':Char> isa OTHER*/ if (unlikely(!var8)) { var_class_name11 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } var12 = self <= '9'; @@ -6841,7 +8177,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Char#is_hexdigit for (self: Char): Bool */ +/* method abstract_text$Char$is_hexdigit for (self: Char): Bool */ short int core__abstract_text___Char___is_hexdigit(uint32_t self) { short int var /* : Bool */; short int var1 /* : Bool */; @@ -6891,14 +8227,14 @@ int idtype46; const char* var_class_name47; short int var48 /* : Bool */; { -{ /* Inline kernel#Char#>= (self,'0') on */ +{ /* Inline kernel$Char$>= (self,'0') on */ /* Covariant cast for argument 0 (i) <'0':Char> isa OTHER */ /* <'0':Char> isa OTHER */ var6 = 1; /* easy <'0':Char> isa OTHER*/ if (unlikely(!var6)) { var_class_name = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } var7 = self >= '0'; @@ -6910,14 +8246,14 @@ RET_LABEL5:(void)0; var_ = var4; if (var4){ { -{ /* Inline kernel#Char#<= (self,'9') on */ +{ /* Inline kernel$Char$<= (self,'9') on */ /* Covariant cast for argument 0 (i) <'9':Char> isa OTHER */ /* <'9':Char> isa OTHER */ var10 = 1; /* easy <'9':Char> isa OTHER*/ if (unlikely(!var10)) { var_class_name13 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } var14 = self <= '9'; @@ -6935,14 +8271,14 @@ if (var3){ var2 = var_15; } else { { -{ /* Inline kernel#Char#>= (self,'A') on */ +{ /* Inline kernel$Char$>= (self,'A') on */ /* Covariant cast for argument 0 (i) <'A':Char> isa OTHER */ /* <'A':Char> isa OTHER */ var19 = 1; /* easy <'A':Char> isa OTHER*/ if (unlikely(!var19)) { var_class_name22 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } var23 = self >= 'A'; @@ -6954,14 +8290,14 @@ RET_LABEL18:(void)0; var_24 = var17; if (var17){ { -{ /* Inline kernel#Char#<= (self,'F') on */ +{ /* Inline kernel$Char$<= (self,'F') on */ /* Covariant cast for argument 0 (i) <'F':Char> isa OTHER */ /* <'F':Char> isa OTHER */ var27 = 1; /* easy <'F':Char> isa OTHER*/ if (unlikely(!var27)) { var_class_name30 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } var31 = self <= 'F'; @@ -6981,14 +8317,14 @@ if (var2){ var1 = var_32; } else { { -{ /* Inline kernel#Char#>= (self,'a') on */ +{ /* Inline kernel$Char$>= (self,'a') on */ /* Covariant cast for argument 0 (i) <'a':Char> isa OTHER */ /* <'a':Char> isa OTHER */ var36 = 1; /* easy <'a':Char> isa OTHER*/ if (unlikely(!var36)) { var_class_name39 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } var40 = self >= 'a'; @@ -7000,14 +8336,14 @@ RET_LABEL35:(void)0; var_41 = var34; if (var34){ { -{ /* Inline kernel#Char#<= (self,'f') on */ +{ /* Inline kernel$Char$<= (self,'f') on */ /* Covariant cast for argument 0 (i) <'f':Char> isa OTHER */ /* <'f':Char> isa OTHER */ var44 = 1; /* easy <'f':Char> isa OTHER*/ if (unlikely(!var44)) { var_class_name47 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } var48 = self <= 'f'; @@ -7027,7 +8363,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Char#from_hex for (self: Char): Int */ +/* method abstract_text$Char$from_hex for (self: Char): Int */ long core__abstract_text___Char___from_hex(uint32_t self) { long var /* : Int */; short int var1 /* : Bool */; @@ -7098,14 +8434,14 @@ const char* var_class_name73; long var74 /* : Int */; short int var75 /* : Bool */; { -{ /* Inline kernel#Char#>= (self,'0') on */ +{ /* Inline kernel$Char$>= (self,'0') on */ /* Covariant cast for argument 0 (i) <'0':Char> isa OTHER */ /* <'0':Char> isa OTHER */ var4 = 1; /* easy <'0':Char> isa OTHER*/ if (unlikely(!var4)) { var_class_name = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } var5 = self >= '0'; @@ -7117,14 +8453,14 @@ RET_LABEL3:(void)0; var_ = var2; if (var2){ { -{ /* Inline kernel#Char#<= (self,'9') on */ +{ /* Inline kernel$Char$<= (self,'9') on */ /* Covariant cast for argument 0 (i) <'9':Char> isa OTHER */ /* <'9':Char> isa OTHER */ var8 = 1; /* easy <'9':Char> isa OTHER*/ if (unlikely(!var8)) { var_class_name11 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } var12 = self <= '9'; @@ -7139,7 +8475,7 @@ var1 = var_; } if (var1){ { -{ /* Inline kernel#Char#code_point (self) on */ +{ /* Inline kernel$Char$code_point (self) on */ var15 = (long)self; var13 = var15; goto RET_LABEL14; @@ -7147,14 +8483,14 @@ RET_LABEL14:(void)0; } } { -{ /* Inline kernel#Int#- (var13,48l) on */ +{ /* Inline kernel$Int$- (var13,48l) on */ /* Covariant cast for argument 0 (i) <48l:Int> isa OTHER */ /* <48l:Int> isa OTHER */ var18 = 1; /* easy <48l:Int> isa OTHER*/ if (unlikely(!var18)) { var_class_name21 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var22 = var13 - 48l; @@ -7168,14 +8504,14 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Char#>= (self,'A') on */ +{ /* Inline kernel$Char$>= (self,'A') on */ /* Covariant cast for argument 0 (i) <'A':Char> isa OTHER */ /* <'A':Char> isa OTHER */ var26 = 1; /* easy <'A':Char> isa OTHER*/ if (unlikely(!var26)) { var_class_name29 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } var30 = self >= 'A'; @@ -7187,14 +8523,14 @@ RET_LABEL25:(void)0; var_31 = var24; if (var24){ { -{ /* Inline kernel#Char#<= (self,'F') on */ +{ /* Inline kernel$Char$<= (self,'F') on */ /* Covariant cast for argument 0 (i) <'F':Char> isa OTHER */ /* <'F':Char> isa OTHER */ var34 = 1; /* easy <'F':Char> isa OTHER*/ if (unlikely(!var34)) { var_class_name37 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } var38 = self <= 'F'; @@ -7209,7 +8545,7 @@ var23 = var_31; } if (var23){ { -{ /* Inline kernel#Char#code_point (self) on */ +{ /* Inline kernel$Char$code_point (self) on */ var41 = (long)self; var39 = var41; goto RET_LABEL40; @@ -7217,14 +8553,14 @@ RET_LABEL40:(void)0; } } { -{ /* Inline kernel#Int#- (var39,55l) on */ +{ /* Inline kernel$Int$- (var39,55l) on */ /* Covariant cast for argument 0 (i) <55l:Int> isa OTHER */ /* <55l:Int> isa OTHER */ var44 = 1; /* easy <55l:Int> isa OTHER*/ if (unlikely(!var44)) { var_class_name47 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var48 = var39 - 55l; @@ -7238,14 +8574,14 @@ goto RET_LABEL; } else { } { -{ /* Inline kernel#Char#>= (self,'a') on */ +{ /* Inline kernel$Char$>= (self,'a') on */ /* Covariant cast for argument 0 (i) <'a':Char> isa OTHER */ /* <'a':Char> isa OTHER */ var52 = 1; /* easy <'a':Char> isa OTHER*/ if (unlikely(!var52)) { var_class_name55 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 924); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 915); fatal_exit(1); } var56 = self >= 'a'; @@ -7257,14 +8593,14 @@ RET_LABEL51:(void)0; var_57 = var50; if (var50){ { -{ /* Inline kernel#Char#<= (self,'f') on */ +{ /* Inline kernel$Char$<= (self,'f') on */ /* Covariant cast for argument 0 (i) <'f':Char> isa OTHER */ /* <'f':Char> isa OTHER */ var60 = 1; /* easy <'f':Char> isa OTHER*/ if (unlikely(!var60)) { var_class_name63 = type_core__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 922); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 913); fatal_exit(1); } var64 = self <= 'f'; @@ -7279,7 +8615,7 @@ var49 = var_57; } if (var49){ { -{ /* Inline kernel#Char#code_point (self) on */ +{ /* Inline kernel$Char$code_point (self) on */ var67 = (long)self; var65 = var67; goto RET_LABEL66; @@ -7287,14 +8623,14 @@ RET_LABEL66:(void)0; } } { -{ /* Inline kernel#Int#- (var65,87l) on */ +{ /* Inline kernel$Int$- (var65,87l) on */ /* Covariant cast for argument 0 (i) <87l:Int> isa OTHER */ /* <87l:Int> isa OTHER */ var70 = 1; /* easy <87l:Int> isa OTHER*/ if (unlikely(!var70)) { var_class_name73 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var74 = var65 - 87l; @@ -7311,175 +8647,231 @@ goto RET_LABEL; var75 = core__abstract_text___Char___is_hexdigit(self); } if (unlikely(!var75)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1836); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 2116); fatal_exit(1); } +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Aborted"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1838); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 2118); fatal_exit(1); RET_LABEL:; return var; } -/* method abstract_text#Collection#to_s for (self: Collection[nullable Object]): String */ +/* method abstract_text$Collection$to_s for (self: Collection[nullable Object]): String */ val* core__abstract_text___Collection___Object__to_s(val* self) { val* var /* : String */; static val* varonce; val* var1 /* : String */; -char* var2 /* : NativeString */; +char* var2 /* : CString */; val* var3 /* : String */; -static val* varonce4; -val* var5 /* : String */; -char* var6 /* : NativeString */; -val* var7 /* : String */; -val* var8 /* : String */; +val* var4 /* : nullable Int */; +val* var5 /* : nullable Int */; +val* var6 /* : nullable Bool */; +val* var7 /* : nullable Bool */; +static val* varonce8; val* var9 /* : String */; -static val* varonce10; +char* var10 /* : CString */; val* var11 /* : String */; -char* var12 /* : NativeString */; -val* var13 /* : String */; -val* var14 /* : String */; +val* var12 /* : nullable Int */; +val* var13 /* : nullable Int */; +val* var14 /* : nullable Bool */; +val* var15 /* : nullable Bool */; +val* var16 /* : String */; +val* var17 /* : Text */; +static val* varonce18; +val* var19 /* : String */; +char* var20 /* : CString */; +val* var21 /* : String */; +val* var22 /* : nullable Int */; +val* var23 /* : nullable Int */; +val* var24 /* : nullable Bool */; +val* var25 /* : nullable Bool */; +val* var26 /* : Text */; if (likely(varonce!=NULL)) { var1 = varonce; } else { var2 = "["; -var3 = core__flat___NativeString___to_s_full(var2, 1l, 1l); +var4 = (val*)(1l<<2|1); +var5 = (val*)(1l<<2|1); +var6 = (val*)((long)(0)<<2|3); +var7 = (val*)((long)(0)<<2|3); +var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7); var1 = var3; varonce = var1; } -if (likely(varonce4!=NULL)) { -var5 = varonce4; +if (likely(varonce8!=NULL)) { +var9 = varonce8; } else { -var6 = ","; -var7 = core__flat___NativeString___to_s_full(var6, 1l, 1l); -var5 = var7; -varonce4 = var5; +var10 = ","; +var12 = (val*)(1l<<2|1); +var13 = (val*)(1l<<2|1); +var14 = (val*)((long)(0)<<2|3); +var15 = (val*)((long)(0)<<2|3); +var11 = core__flat___CString___to_s_unsafe(var10, var12, var13, var14, var15); +var9 = var11; +varonce8 = var9; } { -var8 = core__abstract_text___Collection___join(self, var5); +var16 = core__abstract_text___Collection___join(self, var9, ((val*)NULL)); } { -var9 = ((val*(*)(val* self, val* p0))(var1->class->vft[COLOR_core__abstract_text__String___43d]))(var1, var8); /* + on */ +var17 = ((val*(*)(val* self, val* p0))(var1->class->vft[COLOR_core__abstract_text__Text___43d]))(var1, var16); /* + on */ } -if (likely(varonce10!=NULL)) { -var11 = varonce10; +if (likely(varonce18!=NULL)) { +var19 = varonce18; } else { -var12 = "]"; -var13 = core__flat___NativeString___to_s_full(var12, 1l, 1l); -var11 = var13; -varonce10 = var11; +var20 = "]"; +var22 = (val*)(1l<<2|1); +var23 = (val*)(1l<<2|1); +var24 = (val*)((long)(0)<<2|3); +var25 = (val*)((long)(0)<<2|3); +var21 = core__flat___CString___to_s_unsafe(var20, var22, var23, var24, var25); +var19 = var21; +varonce18 = var19; } { -var14 = ((val*(*)(val* self, val* p0))(var9->class->vft[COLOR_core__abstract_text__String___43d]))(var9, var11); /* + on */ +var26 = ((val*(*)(val* self, val* p0))(var17->class->vft[COLOR_core__abstract_text__Text___43d]))(var17, var19); /* + on */ } -var = var14; +var = var26; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Collection#plain_to_s for (self: Collection[nullable Object]): String */ +/* method abstract_text$Collection$plain_to_s for (self: Collection[nullable Object]): String */ val* core__abstract_text___Collection___plain_to_s(val* self) { val* var /* : String */; +static val* varoncenew; +static int varoncenew_guard; val* var1 /* : Buffer */; val* var2 /* : Buffer */; +val* var3 /* : Buffer */; val* var_s /* var s: Buffer */; val* var_ /* var : Collection[nullable Object] */; -val* var3 /* : Iterator[nullable Object] */; -val* var_4 /* var : Iterator[nullable Object] */; -short int var5 /* : Bool */; -val* var6 /* : nullable Object */; +val* var4 /* : Iterator[nullable Object] */; +val* var_5 /* var : Iterator[nullable Object] */; +short int var6 /* : Bool */; +val* var7 /* : nullable Object */; val* var_e /* var e: nullable Object */; -short int var7 /* : Bool */; short int var8 /* : Bool */; -val* var9 /* : String */; +short int var9 /* : Bool */; val* var10 /* : String */; -var1 = NEW_core__Buffer(&type_core__Buffer); +val* var11 /* : String */; +if (likely(varoncenew_guard)) { +var1 = varoncenew; +} else { +var2 = NEW_core__Buffer(&type_core__Buffer); +var1 = var2; +varoncenew = var1; +varoncenew_guard = 1; +} { -var2 = core__flat___Buffer___new(var1); +var3 = core__flat___Buffer___new(var1); } -var_s = var2; +var_s = var3; var_ = self; { -var3 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on */ +var4 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on */ } -var_4 = var3; +var_5 = var4; for(;;) { { -var5 = ((short int(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_4); /* is_ok on */ +var6 = ((short int(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_5); /* is_ok on */ } -if (var5){ +if (var6){ } else { goto BREAK_label; } { -var6 = ((val*(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_4); /* item on */ +var7 = ((val*(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_5); /* item on */ } -var_e = var6; +var_e = var7; if (var_e == NULL) { -var7 = 0; /* is null */ +var8 = 0; /* is null */ } else { -var7 = 1; /* arg is null and recv is not */ +var8 = 1; /* arg is null and recv is not */ } if (0) { -var8 = ((short int(*)(val* self, val* p0))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_e, ((val*)NULL)); /* != on */ -var7 = var8; +var9 = ((short int(*)(val* self, val* p0))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_e, ((val*)NULL)); /* != on */ +var8 = var9; } -if (var7){ +if (var8){ { -var9 = ((val*(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_e); /* to_s on */ +var10 = ((val*(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_e); /* to_s on */ } { -((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var9); /* append on */ +((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var10); /* append on */ } } else { } { -((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_4); /* next on */ +((void(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_5); /* next on */ } } BREAK_label: (void)0; { -((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_4); /* finish on */ +((void(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_5); /* finish on */ } { -var10 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_s); /* to_s on */ +var11 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_s); /* to_s on */ } -var = var10; +var = var11; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Collection#join for (self: Collection[nullable Object], nullable Text): String */ -val* core__abstract_text___Collection___join(val* self, val* p0) { +/* method abstract_text$Collection$join for (self: Collection[nullable Object], nullable Text, nullable Text): String */ +val* core__abstract_text___Collection___join(val* self, val* p0, val* p1) { val* var /* : String */; val* var_separator /* var separator: nullable Text */; +val* var_last_separator /* var last_separator: nullable Text */; short int var1 /* : Bool */; static val* varonce; val* var2 /* : String */; -char* var3 /* : NativeString */; +char* var3 /* : CString */; val* var4 /* : String */; -val* var5 /* : Buffer */; -val* var6 /* : Buffer */; +val* var5 /* : nullable Int */; +val* var6 /* : nullable Int */; +val* var7 /* : nullable Bool */; +val* var8 /* : nullable Bool */; +static val* varoncenew; +static int varoncenew_guard; +val* var9 /* : Buffer */; +val* var10 /* : Buffer */; +val* var11 /* : Buffer */; val* var_s /* var s: Buffer */; -val* var7 /* : Iterator[nullable Object] */; +val* var12 /* : Iterator[nullable Object] */; val* var_i /* var i: Iterator[nullable Object] */; -val* var8 /* : nullable Object */; +val* var13 /* : nullable Object */; val* var_e /* var e: nullable Object */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -val* var11 /* : String */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; short int var14 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var16 /* : Bool */; +short int var15 /* : Bool */; +val* var16 /* : String */; short int var17 /* : Bool */; -val* var18 /* : nullable Object */; +short int var18 /* : Bool */; short int var19 /* : Bool */; -short int var20 /* : Bool */; -val* var21 /* : String */; -val* var22 /* : String */; +val* var20 /* : nullable Object */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var25 /* : Bool */; +short int var26 /* : Bool */; +short int var27 /* : Bool */; +short int var28 /* : Bool */; +short int var30 /* : Bool */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; +short int var33 /* : Bool */; +val* var34 /* : String */; +val* var35 /* : String */; var_separator = p0; +var_last_separator = p1; { var1 = ((short int(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__is_empty]))(self); /* is_empty on */ } @@ -7488,7 +8880,11 @@ if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = ""; -var4 = core__flat___NativeString___to_s_full(var3, 0l, 0l); +var5 = (val*)(0l<<2|1); +var6 = (val*)(0l<<2|1); +var7 = (val*)((long)(0)<<2|3); +var8 = (val*)((long)(0)<<2|3); +var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8); var2 = var4; varonce = var2; } @@ -7496,35 +8892,55 @@ var = var2; goto RET_LABEL; } else { } -var5 = NEW_core__Buffer(&type_core__Buffer); +if (likely(varoncenew_guard)) { +var9 = varoncenew; +} else { +var10 = NEW_core__Buffer(&type_core__Buffer); +var9 = var10; +varoncenew = var9; +varoncenew_guard = 1; +} { -var6 = core__flat___Buffer___new(var5); +var11 = core__flat___Buffer___new(var9); } -var_s = var6; +var_s = var11; { -var7 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(self); /* iterator on */ +var12 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(self); /* iterator on */ } -var_i = var7; +var_i = var12; { -var8 = ((val*(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_i); /* item on */ +var13 = ((val*(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_i); /* item on */ } -var_e = var8; +var_e = var13; if (var_e == NULL) { -var9 = 0; /* is null */ +var14 = 0; /* is null */ } else { -var9 = 1; /* arg is null and recv is not */ +var14 = 1; /* arg is null and recv is not */ } if (0) { -var10 = ((short int(*)(val* self, val* p0))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_e, ((val*)NULL)); /* != on */ -var9 = var10; +var15 = ((short int(*)(val* self, val* p0))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_e, ((val*)NULL)); /* != on */ +var14 = var15; } -if (var9){ +if (var14){ { -var11 = ((val*(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_e); /* to_s on */ +var16 = ((val*(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_e); /* to_s on */ } { -((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var11); /* append on */ +((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var16); /* append on */ +} +} else { +} +if (var_last_separator == NULL) { +var17 = 1; /* is null */ +} else { +var17 = 0; /* arg is null but recv is not */ +} +if (0) { +var18 = ((short int(*)(val* self, val* p0))(var_last_separator->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_last_separator, ((val*)NULL)); /* == on */ +var17 = var18; } +if (var17){ +var_last_separator = var_separator; } else { } { @@ -7532,72 +8948,102 @@ var11 = ((val*(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e } for(;;) { { -var12 = ((short int(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_i); /* is_ok on */ +var19 = ((short int(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_i); /* is_ok on */ } -if (var12){ +if (var19){ +{ +var20 = ((val*(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_i); /* item on */ +} +var_e = var20; +{ +((void(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_i); /* next on */ +} +{ +var21 = ((short int(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_i); /* is_ok on */ +} +if (var21){ if (var_separator == NULL) { -var13 = 0; /* is null */ +var22 = 0; /* is null */ } else { -var13 = 1; /* arg is null and recv is not */ +var22 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_separator,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_separator,((val*)NULL)) on */ var_other = ((val*)NULL); { -var16 = ((short int(*)(val* self, val* p0))(var_separator->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_separator, var_other); /* == on */ +var25 = ((short int(*)(val* self, val* p0))(var_separator->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_separator, var_other); /* == on */ } -var17 = !var16; -var14 = var17; -goto RET_LABEL15; -RET_LABEL15:(void)0; +var26 = !var25; +var23 = var26; +goto RET_LABEL24; +RET_LABEL24:(void)0; } -var13 = var14; +var22 = var23; } -if (var13){ +if (var22){ { ((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var_separator); /* append on */ } } else { } +} else { +if (var_last_separator == NULL) { +var27 = 0; /* is null */ +} else { +var27 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel$Object$!= (var_last_separator,((val*)NULL)) on */ +var_other = ((val*)NULL); +{ +var30 = ((short int(*)(val* self, val* p0))(var_last_separator->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_last_separator, var_other); /* == on */ +} +var31 = !var30; +var28 = var31; +goto RET_LABEL29; +RET_LABEL29:(void)0; +} +var27 = var28; +} +if (var27){ { -var18 = ((val*(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_i); /* item on */ +((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var_last_separator); /* append on */ +} +} else { +} } -var_e = var18; if (var_e == NULL) { -var19 = 0; /* is null */ +var32 = 0; /* is null */ } else { -var19 = 1; /* arg is null and recv is not */ +var32 = 1; /* arg is null and recv is not */ } if (0) { -var20 = ((short int(*)(val* self, val* p0))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_e, ((val*)NULL)); /* != on */ -var19 = var20; +var33 = ((short int(*)(val* self, val* p0))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__kernel__Object___33d_61d]))(var_e, ((val*)NULL)); /* != on */ +var32 = var33; } -if (var19){ +if (var32){ { -var21 = ((val*(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_e); /* to_s on */ +var34 = ((val*(*)(val* self))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_e); /* to_s on */ } { -((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var21); /* append on */ +((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var34); /* append on */ } } else { } -{ -((void(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_i); /* next on */ -} } else { goto BREAK_label; } } BREAK_label: (void)0; { -var22 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_s); /* to_s on */ +var35 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_s); /* to_s on */ } -var = var22; +var = var35; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Sys#program_args for (self: Sys): Sequence[String] */ +/* method abstract_text$Sys$program_args for (self: Sys): Sequence[String] */ val* core__abstract_text___Sys___program_args(val* self) { val* var /* : Sequence[String] */; val* var1 /* : nullable Sequence[String] */; @@ -7616,14 +9062,17 @@ var2 = var3; } if (var2){ { -core__abstract_text___Sys___init_args(self); /* Direct call abstract_text#Sys#init_args on */ +core__abstract_text___Sys___init_args(self); /* Direct call abstract_text$Sys$init_args on */ } } else { } var4 = self->attrs[COLOR_core__abstract_text__Sys___args_cache].val; /* _args_cache on */ if (unlikely(var4 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1922); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 2212); fatal_exit(1); } var = var4; @@ -7631,14 +9080,14 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Sys#program_name for (self: Sys): String */ +/* method abstract_text$Sys$program_name for (self: Sys): String */ val* core__abstract_text___Sys___program_name(val* self) { val* var /* : String */; -char* var1 /* : NativeString */; -char* var3 /* : NativeString */; +char* var1 /* : CString */; +char* var3 /* : CString */; val* var4 /* : String */; { -{ /* Inline abstract_text#Sys#native_argv (self,0l) on */ +{ /* Inline abstract_text$Sys$native_argv (self,0l) on */ var3 = glob_argv[0l]; var1 = var3; goto RET_LABEL2; @@ -7646,14 +9095,14 @@ RET_LABEL2:(void)0; } } { -var4 = core__flat___NativeString___core__abstract_text__Object__to_s(var1); +var4 = core__flat___CString___core__abstract_text__Object__to_s(var1); } var = var4; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Sys#init_args for (self: Sys) */ +/* method abstract_text$Sys$init_args for (self: Sys) */ void core__abstract_text___Sys___init_args(val* self) { long var /* : Int */; long var2 /* : Int */; @@ -7673,8 +9122,8 @@ int cltype11; int idtype12; const char* var_class_name13; long var14 /* : Int */; -char* var15 /* : NativeString */; -char* var17 /* : NativeString */; +char* var15 /* : CString */; +char* var17 /* : CString */; val* var18 /* : String */; long var19 /* : Int */; short int var21 /* : Bool */; @@ -7683,7 +9132,7 @@ int idtype23; const char* var_class_name24; long var25 /* : Int */; { -{ /* Inline abstract_text#Sys#native_argc (self) on */ +{ /* Inline abstract_text$Sys$native_argc (self) on */ var2 = glob_argc; var = var2; goto RET_LABEL1; @@ -7693,20 +9142,20 @@ RET_LABEL1:(void)0; var_argc = var; var3 = NEW_core__Array(&type_core__Array__core__String); { -core___core__Array___with_capacity(var3, 0l); /* Direct call array#Array#with_capacity on */ +core___core__Array___with_capacity(var3, 0l); /* Direct call array$Array$with_capacity on */ } var_args = var3; var_i = 1l; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_argc) on */ +{ /* Inline kernel$Int$< (var_i,var_argc) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ var6 = 1; /* easy isa OTHER*/ if (unlikely(!var6)) { 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_core__kernel, 728); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725); fatal_exit(1); } var7 = var_i < var_argc; @@ -7717,14 +9166,14 @@ RET_LABEL5:(void)0; } if (var4){ { -{ /* Inline kernel#Int#- (var_i,1l) on */ +{ /* Inline kernel$Int$- (var_i,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var10 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var10)) { var_class_name13 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var14 = var_i - 1l; @@ -7734,7 +9183,7 @@ RET_LABEL9:(void)0; } } { -{ /* Inline abstract_text#Sys#native_argv (self,var_i) on */ +{ /* Inline abstract_text$Sys$native_argv (self,var_i) on */ var17 = glob_argv[var_i]; var15 = var17; goto RET_LABEL16; @@ -7742,20 +9191,20 @@ RET_LABEL16:(void)0; } } { -var18 = core__flat___NativeString___core__abstract_text__Object__to_s(var15); +var18 = core__flat___CString___core__abstract_text__Object__to_s(var15); } { -core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_args, var8, var18); /* Direct call array#Array#[]= on */ +core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_args, var8, var18); /* Direct call array$Array$[]= on */ } { -{ /* Inline kernel#Int#+ (var_i,1l) on */ +{ /* Inline kernel$Int$+ (var_i,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var21 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var21)) { var_class_name24 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var25 = var_i + 1l; @@ -7773,7 +9222,7 @@ BREAK_label: (void)0; self->attrs[COLOR_core__abstract_text__Sys___args_cache].val = var_args; /* _args_cache on */ RET_LABEL:; } -/* method abstract_text#Sys#native_argc for (self: Sys): Int */ +/* method abstract_text$Sys$native_argc for (self: Sys): Int */ long core__abstract_text___Sys___native_argc(val* self) { long var /* : Int */; long var1 /* : Int */; @@ -7783,17 +9232,17 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Sys#native_argv for (self: Sys, Int): NativeString */ +/* method abstract_text$Sys$native_argv for (self: Sys, Int): CString */ char* core__abstract_text___Sys___native_argv(val* self, long p0) { -char* var /* : NativeString */; -char* var1 /* : NativeString */; +char* var /* : CString */; +char* var1 /* : CString */; var1 = glob_argv[p0]; var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Sys#alpha_comparator for (self: Sys): Comparator */ +/* method abstract_text$Sys$alpha_comparator for (self: Sys): Comparator */ val* core__abstract_text___Sys___alpha_comparator(val* self) { val* var /* : Comparator */; static val* varonce; @@ -7805,7 +9254,7 @@ var1 = varonce; } else { var2 = NEW_core__abstract_text__AlphaComparator(&type_core__abstract_text__AlphaComparator); { -{ /* Inline kernel#Object#init (var2) on */ +{ /* Inline kernel$Object$init (var2) on */ RET_LABEL3:(void)0; } } @@ -7818,14 +9267,14 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#Sys#args for (self: Sys): Sequence[String] */ +/* method abstract_text$Sys$args for (self: Sys): Sequence[String] */ val* core__abstract_text___Sys___args(val* self) { val* var /* : Sequence[String] */; val* var1 /* : Sys */; val* var3 /* : Sys */; val* var4 /* : Sequence[String] */; { -{ /* Inline kernel#Object#sys (self) on */ +{ /* Inline kernel$Object$sys (self) on */ var3 = glob_sys; var1 = var3; goto RET_LABEL2; @@ -7840,21 +9289,24 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#CachedAlphaComparator#cache for (self: CachedAlphaComparator): HashMap[Object, String] */ +/* method abstract_text$CachedAlphaComparator$cache for (self: CachedAlphaComparator): HashMap[Object, String] */ val* core___core__CachedAlphaComparator___cache(val* self) { val* var /* : HashMap[Object, String] */; val* var1 /* : HashMap[Object, String] */; var1 = self->attrs[COLOR_core__abstract_text__CachedAlphaComparator___cache].val; /* _cache on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1967); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 2257); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method abstract_text#CachedAlphaComparator#do_to_s for (self: CachedAlphaComparator, Object): String */ +/* method abstract_text$CachedAlphaComparator$do_to_s for (self: CachedAlphaComparator, Object): String */ val* core___core__CachedAlphaComparator___do_to_s(val* self, val* p0) { val* var /* : String */; val* var_a /* var a: Object */; @@ -7870,11 +9322,14 @@ val* var10 /* : HashMap[Object, String] */; val* var12 /* : HashMap[Object, String] */; var_a = p0; { -{ /* Inline abstract_text#CachedAlphaComparator#cache (self) on */ +{ /* Inline abstract_text$CachedAlphaComparator$cache (self) on */ var3 = self->attrs[COLOR_core__abstract_text__CachedAlphaComparator___cache].val; /* _cache on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1967); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 2257); fatal_exit(1); } var1 = var3; @@ -7886,11 +9341,14 @@ var4 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var1, } if (var4){ { -{ /* Inline abstract_text#CachedAlphaComparator#cache (self) on */ +{ /* Inline abstract_text$CachedAlphaComparator$cache (self) on */ var7 = self->attrs[COLOR_core__abstract_text__CachedAlphaComparator___cache].val; /* _cache on */ if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1967); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 2257); fatal_exit(1); } var5 = var7; @@ -7909,11 +9367,14 @@ var9 = ((val*(*)(val* self))((((long)var_a&3)?class_info[((long)var_a&3)]:var_a- } var_res = var9; { -{ /* Inline abstract_text#CachedAlphaComparator#cache (self) on */ +{ /* Inline abstract_text$CachedAlphaComparator$cache (self) on */ var12 = self->attrs[COLOR_core__abstract_text__CachedAlphaComparator___cache].val; /* _cache on */ if (unlikely(var12 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cache"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1967); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 2257); fatal_exit(1); } var10 = var12; @@ -7921,14 +9382,14 @@ RET_LABEL11:(void)0; } } { -core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var10, var_a, var_res); /* Direct call hash_collection#HashMap#[]= on */ +core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var10, var_a, var_res); /* Direct call hash_collection$HashMap$[]= on */ } var = var_res; goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#CachedAlphaComparator#compare for (self: CachedAlphaComparator, Object, Object): Int */ +/* method abstract_text$CachedAlphaComparator$compare for (self: CachedAlphaComparator, Object, Object): Int */ long core___core__CachedAlphaComparator___core__sorter__Comparator__compare(val* self, val* p0, val* p1) { long var /* : Int */; short int var1 /* : Bool */; @@ -7959,7 +9420,7 @@ var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id if (unlikely(!var1)) { var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1976); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 2266); fatal_exit(1); } /* Covariant cast for argument 1 (b) isa COMPARED */ @@ -7975,7 +9436,7 @@ var2 = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype3] == i if (unlikely(!var2)) { var_class_name6 = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name6); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1976); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 2266); fatal_exit(1); } var_a = p0; @@ -7994,7 +9455,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method abstract_text#AlphaComparator#compare for (self: AlphaComparator, nullable Object, nullable Object): Int */ +/* method abstract_text$AlphaComparator$compare for (self: AlphaComparator, nullable Object, nullable Object): Int */ long core__abstract_text___core__abstract_text__AlphaComparator___core__sorter__Comparator__compare(val* self, val* p0, val* p1) { long var /* : Int */; short int var1 /* : Bool */; @@ -8011,9 +9472,17 @@ short int is_nullable6; const char* var_class_name7; val* var_a /* var a: nullable Object */; val* var_b /* var b: nullable Object */; -val* var8 /* : String */; -val* var9 /* : String */; -long var10 /* : Int */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +long var12 /* : Int */; +long var14 /* : Int */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +val* var17 /* : String */; +val* var18 /* : String */; +long var19 /* : Int */; /* Covariant cast for argument 0 (a) isa COMPARED */ /* isa COMPARED */ type_struct = self->type->resolution_table->types[COLOR_core__sorter__Comparator__COMPARED]; @@ -8032,7 +9501,7 @@ var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id if (unlikely(!var1)) { var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1984); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 2274); fatal_exit(1); } /* Covariant cast for argument 1 (b) isa COMPARED */ @@ -8053,29 +9522,68 @@ var2 = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype3] == i if (unlikely(!var2)) { var_class_name7 = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name7); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1984); +PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 2274); fatal_exit(1); } var_a = p0; var_b = p1; if (var_a == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1984); -fatal_exit(1); +var8 = (var_b == NULL); +} else { +var9 = ((short int(*)(val* self, val* p0))((((long)var_a&3)?class_info[((long)var_a&3)]:var_a->class)->vft[COLOR_core__kernel__Object___61d_61d]))(var_a, var_b); /* == on */ +var8 = var9; +} +if (var8){ +var = 0l; +goto RET_LABEL; +} else { +} +if (var_a == NULL) { +var10 = 1; /* is null */ +} else { +var10 = 0; /* arg is null but recv is not */ +} +if (0) { +var11 = ((short int(*)(val* self, val* p0))((((long)var_a&3)?class_info[((long)var_a&3)]:var_a->class)->vft[COLOR_core__kernel__Object___61d_61d]))(var_a, ((val*)NULL)); /* == on */ +var10 = var11; +} +if (var10){ +{ +{ /* Inline kernel$Int$unary - (1l) on <1l:Int> */ +var14 = -1l; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +} +var = var12; +goto RET_LABEL; } else { -var8 = ((val*(*)(val* self))((((long)var_a&3)?class_info[((long)var_a&3)]:var_a->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_a); /* to_s on */ } if (var_b == NULL) { -PRINT_ERROR("Runtime error: %s", "Receiver is null"); -PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1984); -fatal_exit(1); +var15 = 1; /* is null */ +} else { +var15 = 0; /* arg is null but recv is not */ +} +if (0) { +var16 = ((short int(*)(val* self, val* p0))((((long)var_b&3)?class_info[((long)var_b&3)]:var_b->class)->vft[COLOR_core__kernel__Object___61d_61d]))(var_b, ((val*)NULL)); /* == on */ +var15 = var16; +} +if (var15){ +var = 1l; +goto RET_LABEL; } else { -var9 = ((val*(*)(val* self))((((long)var_b&3)?class_info[((long)var_b&3)]:var_b->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_b); /* to_s on */ } { -var10 = core___core__Comparable____60d_61d_62d(var8, var9); +var17 = ((val*(*)(val* self))((((long)var_a&3)?class_info[((long)var_a&3)]:var_a->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_a); /* to_s on */ } -var = var10; +{ +var18 = ((val*(*)(val* self))((((long)var_b&3)?class_info[((long)var_b&3)]:var_b->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_b); /* to_s on */ +} +{ +var19 = core___core__Comparable____60d_61d_62d(var17, var18); +} +var = var19; goto RET_LABEL; RET_LABEL:; return var;