X-Git-Url: http://nitlanguage.org diff --git a/c_src/standard__string.sep.1.c b/c_src/standard__string.sep.1.c index f38e35e..544ca3d 100644 --- a/c_src/standard__string.sep.1.c +++ b/c_src/standard__string.sep.1.c @@ -1,75 +1,146 @@ #include "standard__string.sep.0.h" +/* method string#Text#length for (self: Text): Int */ +long standard___standard__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_standard__string, 44); +fatal_exit(1); +RET_LABEL:; +return var; +} +/* method string#Text#substring for (self: Text, Int, Int): Text */ +val* standard___standard__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_standard__string, 50); +fatal_exit(1); +RET_LABEL:; +return var; +} +/* method string#Text#substrings for (self: Text): Iterator[FlatText] */ +val* standard___standard__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_standard__string, 62); +fatal_exit(1); +RET_LABEL:; +return var; +} /* method string#Text#is_empty for (self: Text): Bool */ short int standard___standard__Text___is_empty(val* self) { short int var /* : Bool */; long var1 /* : Int */; -long var2 /* : Int */; -short int var3 /* : Bool */; -short int var5 /* : Bool */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; { -var1 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var1 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } -var2 = 0; { -{ /* Inline kernel#Int#== (var1,var2) on */ -var5 = var1 == var2; -var3 = var5; -goto RET_LABEL4; -RET_LABEL4:(void)0; +{ /* Inline kernel#Int#== (var1,0l) on */ +var4 = var1 == 0l; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +} +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method string#Text#empty for (self: Text): Text */ +val* standard___standard__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_standard__string, 71); +fatal_exit(1); +RET_LABEL:; +return var; +} +/* method string#Text#[] for (self: Text, Int): Char */ +uint32_t standard___standard__Text____91d_93d(val* self, long p0) { +uint32_t var /* : Char */; +long var_index /* var index: Int */; +val* var1 /* : SequenceRead[Char] */; +val* var2 /* : nullable Object */; +uint32_t var3 /* : Char */; +var_index = p0; +{ +var1 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } +{ +var2 = ((val*(*)(val* self, long p0))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var1, var_index); /* [] on */ } +var3 = (uint32_t)((long)(var2)>>2); var = var3; goto RET_LABEL; RET_LABEL:; return var; } /* method string#Text#last for (self: Text): Char */ -char standard___standard__Text___last(val* self) { -char var /* : Char */; +uint32_t standard___standard__Text___last(val* self) { +uint32_t var /* : Char */; val* var1 /* : SequenceRead[Char] */; long var2 /* : Int */; long var3 /* : Int */; -long var4 /* : Int */; -short int var6 /* : Bool */; +short int var5 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var7 /* : Int */; -val* var8 /* : nullable Object */; -char var9 /* : Char */; +long var6 /* : Int */; +val* var7 /* : nullable Object */; +uint32_t var8 /* : Char */; { -var1 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var1 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var2 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var2 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } -var3 = 1; { -{ /* Inline kernel#Int#- (var2,var3) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var6 = 1; /* easy isa OTHER*/ -if (unlikely(!var6)) { +{ /* 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_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var7 = var2 - var3; -var4 = var7; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var6 = var2 - 1l; +var3 = var6; +goto RET_LABEL4; +RET_LABEL4:(void)0; } } { -var8 = ((val* (*)(val* self, long p0))(var1->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var1, var4) /* [] on */; +var7 = ((val*(*)(val* self, long p0))((((long)var1&3)?class_info[((long)var1&3)]:var1->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var1, var3); /* [] on */ } -var9 = ((struct instance_standard__Char*)var8)->value; /* autounbox from nullable Object to Char */; -var = var9; +var8 = (uint32_t)((long)(var7)>>2); +var = var8; goto RET_LABEL; RET_LABEL:; return var; } +/* method string#Text#to_cstring for (self: Text): NativeString */ +char* standard___standard__Text___to_cstring(val* self) { +char* var /* : NativeString */; +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_standard__string, 129); +fatal_exit(1); +RET_LABEL:; +return var; +} /* method string#Text#substring_from for (self: Text, Int): Text */ val* standard___standard__Text___substring_from(val* self, long p0) { val* var /* : Text */; @@ -82,25 +153,23 @@ int idtype; const char* var_class_name; short int var5 /* : Bool */; val* var6 /* : Text */; -long var7 /* : Int */; -short int var8 /* : Bool */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -const char* var_class_name13; -short int var14 /* : Bool */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +const char* var_class_name12; +short int var13 /* : Bool */; +long var14 /* : Int */; long var15 /* : Int */; -long var16 /* : Int */; -long var17 /* : Int */; -short int var19 /* : Bool */; -int cltype20; -int idtype21; -const char* var_class_name22; -long var23 /* : Int */; -val* var24 /* : Text */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +const char* var_class_name20; +long var21 /* : Int */; +val* var22 /* : Text */; var_from = p0; { -var1 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var1 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } { { /* Inline kernel#Int#>= (var_from,var1) on */ @@ -110,8 +179,8 @@ var4 = 1; /* easy isa OTHER*/ if (unlikely(!var4)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } var5 = var_from >= var1; var2 = var5; @@ -121,59 +190,57 @@ RET_LABEL3:(void)0; } if (var2){ { -var6 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__empty]))(self) /* empty on */; +var6 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__empty]))(self); /* empty on */ } var = var6; goto RET_LABEL; } else { } -var7 = 0; { -{ /* Inline kernel#Int#< (var_from,var7) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var10 = 1; /* easy isa OTHER*/ -if (unlikely(!var10)) { -var_class_name13 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var14 = var_from < var7; -var8 = var14; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var13 = var_from < 0l; +var7 = var13; +goto RET_LABEL8; +RET_LABEL8:(void)0; } } -if (var8){ -var15 = 0; -var_from = var15; +if (var7){ +var_from = 0l; } else { } { -var16 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var14 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#- (var16,var_from) on */ +{ /* Inline kernel#Int#- (var14,var_from) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var19 = 1; /* easy isa OTHER*/ -if (unlikely(!var19)) { -var_class_name22 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +var17 = 1; /* easy isa OTHER*/ +if (unlikely(!var17)) { +var_class_name20 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var23 = var16 - var_from; -var17 = var23; -goto RET_LABEL18; -RET_LABEL18:(void)0; +var21 = var14 - var_from; +var15 = var21; +goto RET_LABEL16; +RET_LABEL16:(void)0; } } { -var24 = ((val* (*)(val* self, long p0, long p1))(self->class->vft[COLOR_standard__string__Text__substring]))(self, var_from, var17) /* substring on */; +var22 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_standard__string__Text__substring]))(self, var_from, var15); /* substring on */ } -var = var24; +var = var22; goto RET_LABEL; RET_LABEL:; return var; @@ -186,183 +253,173 @@ long var_pos /* var pos: Int */; short int var1 /* : Bool */; short int var2 /* : Bool */; short int var3 /* : Bool */; -long var4 /* : Int */; short int var5 /* : Bool */; -short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var8 /* : Bool */; +short int var6 /* : Bool */; short int var_ /* var : Bool */; -long var9 /* : Int */; -long var10 /* : Int */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -const char* var_class_name15; -long var16 /* : Int */; -long var17 /* : Int */; +long var7 /* : Int */; +long var8 /* : Int */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +const char* var_class_name13; +long var14 /* : Int */; +long var15 /* : Int */; +short int var16 /* : Bool */; short int var18 /* : Bool */; -short int var20 /* : Bool */; -int cltype21; -int idtype22; -const char* var_class_name23; -short int var24 /* : Bool */; -short int var25 /* : Bool */; -val* var26 /* : SequenceRead[Char] */; -val* var27 /* : IndexedIterator[nullable Object] */; +int cltype19; +int idtype20; +const char* var_class_name21; +short int var22 /* : Bool */; +val* var23 /* : SequenceRead[Char] */; +val* var24 /* : IndexedIterator[nullable Object] */; val* var_myiter /* var myiter: IndexedIterator[Char] */; -val* var28 /* : SequenceRead[Char] */; -val* var29 /* : Iterator[nullable Object] */; +val* var25 /* : SequenceRead[Char] */; +val* var26 /* : Iterator[nullable Object] */; val* var_itsiter /* var itsiter: IndexedIterator[Char] */; +short int var27 /* : Bool */; +short int var28 /* : Bool */; +short int var_29 /* var : Bool */; short int var30 /* : Bool */; -short int var31 /* : Bool */; -short int var_32 /* var : Bool */; +val* var31 /* : nullable Object */; +val* var32 /* : nullable Object */; short int var33 /* : Bool */; -val* var34 /* : nullable Object */; -val* var35 /* : nullable Object */; +short int var35 /* : Bool */; short int var36 /* : Bool */; -short int var38 /* : Bool */; -short int var39 /* : Bool */; -short int var40 /* : Bool */; -short int var41 /* : Bool */; -short int var42 /* : Bool */; -short int var43 /* : Bool */; +short int var37 /* : Bool */; var_str = p0; var_pos = p1; { var1 = standard___standard__Text___is_empty(var_str); } if (var1){ -var2 = 1; -var = var2; +var = 1; goto RET_LABEL; } else { } -var4 = 0; { -{ /* Inline kernel#Int#< (var_pos,var4) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var7 = 1; /* easy isa OTHER*/ -if (unlikely(!var7)) { +{ /* 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_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var8 = var_pos < var4; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var6 = var_pos < 0l; +var3 = var6; +goto RET_LABEL4; +RET_LABEL4:(void)0; } } -var_ = var5; -if (var5){ -var3 = var_; +var_ = var3; +if (var3){ +var2 = var_; } else { { -var9 = ((long (*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__length]))(var_str) /* length on */; +var7 = ((long(*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__length]))(var_str); /* length on */ } { -{ /* Inline kernel#Int#+ (var_pos,var9) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var12 = 1; /* easy isa OTHER*/ -if (unlikely(!var12)) { -var_class_name15 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var16 = var_pos + var9; -var10 = var16; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var14 = var_pos + var7; +var8 = var14; +goto RET_LABEL9; +RET_LABEL9:(void)0; } } { -var17 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var15 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } { -{ /* Inline kernel#Int#> (var10,var17) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var20 = 1; /* easy isa OTHER*/ -if (unlikely(!var20)) { -var_class_name23 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var24 = var10 > var17; -var18 = var24; -goto RET_LABEL19; -RET_LABEL19:(void)0; +var22 = var8 > var15; +var16 = var22; +goto RET_LABEL17; +RET_LABEL17:(void)0; } } -var3 = var18; +var2 = var16; } -if (var3){ -var25 = 0; -var = var25; +if (var2){ +var = 0; goto RET_LABEL; } else { } { -var26 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var23 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var27 = ((val* (*)(val* self, long p0))(var26->class->vft[COLOR_standard__abstract_collection__SequenceRead__iterator_from]))(var26, var_pos) /* iterator_from on */; +var24 = ((val*(*)(val* self, long p0))((((long)var23&3)?class_info[((long)var23&3)]:var23->class)->vft[COLOR_standard__abstract_collection__SequenceRead__iterator_from]))(var23, var_pos); /* iterator_from on */ } -var_myiter = var27; +var_myiter = var24; { -var28 = ((val* (*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__chars]))(var_str) /* chars on */; +var25 = ((val*(*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__chars]))(var_str); /* chars on */ } { -var29 = ((val* (*)(val* self))(var28->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var28) /* iterator on */; +var26 = ((val*(*)(val* self))((((long)var25&3)?class_info[((long)var25&3)]:var25->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var25); /* iterator on */ } -var_itsiter = var29; +var_itsiter = var26; for(;;) { { -var31 = ((short int (*)(val* self))(var_myiter->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_myiter) /* is_ok on */; +var28 = ((short int(*)(val* self))((((long)var_myiter&3)?class_info[((long)var_myiter&3)]:var_myiter->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_myiter); /* is_ok on */ } -var_32 = var31; -if (var31){ +var_29 = var28; +if (var28){ { -var33 = ((short int (*)(val* self))(var_itsiter->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_itsiter) /* is_ok on */; +var30 = ((short int(*)(val* self))((((long)var_itsiter&3)?class_info[((long)var_itsiter&3)]:var_itsiter->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_itsiter); /* is_ok on */ } -var30 = var33; +var27 = var30; } else { -var30 = var_32; +var27 = var_29; } -if (var30){ +if (var27){ { -var34 = ((val* (*)(val* self))(var_myiter->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_myiter) /* item on */; +var31 = ((val*(*)(val* self))((((long)var_myiter&3)?class_info[((long)var_myiter&3)]:var_myiter->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_myiter); /* item on */ } { -var35 = ((val* (*)(val* self))(var_itsiter->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_itsiter) /* item on */; +var32 = ((val*(*)(val* self))((((long)var_itsiter&3)?class_info[((long)var_itsiter&3)]:var_itsiter->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_itsiter); /* item on */ } { -{ /* Inline kernel#Char#!= (var34,var35) on */ -var38 = var34 == var35 || (((struct instance_standard__Char*)var34)->value == ((struct instance_standard__Char*)var35)->value); -var39 = !var38; -var36 = var39; -goto RET_LABEL37; -RET_LABEL37:(void)0; +{ /* Inline kernel#Char#!= (var31,var32) on */ +var35 = var31 == var32; +var36 = !var35; +var33 = var36; +goto RET_LABEL34; +RET_LABEL34:(void)0; } } -if (var36){ -var40 = 0; -var = var40; +if (var33){ +var = 0; goto RET_LABEL; } else { } { -((void (*)(val* self))(var_myiter->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_myiter) /* next on */; +((void(*)(val* self))((((long)var_myiter&3)?class_info[((long)var_myiter&3)]:var_myiter->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_myiter); /* next on */ } { -((void (*)(val* self))(var_itsiter->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_itsiter) /* next on */; +((void(*)(val* self))((((long)var_itsiter&3)?class_info[((long)var_itsiter&3)]:var_itsiter->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_itsiter); /* next on */ } } else { goto BREAK_label; @@ -370,16 +427,14 @@ goto BREAK_label; } BREAK_label: (void)0; { -var41 = ((short int (*)(val* self))(var_itsiter->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_itsiter) /* is_ok on */; +var37 = ((short int(*)(val* self))((((long)var_itsiter&3)?class_info[((long)var_itsiter&3)]:var_itsiter->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_itsiter); /* is_ok on */ } -if (var41){ -var42 = 0; -var = var42; +if (var37){ +var = 0; goto RET_LABEL; } else { } -var43 = 1; -var = var43; +var = 1; goto RET_LABEL; RET_LABEL:; return var; @@ -388,14 +443,12 @@ return var; short int standard___standard__Text___has_prefix(val* self, val* p0) { short int var /* : Bool */; val* var_prefix /* var prefix: String */; -long var1 /* : Int */; -short int var2 /* : Bool */; +short int var1 /* : Bool */; var_prefix = p0; -var1 = 0; { -var2 = standard___standard__Text___has_substring(self, var_prefix, var1); +var1 = standard___standard__Text___has_substring(self, var_prefix, 0l); } -var = var2; +var = var1; goto RET_LABEL; RET_LABEL:; return var; @@ -415,10 +468,10 @@ long var6 /* : Int */; short int var7 /* : Bool */; var_suffix = p0; { -var1 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var1 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } { -var2 = ((long (*)(val* self))(var_suffix->class->vft[COLOR_standard__string__Text__length]))(var_suffix) /* length on */; +var2 = ((long(*)(val* self))(var_suffix->class->vft[COLOR_standard__string__Text__length]))(var_suffix); /* length on */ } { { /* Inline kernel#Int#- (var1,var2) on */ @@ -428,8 +481,8 @@ var5 = 1; /* easy isa OTHER*/ if (unlikely(!var5)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } var6 = var1 - var2; var3 = var6; @@ -453,10 +506,10 @@ char* var2 /* : NativeString */; long var3 /* : Int */; long var5 /* : Int */; { -var1 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Object__to_s]))(self) /* to_s on */; +var1 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Object__to_s]))(self); /* to_s on */ } { -var2 = ((char* (*)(val* self))(var1->class->vft[COLOR_standard__string__Text__to_cstring]))(var1) /* to_cstring on */; +var2 = ((char*(*)(val* self))(var1->class->vft[COLOR_standard__string__Text__to_cstring]))(var1); /* to_cstring on */ } { { /* Inline string#NativeString#atoi (var2) on */ @@ -479,10 +532,10 @@ char* var2 /* : NativeString */; double var3 /* : Float */; double var5 /* : Float for extern */; { -var1 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Object__to_s]))(self) /* to_s on */; +var1 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Object__to_s]))(self); /* to_s on */ } { -var2 = ((char* (*)(val* self))(var1->class->vft[COLOR_standard__string__Text__to_cstring]))(var1) /* to_cstring on */; +var2 = ((char*(*)(val* self))(var1->class->vft[COLOR_standard__string__Text__to_cstring]))(var1); /* to_cstring on */ } { { /* Inline string#NativeString#atof (var2) on */ @@ -501,12 +554,34 @@ return var; long standard___standard__Text___to_hex(val* self) { long var /* : Int */; long var1 /* : Int */; -long var2 /* : Int */; -var1 = 16; { -var2 = standard___standard__Text___a_to(self, var1); +var1 = standard___standard__Text___a_to(self, 16l); } -var = var2; +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method string#Text#to_oct for (self: Text): Int */ +long standard___standard__Text___to_oct(val* self) { +long var /* : Int */; +long var1 /* : Int */; +{ +var1 = standard___standard__Text___a_to(self, 8l); +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method string#Text#to_bin for (self: Text): Int */ +long standard___standard__Text___to_bin(val* self) { +long var /* : Int */; +long var1 /* : Int */; +{ +var1 = standard___standard__Text___a_to(self, 2l); +} +var = var1; goto RET_LABEL; RET_LABEL:; return var; @@ -515,198 +590,186 @@ return var; long standard___standard__Text___a_to(val* self, long p0) { long var /* : Int */; long var_base /* var base: Int */; -long var1 /* : Int */; long var_i /* var i: Int */; -short int var2 /* : Bool */; short int var_neg /* var neg: Bool */; -long var3 /* : Int */; long var_j /* var j: Int */; -long var4 /* : Int */; +long var1 /* : Int */; long var_ /* var : Int */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var8 /* : Bool */; -val* var9 /* : SequenceRead[Char] */; -val* var10 /* : nullable Object */; -char var11 /* : Char */; -char var_c /* var c: Char */; -long var12 /* : Int */; +short int var5 /* : Bool */; +val* var6 /* : SequenceRead[Char] */; +val* var7 /* : nullable Object */; +uint32_t var8 /* : Char */; +uint32_t var_c /* var c: Char */; +long var9 /* : Int */; long var_v /* var v: Int */; -short int var13 /* : Bool */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -const char* var_class_name18; -short int var19 /* : Bool */; -long var20 /* : Int */; -long var22 /* : Int */; -long var23 /* : Int */; -short int var24 /* : Bool */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +const char* var_class_name15; +short int var16 /* : Bool */; +long var17 /* : Int */; +long var19 /* : Int */; +short int var20 /* : Bool */; +short int var22 /* : Bool */; +int cltype23; +int idtype24; +const char* var_class_name25; short int var26 /* : Bool */; -int cltype27; -int idtype28; -const char* var_class_name29; -short int var30 /* : Bool */; -short int var31 /* : Bool */; -long var32 /* : Int */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -const char* var_class_name37; -long var38 /* : Int */; -long var39 /* : Int */; -short int var41 /* : Bool */; -int cltype42; -int idtype43; -const char* var_class_name44; -long var45 /* : Int */; -long var46 /* : Int */; -long var47 /* : Int */; -long var48 /* : Int */; -long var50 /* : Int */; +long var27 /* : Int */; +short int var29 /* : Bool */; +int cltype30; +int idtype31; +const char* var_class_name32; +long var33 /* : Int */; +long var34 /* : Int */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +const char* var_class_name39; +long var40 /* : Int */; +long var41 /* : Int */; +long var42 /* : Int */; +long var44 /* : Int */; var_base = p0; -var1 = 0; -var_i = var1; -var2 = 0; -var_neg = var2; -var3 = 0; -var_j = var3; +var_i = 0l; +var_neg = 0; +var_j = 0l; { -var4 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var1 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } -var_ = var4; +var_ = var1; for(;;) { { { /* Inline kernel#Int#< (var_j,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var7 = 1; /* easy isa OTHER*/ -if (unlikely(!var7)) { +var4 = 1; /* easy isa OTHER*/ +if (unlikely(!var4)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var8 = var_j < var_; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var5 = var_j < var_; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; } } -if (var5){ +if (var2){ { -var9 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var6 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var10 = ((val* (*)(val* self, long p0))(var9->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var9, var_j) /* [] on */; +var7 = ((val*(*)(val* self, long p0))((((long)var6&3)?class_info[((long)var6&3)]:var6->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var6, var_j); /* [] on */ } -var11 = ((struct instance_standard__Char*)var10)->value; /* autounbox from nullable Object to Char */; -var_c = var11; +var8 = (uint32_t)((long)(var7)>>2); +var_c = var8; { -var12 = standard___standard__Char___to_i(var_c); +var9 = standard___standard__Char___to_i(var_c); } -var_v = var12; +var_v = var9; { { /* Inline kernel#Int#> (var_v,var_base) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var15 = 1; /* easy isa OTHER*/ -if (unlikely(!var15)) { -var_class_name18 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +var12 = 1; /* easy isa OTHER*/ +if (unlikely(!var12)) { +var_class_name15 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var19 = var_v > var_base; -var13 = var19; -goto RET_LABEL14; -RET_LABEL14:(void)0; +var16 = var_v > var_base; +var10 = var16; +goto RET_LABEL11; +RET_LABEL11:(void)0; } } -if (var13){ +if (var10){ if (var_neg){ { { /* Inline kernel#Int#unary - (var_i) on */ -var22 = -var_i; -var20 = var22; -goto RET_LABEL21; -RET_LABEL21:(void)0; +var19 = -var_i; +var17 = var19; +goto RET_LABEL18; +RET_LABEL18:(void)0; } } -var = var20; +var = var17; goto RET_LABEL; } else { var = var_i; goto RET_LABEL; } } else { -var23 = 0; { -{ /* Inline kernel#Int#< (var_v,var23) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var26 = 1; /* easy isa OTHER*/ -if (unlikely(!var26)) { -var_class_name29 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var30 = var_v < var23; -var24 = var30; -goto RET_LABEL25; -RET_LABEL25:(void)0; +var26 = var_v < 0l; +var20 = var26; +goto RET_LABEL21; +RET_LABEL21:(void)0; } } -if (var24){ -var31 = 1; -var_neg = var31; +if (var20){ +var_neg = 1; } else { { { /* Inline kernel#Int#* (var_i,var_base) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var34 = 1; /* easy isa OTHER*/ -if (unlikely(!var34)) { -var_class_name37 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417); -show_backtrace(1); +var29 = 1; /* easy isa OTHER*/ +if (unlikely(!var29)) { +var_class_name32 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541); +fatal_exit(1); } -var38 = var_i * var_base; -var32 = var38; -goto RET_LABEL33; -RET_LABEL33:(void)0; +var33 = var_i * var_base; +var27 = var33; +goto RET_LABEL28; +RET_LABEL28:(void)0; } } { -{ /* Inline kernel#Int#+ (var32,var_v) on */ +{ /* Inline kernel#Int#+ (var27,var_v) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var41 = 1; /* easy isa OTHER*/ -if (unlikely(!var41)) { -var_class_name44 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +var36 = 1; /* easy isa OTHER*/ +if (unlikely(!var36)) { +var_class_name39 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var45 = var32 + var_v; -var39 = var45; -goto RET_LABEL40; -RET_LABEL40:(void)0; +var40 = var27 + var_v; +var34 = var40; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } -var_i = var39; +var_i = var34; } } -var46 = 1; { -var47 = standard___standard__Int___Discrete__successor(var_j, var46); +var41 = standard___standard__Int___Discrete__successor(var_j, 1l); } -var_j = var47; +var_j = var41; } else { goto BREAK_label; } @@ -715,13 +778,13 @@ BREAK_label: (void)0; if (var_neg){ { { /* Inline kernel#Int#unary - (var_i) on */ -var50 = -var_i; -var48 = var50; -goto RET_LABEL49; -RET_LABEL49:(void)0; +var44 = -var_i; +var42 = var44; +goto RET_LABEL43; +RET_LABEL43:(void)0; } } -var = var48; +var = var42; goto RET_LABEL; } else { var = var_i; @@ -733,430 +796,459 @@ return var; /* method string#Text#is_numeric for (self: Text): Bool */ short int standard___standard__Text___is_numeric(val* self) { short int var /* : Bool */; -short int var1 /* : Bool */; short int var_has_point_or_comma /* var has_point_or_comma: Bool */; -long var2 /* : Int */; long var_i /* var i: Int */; -long var3 /* : Int */; +long var1 /* : Int */; long var_ /* var : Int */; +short int var2 /* : Bool */; short int var4 /* : Bool */; -short int var6 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var7 /* : Bool */; -val* var8 /* : SequenceRead[Char] */; -val* var9 /* : nullable Object */; -char var10 /* : Char */; -char var_c /* var c: Char */; +short int var5 /* : Bool */; +val* var6 /* : SequenceRead[Char] */; +val* var7 /* : nullable Object */; +uint32_t var8 /* : Char */; +uint32_t var_c /* var c: Char */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; short int var11 /* : Bool */; short int var12 /* : Bool */; short int var13 /* : Bool */; -short int var14 /* : Bool */; -char var15 /* : Char */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -short int var_19 /* var : Bool */; -char var20 /* : Char */; +short int var15 /* : Bool */; +short int var_16 /* var : Bool */; +short int var17 /* : Bool */; +short int var19 /* : Bool */; +short int var_20 /* var : Bool */; short int var21 /* : Bool */; -short int var23 /* : Bool */; -short int var_24 /* var : Bool */; -short int var25 /* : Bool */; -short int var26 /* : Bool */; -short int var27 /* : Bool */; -long var28 /* : Int */; -long var29 /* : Int */; -short int var30 /* : Bool */; -var1 = 0; -var_has_point_or_comma = var1; -var2 = 0; -var_i = var2; +long var22 /* : Int */; +var_has_point_or_comma = 0; +var_i = 0l; { -var3 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var1 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } -var_ = var3; +var_ = var1; for(;;) { { { /* 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)) { +var4 = 1; /* easy isa OTHER*/ +if (unlikely(!var4)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var7 = var_i < var_; -var4 = var7; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var5 = var_i < var_; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; } } -if (var4){ +if (var2){ { -var8 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var6 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var9 = ((val* (*)(val* self, long p0))(var8->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var8, var_i) /* [] on */; +var7 = ((val*(*)(val* self, long p0))((((long)var6&3)?class_info[((long)var6&3)]:var6->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var6, var_i); /* [] on */ } -var10 = ((struct instance_standard__Char*)var9)->value; /* autounbox from nullable Object to Char */; -var_c = var10; +var8 = (uint32_t)((long)(var7)>>2); +var_c = var8; { -var11 = standard__string___Char___is_numeric(var_c); +var9 = standard__string___Char___is_numeric(var_c); } -var12 = !var11; -if (var12){ -var15 = '.'; +var10 = !var9; +if (var10){ { -{ /* Inline kernel#Char#== (var_c,var15) on */ -var18 = var_c == var15; -var16 = var18; -goto RET_LABEL17; -RET_LABEL17:(void)0; +{ /* Inline kernel#Char#== (var_c,'.') on */ +var15 = var_c == '.'; +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } } -var_19 = var16; -if (var16){ -var14 = var_19; +var_16 = var13; +if (var13){ +var12 = var_16; } else { -var20 = ','; { -{ /* Inline kernel#Char#== (var_c,var20) on */ -var23 = var_c == var20; -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +{ /* Inline kernel#Char#== (var_c,',') on */ +var19 = var_c == ','; +var17 = var19; +goto RET_LABEL18; +RET_LABEL18:(void)0; } } -var14 = var21; +var12 = var17; } -var_24 = var14; -if (var14){ -var25 = !var_has_point_or_comma; -var13 = var25; +var_20 = var12; +if (var12){ +var21 = !var_has_point_or_comma; +var11 = var21; } else { -var13 = var_24; +var11 = var_20; } -if (var13){ -var26 = 1; -var_has_point_or_comma = var26; +if (var11){ +var_has_point_or_comma = 1; } else { -var27 = 0; -var = var27; +var = 0; goto RET_LABEL; } } else { } -var28 = 1; { -var29 = standard___standard__Int___Discrete__successor(var_i, var28); +var22 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var29; +var_i = var22; } else { goto BREAK_label; } } BREAK_label: (void)0; -var30 = 1; -var = var30; +var = 1; goto RET_LABEL; RET_LABEL:; return var; } -/* method string#Text#chomp for (self: Text): Text */ -val* standard___standard__Text___chomp(val* self) { -val* var /* : Text */; +/* method string#Text#is_lower for (self: Text): Bool */ +short int standard___standard__Text___is_lower(val* self) { +short int var /* : Bool */; +long var_i /* var i: Int */; long var1 /* : Int */; -long var_len /* var len: Int */; -long var2 /* : Int */; -short int var3 /* : Bool */; -short int var5 /* : Bool */; -short int var6 /* : Bool */; +long var_ /* var : Int */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; -const struct type* type_struct; const char* var_class_name; -val* var7 /* : SequenceRead[Char] */; -val* var8 /* : nullable Object */; -char var9 /* : Char */; -char var_l /* var l: Char */; -char var10 /* : Char */; -short int var11 /* : Bool */; -short int var13 /* : Bool */; -long var14 /* : Int */; -long var15 /* : Int */; -long var16 /* : Int */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -const char* var_class_name21; -long var22 /* : Int */; -val* var23 /* : Text */; -char var24 /* : Char */; -short int var25 /* : Bool */; -short int var27 /* : Bool */; -short int var28 /* : Bool */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -const struct type* type_struct32; -const char* var_class_name33; -short int var34 /* : Bool */; -long var35 /* : Int */; -short int var36 /* : Bool */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -const char* var_class_name41; -short int var42 /* : Bool */; +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 */; +long var10 /* : Int */; +var_i = 0l; +{ +var1 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ +} +var_ = var1; +for(;;) { +{ +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var5 = var_i < var_; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +} +if (var2){ +{ +var6 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ +} +{ +var7 = ((val*(*)(val* self, long p0))((((long)var6&3)?class_info[((long)var6&3)]:var6->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var6, var_i); /* [] on */ +} +var8 = (uint32_t)((long)(var7)>>2); +var_char = var8; +{ +var9 = standard___standard__Char___is_upper(var_char); +} +if (var9){ +var = 0; +goto RET_LABEL; +} else { +} +{ +var10 = standard___standard__Int___Discrete__successor(var_i, 1l); +} +var_i = var10; +} else { +goto BREAK_label; +} +} +BREAK_label: (void)0; +var = 1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method string#Text#chomp for (self: Text): Text */ +val* standard___standard__Text___chomp(val* self) { +val* var /* : Text */; +long var1 /* : Int */; +long var_len /* var len: Int */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +val* var6 /* : SequenceRead[Char] */; +val* var7 /* : nullable Object */; +uint32_t var8 /* : Char */; +uint32_t var_l /* var l: Char */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; +long var12 /* : Int */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +const char* var_class_name17; +long var18 /* : Int */; +val* var19 /* : Text */; +short int var20 /* : Bool */; +short int var22 /* : Bool */; +short int var23 /* : Bool */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +const struct type* type_struct27; +const char* var_class_name28; +short int var29 /* : Bool */; +short int var30 /* : Bool */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +const char* var_class_name35; +short int var36 /* : Bool */; short int var_ /* var : Bool */; -val* var43 /* : SequenceRead[Char] */; +val* var37 /* : SequenceRead[Char] */; +long var38 /* : Int */; +short int var40 /* : Bool */; +int cltype41; +int idtype42; +const char* var_class_name43; long var44 /* : Int */; -long var45 /* : Int */; -short int var47 /* : Bool */; -int cltype48; -int idtype49; -const char* var_class_name50; -long var51 /* : Int */; -val* var52 /* : nullable Object */; -char var53 /* : Char */; -short int var54 /* : Bool */; -short int var56 /* : Bool */; -char var57 /* : Char */; +val* var45 /* : nullable Object */; +short int var46 /* : Bool */; +short int var48 /* : Bool */; +uint32_t var49 /* : Char */; +long var50 /* : Int */; +short int var52 /* : Bool */; +int cltype53; +int idtype54; +const char* var_class_name55; +long var56 /* : Int */; +val* var57 /* : Text */; long var58 /* : Int */; -long var59 /* : Int */; -long var60 /* : Int */; -short int var62 /* : Bool */; -int cltype63; -int idtype64; -const char* var_class_name65; -long var66 /* : Int */; -val* var67 /* : Text */; -long var68 /* : Int */; -long var69 /* : Int */; -long var70 /* : Int */; -short int var72 /* : Bool */; -int cltype73; -int idtype74; -const char* var_class_name75; -long var76 /* : Int */; -val* var77 /* : Text */; +short int var60 /* : Bool */; +int cltype61; +int idtype62; +const char* var_class_name63; +long var64 /* : Int */; +val* var65 /* : Text */; { -var1 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var1 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } var_len = var1; -var2 = 0; { -{ /* Inline kernel#Int#== (var_len,var2) on */ -var5 = var_len == var2; -var3 = var5; -goto RET_LABEL4; -RET_LABEL4:(void)0; +{ /* Inline kernel#Int#== (var_len,0l) on */ +var4 = var_len == 0l; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; } } -if (var3){ +if (var2){ /* isa SELFTYPE */ type_struct = self->type->resolution_table->types[COLOR_standard__string__Text__SELFTYPE]; cltype = type_struct->color; idtype = type_struct->id; if(cltype >= self->type->table_size) { -var6 = 0; +var5 = 0; } else { -var6 = self->type->type_table[cltype] == idtype; +var5 = self->type->type_table[cltype] == idtype; } -if (unlikely(!var6)) { +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_standard__string, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 436); +fatal_exit(1); } var = self; goto RET_LABEL; } else { } { -var7 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var6 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var8 = ((val* (*)(val* self))(var7->class->vft[COLOR_standard__abstract_collection__SequenceRead__last]))(var7) /* last on */; +var7 = ((val*(*)(val* self))((((long)var6&3)?class_info[((long)var6&3)]:var6->class)->vft[COLOR_standard__abstract_collection__SequenceRead__last]))(var6); /* last on */ } -var9 = ((struct instance_standard__Char*)var8)->value; /* autounbox from nullable Object to Char */; -var_l = var9; -var10 = '\15'; +var8 = (uint32_t)((long)(var7)>>2); +var_l = var8; { -{ /* Inline kernel#Char#== (var_l,var10) on */ -var13 = var_l == var10; -var11 = var13; -goto RET_LABEL12; -RET_LABEL12:(void)0; +{ /* Inline kernel#Char#== (var_l,'\015') on */ +var11 = var_l == '\015'; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -if (var11){ -var14 = 0; -var15 = 1; +if (var9){ { -{ /* Inline kernel#Int#- (var_len,var15) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var18 = 1; /* easy isa OTHER*/ -if (unlikely(!var18)) { -var_class_name21 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var22 = var_len - var15; -var16 = var22; -goto RET_LABEL17; -RET_LABEL17:(void)0; +var18 = var_len - 1l; +var12 = var18; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } { -var23 = ((val* (*)(val* self, long p0, long p1))(self->class->vft[COLOR_standard__string__Text__substring]))(self, var14, var16) /* substring on */; +var19 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_standard__string__Text__substring]))(self, 0l, var12); /* substring on */ } -var = var23; +var = var19; goto RET_LABEL; } else { -var24 = '\n'; { -{ /* Inline kernel#Char#!= (var_l,var24) on */ -var27 = var_l == var24; -var28 = !var27; -var25 = var28; -goto RET_LABEL26; -RET_LABEL26:(void)0; +{ /* Inline kernel#Char#!= (var_l,'\n') on */ +var22 = var_l == '\n'; +var23 = !var22; +var20 = var23; +goto RET_LABEL21; +RET_LABEL21:(void)0; } } -if (var25){ +if (var20){ /* isa SELFTYPE */ -type_struct32 = self->type->resolution_table->types[COLOR_standard__string__Text__SELFTYPE]; -cltype30 = type_struct32->color; -idtype31 = type_struct32->id; -if(cltype30 >= self->type->table_size) { -var29 = 0; +type_struct27 = self->type->resolution_table->types[COLOR_standard__string__Text__SELFTYPE]; +cltype25 = type_struct27->color; +idtype26 = type_struct27->id; +if(cltype25 >= self->type->table_size) { +var24 = 0; } else { -var29 = self->type->type_table[cltype30] == idtype31; +var24 = self->type->type_table[cltype25] == idtype26; } -if (unlikely(!var29)) { -var_class_name33 = self == NULL ? "null" : self->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name33); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 414); -show_backtrace(1); +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_standard__string, 441); +fatal_exit(1); } var = self; goto RET_LABEL; } else { -var35 = 1; { -{ /* Inline kernel#Int#> (var_len,var35) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var38 = 1; /* easy isa OTHER*/ -if (unlikely(!var38)) { -var_class_name41 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var42 = var_len > var35; -var36 = var42; -goto RET_LABEL37; -RET_LABEL37:(void)0; +var36 = var_len > 1l; +var30 = var36; +goto RET_LABEL31; +RET_LABEL31:(void)0; } } -var_ = var36; -if (var36){ +var_ = var30; +if (var30){ { -var43 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var37 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } -var44 = 2; { -{ /* Inline kernel#Int#- (var_len,var44) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var47 = 1; /* easy isa OTHER*/ -if (unlikely(!var47)) { -var_class_name50 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var51 = var_len - var44; -var45 = var51; -goto RET_LABEL46; -RET_LABEL46:(void)0; +var44 = var_len - 2l; +var38 = var44; +goto RET_LABEL39; +RET_LABEL39:(void)0; } } { -var52 = ((val* (*)(val* self, long p0))(var43->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var43, var45) /* [] on */; +var45 = ((val*(*)(val* self, long p0))((((long)var37&3)?class_info[((long)var37&3)]:var37->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var37, var38); /* [] on */ } -var53 = '\15'; { -{ /* Inline kernel#Char#== (var52,var53) on */ -var56 = (var52 != NULL) && (var52->class == &class_standard__Char); -if (var56) { -var57 = ((struct instance_standard__Char*)var52)->value; /* autounbox from nullable Object to Char */; -var56 = (var57 == var53); -} -var54 = var56; -goto RET_LABEL55; -RET_LABEL55:(void)0; +{ /* Inline kernel#Char#== (var45,'\015') on */ +var49 = (uint32_t)((long)(var45)>>2); +var48 = (var45 != NULL) && (var49 == '\015'); +var46 = var48; +goto RET_LABEL47; +RET_LABEL47:(void)0; } } -var34 = var54; +var29 = var46; } else { -var34 = var_; +var29 = var_; } -if (var34){ -var58 = 0; -var59 = 2; +if (var29){ { -{ /* Inline kernel#Int#- (var_len,var59) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var62 = 1; /* easy isa OTHER*/ -if (unlikely(!var62)) { -var_class_name65 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var66 = var_len - var59; -var60 = var66; -goto RET_LABEL61; -RET_LABEL61:(void)0; +var56 = var_len - 2l; +var50 = var56; +goto RET_LABEL51; +RET_LABEL51:(void)0; } } { -var67 = ((val* (*)(val* self, long p0, long p1))(self->class->vft[COLOR_standard__string__Text__substring]))(self, var58, var60) /* substring on */; +var57 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_standard__string__Text__substring]))(self, 0l, var50); /* substring on */ } -var = var67; +var = var57; goto RET_LABEL; } else { -var68 = 0; -var69 = 1; { -{ /* Inline kernel#Int#- (var_len,var69) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var72 = 1; /* easy isa OTHER*/ -if (unlikely(!var72)) { -var_class_name75 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var76 = var_len - var69; -var70 = var76; -goto RET_LABEL71; -RET_LABEL71:(void)0; +var64 = var_len - 1l; +var58 = var64; +goto RET_LABEL59; +RET_LABEL59:(void)0; } } { -var77 = ((val* (*)(val* self, long p0, long p1))(self->class->vft[COLOR_standard__string__Text__substring]))(self, var68, var70) /* substring on */; +var65 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_standard__string__Text__substring]))(self, 0l, var58); /* substring on */ } -var = var77; +var = var65; goto RET_LABEL; } } @@ -1171,518 +1263,460 @@ short int var1 /* : Bool */; static val* varonce; val* var2 /* : String */; char* var3 /* : NativeString */; -long var4 /* : Int */; -val* var5 /* : FlatString */; -val* var6 /* : FlatBuffer */; -val* var_res /* var res: FlatBuffer */; -short int var8 /* : Bool */; +val* var4 /* : FlatString */; +val* var5 /* : Buffer */; +val* var6 /* : Buffer */; +val* var_res /* var res: Buffer */; short int var_underscore /* var underscore: Bool */; -long var9 /* : Int */; long var_start /* var start: Int */; -val* var10 /* : SequenceRead[Char] */; -long var11 /* : Int */; -val* var12 /* : nullable Object */; -char var13 /* : Char */; -char var_c /* var c: Char */; -short int var14 /* : Bool */; -char var15 /* : Char */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; +val* var7 /* : SequenceRead[Char] */; +val* var8 /* : nullable Object */; +uint32_t var9 /* : Char */; +uint32_t var_c /* var c: Char */; +short int var10 /* : Bool */; +short int var11 /* : Bool */; +short int var13 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var19 /* : Bool */; +short int var14 /* : Bool */; short int var_ /* var : Bool */; -char var20 /* : Char */; +short int var15 /* : Bool */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +const char* var_class_name20; short int var21 /* : Bool */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -const char* var_class_name26; -short int var27 /* : Bool */; -char var28 /* : Char */; -long var29 /* : Int */; -long var31 /* : Int */; -val* var32 /* : String */; -char var33 /* : Char */; -long var34 /* : Int */; +long var22 /* : Int */; +long var24 /* : Int */; +val* var25 /* : String */; long var_i /* var i: Int */; -long var35 /* : Int */; -long var_36 /* var : Int */; -short int var37 /* : Bool */; +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 */; short int var39 /* : Bool */; -int cltype40; -int idtype41; -const char* var_class_name42; -short int var43 /* : Bool */; -val* var44 /* : SequenceRead[Char] */; -val* var45 /* : nullable Object */; -char var46 /* : Char */; -short int var47 /* : 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 */; -char var49 /* : Char */; short int var50 /* : Bool */; -short int var52 /* : Bool */; -int cltype53; -int idtype54; -const char* var_class_name55; +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 var_57 /* var : Bool */; -char var58 /* : Char */; +short int var57 /* : Bool */; short int var59 /* : Bool */; -short int var61 /* : Bool */; -int cltype62; -int idtype63; -const char* var_class_name64; +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 var_66 /* var : Bool */; short int var67 /* : Bool */; -char var68 /* : Char */; -short int var69 /* : Bool */; +int cltype68; +int idtype69; +const char* var_class_name70; short int var71 /* : Bool */; -int cltype72; -int idtype73; -const char* var_class_name74; -short int var75 /* : Bool */; -short int var_76 /* var : Bool */; -char var77 /* : Char */; -short int var78 /* : Bool */; -short int var80 /* : Bool */; -int cltype81; -int idtype82; -const char* var_class_name83; -short int var84 /* : Bool */; -short int var85 /* : Bool */; -char var86 /* : Char */; -long var87 /* : Int */; -long var89 /* : Int */; -val* var90 /* : String */; -char var91 /* : Char */; -short int var92 /* : Bool */; -char var93 /* : Char */; -short int var94 /* : Bool */; -short int var96 /* : Bool */; -int cltype97; -int idtype98; -const char* var_class_name99; -short int var100 /* : Bool */; -short int var_101 /* var : Bool */; -char var102 /* : Char */; -short int var103 /* : Bool */; -short int var105 /* : Bool */; -int cltype106; -int idtype107; -const char* var_class_name108; -short int var109 /* : Bool */; -short int var110 /* : Bool */; -char var111 /* : Char */; -short int var112 /* : Bool */; -short int var114 /* : Bool */; -short int var115 /* : Bool */; -char var116 /* : Char */; -long var117 /* : Int */; -long var119 /* : Int */; -val* var120 /* : String */; -char var121 /* : Char */; -short int var122 /* : Bool */; -long var123 /* : Int */; -long var124 /* : Int */; -char var126 /* : Char */; -long var127 /* : Int */; -long var129 /* : Int */; -val* var130 /* : String */; -char var131 /* : Char */; -val* var132 /* : String */; -{ -var1 = standard___standard__Text___is_empty(self); +long var72 /* : Int */; +long var74 /* : Int */; +val* var75 /* : String */; +short int var76 /* : Bool */; +short int var77 /* : Bool */; +short int var79 /* : Bool */; +int cltype80; +int idtype81; +const char* var_class_name82; +short int var83 /* : Bool */; +short int var_84 /* var : Bool */; +short int var85 /* : Bool */; +short int var87 /* : Bool */; +int cltype88; +int idtype89; +const char* var_class_name90; +short int var91 /* : Bool */; +short int var92 /* : Bool */; +short int var94 /* : Bool */; +long var95 /* : Int */; +long var97 /* : Int */; +val* var98 /* : String */; +long var99 /* : Int */; +long var101 /* : Int */; +long var103 /* : Int */; +val* var104 /* : String */; +val* var105 /* : String */; +{ +var1 = standard___standard__Text___is_empty(self); } if (var1){ -if (varonce) { +if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = ""; -var4 = 0; -var5 = standard___standard__NativeString___to_s_with_length(var3, var4); -var2 = var5; +var4 = standard___standard__NativeString___to_s_with_length(var3, 0l); +var2 = var4; varonce = var2; } var = var2; goto RET_LABEL; } else { } -var6 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); +var5 = NEW_standard__Buffer(&type_standard__Buffer); { -{ /* Inline string#FlatBuffer#init (var6) on */ -{ -((void (*)(val* self))(var6->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var6) /* init on */; -} -RET_LABEL7:(void)0; -} +var6 = standard___standard__Buffer___new(var5); } var_res = var6; -var8 = 0; -var_underscore = var8; -var9 = 0; -var_start = var9; +var_underscore = 0; +var_start = 0l; { -var10 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var7 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } -var11 = 0; { -var12 = ((val* (*)(val* self, long p0))(var10->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var10, var11) /* [] on */; +var8 = ((val*(*)(val* self, long p0))((((long)var7&3)?class_info[((long)var7&3)]:var7->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var7, 0l); /* [] on */ } -var13 = ((struct instance_standard__Char*)var12)->value; /* autounbox from nullable Object to Char */; -var_c = var13; -var15 = '0'; +var9 = (uint32_t)((long)(var8)>>2); +var_c = var9; { -{ /* Inline kernel#Char#>= (var_c,var15) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var18 = 1; /* easy isa OTHER*/ -if (unlikely(!var18)) { +{ /* 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)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724); +fatal_exit(1); } -var19 = var_c >= var15; -var16 = var19; -goto RET_LABEL17; -RET_LABEL17:(void)0; +var14 = var_c >= '0'; +var11 = var14; +goto RET_LABEL12; +RET_LABEL12:(void)0; } } -var_ = var16; -if (var16){ -var20 = '9'; +var_ = var11; +if (var11){ { -{ /* Inline kernel#Char#<= (var_c,var20) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var23 = 1; /* easy isa OTHER*/ -if (unlikely(!var23)) { -var_class_name26 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591); -show_backtrace(1); +{ /* 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_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722); +fatal_exit(1); } -var27 = var_c <= var20; -var21 = var27; -goto RET_LABEL22; -RET_LABEL22:(void)0; +var21 = var_c <= '9'; +var15 = var21; +goto RET_LABEL16; +RET_LABEL16:(void)0; } } -var14 = var21; +var10 = var15; } else { -var14 = var_; +var10 = var_; } -if (var14){ -var28 = '_'; +if (var10){ { -standard___standard__FlatBuffer___Buffer__add(var_res, var28); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, '_'); /* add on */ } { { /* Inline kernel#Char#ascii (var_c) on */ -var31 = (unsigned char)var_c; -var29 = var31; -goto RET_LABEL30; -RET_LABEL30:(void)0; +var24 = (long)var_c; +var22 = var24; +goto RET_LABEL23; +RET_LABEL23:(void)0; } } { -var32 = standard__string___Int___Object__to_s(var29); +var25 = standard__string___Int___Object__to_s(var22); } { -standard___standard__FlatBuffer___Buffer__append(var_res, var32); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__string__Buffer__append]))(var_res, var25); /* append on */ } -var33 = 'd'; { -standard___standard__FlatBuffer___Buffer__add(var_res, var33); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, 'd'); /* add on */ } -var34 = 1; -var_start = var34; +var_start = 1l; } else { } var_i = var_start; { -var35 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var26 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } -var_36 = var35; +var_27 = var26; for(;;) { { -{ /* Inline kernel#Int#< (var_i,var_36) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var39 = 1; /* easy isa OTHER*/ -if (unlikely(!var39)) { -var_class_name42 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var43 = var_i < var_36; -var37 = var43; -goto RET_LABEL38; -RET_LABEL38:(void)0; +var34 = var_i < var_27; +var28 = var34; +goto RET_LABEL29; +RET_LABEL29:(void)0; } } -if (var37){ +if (var28){ { -var44 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var35 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var45 = ((val* (*)(val* self, long p0))(var44->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var44, var_i) /* [] on */; +var36 = ((val*(*)(val* self, long p0))((((long)var35&3)?class_info[((long)var35&3)]:var35->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var35, var_i); /* [] on */ } -var46 = ((struct instance_standard__Char*)var45)->value; /* autounbox from nullable Object to Char */; -var_c = var46; -var49 = 'a'; +var37 = (uint32_t)((long)(var36)>>2); +var_c = var37; { -{ /* Inline kernel#Char#>= (var_c,var49) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var52 = 1; /* easy isa OTHER*/ -if (unlikely(!var52)) { -var_class_name55 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593); -show_backtrace(1); +{ /* 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_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724); +fatal_exit(1); } -var56 = var_c >= var49; -var50 = var56; -goto RET_LABEL51; -RET_LABEL51:(void)0; +var46 = var_c >= 'a'; +var40 = var46; +goto RET_LABEL41; +RET_LABEL41:(void)0; } } -var_57 = var50; -if (var50){ -var58 = 'z'; +var_47 = var40; +if (var40){ { -{ /* Inline kernel#Char#<= (var_c,var58) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var61 = 1; /* easy isa OTHER*/ -if (unlikely(!var61)) { -var_class_name64 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591); -show_backtrace(1); -} -var65 = var_c <= var58; -var59 = var65; -goto RET_LABEL60; -RET_LABEL60:(void)0; +{ /* 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_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722); +fatal_exit(1); } +var54 = var_c <= 'z'; +var48 = var54; +goto RET_LABEL49; +RET_LABEL49:(void)0; } -var48 = var59; -} else { -var48 = var_57; } -var_66 = var48; -if (var48){ -var47 = var_66; +var39 = var48; } else { -var68 = 'A'; -{ -{ /* Inline kernel#Char#>= (var_c,var68) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var71 = 1; /* easy isa OTHER*/ -if (unlikely(!var71)) { -var_class_name74 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593); -show_backtrace(1); +var39 = var_47; } -var75 = var_c >= var68; -var69 = var75; -goto RET_LABEL70; -RET_LABEL70:(void)0; +var_55 = var39; +if (var39){ +var38 = var_55; +} else { +{ +{ /* 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_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name62); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724); +fatal_exit(1); +} +var63 = var_c >= 'A'; +var57 = var63; +goto RET_LABEL58; +RET_LABEL58:(void)0; } } -var_76 = var69; -if (var69){ -var77 = 'Z'; +var_64 = var57; +if (var57){ { -{ /* Inline kernel#Char#<= (var_c,var77) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var80 = 1; /* easy isa OTHER*/ -if (unlikely(!var80)) { -var_class_name83 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name83); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591); -show_backtrace(1); +{ /* 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_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722); +fatal_exit(1); } -var84 = var_c <= var77; -var78 = var84; -goto RET_LABEL79; -RET_LABEL79:(void)0; +var71 = var_c <= 'Z'; +var65 = var71; +goto RET_LABEL66; +RET_LABEL66:(void)0; } } -var67 = var78; +var56 = var65; } else { -var67 = var_76; +var56 = var_64; } -var47 = var67; +var38 = var56; } -if (var47){ +if (var38){ { -standard___standard__FlatBuffer___Buffer__add(var_res, var_c); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, var_c); /* add on */ } -var85 = 0; -var_underscore = var85; +var_underscore = 0; goto BREAK_label; } else { } if (var_underscore){ -var86 = '_'; { -{ /* Inline kernel#Char#ascii (var86) on */ -var89 = (unsigned char)var86; -var87 = var89; -goto RET_LABEL88; -RET_LABEL88:(void)0; +{ /* Inline kernel#Char#ascii ('_') on <'_':Char> */ +var74 = (long)'_'; +var72 = var74; +goto RET_LABEL73; +RET_LABEL73:(void)0; } } { -var90 = standard__string___Int___Object__to_s(var87); +var75 = standard__string___Int___Object__to_s(var72); } { -standard___standard__FlatBuffer___Buffer__append(var_res, var90); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__string__Buffer__append]))(var_res, var75); /* append on */ } -var91 = 'd'; { -standard___standard__FlatBuffer___Buffer__add(var_res, var91); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, 'd'); /* add on */ } } else { } -var93 = '0'; { -{ /* Inline kernel#Char#>= (var_c,var93) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var96 = 1; /* easy isa OTHER*/ -if (unlikely(!var96)) { -var_class_name99 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name99); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593); -show_backtrace(1); +{ /* Inline kernel#Char#>= (var_c,'0') on */ +/* Covariant cast for argument 0 (i) <'0':Char> isa OTHER */ +/* <'0':Char> isa OTHER */ +var79 = 1; /* easy <'0':Char> isa OTHER*/ +if (unlikely(!var79)) { +var_class_name82 = type_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724); +fatal_exit(1); } -var100 = var_c >= var93; -var94 = var100; -goto RET_LABEL95; -RET_LABEL95:(void)0; +var83 = var_c >= '0'; +var77 = var83; +goto RET_LABEL78; +RET_LABEL78:(void)0; } } -var_101 = var94; -if (var94){ -var102 = '9'; +var_84 = var77; +if (var77){ { -{ /* Inline kernel#Char#<= (var_c,var102) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var105 = 1; /* easy isa OTHER*/ -if (unlikely(!var105)) { -var_class_name108 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name108); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591); -show_backtrace(1); +{ /* Inline kernel#Char#<= (var_c,'9') on */ +/* Covariant cast for argument 0 (i) <'9':Char> isa OTHER */ +/* <'9':Char> isa OTHER */ +var87 = 1; /* easy <'9':Char> isa OTHER*/ +if (unlikely(!var87)) { +var_class_name90 = type_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722); +fatal_exit(1); } -var109 = var_c <= var102; -var103 = var109; -goto RET_LABEL104; -RET_LABEL104:(void)0; +var91 = var_c <= '9'; +var85 = var91; +goto RET_LABEL86; +RET_LABEL86:(void)0; } } -var92 = var103; +var76 = var85; } else { -var92 = var_101; +var76 = var_84; } -if (var92){ +if (var76){ { -standard___standard__FlatBuffer___Buffer__add(var_res, var_c); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, var_c); /* add on */ } -var110 = 0; -var_underscore = var110; +var_underscore = 0; } else { -var111 = '_'; { -{ /* Inline kernel#Char#== (var_c,var111) on */ -var114 = var_c == var111; -var112 = var114; -goto RET_LABEL113; -RET_LABEL113:(void)0; +{ /* Inline kernel#Char#== (var_c,'_') on */ +var94 = var_c == '_'; +var92 = var94; +goto RET_LABEL93; +RET_LABEL93:(void)0; } } -if (var112){ +if (var92){ { -standard___standard__FlatBuffer___Buffer__add(var_res, var_c); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, var_c); /* add on */ } -var115 = 1; -var_underscore = var115; +var_underscore = 1; } else { -var116 = '_'; { -standard___standard__FlatBuffer___Buffer__add(var_res, var116); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, '_'); /* add on */ } { { /* Inline kernel#Char#ascii (var_c) on */ -var119 = (unsigned char)var_c; -var117 = var119; -goto RET_LABEL118; -RET_LABEL118:(void)0; +var97 = (long)var_c; +var95 = var97; +goto RET_LABEL96; +RET_LABEL96:(void)0; } } { -var120 = standard__string___Int___Object__to_s(var117); +var98 = standard__string___Int___Object__to_s(var95); } { -standard___standard__FlatBuffer___Buffer__append(var_res, var120); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__string__Buffer__append]))(var_res, var98); /* append on */ } -var121 = 'd'; { -standard___standard__FlatBuffer___Buffer__add(var_res, var121); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, 'd'); /* add on */ } -var122 = 0; -var_underscore = var122; +var_underscore = 0; } } BREAK_label: (void)0; -var123 = 1; { -var124 = standard___standard__Int___Discrete__successor(var_i, var123); +var99 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var124; +var_i = var99; } else { -goto BREAK_label125; +goto BREAK_label100; } } -BREAK_label125: (void)0; +BREAK_label100: (void)0; if (var_underscore){ -var126 = '_'; { -{ /* Inline kernel#Char#ascii (var126) on */ -var129 = (unsigned char)var126; -var127 = var129; -goto RET_LABEL128; -RET_LABEL128:(void)0; +{ /* Inline kernel#Char#ascii ('_') on <'_':Char> */ +var103 = (long)'_'; +var101 = var103; +goto RET_LABEL102; +RET_LABEL102:(void)0; } } { -var130 = standard__string___Int___Object__to_s(var127); +var104 = standard__string___Int___Object__to_s(var101); } { -standard___standard__FlatBuffer___Buffer__append(var_res, var130); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__string__Buffer__append]))(var_res, var104); /* append on */ } -var131 = 'd'; { -standard___standard__FlatBuffer___Buffer__add(var_res, var131); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, 'd'); /* add on */ } } else { } { -var132 = standard___standard__FlatBuffer___Object__to_s(var_res); +var105 = ((val*(*)(val* self))(var_res->class->vft[COLOR_standard__string__Object__to_s]))(var_res); /* to_s on */ } -var = var132; +var = var105; goto RET_LABEL; RET_LABEL:; return var; @@ -1690,314 +1724,326 @@ return var; /* method string#Text#escape_to_c for (self: Text): String */ val* standard___standard__Text___escape_to_c(val* self) { val* var /* : String */; -val* var1 /* : FlatBuffer */; -val* var_b /* var b: FlatBuffer */; -long var3 /* : Int */; +val* var1 /* : Buffer */; +val* var2 /* : Buffer */; +val* var_b /* var b: Buffer */; long var_i /* var i: Int */; -long var4 /* : Int */; +long var3 /* : Int */; long var_ /* var : Int */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var8 /* : Bool */; -val* var9 /* : SequenceRead[Char] */; -val* var10 /* : nullable Object */; -char var11 /* : Char */; -char var_c /* var c: Char */; -char var12 /* : Char */; +short int var7 /* : Bool */; +val* var8 /* : SequenceRead[Char] */; +val* var9 /* : nullable Object */; +uint32_t var10 /* : Char */; +uint32_t var_c /* var c: Char */; +short int var11 /* : Bool */; short int var13 /* : Bool */; -short int var15 /* : Bool */; static val* varonce; -val* var16 /* : String */; -char* var17 /* : NativeString */; -long var18 /* : Int */; -val* var19 /* : FlatString */; -char var20 /* : Char */; -short int var21 /* : Bool */; -short int var23 /* : Bool */; -static val* varonce24; -val* var25 /* : String */; -char* var26 /* : NativeString */; -long var27 /* : Int */; -val* var28 /* : FlatString */; -char var29 /* : Char */; -short int var30 /* : Bool */; -short int var32 /* : Bool */; -static val* varonce33; -val* var34 /* : String */; -char* var35 /* : NativeString */; -long var36 /* : Int */; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +short int var17 /* : Bool */; +short int var19 /* : Bool */; +static val* varonce20; +val* var21 /* : String */; +char* var22 /* : NativeString */; +val* var23 /* : FlatString */; +short int var24 /* : Bool */; +short int var26 /* : Bool */; +static val* varonce27; +val* var28 /* : String */; +char* var29 /* : NativeString */; +val* var30 /* : FlatString */; +short int var31 /* : Bool */; +short int var33 /* : Bool */; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : NativeString */; val* var37 /* : FlatString */; -char var38 /* : Char */; -short int var39 /* : Bool */; -short int var41 /* : Bool */; -static val* varonce42; -val* var43 /* : String */; -char* var44 /* : NativeString */; -long var45 /* : Int */; -val* var46 /* : FlatString */; -char var47 /* : Char */; -short int var48 /* : Bool */; -short int var50 /* : Bool */; -static val* varonce51; -val* var52 /* : String */; -char* var53 /* : NativeString */; +short int var38 /* : Bool */; +short int var40 /* : Bool */; +static val* varonce41; +val* var42 /* : String */; +char* var43 /* : NativeString */; +val* var44 /* : FlatString */; +short int var45 /* : Bool */; +short int var47 /* : Bool */; +static val* varonce48; +val* var49 /* : String */; +char* var50 /* : NativeString */; +val* var51 /* : FlatString */; +long var52 /* : Int */; long var54 /* : Int */; -val* var55 /* : FlatString */; -long var56 /* : Int */; -long var58 /* : Int */; -long var59 /* : Int */; -short int var60 /* : Bool */; -short int var62 /* : Bool */; -int cltype63; -int idtype64; -const char* var_class_name65; -short int var66 /* : Bool */; -static val* varonce67; -val* var68 /* : String */; -char* var69 /* : NativeString */; +short int var55 /* : Bool */; +short int var57 /* : Bool */; +int cltype58; +int idtype59; +const char* var_class_name60; +short int var61 /* : Bool */; +long var62 /* : Int */; +long var64 /* : Int */; +val* var65 /* : String */; +val* var_oct /* var oct: String */; +long var66 /* : Int */; +short int var67 /* : Bool */; +short int var69 /* : Bool */; long var70 /* : Int */; -val* var71 /* : FlatString */; -long var72 /* : Int */; +short int var71 /* : Bool */; +short int var73 /* : Bool */; long var74 /* : Int */; -long var75 /* : Int */; -short int var76 /* : Bool */; -val* var77 /* : String */; -val* var78 /* : Array[Object] */; -long var79 /* : Int */; -val* var80 /* : NativeArray[Object] */; -val* var81 /* : String */; -long var82 /* : Int */; -long var83 /* : Int */; -val* var84 /* : String */; -var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); -{ -{ /* Inline string#FlatBuffer#init (var1) on */ +val* var75 /* : String */; +var1 = NEW_standard__Buffer(&type_standard__Buffer); { -((void (*)(val* self))(var1->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var1) /* init on */; -} -RET_LABEL2:(void)0; -} +var2 = standard___standard__Buffer___new(var1); } -var_b = var1; -var3 = 0; -var_i = var3; +var_b = var2; +var_i = 0l; { -var4 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var3 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } -var_ = var4; +var_ = var3; for(;;) { { { /* 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)) { +var6 = 1; /* easy isa OTHER*/ +if (unlikely(!var6)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var8 = var_i < var_; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var7 = var_i < var_; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } -if (var5){ +if (var4){ { -var9 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var8 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var10 = ((val* (*)(val* self, long p0))(var9->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var9, var_i) /* [] on */; +var9 = ((val*(*)(val* self, long p0))((((long)var8&3)?class_info[((long)var8&3)]:var8->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var8, var_i); /* [] on */ } -var11 = ((struct instance_standard__Char*)var10)->value; /* autounbox from nullable Object to Char */; -var_c = var11; -var12 = '\n'; +var10 = (uint32_t)((long)(var9)>>2); +var_c = var10; { -{ /* Inline kernel#Char#== (var_c,var12) on */ -var15 = var_c == var12; -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; +{ /* Inline kernel#Char#== (var_c,'\n') on */ +var13 = var_c == '\n'; +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; } } -if (var13){ -if (varonce) { -var16 = varonce; +if (var11){ +if (likely(varonce!=NULL)) { +var14 = varonce; } else { -var17 = "\\n"; -var18 = 2; -var19 = standard___standard__NativeString___to_s_with_length(var17, var18); -var16 = var19; -varonce = var16; +var15 = "\\n"; +var16 = standard___standard__NativeString___to_s_with_length(var15, 2l); +var14 = var16; +varonce = var14; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var16); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_standard__string__Buffer__append]))(var_b, var14); /* append on */ } } else { -var20 = '\0'; { -{ /* Inline kernel#Char#== (var_c,var20) on */ -var23 = var_c == var20; +{ /* Inline kernel#Char#== (var_c,'\t') on */ +var19 = var_c == '\t'; +var17 = var19; +goto RET_LABEL18; +RET_LABEL18:(void)0; +} +} +if (var17){ +if (likely(varonce20!=NULL)) { +var21 = varonce20; +} else { +var22 = "\\t"; +var23 = standard___standard__NativeString___to_s_with_length(var22, 2l); var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +varonce20 = var21; } +{ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_standard__string__Buffer__append]))(var_b, var21); /* append on */ } -if (var21){ -if (varonce24) { -var25 = varonce24; } else { -var26 = "\\0"; -var27 = 2; -var28 = standard___standard__NativeString___to_s_with_length(var26, var27); -var25 = var28; -varonce24 = var25; +{ +{ /* Inline kernel#Char#== (var_c,'\000') on */ +var26 = var_c == '\000'; +var24 = var26; +goto RET_LABEL25; +RET_LABEL25:(void)0; +} +} +if (var24){ +if (likely(varonce27!=NULL)) { +var28 = varonce27; +} else { +var29 = "\\000"; +var30 = standard___standard__NativeString___to_s_with_length(var29, 4l); +var28 = var30; +varonce27 = var28; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var25); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_standard__string__Buffer__append]))(var_b, var28); /* append on */ } } else { -var29 = '\"'; { -{ /* Inline kernel#Char#== (var_c,var29) on */ -var32 = var_c == var29; -var30 = var32; -goto RET_LABEL31; -RET_LABEL31:(void)0; +{ /* Inline kernel#Char#== (var_c,'\"') on */ +var33 = var_c == '\"'; +var31 = var33; +goto RET_LABEL32; +RET_LABEL32:(void)0; } } -if (var30){ -if (varonce33) { -var34 = varonce33; +if (var31){ +if (likely(varonce34!=NULL)) { +var35 = varonce34; } else { -var35 = "\\\""; -var36 = 2; -var37 = standard___standard__NativeString___to_s_with_length(var35, var36); -var34 = var37; -varonce33 = var34; +var36 = "\\\""; +var37 = standard___standard__NativeString___to_s_with_length(var36, 2l); +var35 = var37; +varonce34 = var35; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var34); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_standard__string__Buffer__append]))(var_b, var35); /* append on */ } } else { -var38 = '\''; { -{ /* Inline kernel#Char#== (var_c,var38) on */ -var41 = var_c == var38; -var39 = var41; -goto RET_LABEL40; -RET_LABEL40:(void)0; +{ /* Inline kernel#Char#== (var_c,'\'') on */ +var40 = var_c == '\''; +var38 = var40; +goto RET_LABEL39; +RET_LABEL39:(void)0; } } -if (var39){ -if (varonce42) { -var43 = varonce42; +if (var38){ +if (likely(varonce41!=NULL)) { +var42 = varonce41; } else { -var44 = "\\\'"; -var45 = 2; -var46 = standard___standard__NativeString___to_s_with_length(var44, var45); -var43 = var46; -varonce42 = var43; +var43 = "\\\'"; +var44 = standard___standard__NativeString___to_s_with_length(var43, 2l); +var42 = var44; +varonce41 = var42; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var43); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_standard__string__Buffer__append]))(var_b, var42); /* append on */ } } else { -var47 = '\\'; { -{ /* Inline kernel#Char#== (var_c,var47) on */ -var50 = var_c == var47; -var48 = var50; -goto RET_LABEL49; -RET_LABEL49:(void)0; +{ /* Inline kernel#Char#== (var_c,'\\') on */ +var47 = var_c == '\\'; +var45 = var47; +goto RET_LABEL46; +RET_LABEL46:(void)0; } } -if (var48){ -if (varonce51) { -var52 = varonce51; +if (var45){ +if (likely(varonce48!=NULL)) { +var49 = varonce48; } else { -var53 = "\\\\"; -var54 = 2; -var55 = standard___standard__NativeString___to_s_with_length(var53, var54); -var52 = var55; -varonce51 = var52; +var50 = "\\\\"; +var51 = standard___standard__NativeString___to_s_with_length(var50, 2l); +var49 = var51; +varonce48 = var49; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var52); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_standard__string__Buffer__append]))(var_b, var49); /* append on */ } } else { { { /* Inline kernel#Char#ascii (var_c) on */ -var58 = (unsigned char)var_c; -var56 = var58; -goto RET_LABEL57; -RET_LABEL57:(void)0; +var54 = (long)var_c; +var52 = var54; +goto RET_LABEL53; +RET_LABEL53:(void)0; } } -var59 = 32; { -{ /* Inline kernel#Int#< (var56,var59) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var62 = 1; /* easy isa OTHER*/ -if (unlikely(!var62)) { -var_class_name65 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline kernel#Int#< (var52,32l) on */ +/* Covariant cast for argument 0 (i) <32l:Int> isa OTHER */ +/* <32l:Int> isa OTHER */ +var57 = 1; /* easy <32l:Int> isa OTHER*/ +if (unlikely(!var57)) { +var_class_name60 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name60); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var66 = var56 < var59; -var60 = var66; -goto RET_LABEL61; -RET_LABEL61:(void)0; +var61 = var52 < 32l; +var55 = var61; +goto RET_LABEL56; +RET_LABEL56:(void)0; } } -if (var60){ -if (varonce67) { -var68 = varonce67; -} else { -var69 = "\\"; -var70 = 1; -var71 = standard___standard__NativeString___to_s_with_length(var69, var70); -var68 = var71; -varonce67 = var68; +if (var55){ +{ +((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_standard__string__Buffer__add]))(var_b, '\\'); /* add on */ } { { /* Inline kernel#Char#ascii (var_c) on */ -var74 = (unsigned char)var_c; -var72 = var74; -goto RET_LABEL73; -RET_LABEL73:(void)0; +var64 = (long)var_c; +var62 = var64; +goto RET_LABEL63; +RET_LABEL63:(void)0; +} +} +{ +var65 = standard__string___Int___to_base(var62, 8l, 0); +} +var_oct = var65; +{ +var66 = ((long(*)(val* self))(var_oct->class->vft[COLOR_standard__string__Text__length]))(var_oct); /* length on */ +} +{ +{ /* Inline kernel#Int#== (var66,1l) on */ +var69 = var66 == 1l; +var67 = var69; +goto RET_LABEL68; +RET_LABEL68:(void)0; +} } +if (var67){ +{ +((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_standard__string__Buffer__add]))(var_b, '0'); /* add on */ +} +{ +((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_standard__string__Buffer__add]))(var_b, '0'); /* add on */ } -var75 = 8; -var76 = 0; +} else { { -var77 = standard__string___Int___to_base(var72, var75, var76); +var70 = ((long(*)(val* self))(var_oct->class->vft[COLOR_standard__string__Text__length]))(var_oct); /* length on */ } -var78 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var78 = array_instance Array[Object] */ -var79 = 2; -var80 = NEW_standard__NativeArray(var79, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var80)->values[0] = (val*) var68; -((struct instance_standard__NativeArray*)var80)->values[1] = (val*) var77; { -((void (*)(val* self, val* p0, long p1))(var78->class->vft[COLOR_standard__array__Array__with_native]))(var78, var80, var79) /* with_native on */; +{ /* Inline kernel#Int#== (var70,2l) on */ +var73 = var70 == 2l; +var71 = var73; +goto RET_LABEL72; +RET_LABEL72:(void)0; } } +if (var71){ { -var81 = ((val* (*)(val* self))(var78->class->vft[COLOR_standard__string__Object__to_s]))(var78) /* to_s on */; +((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_standard__string__Buffer__add]))(var_b, '0'); /* add on */ +} +} else { +} } { -standard___standard__FlatBuffer___Buffer__append(var_b, var81); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_standard__string__Buffer__append]))(var_b, var_oct); /* append on */ } } else { { -standard___standard__FlatBuffer___Buffer__add(var_b, var_c); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_standard__string__Buffer__add]))(var_b, var_c); /* add on */ +} } } } @@ -2005,20 +2051,19 @@ standard___standard__FlatBuffer___Buffer__add(var_b, var_c); /* Direct call stri } } } -var82 = 1; { -var83 = standard___standard__Int___Discrete__successor(var_i, var82); +var74 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var83; +var_i = var74; } else { goto BREAK_label; } } BREAK_label: (void)0; { -var84 = standard___standard__FlatBuffer___Object__to_s(var_b); +var75 = ((val*(*)(val* self))(var_b->class->vft[COLOR_standard__string__Object__to_s]))(var_b); /* to_s on */ } -var = var84; +var = var75; goto RET_LABEL; RET_LABEL:; return var; @@ -2026,178 +2071,140 @@ return var; /* method string#Text#escape_to_sh for (self: Text): String */ val* standard___standard__Text___escape_to_sh(val* self) { val* var /* : String */; -val* var1 /* : FlatBuffer */; -val* var_b /* var b: FlatBuffer */; -val* var3 /* : Sequence[Char] */; -val* var5 /* : Sequence[Char] */; -char var6 /* : Char */; -val* var7 /* : nullable Object */; -long var8 /* : Int */; +val* var1 /* : Buffer */; +val* var2 /* : Buffer */; +val* var_b /* var b: Buffer */; +val* var3 /* : SequenceRead[Char] */; +val* var4 /* : nullable Object */; long var_i /* var i: Int */; -long var9 /* : Int */; +long var5 /* : Int */; long var_ /* var : Int */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; +short int var6 /* : Bool */; +short int var8 /* : 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 */; +uint32_t var_c /* var c: Char */; short int var13 /* : Bool */; -val* var14 /* : SequenceRead[Char] */; -val* var15 /* : nullable Object */; -char var16 /* : Char */; -char var_c /* var c: Char */; -char var17 /* : Char */; -short int var18 /* : Bool */; -short int var20 /* : Bool */; +short int var15 /* : Bool */; static val* varonce; -val* var21 /* : String */; -char* var22 /* : NativeString */; +val* var16 /* : String */; +char* var17 /* : NativeString */; +val* var18 /* : FlatString */; +short int var19 /* : Bool */; +short int var21 /* : Bool */; +short int var22 /* : Bool */; long var23 /* : Int */; -val* var24 /* : FlatString */; -char var25 /* : Char */; -short int var26 /* : Bool */; -short int var28 /* : Bool */; -short int var29 /* : Bool */; -long var30 /* : Int */; -long var31 /* : Int */; -val* var32 /* : Sequence[Char] */; -val* var34 /* : Sequence[Char] */; -char var35 /* : Char */; -val* var36 /* : nullable Object */; -val* var37 /* : String */; -var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); -{ -{ /* Inline string#FlatBuffer#init (var1) on */ +val* var24 /* : SequenceRead[Char] */; +val* var25 /* : nullable Object */; +val* var26 /* : String */; +var1 = NEW_standard__Buffer(&type_standard__Buffer); { -((void (*)(val* self))(var1->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var1) /* init on */; -} -RET_LABEL2:(void)0; -} +var2 = standard___standard__Buffer___new(var1); } -var_b = var1; +var_b = var2; { -{ /* Inline string#FlatBuffer#chars (var_b) on */ -var5 = var_b->attrs[COLOR_standard__string__FlatBuffer___chars].val; /* _chars on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1525); -show_backtrace(1); -} -var3 = var5; -RET_LABEL4:(void)0; +var3 = ((val*(*)(val* self))(var_b->class->vft[COLOR_standard__string__Text__chars]))(var_b); /* chars on */ } -} -var6 = '\''; { -var7 = BOX_standard__Char(var6); /* autobox from Char to nullable Object */ -((void (*)(val* self, val* p0))(var3->class->vft[COLOR_standard__abstract_collection__SimpleCollection__add]))(var3, var7) /* add on */; +var4 = (val*)((long)('\'')<<2|2); +((void(*)(val* self, val* p0))((((long)var3&3)?class_info[((long)var3&3)]:var3->class)->vft[COLOR_standard__abstract_collection__SimpleCollection__add]))(var3, var4); /* add on */ } -var8 = 0; -var_i = var8; +var_i = 0l; { -var9 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var5 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } -var_ = var9; +var_ = var5; for(;;) { { { /* Inline kernel#Int#< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var12 = 1; /* easy isa OTHER*/ -if (unlikely(!var12)) { +var8 = 1; /* easy isa OTHER*/ +if (unlikely(!var8)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var13 = var_i < var_; -var10 = var13; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var9 = var_i < var_; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } -if (var10){ +if (var6){ { -var14 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var10 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var15 = ((val* (*)(val* self, long p0))(var14->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var14, var_i) /* [] on */; +var11 = ((val*(*)(val* self, long p0))((((long)var10&3)?class_info[((long)var10&3)]:var10->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var10, var_i); /* [] on */ } -var16 = ((struct instance_standard__Char*)var15)->value; /* autounbox from nullable Object to Char */; -var_c = var16; -var17 = '\''; +var12 = (uint32_t)((long)(var11)>>2); +var_c = var12; { -{ /* Inline kernel#Char#== (var_c,var17) on */ -var20 = var_c == var17; -var18 = var20; -goto RET_LABEL19; -RET_LABEL19:(void)0; +{ /* Inline kernel#Char#== (var_c,'\'') on */ +var15 = var_c == '\''; +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } } -if (var18){ -if (varonce) { -var21 = varonce; +if (var13){ +if (likely(varonce!=NULL)) { +var16 = varonce; } else { -var22 = "\'\\\'\'"; -var23 = 4; -var24 = standard___standard__NativeString___to_s_with_length(var22, var23); -var21 = var24; -varonce = var21; +var17 = "\'\\\'\'"; +var18 = standard___standard__NativeString___to_s_with_length(var17, 4l); +var16 = var18; +varonce = var16; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var21); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_standard__string__Buffer__append]))(var_b, var16); /* append on */ } } else { -var25 = '\0'; { -{ /* Inline kernel#Char#!= (var_c,var25) on */ -var28 = var_c == var25; -var29 = !var28; -var26 = var29; -goto RET_LABEL27; -RET_LABEL27:(void)0; +{ /* Inline kernel#Char#!= (var_c,'\000') on */ +var21 = var_c == '\000'; +var22 = !var21; +var19 = var22; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } -if (unlikely(!var26)) { +if (unlikely(!var19)) { PRINT_ERROR("Runtime error: %s", "Assert \'without_null_byte\' failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 575); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 622); +fatal_exit(1); } { -standard___standard__FlatBuffer___Buffer__add(var_b, var_c); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_standard__string__Buffer__add]))(var_b, var_c); /* add on */ } } -var30 = 1; { -var31 = standard___standard__Int___Discrete__successor(var_i, var30); +var23 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var31; +var_i = var23; } else { goto BREAK_label; } } BREAK_label: (void)0; { -{ /* Inline string#FlatBuffer#chars (var_b) on */ -var34 = var_b->attrs[COLOR_standard__string__FlatBuffer___chars].val; /* _chars on */ -if (unlikely(var34 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1525); -show_backtrace(1); -} -var32 = var34; -RET_LABEL33:(void)0; +var24 = ((val*(*)(val* self))(var_b->class->vft[COLOR_standard__string__Text__chars]))(var_b); /* chars on */ } -} -var35 = '\''; { -var36 = BOX_standard__Char(var35); /* autobox from Char to nullable Object */ -((void (*)(val* self, val* p0))(var32->class->vft[COLOR_standard__abstract_collection__SimpleCollection__add]))(var32, var36) /* add on */; +var25 = (val*)((long)('\'')<<2|2); +((void(*)(val* self, val* p0))((((long)var24&3)?class_info[((long)var24&3)]:var24->class)->vft[COLOR_standard__abstract_collection__SimpleCollection__add]))(var24, var25); /* add on */ } { -var37 = standard___standard__FlatBuffer___Object__to_s(var_b); +var26 = ((val*(*)(val* self))(var_b->class->vft[COLOR_standard__string__Object__to_s]))(var_b); /* to_s on */ } -var = var37; +var = var26; goto RET_LABEL; RET_LABEL:; return var; @@ -2205,350 +2212,312 @@ return var; /* method string#Text#escape_to_mk for (self: Text): String */ val* standard___standard__Text___escape_to_mk(val* self) { val* var /* : String */; -val* var1 /* : FlatBuffer */; -val* var_b /* var b: FlatBuffer */; -long var3 /* : Int */; +val* var1 /* : Buffer */; +val* var2 /* : Buffer */; +val* var_b /* var b: Buffer */; long var_i /* var i: Int */; -long var4 /* : Int */; +long var3 /* : Int */; long var_ /* var : Int */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var8 /* : Bool */; -val* var9 /* : SequenceRead[Char] */; -val* var10 /* : nullable Object */; -char var11 /* : Char */; -char var_c /* var c: Char */; -char var12 /* : Char */; +short int var7 /* : Bool */; +val* var8 /* : SequenceRead[Char] */; +val* var9 /* : nullable Object */; +uint32_t var10 /* : Char */; +uint32_t var_c /* var c: Char */; +short int var11 /* : Bool */; short int var13 /* : Bool */; -short int var15 /* : Bool */; static val* varonce; -val* var16 /* : String */; -char* var17 /* : NativeString */; -long var18 /* : Int */; -val* var19 /* : FlatString */; -short int var20 /* : Bool */; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +short int var17 /* : Bool */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; short int var21 /* : Bool */; -char var22 /* : Char */; +short int var_22 /* var : Bool */; short int var23 /* : Bool */; short int var25 /* : Bool */; short int var_26 /* var : Bool */; -char var27 /* : Char */; -short int var28 /* : Bool */; +short int var27 /* : Bool */; +short int var29 /* : Bool */; short int var30 /* : Bool */; -short int var_31 /* var : Bool */; -char var32 /* : Char */; +short int var31 /* : Bool */; +short int var32 /* : Bool */; short int var33 /* : Bool */; -short int var35 /* : Bool */; -char var36 /* : Char */; +long var34 /* : Int */; +long var36 /* : Int */; short int var37 /* : Bool */; -short int var38 /* : Bool */; short int var39 /* : Bool */; -short int var40 /* : Bool */; -long var41 /* : Int */; -long var43 /* : Int */; -long var44 /* : Int */; +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 */; -int cltype48; -int idtype49; -const char* var_class_name50; +short int var_48 /* var : Bool */; +short int var49 /* : Bool */; short int var51 /* : Bool */; short int var_52 /* var : Bool */; -char var53 /* : Char */; -short int var54 /* : Bool */; -short int var56 /* : Bool */; -short int var_57 /* var : Bool */; -char var58 /* : Char */; +short int var53 /* : Bool */; +short int var55 /* : Bool */; +short int var_56 /* var : Bool */; +short int var57 /* : Bool */; short int var59 /* : Bool */; -short int var61 /* : Bool */; -short int var_62 /* var : Bool */; -char var63 /* : Char */; -short int var64 /* : Bool */; -short int var66 /* : Bool */; -short int var_67 /* var : Bool */; -char var68 /* : Char */; -short int var69 /* : Bool */; -short int var71 /* : Bool */; -static val* varonce72; -val* var73 /* : String */; -char* var74 /* : NativeString */; -long var75 /* : Int */; -val* var76 /* : FlatString */; -long var77 /* : Int */; -long var79 /* : Int */; -long var80 /* : Int */; -short int var81 /* : Bool */; -val* var82 /* : String */; -val* var83 /* : Array[Object] */; -long var84 /* : Int */; -val* var85 /* : NativeArray[Object] */; -val* var86 /* : String */; -long var87 /* : Int */; -long var88 /* : Int */; -val* var89 /* : String */; -var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); -{ -{ /* Inline string#FlatBuffer#init (var1) on */ +val* var61 /* : NativeArray[String] */; +static val* varonce60; +static val* varonce62; +val* var63 /* : String */; +char* var64 /* : NativeString */; +val* var65 /* : FlatString */; +long var66 /* : Int */; +long var68 /* : Int */; +val* var69 /* : String */; +val* var70 /* : String */; +long var71 /* : Int */; +val* var72 /* : String */; +var1 = NEW_standard__Buffer(&type_standard__Buffer); { -((void (*)(val* self))(var1->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var1) /* init on */; -} -RET_LABEL2:(void)0; -} +var2 = standard___standard__Buffer___new(var1); } -var_b = var1; -var3 = 0; -var_i = var3; +var_b = var2; +var_i = 0l; { -var4 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var3 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } -var_ = var4; +var_ = var3; for(;;) { { { /* 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)) { +var6 = 1; /* easy isa OTHER*/ +if (unlikely(!var6)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var8 = var_i < var_; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var7 = var_i < var_; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } -if (var5){ +if (var4){ { -var9 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var8 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var10 = ((val* (*)(val* self, long p0))(var9->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var9, var_i) /* [] on */; +var9 = ((val*(*)(val* self, long p0))((((long)var8&3)?class_info[((long)var8&3)]:var8->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var8, var_i); /* [] on */ } -var11 = ((struct instance_standard__Char*)var10)->value; /* autounbox from nullable Object to Char */; -var_c = var11; -var12 = '$'; +var10 = (uint32_t)((long)(var9)>>2); +var_c = var10; { -{ /* Inline kernel#Char#== (var_c,var12) on */ -var15 = var_c == var12; -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; +{ /* Inline kernel#Char#== (var_c,'$') on */ +var13 = var_c == '$'; +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; } } -if (var13){ -if (varonce) { -var16 = varonce; +if (var11){ +if (likely(varonce!=NULL)) { +var14 = varonce; } else { -var17 = "$$"; -var18 = 2; -var19 = standard___standard__NativeString___to_s_with_length(var17, var18); -var16 = var19; -varonce = var16; +var15 = "$$"; +var16 = standard___standard__NativeString___to_s_with_length(var15, 2l); +var14 = var16; +varonce = var14; } { -standard___standard__FlatBuffer___Buffer__append(var_b, var16); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_standard__string__Buffer__append]))(var_b, var14); /* append on */ } } else { -var22 = ':'; { -{ /* Inline kernel#Char#== (var_c,var22) on */ -var25 = var_c == var22; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +{ /* Inline kernel#Char#== (var_c,':') on */ +var21 = var_c == ':'; +var19 = var21; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } -var_26 = var23; -if (var23){ -var21 = var_26; +var_22 = var19; +if (var19){ +var18 = var_22; } else { -var27 = ' '; { -{ /* Inline kernel#Char#== (var_c,var27) on */ -var30 = var_c == var27; -var28 = var30; -goto RET_LABEL29; -RET_LABEL29:(void)0; +{ /* Inline kernel#Char#== (var_c,' ') on */ +var25 = var_c == ' '; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; } } -var21 = var28; +var18 = var23; } -var_31 = var21; -if (var21){ -var20 = var_31; +var_26 = var18; +if (var18){ +var17 = var_26; } else { -var32 = '#'; { -{ /* Inline kernel#Char#== (var_c,var32) on */ -var35 = var_c == var32; -var33 = var35; -goto RET_LABEL34; -RET_LABEL34:(void)0; +{ /* Inline kernel#Char#== (var_c,'#') on */ +var29 = var_c == '#'; +var27 = var29; +goto RET_LABEL28; +RET_LABEL28:(void)0; } } -var20 = var33; +var17 = var27; } -if (var20){ -var36 = '\\'; +if (var17){ { -standard___standard__FlatBuffer___Buffer__add(var_b, var36); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_standard__string__Buffer__add]))(var_b, '\\'); /* add on */ } { -standard___standard__FlatBuffer___Buffer__add(var_b, var_c); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_standard__string__Buffer__add]))(var_b, var_c); /* add on */ } } else { { { /* Inline kernel#Char#ascii (var_c) on */ -var43 = (unsigned char)var_c; -var41 = var43; -goto RET_LABEL42; -RET_LABEL42:(void)0; +var36 = (long)var_c; +var34 = var36; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } -var44 = 32; { -{ /* Inline kernel#Int#< (var41,var44) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var47 = 1; /* easy isa OTHER*/ -if (unlikely(!var47)) { -var_class_name50 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline kernel#Int#< (var34,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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var51 = var41 < var44; -var45 = var51; -goto RET_LABEL46; -RET_LABEL46:(void)0; +var43 = var34 < 32l; +var37 = var43; +goto RET_LABEL38; +RET_LABEL38:(void)0; } } -var_52 = var45; -if (var45){ -var40 = var_52; +var_44 = var37; +if (var37){ +var33 = var_44; } else { -var53 = ';'; { -{ /* Inline kernel#Char#== (var_c,var53) on */ -var56 = var_c == var53; -var54 = var56; -goto RET_LABEL55; -RET_LABEL55:(void)0; +{ /* Inline kernel#Char#== (var_c,';') on */ +var47 = var_c == ';'; +var45 = var47; +goto RET_LABEL46; +RET_LABEL46:(void)0; } } -var40 = var54; +var33 = var45; } -var_57 = var40; -if (var40){ -var39 = var_57; +var_48 = var33; +if (var33){ +var32 = var_48; } else { -var58 = '|'; { -{ /* Inline kernel#Char#== (var_c,var58) on */ -var61 = var_c == var58; -var59 = var61; -goto RET_LABEL60; -RET_LABEL60:(void)0; +{ /* Inline kernel#Char#== (var_c,'|') on */ +var51 = var_c == '|'; +var49 = var51; +goto RET_LABEL50; +RET_LABEL50:(void)0; } } -var39 = var59; +var32 = var49; } -var_62 = var39; -if (var39){ -var38 = var_62; +var_52 = var32; +if (var32){ +var31 = var_52; } else { -var63 = '\\'; { -{ /* Inline kernel#Char#== (var_c,var63) on */ -var66 = var_c == var63; -var64 = var66; -goto RET_LABEL65; -RET_LABEL65:(void)0; +{ /* Inline kernel#Char#== (var_c,'\\') on */ +var55 = var_c == '\\'; +var53 = var55; +goto RET_LABEL54; +RET_LABEL54:(void)0; } } -var38 = var64; +var31 = var53; } -var_67 = var38; -if (var38){ -var37 = var_67; +var_56 = var31; +if (var31){ +var30 = var_56; } else { -var68 = '='; { -{ /* Inline kernel#Char#== (var_c,var68) on */ -var71 = var_c == var68; -var69 = var71; -goto RET_LABEL70; -RET_LABEL70:(void)0; +{ /* Inline kernel#Char#== (var_c,'=') on */ +var59 = var_c == '='; +var57 = var59; +goto RET_LABEL58; +RET_LABEL58:(void)0; } } -var37 = var69; +var30 = var57; } -if (var37){ -if (varonce72) { -var73 = varonce72; +if (var30){ +if (unlikely(varonce60==NULL)) { +var61 = NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String); +if (likely(varonce62!=NULL)) { +var63 = varonce62; +} else { +var64 = "?"; +var65 = standard___standard__NativeString___to_s_with_length(var64, 1l); +var63 = var65; +varonce62 = var63; +} +((struct instance_standard__NativeArray*)var61)->values[0]=var63; } else { -var74 = "?"; -var75 = 1; -var76 = standard___standard__NativeString___to_s_with_length(var74, var75); -var73 = var76; -varonce72 = var73; +var61 = varonce60; +varonce60 = NULL; } { { /* Inline kernel#Char#ascii (var_c) on */ -var79 = (unsigned char)var_c; -var77 = var79; -goto RET_LABEL78; -RET_LABEL78:(void)0; -} +var68 = (long)var_c; +var66 = var68; +goto RET_LABEL67; +RET_LABEL67:(void)0; } -var80 = 16; -var81 = 0; -{ -var82 = standard__string___Int___to_base(var77, var80, var81); } -var83 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var83 = array_instance Array[Object] */ -var84 = 2; -var85 = NEW_standard__NativeArray(var84, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var85)->values[0] = (val*) var73; -((struct instance_standard__NativeArray*)var85)->values[1] = (val*) var82; { -((void (*)(val* self, val* p0, long p1))(var83->class->vft[COLOR_standard__array__Array__with_native]))(var83, var85, var84) /* with_native on */; -} +var69 = standard__string___Int___to_base(var66, 16l, 0); } +((struct instance_standard__NativeArray*)var61)->values[1]=var69; { -var86 = ((val* (*)(val* self))(var83->class->vft[COLOR_standard__string__Object__to_s]))(var83) /* to_s on */; +var70 = ((val*(*)(val* self))(var61->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var61); /* native_to_s on */ } +varonce60 = var61; { -standard___standard__FlatBuffer___Buffer__append(var_b, var86); /* Direct call string#FlatBuffer#append on */ +((void(*)(val* self, val* p0))(var_b->class->vft[COLOR_standard__string__Buffer__append]))(var_b, var70); /* append on */ } } else { { -standard___standard__FlatBuffer___Buffer__add(var_b, var_c); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_b->class->vft[COLOR_standard__string__Buffer__add]))(var_b, var_c); /* add on */ } } } } -var87 = 1; { -var88 = standard___standard__Int___Discrete__successor(var_i, var87); +var71 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var88; +var_i = var71; } else { goto BREAK_label; } } BREAK_label: (void)0; { -var89 = standard___standard__FlatBuffer___Object__to_s(var_b); +var72 = ((val*(*)(val* self))(var_b->class->vft[COLOR_standard__string__Object__to_s]))(var_b); /* to_s on */ } -var = var89; +var = var72; goto RET_LABEL; RET_LABEL:; return var; @@ -2556,199 +2525,172 @@ return var; /* method string#Text#unescape_nit for (self: Text): String */ val* standard___standard__Text___unescape_nit(val* self) { val* var /* : String */; -val* var1 /* : FlatBuffer */; +val* var1 /* : Buffer */; long var2 /* : Int */; -val* var_res /* var res: FlatBuffer */; -short int var3 /* : Bool */; +val* var3 /* : Buffer */; +val* var_res /* var res: Buffer */; short int var_was_slash /* var was_slash: Bool */; -long var4 /* : Int */; long var_i /* var i: Int */; -long var5 /* : Int */; +long var4 /* : Int */; long var_ /* var : Int */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var9 /* : Bool */; -val* var10 /* : SequenceRead[Char] */; -val* var11 /* : nullable Object */; -char var12 /* : Char */; -char var_c /* var c: 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 var12 /* : Bool */; short int var13 /* : Bool */; -char var14 /* : Char */; short int var15 /* : Bool */; -short int var17 /* : Bool */; +short int var16 /* : Bool */; short int var18 /* : Bool */; short int var19 /* : Bool */; -char var20 /* : Char */; short int var21 /* : Bool */; -short int var23 /* : Bool */; -char var24 /* : Char */; -char var25 /* : Char */; -short int var26 /* : Bool */; -short int var28 /* : Bool */; -char var29 /* : Char */; -char var30 /* : Char */; -short int var31 /* : Bool */; -short int var33 /* : Bool */; -char var34 /* : Char */; -char var35 /* : Char */; -short int var36 /* : Bool */; -short int var38 /* : Bool */; -char var39 /* : Char */; -long var40 /* : Int */; -long var41 /* : Int */; -val* var43 /* : String */; -var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); +short int var22 /* : Bool */; +short int var24 /* : Bool */; +short int var25 /* : Bool */; +short int var27 /* : Bool */; +long var28 /* : Int */; +val* var30 /* : String */; +var1 = NEW_standard__Buffer(&type_standard__Buffer); { -var2 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var2 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } { -standard___standard__FlatBuffer___with_capacity(var1, var2); /* Direct call string#FlatBuffer#with_capacity on */ +var3 = standard___standard__Buffer___with_cap(var1, var2); } -var_res = var1; -var3 = 0; -var_was_slash = var3; -var4 = 0; -var_i = var4; +var_res = var3; +var_was_slash = 0; +var_i = 0l; { -var5 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var4 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } -var_ = var5; +var_ = var4; 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)) { +var7 = 1; /* easy isa OTHER*/ +if (unlikely(!var7)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var9 = var_i < var_; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var8 = var_i < var_; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } -if (var6){ +if (var5){ { -var10 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var9 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var11 = ((val* (*)(val* self, long p0))(var10->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var10, var_i) /* [] on */; +var10 = ((val*(*)(val* self, long p0))((((long)var9&3)?class_info[((long)var9&3)]:var9->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var9, var_i); /* [] on */ } -var12 = ((struct instance_standard__Char*)var11)->value; /* autounbox from nullable Object to Char */; -var_c = var12; -var13 = !var_was_slash; -if (var13){ -var14 = '\\'; +var11 = (uint32_t)((long)(var10)>>2); +var_c = var11; +var12 = !var_was_slash; +if (var12){ { -{ /* Inline kernel#Char#== (var_c,var14) on */ -var17 = var_c == var14; -var15 = var17; -goto RET_LABEL16; -RET_LABEL16:(void)0; +{ /* Inline kernel#Char#== (var_c,'\\') on */ +var15 = var_c == '\\'; +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } } -if (var15){ -var18 = 1; -var_was_slash = var18; +if (var13){ +var_was_slash = 1; } else { { -standard___standard__FlatBuffer___Buffer__add(var_res, var_c); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, var_c); /* add on */ } } goto BREAK_label; } else { } -var19 = 0; -var_was_slash = var19; -var20 = 'n'; +var_was_slash = 0; { -{ /* Inline kernel#Char#== (var_c,var20) on */ -var23 = var_c == var20; -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +{ /* Inline kernel#Char#== (var_c,'n') on */ +var18 = var_c == 'n'; +var16 = var18; +goto RET_LABEL17; +RET_LABEL17:(void)0; } } -if (var21){ -var24 = '\n'; +if (var16){ { -standard___standard__FlatBuffer___Buffer__add(var_res, var24); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, '\n'); /* add on */ } } else { -var25 = 'r'; { -{ /* Inline kernel#Char#== (var_c,var25) on */ -var28 = var_c == var25; -var26 = var28; -goto RET_LABEL27; -RET_LABEL27:(void)0; +{ /* Inline kernel#Char#== (var_c,'r') on */ +var21 = var_c == 'r'; +var19 = var21; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } -if (var26){ -var29 = '\15'; +if (var19){ { -standard___standard__FlatBuffer___Buffer__add(var_res, var29); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, '\015'); /* add on */ } } else { -var30 = 't'; { -{ /* Inline kernel#Char#== (var_c,var30) on */ -var33 = var_c == var30; -var31 = var33; -goto RET_LABEL32; -RET_LABEL32:(void)0; +{ /* Inline kernel#Char#== (var_c,'t') on */ +var24 = var_c == 't'; +var22 = var24; +goto RET_LABEL23; +RET_LABEL23:(void)0; } } -if (var31){ -var34 = '\11'; +if (var22){ { -standard___standard__FlatBuffer___Buffer__add(var_res, var34); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, '\t'); /* add on */ } } else { -var35 = '0'; { -{ /* Inline kernel#Char#== (var_c,var35) on */ -var38 = var_c == var35; -var36 = var38; -goto RET_LABEL37; -RET_LABEL37:(void)0; +{ /* Inline kernel#Char#== (var_c,'0') on */ +var27 = var_c == '0'; +var25 = var27; +goto RET_LABEL26; +RET_LABEL26:(void)0; } } -if (var36){ -var39 = '\0'; +if (var25){ { -standard___standard__FlatBuffer___Buffer__add(var_res, var39); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, '\000'); /* add on */ } } else { { -standard___standard__FlatBuffer___Buffer__add(var_res, var_c); /* Direct call string#FlatBuffer#add on */ +((void(*)(val* self, uint32_t p0))(var_res->class->vft[COLOR_standard__string__Buffer__add]))(var_res, var_c); /* add on */ } } } } } BREAK_label: (void)0; -var40 = 1; { -var41 = standard___standard__Int___Discrete__successor(var_i, var40); +var28 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var41; +var_i = var28; } else { -goto BREAK_label42; +goto BREAK_label29; } } -BREAK_label42: (void)0; +BREAK_label29: (void)0; { -var43 = standard___standard__FlatBuffer___Object__to_s(var_res); +var30 = ((val*(*)(val* self))(var_res->class->vft[COLOR_standard__string__Object__to_s]))(var_res); /* to_s on */ } -var = var43; +var = var30; goto RET_LABEL; RET_LABEL:; return var; @@ -2757,104 +2699,94 @@ return var; short int standard___standard__Text___standard__kernel__Object___61d_61d(val* self, val* p0) { short int var /* : Bool */; val* var_o /* var o: nullable Object */; -val* var1 /* : null */; +short int var1 /* : Bool */; short int var2 /* : Bool */; short int var3 /* : Bool */; -short int var4 /* : Bool */; -short int var5 /* : Bool */; int cltype; int idtype; -short int var6 /* : Bool */; +short int var4 /* : Bool */; +short int var5 /* : Bool */; short int var7 /* : Bool */; -short int var8 /* : Bool */; +long var8 /* : Int */; +long var9 /* : Int */; short int var10 /* : Bool */; -short int var11 /* : Bool */; -long var12 /* : Int */; -long var13 /* : Int */; -short int var14 /* : Bool */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +val* var14 /* : SequenceRead[Char] */; +val* var15 /* : SequenceRead[Char] */; short int var16 /* : Bool */; -short int var17 /* : Bool */; -short int var18 /* : Bool */; -val* var19 /* : SequenceRead[Char] */; -val* var20 /* : SequenceRead[Char] */; -short int var21 /* : Bool */; var_o = p0; -var1 = NULL; if (var_o == NULL) { -var2 = 1; /* is null */ +var1 = 1; /* is null */ } else { -var2 = 0; /* arg is null but recv is not */ +var1 = 0; /* arg is null but recv is not */ } if (0) { -var3 = ((short int (*)(val* self, val* p0))(var_o->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_o, var1) /* == on */; -var2 = var3; +var2 = ((short int(*)(val* self, val* p0))((((long)var_o&3)?class_info[((long)var_o&3)]:var_o->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(var_o, ((val*)NULL)); /* == on */ +var1 = var2; } -if (var2){ -var4 = 0; -var = var4; +if (var1){ +var = 0; goto RET_LABEL; } else { } /* isa Text */ cltype = type_standard__Text.color; idtype = type_standard__Text.id; -if(cltype >= var_o->type->table_size) { -var5 = 0; +if(cltype >= (((long)var_o&3)?type_info[((long)var_o&3)]:var_o->type)->table_size) { +var3 = 0; } else { -var5 = var_o->type->type_table[cltype] == idtype; +var3 = (((long)var_o&3)?type_info[((long)var_o&3)]:var_o->type)->type_table[cltype] == idtype; } -var6 = !var5; -if (var6){ -var7 = 0; -var = var7; +var4 = !var3; +if (var4){ +var = 0; goto RET_LABEL; } else { } { { /* Inline kernel#Object#is_same_instance (self,var_o) on */ -var10 = self == var_o; -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var7 = self == var_o; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } -if (var8){ -var11 = 1; -var = var11; +if (var5){ +var = 1; goto RET_LABEL; } else { } { -var12 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var8 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } { -var13 = ((long (*)(val* self))(var_o->class->vft[COLOR_standard__string__Text__length]))(var_o) /* length on */; +var9 = ((long(*)(val* self))(var_o->class->vft[COLOR_standard__string__Text__length]))(var_o); /* length on */ } { -{ /* Inline kernel#Int#!= (var12,var13) on */ -var16 = var12 == var13; -var17 = !var16; -var14 = var17; -goto RET_LABEL15; -RET_LABEL15:(void)0; +{ /* Inline kernel#Int#!= (var8,var9) on */ +var12 = var8 == var9; +var13 = !var12; +var10 = var13; +goto RET_LABEL11; +RET_LABEL11:(void)0; } } -if (var14){ -var18 = 0; -var = var18; +if (var10){ +var = 0; goto RET_LABEL; } else { } { -var19 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var14 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var20 = ((val* (*)(val* self))(var_o->class->vft[COLOR_standard__string__Text__chars]))(var_o) /* chars on */; +var15 = ((val*(*)(val* self))(var_o->class->vft[COLOR_standard__string__Text__chars]))(var_o); /* chars on */ } { -var21 = ((short int (*)(val* self, val* p0))(var19->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var19, var20) /* == on */; +var16 = ((short int(*)(val* self, val* p0))((((long)var14&3)?class_info[((long)var14&3)]:var14->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(var14, var15); /* == on */ } -var = var21; +var = var16; goto RET_LABEL; RET_LABEL:; return var; @@ -2885,24 +2817,20 @@ short int var13 /* : Bool */; int cltype14; int idtype15; const char* var_class_name16; -char var17 /* : Char */; -char var18 /* : Char */; +uint32_t var17 /* : Char */; +uint32_t var18 /* : Char */; short int var19 /* : Bool */; -short int var20 /* : Bool */; +val* var20 /* : nullable Object */; val* var21 /* : nullable Object */; -val* var22 /* : nullable Object */; -short int var23 /* : Bool */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -const char* var_class_name28; -char var29 /* : Char */; -char var30 /* : Char */; +short int var22 /* : Bool */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +const char* var_class_name27; +uint32_t var28 /* : Char */; +uint32_t var29 /* : Char */; +short int var30 /* : Bool */; short int var31 /* : Bool */; -short int var32 /* : Bool */; -short int var33 /* : Bool */; -short int var34 /* : Bool */; -short int var35 /* : Bool */; /* Covariant cast for argument 0 (other) isa OTHER */ /* isa OTHER */ type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; @@ -2916,32 +2844,32 @@ 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_standard__string, 763); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 810); +fatal_exit(1); } var_other = p0; { -var2 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var2 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var3 = ((val* (*)(val* self))(var2->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var2) /* iterator on */; +var3 = ((val*(*)(val* self))((((long)var2&3)?class_info[((long)var2&3)]:var2->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var2); /* iterator on */ } var_self_chars = var3; { -var4 = ((val* (*)(val* self))(var_other->class->vft[COLOR_standard__string__Text__chars]))(var_other) /* chars on */; +var4 = ((val*(*)(val* self))(var_other->class->vft[COLOR_standard__string__Text__chars]))(var_other); /* chars on */ } { -var5 = ((val* (*)(val* self))(var4->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var4) /* iterator on */; +var5 = ((val*(*)(val* self))((((long)var4&3)?class_info[((long)var4&3)]:var4->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var4); /* iterator on */ } var_other_chars = var5; for(;;) { { -var7 = ((short int (*)(val* self))(var_self_chars->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_self_chars) /* is_ok on */; +var7 = ((short int(*)(val* self))((((long)var_self_chars&3)?class_info[((long)var_self_chars&3)]:var_self_chars->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_self_chars); /* is_ok on */ } var_ = var7; if (var7){ { -var8 = ((short int (*)(val* self))(var_other_chars->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_other_chars) /* is_ok on */; +var8 = ((short int(*)(val* self))((((long)var_other_chars&3)?class_info[((long)var_other_chars&3)]:var_other_chars->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_other_chars); /* is_ok on */ } var6 = var8; } else { @@ -2949,10 +2877,10 @@ var6 = var_; } if (var6){ { -var9 = ((val* (*)(val* self))(var_self_chars->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_self_chars) /* item on */; +var9 = ((val*(*)(val* self))((((long)var_self_chars&3)?class_info[((long)var_self_chars&3)]:var_self_chars->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_self_chars); /* item on */ } { -var10 = ((val* (*)(val* self))(var_other_chars->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_other_chars) /* item on */; +var10 = ((val*(*)(val* self))((((long)var_other_chars&3)?class_info[((long)var_other_chars&3)]:var_other_chars->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_other_chars); /* item on */ } { { /* Inline kernel#Char#< (var9,var10) on */ @@ -2960,13 +2888,13 @@ var10 = ((val* (*)(val* self))(var_other_chars->class->vft[COLOR_standard__abstr /* isa OTHER */ var13 = 1; /* easy isa OTHER*/ if (unlikely(!var13)) { -var_class_name16 = var10 == NULL ? "null" : var10->type->name; +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_standard__kernel, 592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 723); +fatal_exit(1); } -var17 = ((struct instance_standard__Char*)var9)->value; /* autounbox from nullable Object to Char */; -var18 = ((struct instance_standard__Char*)var10)->value; /* autounbox from nullable Object to Char */; +var17 = (uint32_t)((long)(var9)>>2); +var18 = (uint32_t)((long)(var10)>>2); var19 = var17 < var18; var11 = var19; goto RET_LABEL12; @@ -2974,47 +2902,45 @@ RET_LABEL12:(void)0; } } if (var11){ -var20 = 1; -var = var20; +var = 1; goto RET_LABEL; } else { } { -var21 = ((val* (*)(val* self))(var_self_chars->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_self_chars) /* item on */; +var20 = ((val*(*)(val* self))((((long)var_self_chars&3)?class_info[((long)var_self_chars&3)]:var_self_chars->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_self_chars); /* item on */ } { -var22 = ((val* (*)(val* self))(var_other_chars->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_other_chars) /* item on */; +var21 = ((val*(*)(val* self))((((long)var_other_chars&3)?class_info[((long)var_other_chars&3)]:var_other_chars->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_other_chars); /* item on */ } { -{ /* Inline kernel#Char#> (var21,var22) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var25 = 1; /* easy isa OTHER*/ -if (unlikely(!var25)) { -var_class_name28 = var22 == NULL ? "null" : var22->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 594); -show_backtrace(1); +{ /* 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_standard__kernel, 725); +fatal_exit(1); } -var29 = ((struct instance_standard__Char*)var21)->value; /* autounbox from nullable Object to Char */; -var30 = ((struct instance_standard__Char*)var22)->value; /* autounbox from nullable Object to Char */; -var31 = var29 > var30; -var23 = var31; -goto RET_LABEL24; -RET_LABEL24:(void)0; +var28 = (uint32_t)((long)(var20)>>2); +var29 = (uint32_t)((long)(var21)>>2); +var30 = var28 > var29; +var22 = var30; +goto RET_LABEL23; +RET_LABEL23:(void)0; } } -if (var23){ -var32 = 0; -var = var32; +if (var22){ +var = 0; goto RET_LABEL; } else { } { -((void (*)(val* self))(var_self_chars->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_self_chars) /* next on */; +((void(*)(val* self))((((long)var_self_chars&3)?class_info[((long)var_self_chars&3)]:var_self_chars->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_self_chars); /* next on */ } { -((void (*)(val* self))(var_other_chars->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_other_chars) /* next on */; +((void(*)(val* self))((((long)var_other_chars&3)?class_info[((long)var_other_chars&3)]:var_other_chars->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_other_chars); /* next on */ } } else { goto BREAK_label; @@ -3022,15 +2948,13 @@ goto BREAK_label; } BREAK_label: (void)0; { -var33 = ((short int (*)(val* self))(var_self_chars->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_self_chars) /* is_ok on */; +var31 = ((short int(*)(val* self))((((long)var_self_chars&3)?class_info[((long)var_self_chars&3)]:var_self_chars->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_self_chars); /* is_ok on */ } -if (var33){ -var34 = 0; -var = var34; +if (var31){ +var = 0; goto RET_LABEL; } else { -var35 = 1; -var = var35; +var = 1; goto RET_LABEL; } RET_LABEL:; @@ -3055,49 +2979,44 @@ long standard___standard__Text___standard__kernel__Object__hash(val* self) { long var /* : Int */; val* var1 /* : nullable Int */; val* var3 /* : nullable Int */; -val* var4 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; -long var9 /* : Int */; +short int var7 /* : Bool */; long var_h /* var h: Int */; -long var10 /* : Int */; long var_i /* var i: Int */; -long var11 /* : Int */; +long var8 /* : Int */; long var_ /* var : Int */; -short int var12 /* : Bool */; -short int var14 /* : Bool */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var15 /* : Bool */; -val* var16 /* : SequenceRead[Char] */; -val* var17 /* : nullable Object */; -char var18 /* : Char */; -char var_char /* var char: Char */; +short int var12 /* : Bool */; +val* var13 /* : SequenceRead[Char] */; +val* var14 /* : nullable Object */; +uint32_t var15 /* : Char */; +uint32_t var_char /* var char: Char */; +long var16 /* : Int */; +long var18 /* : Int */; long var19 /* : Int */; -long var20 /* : Int */; -long var22 /* : Int */; -long var23 /* : Int */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -const char* var_class_name28; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +const char* var_class_name24; +long var25 /* : Int */; +long var26 /* : Int */; +long var28 /* : Int */; long var29 /* : Int */; -long var30 /* : Int */; -long var32 /* : Int */; -long var33 /* : Int */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; -const char* var_class_name38; -long var39 /* : Int */; -long var40 /* : Int */; -long var41 /* : Int */; -val* var43 /* : nullable Int */; -val* var44 /* : nullable Int */; -val* var46 /* : nullable Int */; -long var47 /* : Int */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +const char* var_class_name34; +long var35 /* : Int */; +long var36 /* : Int */; +val* var38 /* : nullable Int */; +val* var39 /* : nullable Int */; +val* var41 /* : nullable Int */; +long var42 /* : Int */; { { /* Inline string#Text#hash_cache (self) on */ var3 = self->attrs[COLOR_standard__string__Text___hash_cache].val; /* _hash_cache on */ @@ -3105,114 +3024,109 @@ var1 = var3; RET_LABEL2:(void)0; } } -var4 = NULL; if (var1 == NULL) { -var5 = 1; /* is null */ +var4 = 1; /* is null */ } else { -var5 = 0; /* arg is null but recv is not */ +var4 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Int#== (var1,var4) on */ -var8 = 0; /* incompatible types Int vs. null; cannot be NULL */ -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; +{ /* Inline kernel#Int#== (var1,((val*)NULL)) on */ +var7 = 0; /* incompatible types Int vs. null; cannot be NULL */ +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var5 = var6; +var4 = var5; } -if (var5){ -var9 = 5381; -var_h = var9; -var10 = 0; -var_i = var10; +if (var4){ +var_h = 5381l; +var_i = 0l; { -var11 = ((long (*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self) /* length on */; +var8 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ } -var_ = var11; +var_ = var8; for(;;) { { { /* Inline kernel#Int#< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var14 = 1; /* easy isa OTHER*/ -if (unlikely(!var14)) { +var11 = 1; /* easy isa OTHER*/ +if (unlikely(!var11)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var15 = var_i < var_; -var12 = var15; -goto RET_LABEL13; -RET_LABEL13:(void)0; +var12 = var_i < var_; +var9 = var12; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -if (var12){ +if (var9){ { -var16 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self) /* chars on */; +var13 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ } { -var17 = ((val* (*)(val* self, long p0))(var16->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var16, var_i) /* [] on */; +var14 = ((val*(*)(val* self, long p0))((((long)var13&3)?class_info[((long)var13&3)]:var13->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var13, var_i); /* [] on */ } -var18 = ((struct instance_standard__Char*)var17)->value; /* autounbox from nullable Object to Char */; -var_char = var18; -var19 = 5; +var15 = (uint32_t)((long)(var14)>>2); +var_char = var15; { -{ /* Inline kernel#Int#lshift (var_h,var19) on */ -var22 = var_h << var19; -var20 = var22; -goto RET_LABEL21; -RET_LABEL21:(void)0; +{ /* Inline kernel#Int#lshift (var_h,5l) on */ +var18 = var_h << 5l; +var16 = var18; +goto RET_LABEL17; +RET_LABEL17:(void)0; } } { -{ /* Inline kernel#Int#+ (var20,var_h) on */ +{ /* Inline kernel#Int#+ (var16,var_h) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var25 = 1; /* easy isa OTHER*/ -if (unlikely(!var25)) { -var_class_name28 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +var21 = 1; /* easy isa OTHER*/ +if (unlikely(!var21)) { +var_class_name24 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var29 = var20 + var_h; -var23 = var29; -goto RET_LABEL24; -RET_LABEL24:(void)0; +var25 = var16 + var_h; +var19 = var25; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } { { /* Inline kernel#Char#ascii (var_char) on */ -var32 = (unsigned char)var_char; -var30 = var32; -goto RET_LABEL31; -RET_LABEL31:(void)0; +var28 = (long)var_char; +var26 = var28; +goto RET_LABEL27; +RET_LABEL27:(void)0; } } { -{ /* Inline kernel#Int#+ (var23,var30) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var35 = 1; /* easy isa OTHER*/ -if (unlikely(!var35)) { -var_class_name38 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var39 = var23 + var30; -var33 = var39; -goto RET_LABEL34; -RET_LABEL34:(void)0; +var35 = var19 + var26; +var29 = var35; +goto RET_LABEL30; +RET_LABEL30:(void)0; } } -var_h = var33; -var40 = 1; +var_h = var29; { -var41 = standard___standard__Int___Discrete__successor(var_i, var40); +var36 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var41; +var_i = var36; } else { goto BREAK_label; } @@ -3220,27 +3134,27 @@ goto BREAK_label; BREAK_label: (void)0; { { /* Inline string#Text#hash_cache= (self,var_h) on */ -var43 = BOX_standard__Int(var_h); /* autobox from Int to nullable Int */ -self->attrs[COLOR_standard__string__Text___hash_cache].val = var43; /* _hash_cache on */ -RET_LABEL42:(void)0; +var38 = (val*)(var_h<<2|1); +self->attrs[COLOR_standard__string__Text___hash_cache].val = var38; /* _hash_cache on */ +RET_LABEL37:(void)0; } } } else { } { { /* Inline string#Text#hash_cache (self) on */ -var46 = self->attrs[COLOR_standard__string__Text___hash_cache].val; /* _hash_cache on */ -var44 = var46; -RET_LABEL45:(void)0; +var41 = self->attrs[COLOR_standard__string__Text___hash_cache].val; /* _hash_cache on */ +var39 = var41; +RET_LABEL40:(void)0; } } -if (unlikely(var44 == NULL)) { +if (unlikely(var39 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 812); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 856); +fatal_exit(1); } -var47 = ((struct instance_standard__Int*)var44)->value; /* autounbox from nullable Int to Int */; -var = var47; +var42 = (long)(var39)>>2; +var = var42; goto RET_LABEL; RET_LABEL:; return var; @@ -3294,8 +3208,8 @@ val* var1 /* : Text */; var1 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -3321,8 +3235,8 @@ 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_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } self->attrs[COLOR_standard__string__StringCharView___target].val = p0; /* _target on */ RET_LABEL:; @@ -3338,8 +3252,8 @@ short int var4 /* : Bool */; var3 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -3364,15 +3278,15 @@ long var4 /* : Int */; var3 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; } } { -var4 = ((long (*)(val* self))(var1->class->vft[COLOR_standard__string__Text__length]))(var1) /* length on */; +var4 = ((long(*)(val* self))(var1->class->vft[COLOR_standard__string__Text__length]))(var1); /* length on */ } var = var4; goto RET_LABEL; @@ -3382,13 +3296,11 @@ return var; /* method string#StringCharView#iterator for (self: StringCharView): IndexedIterator[Char] */ val* standard__string___standard__string__StringCharView___standard__abstract_collection__Collection__iterator(val* self) { val* var /* : IndexedIterator[Char] */; -long var1 /* : Int */; -val* var2 /* : IndexedIterator[nullable Object] */; -var1 = 0; +val* var1 /* : IndexedIterator[nullable Object] */; { -var2 = ((val* (*)(val* self, long p0))(self->class->vft[COLOR_standard__abstract_collection__SequenceRead__iterator_from]))(self, var1) /* iterator_from on */; +var1 = ((val*(*)(val* self, long p0))(self->class->vft[COLOR_standard__abstract_collection__SequenceRead__iterator_from]))(self, 0l); /* iterator_from on */ } -var = var2; +var = var1; goto RET_LABEL; RET_LABEL:; return var; @@ -3396,7 +3308,7 @@ return var; /* method string#StringCharView#init for (self: StringCharView) */ void standard__string___standard__string__StringCharView___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_standard__string___standard__string__StringCharView___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_standard__string___standard__string__StringCharView___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } @@ -3408,6 +3320,246 @@ goto RET_LABEL; RET_LABEL:; return var; } +/* method string#String#to_snake_case for (self: String): String */ +val* standard___standard__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 */; +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 */; +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 */; +uint32_t var_char /* var char: Char */; +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 */; +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 = standard___standard__Text___is_lower(self); +} +if (var1){ +var = self; +goto RET_LABEL; +} else { +} +var2 = NEW_standard__Buffer(&type_standard__Buffer); +{ +var3 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__Text__length]))(self); /* length on */ +} +{ +var4 = standard___standard__Buffer___with_cap(var2, var3); +} +var_new_str = var4; +var_prev_is_lower = 0; +var_prev_is_upper = 0; +var_i = 0l; +{ +var5 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__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)) { +var_class_name = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var9 = var_i < var_; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +} +if (var6){ +{ +var10 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars on */ +} +{ +var11 = ((val*(*)(val* self, long p0))((((long)var10&3)?class_info[((long)var10&3)]:var10->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var10, var_i); /* [] on */ +} +var12 = (uint32_t)((long)(var11)>>2); +var_char = var12; +{ +var13 = standard___standard__Char___is_lower(var_char); +} +if (var13){ +{ +((void(*)(val* self, uint32_t p0))(var_new_str->class->vft[COLOR_standard__string__Buffer__add]))(var_new_str, var_char); /* add on */ +} +var_prev_is_lower = 1; +var_prev_is_upper = 0; +} else { +{ +var14 = standard___standard__Char___is_upper(var_char); +} +if (var14){ +if (var_prev_is_lower){ +{ +((void(*)(val* self, uint32_t p0))(var_new_str->class->vft[COLOR_standard__string__Buffer__add]))(var_new_str, '_'); /* add on */ +} +} else { +var_17 = var_prev_is_upper; +if (var_prev_is_upper){ +{ +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var24 = var_i + 1l; +var18 = var24; +goto RET_LABEL19; +RET_LABEL19:(void)0; +} +} +{ +var25 = ((long(*)(val* self))(self->class->vft[COLOR_standard__string__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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var32 = var18 < var25; +var26 = var32; +goto RET_LABEL27; +RET_LABEL27:(void)0; +} +} +var16 = var26; +} else { +var16 = var_17; +} +var_33 = var16; +if (var16){ +{ +var34 = ((val*(*)(val* self))(self->class->vft[COLOR_standard__string__Text__chars]))(self); /* chars 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var41 = var_i + 1l; +var35 = var41; +goto RET_LABEL36; +RET_LABEL36:(void)0; +} +} +{ +var42 = ((val*(*)(val* self, long p0))((((long)var34&3)?class_info[((long)var34&3)]:var34->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var34, var35); /* [] on */ +} +{ +var44 = (uint32_t)((long)(var42)>>2); +var43 = standard___standard__Char___is_lower(var44); +} +var15 = var43; +} else { +var15 = var_33; +} +if (var15){ +{ +((void(*)(val* self, uint32_t p0))(var_new_str->class->vft[COLOR_standard__string__Buffer__add]))(var_new_str, '_'); /* add on */ +} +} else { +} +} +{ +var45 = standard___standard__Char___to_lower(var_char); +} +{ +((void(*)(val* self, uint32_t p0))(var_new_str->class->vft[COLOR_standard__string__Buffer__add]))(var_new_str, var45); /* add on */ +} +var_prev_is_lower = 0; +var_prev_is_upper = 1; +} else { +{ +((void(*)(val* self, uint32_t p0))(var_new_str->class->vft[COLOR_standard__string__Buffer__add]))(var_new_str, var_char); /* add on */ +} +var_prev_is_lower = 0; +var_prev_is_upper = 0; +} +} +{ +var46 = standard___standard__Int___Discrete__successor(var_i, 1l); +} +var_i = var46; +} else { +goto BREAK_label; +} +} +BREAK_label: (void)0; +{ +var47 = ((val*(*)(val* self))(var_new_str->class->vft[COLOR_standard__string__Object__to_s]))(var_new_str); /* to_s on */ +} +var = var47; +goto RET_LABEL; +RET_LABEL:; +return var; +} /* method string#FlatSubstringsIter#tgt for (self: FlatSubstringsIter): nullable FlatText */ val* standard__string___standard__string__FlatSubstringsIter___tgt(val* self) { val* var /* : nullable FlatText */; @@ -3433,8 +3585,8 @@ var1 = standard__string___standard__string__FlatSubstringsIter___standard__abstr } if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1035); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1172); +fatal_exit(1); } { { /* Inline string#FlatSubstringsIter#tgt (self) on */ @@ -3445,8 +3597,8 @@ RET_LABEL3:(void)0; } if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1036); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1173); +fatal_exit(1); } var = var2; goto RET_LABEL; @@ -3458,12 +3610,11 @@ short int standard__string___standard__string__FlatSubstringsIter___standard__ab short int var /* : Bool */; val* var1 /* : nullable FlatText */; val* var3 /* : nullable FlatText */; -val* var4 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; val* var_other /* var other: nullable Object */; +short int var7 /* : Bool */; short int var8 /* : Bool */; -short int var9 /* : Bool */; { { /* Inline string#FlatSubstringsIter#tgt (self) on */ var3 = self->attrs[COLOR_standard__string__FlatSubstringsIter___tgt].val; /* _tgt on */ @@ -3471,37 +3622,34 @@ var1 = var3; RET_LABEL2:(void)0; } } -var4 = NULL; if (var1 == NULL) { -var5 = 0; /* is null */ +var4 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var1,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#!= (var1,((val*)NULL)) on */ +var_other = ((val*)NULL); { -var8 = ((short int (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var1, var_other) /* == on */; +var7 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var1, var_other); /* == on */ } -var9 = !var8; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var8 = !var7; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var5 = var6; +var4 = var5; } -var = var5; +var = var4; goto RET_LABEL; RET_LABEL:; return var; } /* method string#FlatSubstringsIter#next for (self: FlatSubstringsIter) */ void standard__string___standard__string__FlatSubstringsIter___standard__abstract_collection__Iterator__next(val* self) { -val* var /* : null */; -var = NULL; { -{ /* Inline string#FlatSubstringsIter#tgt= (self,var) on */ -self->attrs[COLOR_standard__string__FlatSubstringsIter___tgt].val = var; /* _tgt on */ +{ /* Inline string#FlatSubstringsIter#tgt= (self,((val*)NULL)) on */ +self->attrs[COLOR_standard__string__FlatSubstringsIter___tgt].val = ((val*)NULL); /* _tgt on */ RET_LABEL1:(void)0; } } @@ -3510,7 +3658,7 @@ RET_LABEL:; /* method string#FlatSubstringsIter#init for (self: FlatSubstringsIter) */ void standard__string___standard__string__FlatSubstringsIter___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_standard__string___standard__string__FlatSubstringsIter___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_standard__string___standard__string__FlatSubstringsIter___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } @@ -3545,173 +3693,186 @@ RET_LABEL:; /* method string#FlatString#chars for (self: FlatString): SequenceRead[Char] */ val* standard___standard__FlatString___Text__chars(val* self) { val* var /* : SequenceRead[Char] */; -val* var1 /* : SequenceRead[Char] */; -var1 = self->attrs[COLOR_standard__string__FlatString___chars].val; /* _chars on */ -if (unlikely(var1 == NULL)) { +short int var1 /* : Bool */; +val* var2 /* : SequenceRead[Char] */; +val* var3 /* : FlatStringCharView */; +var1 = self->attrs[COLOR_standard__string__FlatString___chars].val != NULL; /* _chars on */ +if(likely(var1)) { +var2 = self->attrs[COLOR_standard__string__FlatString___chars].val; /* _chars on */ +if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1055); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1192); +fatal_exit(1); } -var = var1; +} else { +var3 = NEW_standard__string__FlatStringCharView(&type_standard__string__FlatStringCharView); +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_standard__string__StringCharView__target_61d]))(var3, self); /* target= on */ +} +{ +((void(*)(val* self))(var3->class->vft[COLOR_standard__kernel__Object__init]))(var3); /* init on */ +} +self->attrs[COLOR_standard__string__FlatString___chars].val = var3; /* _chars on */ +var2 = var3; +} +var = var2; RET_LABEL:; return var; } /* method string#FlatString#[] for (self: FlatString, Int): Char */ -char standard___standard__FlatString___Text___91d_93d(val* self, long p0) { -char var /* : Char */; +uint32_t standard___standard__FlatString___Text___91d_93d(val* self, long p0) { +uint32_t var /* : Char */; long var_index /* var index: Int */; -long var1 /* : Int */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var5 /* : Bool */; -long var6 /* : Int */; +short int var4 /* : Bool */; +long var5 /* : Int */; +long var7 /* : Int */; long var8 /* : Int */; -long var9 /* : Int */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -const char* var_class_name14; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +const char* var_class_name13; +long var14 /* : Int */; long var15 /* : Int */; -long var16 /* : Int */; -long var18 /* : Int */; -short int var19 /* : Bool */; -short int var21 /* : Bool */; -int cltype22; -int idtype23; -const char* var_class_name24; -short int var25 /* : Bool */; -char* var26 /* : NativeString */; -char* var28 /* : NativeString */; -long var29 /* : Int */; +long var17 /* : Int */; +short int var18 /* : Bool */; +short int var20 /* : Bool */; +int cltype21; +int idtype22; +const char* var_class_name23; +short int var24 /* : Bool */; +char* var25 /* : NativeString */; +char* var27 /* : NativeString */; +long var28 /* : Int */; +long var30 /* : Int */; long var31 /* : Int */; -long var32 /* : Int */; -short int var34 /* : Bool */; -int cltype35; -int idtype36; -const char* var_class_name37; -long var38 /* : Int */; -char var39 /* : Char */; -char var41 /* : Char */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; +const char* var_class_name36; +long var37 /* : Int */; +uint32_t var38 /* : Char */; +uint32_t var40 /* : Char */; var_index = p0; -var1 = 0; { -{ /* Inline kernel#Int#>= (var_index,var1) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var4 = 1; /* easy isa OTHER*/ -if (unlikely(!var4)) { +{ /* Inline kernel#Int#>= (var_index,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var3 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var3)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var5 = var_index >= var1; -var2 = var5; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var4 = var_index >= 0l; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -if (unlikely(!var2)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1061); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1198); +fatal_exit(1); } { { /* Inline string#FlatString#index_from (self) on */ -var8 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var6 = var8; -RET_LABEL7:(void)0; +var7 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var5 = var7; +RET_LABEL6:(void)0; } } { -{ /* Inline kernel#Int#+ (var_index,var6) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var11 = 1; /* easy isa OTHER*/ -if (unlikely(!var11)) { -var_class_name14 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_index,var5) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var10 = 1; /* easy isa OTHER*/ +if (unlikely(!var10)) { +var_class_name13 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var15 = var_index + var6; -var9 = var15; -goto RET_LABEL10; -RET_LABEL10:(void)0; +var14 = var_index + var5; +var8 = var14; +goto RET_LABEL9; +RET_LABEL9:(void)0; } } { { /* Inline string#FlatString#index_to (self) on */ -var18 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ -var16 = var18; -RET_LABEL17:(void)0; +var17 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ +var15 = var17; +RET_LABEL16:(void)0; } } { -{ /* Inline kernel#Int#<= (var9,var16) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var21 = 1; /* easy isa OTHER*/ -if (unlikely(!var21)) { -var_class_name24 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +{ /* Inline kernel#Int#<= (var8,var15) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var20 = 1; /* easy isa OTHER*/ +if (unlikely(!var20)) { +var_class_name23 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var25 = var9 <= var16; -var19 = var25; -goto RET_LABEL20; -RET_LABEL20:(void)0; +var24 = var8 <= var15; +var18 = var24; +goto RET_LABEL19; +RET_LABEL19:(void)0; } } -if (unlikely(!var19)) { +if (unlikely(!var18)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1062); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1199); +fatal_exit(1); } { { /* Inline string#FlatText#items (self) on */ -var28 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var26 = var28; -RET_LABEL27:(void)0; +var27 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var25 = var27; +RET_LABEL26:(void)0; } } { { /* Inline string#FlatString#index_from (self) on */ -var31 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var29 = var31; -RET_LABEL30:(void)0; +var30 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var28 = var30; +RET_LABEL29:(void)0; } } { -{ /* Inline kernel#Int#+ (var_index,var29) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var34 = 1; /* easy isa OTHER*/ -if (unlikely(!var34)) { -var_class_name37 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_index,var28) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var33 = 1; /* easy isa OTHER*/ +if (unlikely(!var33)) { +var_class_name36 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var38 = var_index + var29; -var32 = var38; -goto RET_LABEL33; -RET_LABEL33:(void)0; +var37 = var_index + var28; +var31 = var37; +goto RET_LABEL32; +RET_LABEL32:(void)0; } } { -{ /* Inline string#NativeString#[] (var26,var32) on */ -var41 = var26[var32]; -var39 = var41; -goto RET_LABEL40; -RET_LABEL40:(void)0; +{ /* Inline string#NativeString#[] (var25,var31) on */ +var40 = (uint32_t)(unsigned char)var25[var31]; +var38 = var40; +goto RET_LABEL39; +RET_LABEL39:(void)0; } } -var = var39; +var = var38; goto RET_LABEL; RET_LABEL:; return var; @@ -3721,395 +3882,377 @@ val* standard___standard__FlatString___Text__substring(val* self, long p0, long val* var /* : String */; long var_from /* var from: Int */; long var_count /* var count: Int */; -long var1 /* : Int */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; int cltype; int idtype; const char* var_class_name; +short int var4 /* : Bool */; short int var5 /* : Bool */; -long var6 /* : Int */; short int var7 /* : Bool */; -short int var9 /* : Bool */; -int cltype10; -int idtype11; -const char* var_class_name12; -short int var13 /* : Bool */; -long var14 /* : Int */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -const char* var_class_name19; -long var20 /* : Int */; -long var21 /* : Int */; -short int var22 /* : Bool */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -const char* var_class_name27; -short int var28 /* : Bool */; +int cltype8; +int idtype9; +const char* var_class_name10; +short int var11 /* : Bool */; +long var12 /* : Int */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +const char* var_class_name17; +long var18 /* : Int */; +short int var19 /* : Bool */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +const char* var_class_name24; +short int var25 /* : Bool */; +long var26 /* : Int */; +long var28 /* : Int */; long var29 /* : Int */; -long var30 /* : Int */; -long var31 /* : Int */; -long var33 /* : Int */; -long var34 /* : Int */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -const char* var_class_name39; -long var40 /* : Int */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +const char* var_class_name34; +long var35 /* : Int */; long var_new_from /* var new_from: Int */; -long var41 /* : Int */; -short int var43 /* : Bool */; -int cltype44; -int idtype45; -const char* var_class_name46; -long var47 /* : Int */; -long var48 /* : Int */; -long var50 /* : Int */; -short int var51 /* : Bool */; -short int var53 /* : Bool */; -int cltype54; -int idtype55; -const char* var_class_name56; -short int var57 /* : Bool */; -long var58 /* : Int */; -long var60 /* : Int */; -long var61 /* : Int */; -short int var63 /* : Bool */; -int cltype64; -int idtype65; -const char* var_class_name66; -long var67 /* : Int */; -long var68 /* : Int */; +long var36 /* : Int */; +short int var38 /* : Bool */; +int cltype39; +int idtype40; +const char* var_class_name41; +long var42 /* : Int */; +long var43 /* : Int */; +long var45 /* : Int */; +short int var46 /* : Bool */; +short int var48 /* : Bool */; +int cltype49; +int idtype50; +const char* var_class_name51; +short int var52 /* : Bool */; +long var53 /* : Int */; +long var55 /* : Int */; +long var56 /* : Int */; +short int var58 /* : Bool */; +int cltype59; +int idtype60; +const char* var_class_name61; +long var62 /* : Int */; +long var63 /* : Int */; +short int var65 /* : Bool */; +int cltype66; +int idtype67; +const char* var_class_name68; long var69 /* : Int */; -short int var71 /* : Bool */; -int cltype72; -int idtype73; -const char* var_class_name74; -long var75 /* : Int */; long var_new_len /* var new_len: 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 /* : String */; -val* var85 /* : FlatString */; -char* var86 /* : NativeString */; -char* var88 /* : NativeString */; -long var89 /* : Int */; -long var91 /* : Int */; -long var92 /* : Int */; -short int var93 /* : Bool */; +short int var70 /* : Bool */; +short int var72 /* : Bool */; +int cltype73; +int idtype74; +const char* var_class_name75; +short int var76 /* : Bool */; +val* var77 /* : String */; +val* var78 /* : FlatString */; +char* var79 /* : NativeString */; +char* var81 /* : NativeString */; +long var82 /* : Int */; +long var84 /* : Int */; +short int var85 /* : Bool */; +short int var87 /* : Bool */; +int cltype88; +int idtype89; +const char* var_class_name90; +short int var91 /* : Bool */; +val* var92 /* : String */; +long var93 /* : Int */; short int var95 /* : Bool */; int cltype96; int idtype97; const char* var_class_name98; -short int var99 /* : Bool */; -val* var100 /* : String */; -long var101 /* : Int */; -short int var103 /* : Bool */; -int cltype104; -int idtype105; -const char* var_class_name106; -long var107 /* : Int */; -long var108 /* : Int */; -long var109 /* : Int */; -short int var111 /* : Bool */; -int cltype112; -int idtype113; -const char* var_class_name114; -long var115 /* : Int */; +long var99 /* : Int */; +long var100 /* : Int */; +short int var102 /* : Bool */; +int cltype103; +int idtype104; +const char* var_class_name105; +long var106 /* : Int */; long var_to /* var to: Int */; -val* var116 /* : FlatString */; -char* var117 /* : NativeString */; -char* var119 /* : NativeString */; -long var120 /* : Int */; -short int var122 /* : Bool */; -int cltype123; -int idtype124; -const char* var_class_name125; -long var126 /* : Int */; -long var127 /* : Int */; -long var128 /* : Int */; -short int var130 /* : Bool */; -int cltype131; -int idtype132; -const char* var_class_name133; -long var134 /* : Int */; +val* var107 /* : FlatString */; +char* var108 /* : NativeString */; +char* var110 /* : NativeString */; +long var111 /* : Int */; +short int var113 /* : Bool */; +int cltype114; +int idtype115; +const char* var_class_name116; +long var117 /* : Int */; +long var118 /* : Int */; +short int var120 /* : Bool */; +int cltype121; +int idtype122; +const char* var_class_name123; +long var124 /* : Int */; var_from = p0; var_count = p1; -var1 = 0; { -{ /* Inline kernel#Int#>= (var_count,var1) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var4 = 1; /* easy isa OTHER*/ -if (unlikely(!var4)) { +{ /* Inline kernel#Int#>= (var_count,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var3 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var3)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var5 = var_count >= var1; -var2 = var5; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var4 = var_count >= 0l; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -if (unlikely(!var2)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1087); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1226); +fatal_exit(1); } -var6 = 0; { -{ /* Inline kernel#Int#< (var_from,var6) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var9 = 1; /* easy isa OTHER*/ -if (unlikely(!var9)) { -var_class_name12 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline kernel#Int#< (var_from,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var7 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var7)) { +var_class_name10 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var13 = var_from < var6; -var7 = var13; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var11 = var_from < 0l; +var5 = var11; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } -if (var7){ +if (var5){ { { /* Inline kernel#Int#+ (var_count,var_from) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var16 = 1; /* easy isa OTHER*/ -if (unlikely(!var16)) { -var_class_name19 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +var14 = 1; /* easy isa OTHER*/ +if (unlikely(!var14)) { +var_class_name17 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var20 = var_count + var_from; -var14 = var20; -goto RET_LABEL15; -RET_LABEL15:(void)0; +var18 = var_count + var_from; +var12 = var18; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -var_count = var14; -var21 = 0; +var_count = var12; { -{ /* Inline kernel#Int#< (var_count,var21) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var24 = 1; /* easy isa OTHER*/ -if (unlikely(!var24)) { -var_class_name27 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline kernel#Int#< (var_count,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var21 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var21)) { +var_class_name24 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var28 = var_count < var21; -var22 = var28; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var25 = var_count < 0l; +var19 = var25; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } -if (var22){ -var29 = 0; -var_count = var29; +if (var19){ +var_count = 0l; } else { } -var30 = 0; -var_from = var30; +var_from = 0l; } else { } { { /* Inline string#FlatString#index_from (self) on */ -var33 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var31 = var33; -RET_LABEL32:(void)0; +var28 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var26 = var28; +RET_LABEL27:(void)0; } } { -{ /* Inline kernel#Int#+ (var31,var_from) on */ +{ /* Inline kernel#Int#+ (var26,var_from) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var36 = 1; /* easy isa OTHER*/ -if (unlikely(!var36)) { -var_class_name39 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var40 = var31 + var_from; -var34 = var40; -goto RET_LABEL35; -RET_LABEL35:(void)0; +var31 = 1; /* easy isa OTHER*/ +if (unlikely(!var31)) { +var_class_name34 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var35 = var26 + var_from; +var29 = var35; +goto RET_LABEL30; +RET_LABEL30:(void)0; } } -var_new_from = var34; +var_new_from = var29; { { /* Inline kernel#Int#+ (var_new_from,var_count) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var43 = 1; /* easy isa OTHER*/ -if (unlikely(!var43)) { -var_class_name46 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +var38 = 1; /* easy isa OTHER*/ +if (unlikely(!var38)) { +var_class_name41 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var47 = var_new_from + var_count; -var41 = var47; -goto RET_LABEL42; -RET_LABEL42:(void)0; +var42 = var_new_from + var_count; +var36 = var42; +goto RET_LABEL37; +RET_LABEL37:(void)0; } } { { /* Inline string#FlatString#index_to (self) on */ -var50 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ -var48 = var50; -RET_LABEL49:(void)0; +var45 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ +var43 = var45; +RET_LABEL44:(void)0; } } { -{ /* Inline kernel#Int#> (var41,var48) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var53 = 1; /* easy isa OTHER*/ -if (unlikely(!var53)) { -var_class_name56 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); -} -var57 = var41 > var48; -var51 = var57; -goto RET_LABEL52; -RET_LABEL52:(void)0; +{ /* Inline kernel#Int#> (var36,var43) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var48 = 1; /* easy isa OTHER*/ +if (unlikely(!var48)) { +var_class_name51 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name51); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); +} +var52 = var36 > var43; +var46 = var52; +goto RET_LABEL47; +RET_LABEL47:(void)0; } } -if (var51){ +if (var46){ { { /* Inline string#FlatString#index_to (self) on */ -var60 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ -var58 = var60; -RET_LABEL59:(void)0; +var55 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ +var53 = var55; +RET_LABEL54:(void)0; } } { -{ /* Inline kernel#Int#- (var58,var_new_from) on */ +{ /* Inline kernel#Int#- (var53,var_new_from) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var63 = 1; /* easy isa OTHER*/ -if (unlikely(!var63)) { -var_class_name66 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); -} -var67 = var58 - var_new_from; -var61 = var67; -goto RET_LABEL62; -RET_LABEL62:(void)0; +var58 = 1; /* easy isa OTHER*/ +if (unlikely(!var58)) { +var_class_name61 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); +} +var62 = var53 - var_new_from; +var56 = var62; +goto RET_LABEL57; +RET_LABEL57:(void)0; } } -var68 = 1; { -{ /* Inline kernel#Int#+ (var61,var68) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var71 = 1; /* easy isa OTHER*/ -if (unlikely(!var71)) { -var_class_name74 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var56,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var65 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var65)) { +var_class_name68 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var75 = var61 + var68; -var69 = var75; -goto RET_LABEL70; -RET_LABEL70:(void)0; +var69 = var56 + 1l; +var63 = var69; +goto RET_LABEL64; +RET_LABEL64:(void)0; } } -var_new_len = var69; -var76 = 0; +var_new_len = var63; { -{ /* Inline kernel#Int#<= (var_new_len,var76) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var79 = 1; /* easy isa OTHER*/ -if (unlikely(!var79)) { -var_class_name82 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +{ /* Inline kernel#Int#<= (var_new_len,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var72 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var72)) { +var_class_name75 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var83 = var_new_len <= var76; -var77 = var83; -goto RET_LABEL78; -RET_LABEL78:(void)0; +var76 = var_new_len <= 0l; +var70 = var76; +goto RET_LABEL71; +RET_LABEL71:(void)0; } } -if (var77){ +if (var70){ { -var84 = standard___standard__FlatString___Text__empty(self); +var77 = standard___standard__FlatString___Text__empty(self); } -var = var84; +var = var77; goto RET_LABEL; } else { } -var85 = NEW_standard__FlatString(&type_standard__FlatString); +var78 = NEW_standard__FlatString(&type_standard__FlatString); { { /* Inline string#FlatText#items (self) on */ -var88 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var86 = var88; -RET_LABEL87:(void)0; +var81 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var79 = var81; +RET_LABEL80:(void)0; } } { { /* Inline string#FlatString#index_to (self) on */ -var91 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ -var89 = var91; -RET_LABEL90:(void)0; +var84 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ +var82 = var84; +RET_LABEL83:(void)0; } } { -standard___standard__FlatString___with_infos(var85, var86, var_new_len, var_new_from, var89); /* Direct call string#FlatString#with_infos on */ +standard___standard__FlatString___with_infos(var78, var79, var_new_len, var_new_from, var82); /* Direct call string#FlatString#with_infos on */ } -var = var85; +var = var78; goto RET_LABEL; } else { } -var92 = 0; { -{ /* Inline kernel#Int#<= (var_count,var92) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var95 = 1; /* easy isa OTHER*/ -if (unlikely(!var95)) { -var_class_name98 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name98); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +{ /* Inline kernel#Int#<= (var_count,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var87 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var87)) { +var_class_name90 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var99 = var_count <= var92; -var93 = var99; -goto RET_LABEL94; -RET_LABEL94:(void)0; +var91 = var_count <= 0l; +var85 = var91; +goto RET_LABEL86; +RET_LABEL86:(void)0; } } -if (var93){ +if (var85){ { -var100 = standard___standard__FlatString___Text__empty(self); +var92 = standard___standard__FlatString___Text__empty(self); } -var = var100; +var = var92; goto RET_LABEL; } else { } @@ -4117,85 +4260,83 @@ goto RET_LABEL; { /* Inline kernel#Int#+ (var_new_from,var_count) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var103 = 1; /* easy isa OTHER*/ -if (unlikely(!var103)) { -var_class_name106 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name106); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var107 = var_new_from + var_count; -var101 = var107; -goto RET_LABEL102; -RET_LABEL102:(void)0; +var95 = 1; /* easy isa OTHER*/ +if (unlikely(!var95)) { +var_class_name98 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name98); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var99 = var_new_from + var_count; +var93 = var99; +goto RET_LABEL94; +RET_LABEL94:(void)0; } } -var108 = 1; { -{ /* Inline kernel#Int#- (var101,var108) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var111 = 1; /* easy isa OTHER*/ -if (unlikely(!var111)) { -var_class_name114 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name114); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* Inline kernel#Int#- (var93,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var102 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var102)) { +var_class_name105 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name105); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var115 = var101 - var108; -var109 = var115; -goto RET_LABEL110; -RET_LABEL110:(void)0; +var106 = var93 - 1l; +var100 = var106; +goto RET_LABEL101; +RET_LABEL101:(void)0; } } -var_to = var109; -var116 = NEW_standard__FlatString(&type_standard__FlatString); +var_to = var100; +var107 = NEW_standard__FlatString(&type_standard__FlatString); { { /* Inline string#FlatText#items (self) on */ -var119 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var117 = var119; -RET_LABEL118:(void)0; +var110 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var108 = var110; +RET_LABEL109:(void)0; } } { { /* Inline kernel#Int#- (var_to,var_new_from) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var122 = 1; /* easy isa OTHER*/ -if (unlikely(!var122)) { -var_class_name125 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name125); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +var113 = 1; /* easy isa OTHER*/ +if (unlikely(!var113)) { +var_class_name116 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name116); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var126 = var_to - var_new_from; -var120 = var126; -goto RET_LABEL121; -RET_LABEL121:(void)0; +var117 = var_to - var_new_from; +var111 = var117; +goto RET_LABEL112; +RET_LABEL112:(void)0; } } -var127 = 1; { -{ /* Inline kernel#Int#+ (var120,var127) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var130 = 1; /* easy isa OTHER*/ -if (unlikely(!var130)) { -var_class_name133 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name133); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var111,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var120 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var120)) { +var_class_name123 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name123); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var134 = var120 + var127; -var128 = var134; -goto RET_LABEL129; -RET_LABEL129:(void)0; +var124 = var111 + 1l; +var118 = var124; +goto RET_LABEL119; +RET_LABEL119:(void)0; } } { -standard___standard__FlatString___with_infos(var116, var117, var128, var_new_from, var_to); /* Direct call string#FlatString#with_infos on */ +standard___standard__FlatString___with_infos(var107, var108, var118, var_new_from, var_to); /* Direct call string#FlatString#with_infos on */ } -var = var116; +var = var107; goto RET_LABEL; RET_LABEL:; return var; @@ -4206,34 +4347,32 @@ val* var /* : String */; static val* varonce; val* var1 /* : String */; char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -short int var5 /* : Bool */; +val* var3 /* : FlatString */; +short int var4 /* : Bool */; int cltype; int idtype; const char* var_class_name; -if (varonce) { +if (likely(varonce!=NULL)) { var1 = varonce; } else { var2 = ""; -var3 = 0; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; +var3 = standard___standard__NativeString___to_s_with_length(var2, 0l); +var1 = var3; varonce = var1; } /* isa FlatString */ cltype = type_standard__FlatString.color; idtype = type_standard__FlatString.id; if(cltype >= var1->type->table_size) { -var5 = 0; +var4 = 0; } else { -var5 = var1->type->type_table[cltype] == idtype; +var4 = var1->type->type_table[cltype] == idtype; } -if (unlikely(!var5)) { +if (unlikely(!var4)) { var_class_name = var1 == NULL ? "null" : var1->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "FlatString", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1110); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1249); +fatal_exit(1); } var = var1; goto RET_LABEL; @@ -4247,55 +4386,50 @@ char* var1 /* : NativeString */; long var2 /* : Int */; long var4 /* : Int */; long var5 /* : Int */; -long var6 /* : Int */; -short int var8 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var9 /* : Int */; -char* var10 /* : NativeString */; -char* var12 /* : NativeString */; +long var8 /* : Int */; +char* var9 /* : NativeString */; +char* var11 /* : NativeString */; char* var_outstr /* var outstr: NativeString */; -long var13 /* : Int */; long var_out_index /* var out_index: Int */; +char* var12 /* : NativeString */; char* var14 /* : NativeString */; -char* var16 /* : NativeString */; char* var_myitems /* var myitems: NativeString */; +long var15 /* : Int */; long var17 /* : Int */; -long var19 /* : Int */; long var_index_from /* var index_from: Int */; +long var18 /* : Int */; long var20 /* : Int */; -long var22 /* : Int */; long var_max /* var max: Int */; +short int var21 /* : Bool */; short int var23 /* : Bool */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -const char* var_class_name28; -short int var29 /* : Bool */; -char var30 /* : Char */; -char var32 /* : Char */; -char var33 /* : Char */; -long var35 /* : Int */; -long var36 /* : Int */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -const char* var_class_name41; -long var42 /* : Int */; -long var43 /* : Int */; -long var44 /* : Int */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -const char* var_class_name49; -long var50 /* : Int */; +int cltype24; +int idtype25; +const char* var_class_name26; +short int var27 /* : Bool */; +uint32_t var28 /* : Char */; +uint32_t var30 /* : Char */; +uint32_t var31 /* : Char */; +long var33 /* : Int */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +const char* var_class_name38; +long var39 /* : Int */; +long var40 /* : Int */; +short int var42 /* : Bool */; +int cltype43; +int idtype44; +const char* var_class_name45; +long var46 /* : Int */; +long var47 /* : Int */; +long var49 /* : Int */; long var51 /* : Int */; long var53 /* : Int */; -char var54 /* : Char */; -long var56 /* : Int */; -long var58 /* : Int */; -val* var59 /* : FlatString */; +val* var54 /* : FlatString */; var1 = NULL/*special!*/; { { /* Inline string#FlatText#length (self) on */ @@ -4304,133 +4438,129 @@ var2 = var4; RET_LABEL3:(void)0; } } -var5 = 1; { -{ /* Inline kernel#Int#+ (var2,var5) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var8 = 1; /* easy isa OTHER*/ -if (unlikely(!var8)) { +{ /* Inline kernel#Int#+ (var2,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_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var9 = var2 + var5; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var8 = var2 + 1l; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } { -{ /* Inline string#NativeString#new (var1,var6) on */ -var12 = (char*)nit_alloc(var6); -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +{ /* Inline string#NativeString#new (var1,var5) on */ +var11 = (char*)nit_alloc(var5); +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -var_outstr = var10; -var13 = 0; -var_out_index = var13; +var_outstr = var9; +var_out_index = 0l; { { /* Inline string#FlatText#items (self) on */ -var16 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var14 = var16; -RET_LABEL15:(void)0; +var14 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var12 = var14; +RET_LABEL13:(void)0; } } -var_myitems = var14; +var_myitems = var12; { { /* Inline string#FlatString#index_from (self) on */ -var19 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var17 = var19; -RET_LABEL18:(void)0; +var17 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var15 = var17; +RET_LABEL16:(void)0; } } -var_index_from = var17; +var_index_from = var15; { { /* Inline string#FlatString#index_to (self) on */ -var22 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ -var20 = var22; -RET_LABEL21:(void)0; +var20 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ +var18 = var20; +RET_LABEL19:(void)0; } } -var_max = var20; +var_max = var18; for(;;) { { { /* Inline kernel#Int#<= (var_index_from,var_max) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var25 = 1; /* easy isa OTHER*/ -if (unlikely(!var25)) { -var_class_name28 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +var23 = 1; /* easy isa OTHER*/ +if (unlikely(!var23)) { +var_class_name26 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var29 = var_index_from <= var_max; -var23 = var29; -goto RET_LABEL24; -RET_LABEL24:(void)0; +var27 = var_index_from <= var_max; +var21 = var27; +goto RET_LABEL22; +RET_LABEL22:(void)0; } } -if (var23){ +if (var21){ { { /* Inline string#NativeString#[] (var_myitems,var_index_from) on */ -var32 = var_myitems[var_index_from]; -var30 = var32; -goto RET_LABEL31; -RET_LABEL31:(void)0; +var30 = (uint32_t)(unsigned char)var_myitems[var_index_from]; +var28 = var30; +goto RET_LABEL29; +RET_LABEL29:(void)0; } } { -var33 = standard___standard__Char___to_upper(var30); +var31 = standard___standard__Char___to_upper(var28); } { -{ /* Inline string#NativeString#[]= (var_outstr,var_out_index,var33) on */ -var_outstr[var_out_index]=var33; -RET_LABEL34:(void)0; +{ /* Inline string#NativeString#[]= (var_outstr,var_out_index,var31) on */ +var_outstr[var_out_index]=(unsigned char)var31; +RET_LABEL32:(void)0; } } -var35 = 1; { -{ /* Inline kernel#Int#+ (var_out_index,var35) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var38 = 1; /* easy isa OTHER*/ -if (unlikely(!var38)) { -var_class_name41 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var42 = var_out_index + var35; -var36 = var42; -goto RET_LABEL37; -RET_LABEL37:(void)0; -} +{ /* Inline kernel#Int#+ (var_out_index,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var35 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var35)) { +var_class_name38 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var_out_index = var36; -var43 = 1; -{ -{ /* Inline kernel#Int#+ (var_index_from,var43) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var46 = 1; /* easy isa OTHER*/ -if (unlikely(!var46)) { -var_class_name49 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +var39 = var_out_index + 1l; +var33 = var39; +goto RET_LABEL34; +RET_LABEL34:(void)0; } -var50 = var_index_from + var43; -var44 = var50; -goto RET_LABEL45; -RET_LABEL45:(void)0; +} +var_out_index = var33; +{ +{ /* Inline kernel#Int#+ (var_index_from,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var42 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var42)) { +var_class_name45 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var46 = var_index_from + 1l; +var40 = var46; +goto RET_LABEL41; +RET_LABEL41:(void)0; } } -var_index_from = var44; +var_index_from = var40; } else { goto BREAK_label; } @@ -4438,29 +4568,28 @@ goto BREAK_label; BREAK_label: (void)0; { { /* Inline string#FlatText#length (self) on */ -var53 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var51 = var53; -RET_LABEL52:(void)0; +var49 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var47 = var49; +RET_LABEL48:(void)0; } } -var54 = '\0'; { -{ /* Inline string#NativeString#[]= (var_outstr,var51,var54) on */ -var_outstr[var51]=var54; -RET_LABEL55:(void)0; +{ /* Inline string#NativeString#[]= (var_outstr,var47,'\000') on */ +var_outstr[var47]=(unsigned char)'\000'; +RET_LABEL50:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var58 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var56 = var58; -RET_LABEL57:(void)0; +var53 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var51 = var53; +RET_LABEL52:(void)0; } } { -var59 = standard___standard__NativeString___to_s_with_length(var_outstr, var56); +var54 = standard___standard__NativeString___to_s_with_length(var_outstr, var51); } -var = var59; +var = var54; goto RET_LABEL; RET_LABEL:; return var; @@ -4472,55 +4601,50 @@ char* var1 /* : NativeString */; long var2 /* : Int */; long var4 /* : Int */; long var5 /* : Int */; -long var6 /* : Int */; -short int var8 /* : Bool */; +short int var7 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var9 /* : Int */; -char* var10 /* : NativeString */; -char* var12 /* : NativeString */; +long var8 /* : Int */; +char* var9 /* : NativeString */; +char* var11 /* : NativeString */; char* var_outstr /* var outstr: NativeString */; -long var13 /* : Int */; long var_out_index /* var out_index: Int */; +char* var12 /* : NativeString */; char* var14 /* : NativeString */; -char* var16 /* : NativeString */; char* var_myitems /* var myitems: NativeString */; +long var15 /* : Int */; long var17 /* : Int */; -long var19 /* : Int */; long var_index_from /* var index_from: Int */; +long var18 /* : Int */; long var20 /* : Int */; -long var22 /* : Int */; long var_max /* var max: Int */; +short int var21 /* : Bool */; short int var23 /* : Bool */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -const char* var_class_name28; -short int var29 /* : Bool */; -char var30 /* : Char */; -char var32 /* : Char */; -char var33 /* : Char */; -long var35 /* : Int */; -long var36 /* : Int */; -short int var38 /* : Bool */; -int cltype39; -int idtype40; -const char* var_class_name41; -long var42 /* : Int */; -long var43 /* : Int */; -long var44 /* : Int */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -const char* var_class_name49; -long var50 /* : Int */; +int cltype24; +int idtype25; +const char* var_class_name26; +short int var27 /* : Bool */; +uint32_t var28 /* : Char */; +uint32_t var30 /* : Char */; +uint32_t var31 /* : Char */; +long var33 /* : Int */; +short int var35 /* : Bool */; +int cltype36; +int idtype37; +const char* var_class_name38; +long var39 /* : Int */; +long var40 /* : Int */; +short int var42 /* : Bool */; +int cltype43; +int idtype44; +const char* var_class_name45; +long var46 /* : Int */; +long var47 /* : Int */; +long var49 /* : Int */; long var51 /* : Int */; long var53 /* : Int */; -char var54 /* : Char */; -long var56 /* : Int */; -long var58 /* : Int */; -val* var59 /* : FlatString */; +val* var54 /* : FlatString */; var1 = NULL/*special!*/; { { /* Inline string#FlatText#length (self) on */ @@ -4529,133 +4653,129 @@ var2 = var4; RET_LABEL3:(void)0; } } -var5 = 1; { -{ /* Inline kernel#Int#+ (var2,var5) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var8 = 1; /* easy isa OTHER*/ -if (unlikely(!var8)) { +{ /* Inline kernel#Int#+ (var2,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_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var9 = var2 + var5; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var8 = var2 + 1l; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } { -{ /* Inline string#NativeString#new (var1,var6) on */ -var12 = (char*)nit_alloc(var6); -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +{ /* Inline string#NativeString#new (var1,var5) on */ +var11 = (char*)nit_alloc(var5); +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -var_outstr = var10; -var13 = 0; -var_out_index = var13; +var_outstr = var9; +var_out_index = 0l; { { /* Inline string#FlatText#items (self) on */ -var16 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var14 = var16; -RET_LABEL15:(void)0; +var14 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var12 = var14; +RET_LABEL13:(void)0; } } -var_myitems = var14; +var_myitems = var12; { { /* Inline string#FlatString#index_from (self) on */ -var19 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var17 = var19; -RET_LABEL18:(void)0; +var17 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var15 = var17; +RET_LABEL16:(void)0; } } -var_index_from = var17; +var_index_from = var15; { { /* Inline string#FlatString#index_to (self) on */ -var22 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ -var20 = var22; -RET_LABEL21:(void)0; +var20 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ +var18 = var20; +RET_LABEL19:(void)0; } } -var_max = var20; +var_max = var18; for(;;) { { { /* Inline kernel#Int#<= (var_index_from,var_max) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var25 = 1; /* easy isa OTHER*/ -if (unlikely(!var25)) { -var_class_name28 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +var23 = 1; /* easy isa OTHER*/ +if (unlikely(!var23)) { +var_class_name26 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var29 = var_index_from <= var_max; -var23 = var29; -goto RET_LABEL24; -RET_LABEL24:(void)0; +var27 = var_index_from <= var_max; +var21 = var27; +goto RET_LABEL22; +RET_LABEL22:(void)0; } } -if (var23){ +if (var21){ { { /* Inline string#NativeString#[] (var_myitems,var_index_from) on */ -var32 = var_myitems[var_index_from]; -var30 = var32; -goto RET_LABEL31; -RET_LABEL31:(void)0; +var30 = (uint32_t)(unsigned char)var_myitems[var_index_from]; +var28 = var30; +goto RET_LABEL29; +RET_LABEL29:(void)0; } } { -var33 = standard___standard__Char___to_lower(var30); +var31 = standard___standard__Char___to_lower(var28); } { -{ /* Inline string#NativeString#[]= (var_outstr,var_out_index,var33) on */ -var_outstr[var_out_index]=var33; -RET_LABEL34:(void)0; +{ /* Inline string#NativeString#[]= (var_outstr,var_out_index,var31) on */ +var_outstr[var_out_index]=(unsigned char)var31; +RET_LABEL32:(void)0; } } -var35 = 1; { -{ /* Inline kernel#Int#+ (var_out_index,var35) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var38 = 1; /* easy isa OTHER*/ -if (unlikely(!var38)) { -var_class_name41 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_out_index,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var35 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var35)) { +var_class_name38 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var42 = var_out_index + var35; -var36 = var42; -goto RET_LABEL37; -RET_LABEL37:(void)0; +var39 = var_out_index + 1l; +var33 = var39; +goto RET_LABEL34; +RET_LABEL34:(void)0; } } -var_out_index = var36; -var43 = 1; +var_out_index = var33; { -{ /* Inline kernel#Int#+ (var_index_from,var43) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var46 = 1; /* easy isa OTHER*/ -if (unlikely(!var46)) { -var_class_name49 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_index_from,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var42 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var42)) { +var_class_name45 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var50 = var_index_from + var43; -var44 = var50; -goto RET_LABEL45; -RET_LABEL45:(void)0; +var46 = var_index_from + 1l; +var40 = var46; +goto RET_LABEL41; +RET_LABEL41:(void)0; } } -var_index_from = var44; +var_index_from = var40; } else { goto BREAK_label; } @@ -4663,29 +4783,28 @@ goto BREAK_label; BREAK_label: (void)0; { { /* Inline string#FlatText#length (self) on */ -var53 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var51 = var53; -RET_LABEL52:(void)0; +var49 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var47 = var49; +RET_LABEL48:(void)0; } } -var54 = '\0'; { -{ /* Inline string#NativeString#[]= (var_outstr,var51,var54) on */ -var_outstr[var51]=var54; -RET_LABEL55:(void)0; +{ /* Inline string#NativeString#[]= (var_outstr,var47,'\000') on */ +var_outstr[var47]=(unsigned char)'\000'; +RET_LABEL50:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var58 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var56 = var58; -RET_LABEL57:(void)0; +var53 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var51 = var53; +RET_LABEL52:(void)0; } } { -var59 = standard___standard__NativeString___to_s_with_length(var_outstr, var56); +var54 = standard___standard__NativeString___to_s_with_length(var_outstr, var51); } -var = var59; +var = var54; goto RET_LABEL; RET_LABEL:; return var; @@ -4693,7 +4812,7 @@ return var; /* method string#FlatString#with_infos for (self: FlatString, NativeString, Int, Int, Int) */ void standard___standard__FlatString___with_infos(val* self, char* p0, long p1, long p2, long p3) { char* var_items /* var items: NativeString */; -long var_len /* var len: Int */; +long var_length /* var length: Int */; long var_from /* var from: Int */; long var_to /* var to: Int */; { @@ -4702,7 +4821,7 @@ RET_LABEL1:(void)0; } } var_items = p0; -var_len = p1; +var_length = p1; var_from = p2; var_to = p3; { @@ -4712,8 +4831,8 @@ RET_LABEL2:(void)0; } } { -{ /* Inline string#FlatText#length= (self,var_len) on */ -self->attrs[COLOR_standard__string__FlatText___length].l = var_len; /* _length on */ +{ /* Inline string#FlatText#length= (self,var_length) on */ +self->attrs[COLOR_standard__string__FlatText___length].l = var_length; /* _length on */ RET_LABEL3:(void)0; } } @@ -4736,42 +4855,38 @@ char* standard___standard__FlatString___Text__to_cstring(val* self) { char* var /* : NativeString */; val* var1 /* : nullable NativeString */; val* var3 /* : nullable NativeString */; -val* var4 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; val* var_other /* var other: nullable Object */; -short int var8 /* : Bool */; -val* var_other10 /* var other: nullable Object */; -short int var11 /* : Bool */; +short int var7 /* : Bool */; +val* var_other9 /* var other: nullable Object */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; short int var13 /* : Bool */; -short int var14 /* : Bool */; -val* var15 /* : nullable NativeString */; -val* var17 /* : nullable NativeString */; +val* var14 /* : nullable NativeString */; +val* var16 /* : nullable NativeString */; +char* var17 /* : NativeString */; char* var18 /* : NativeString */; -char* var19 /* : NativeString */; -long var20 /* : Int */; +long var19 /* : Int */; +long var21 /* : Int */; long var22 /* : Int */; -long var23 /* : Int */; -long var24 /* : Int */; -short int var26 /* : Bool */; +short int var24 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var27 /* : Int */; +long var25 /* : Int */; +char* var26 /* : NativeString */; char* var28 /* : NativeString */; -char* var30 /* : NativeString */; char* var_newItems /* var newItems: NativeString */; +char* var29 /* : NativeString */; char* var31 /* : NativeString */; -char* var33 /* : NativeString */; +long var32 /* : Int */; long var34 /* : Int */; -long var36 /* : Int */; +long var35 /* : Int */; long var37 /* : Int */; long var39 /* : Int */; -long var40 /* : Int */; -long var42 /* : Int */; -long var44 /* : Int */; -char var45 /* : Char */; -val* var48 /* : nullable NativeString */; +long var41 /* : Int */; +val* var44 /* : nullable NativeString */; { { /* Inline string#FlatText#real_items (self) on */ var3 = self->attrs[COLOR_standard__string__FlatText___real_items].val; /* _real_items on */ @@ -4779,135 +4894,131 @@ var1 = var3; RET_LABEL2:(void)0; } } -var4 = NULL; if (var1 == NULL) { -var5 = 0; /* is null */ +var4 = 0; /* is null */ } else { -var5 = 1; /* arg is null and recv is not */ +var4 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var1,var4) on */ -var_other = var4; +{ /* Inline kernel#Object#!= (var1,((val*)NULL)) on */ +var_other = ((val*)NULL); { /* Inline kernel#Object#== (var1,var_other) on */ -var_other10 = var_other; +var_other9 = var_other; { -{ /* Inline kernel#Object#is_same_instance (var1,var_other10) on */ -var13 = var1 == var_other10 || (var_other10 != NULL && var1->class == var_other10->class && ((struct instance_standard__NativeString*)var1)->value == ((struct instance_standard__NativeString*)var_other10)->value); -var11 = var13; -goto RET_LABEL12; -RET_LABEL12:(void)0; +{ /* Inline kernel#Object#is_same_instance (var1,var_other9) on */ +var12 = var1 == var_other9 || (var_other9 != NULL && (!((long)var_other9&3)) && var1->class == var_other9->class && ((struct instance_standard__NativeString*)var1)->value == ((struct instance_standard__NativeString*)var_other9)->value); +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } } -var8 = var11; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var7 = var10; +goto RET_LABEL8; +RET_LABEL8:(void)0; } -var14 = !var8; -var6 = var14; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var13 = !var7; +var5 = var13; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var5 = var6; +var4 = var5; } -if (var5){ +if (var4){ { { /* Inline string#FlatText#real_items (self) on */ -var17 = self->attrs[COLOR_standard__string__FlatText___real_items].val; /* _real_items on */ -var15 = var17; -RET_LABEL16:(void)0; +var16 = self->attrs[COLOR_standard__string__FlatText___real_items].val; /* _real_items on */ +var14 = var16; +RET_LABEL15:(void)0; } } -if (unlikely(var15 == NULL)) { +if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1177); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1319); +fatal_exit(1); } -var18 = ((struct instance_standard__NativeString*)var15)->value; /* autounbox from nullable NativeString to NativeString */; -var = var18; +var17 = ((struct instance_standard__NativeString*)var14)->value; /* autounbox from nullable NativeString to NativeString */; +var = var17; goto RET_LABEL; } else { -var19 = NULL/*special!*/; +var18 = NULL/*special!*/; { { /* Inline string#FlatText#length (self) on */ -var22 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var20 = var22; -RET_LABEL21:(void)0; +var21 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var19 = var21; +RET_LABEL20:(void)0; } } -var23 = 1; { -{ /* Inline kernel#Int#+ (var20,var23) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var26 = 1; /* easy isa OTHER*/ -if (unlikely(!var26)) { +{ /* Inline kernel#Int#+ (var19,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var24 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var24)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var27 = var20 + var23; -var24 = var27; -goto RET_LABEL25; -RET_LABEL25:(void)0; +var25 = var19 + 1l; +var22 = var25; +goto RET_LABEL23; +RET_LABEL23:(void)0; } } { -{ /* Inline string#NativeString#new (var19,var24) on */ -var30 = (char*)nit_alloc(var24); -var28 = var30; -goto RET_LABEL29; -RET_LABEL29:(void)0; +{ /* Inline string#NativeString#new (var18,var22) on */ +var28 = (char*)nit_alloc(var22); +var26 = var28; +goto RET_LABEL27; +RET_LABEL27:(void)0; } } -var_newItems = var28; +var_newItems = var26; { { /* Inline string#FlatText#items (self) on */ -var33 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var31 = var33; -RET_LABEL32:(void)0; +var31 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var29 = var31; +RET_LABEL30:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var36 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var34 = var36; -RET_LABEL35:(void)0; +var34 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var32 = var34; +RET_LABEL33:(void)0; } } { { /* Inline string#FlatString#index_from (self) on */ -var39 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var37 = var39; -RET_LABEL38:(void)0; +var37 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var35 = var37; +RET_LABEL36:(void)0; } } -var40 = 0; { -{ /* Inline string#NativeString#copy_to (var31,var_newItems,var34,var37,var40) on */ -memmove(var_newItems+var40,var31+var37,var34); -RET_LABEL41:(void)0; +{ /* Inline string#NativeString#copy_to (var29,var_newItems,var32,var35,0l) on */ +memmove(var_newItems+0l,var29+var35,var32); +RET_LABEL38:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var44 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var42 = var44; -RET_LABEL43:(void)0; +var41 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var39 = var41; +RET_LABEL40:(void)0; } } -var45 = '\0'; { -{ /* Inline string#NativeString#[]= (var_newItems,var42,var45) on */ -var_newItems[var42]=var45; -RET_LABEL46:(void)0; +{ /* Inline string#NativeString#[]= (var_newItems,var39,'\000') on */ +var_newItems[var39]=(unsigned char)'\000'; +RET_LABEL42:(void)0; } } { { /* Inline string#FlatText#real_items= (self,var_newItems) on */ -var48 = BOX_standard__NativeString(var_newItems); /* autobox from NativeString to nullable NativeString */ -self->attrs[COLOR_standard__string__FlatText___real_items].val = var48; /* _real_items on */ -RET_LABEL47:(void)0; +var44 = BOX_standard__NativeString(var_newItems); /* autobox from NativeString to nullable NativeString */ +self->attrs[COLOR_standard__string__FlatText___real_items].val = var44; /* _real_items on */ +RET_LABEL43:(void)0; } } var = var_newItems; @@ -4930,65 +5041,59 @@ long var6 /* : Int */; long var7 /* : Int */; long var9 /* : Int */; short int var10 /* : Bool */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; -long var14 /* : Int */; -long var16 /* : Int */; +short int var12 /* : Bool */; +long var13 /* : Int */; +long var15 /* : Int */; long var_my_length /* var my_length: Int */; -long var17 /* : Int */; -long var19 /* : Int */; -short int var20 /* : Bool */; +long var16 /* : Int */; +long var18 /* : Int */; +short int var19 /* : Bool */; +short int var21 /* : Bool */; short int var22 /* : Bool */; -short int var23 /* : Bool */; -short int var24 /* : Bool */; +long var23 /* : Int */; long var25 /* : Int */; -long var27 /* : Int */; long var_my_index /* var my_index: Int */; +long var26 /* : Int */; long var28 /* : Int */; -long var30 /* : Int */; long var_its_index /* var its_index: Int */; -long var31 /* : Int */; -short int var33 /* : Bool */; -int cltype34; -int idtype35; +long var29 /* : Int */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; const char* var_class_name; -long var36 /* : Int */; +long var34 /* : Int */; long var_last_iteration /* var last_iteration: Int */; +char* var35 /* : NativeString */; char* var37 /* : NativeString */; -char* var39 /* : NativeString */; char* var_itsitems /* var itsitems: NativeString */; +char* var38 /* : NativeString */; char* var40 /* : NativeString */; -char* var42 /* : NativeString */; char* var_myitems /* var myitems: NativeString */; +short int var41 /* : Bool */; short int var43 /* : Bool */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -const char* var_class_name48; -short int var49 /* : Bool */; -char var50 /* : Char */; -char var52 /* : Char */; -char var53 /* : Char */; -char var55 /* : Char */; +int cltype44; +int idtype45; +const char* var_class_name46; +short int var47 /* : Bool */; +uint32_t var48 /* : Char */; +uint32_t var50 /* : Char */; +uint32_t var51 /* : Char */; +uint32_t var53 /* : Char */; +short int var54 /* : Bool */; short int var56 /* : Bool */; -short int var58 /* : Bool */; -short int var59 /* : Bool */; +short int var57 /* : Bool */; +long var58 /* : Int */; short int var60 /* : Bool */; -long var61 /* : Int */; -long var62 /* : Int */; -short int var64 /* : Bool */; -int cltype65; -int idtype66; -const char* var_class_name67; -long var68 /* : Int */; -long var69 /* : Int */; -long var70 /* : Int */; -short int var72 /* : Bool */; -int cltype73; -int idtype74; -const char* var_class_name75; -long var76 /* : Int */; -short int var77 /* : Bool */; +int cltype61; +int idtype62; +const char* var_class_name63; +long var64 /* : Int */; +long var65 /* : Int */; +short int var67 /* : Bool */; +int cltype68; +int idtype69; +const char* var_class_name70; +long var71 /* : Int */; var_other = p0; /* isa FlatString */ cltype = type_standard__FlatString.color; @@ -4996,16 +5101,16 @@ idtype = type_standard__FlatString.id; if(var_other == NULL) { var1 = 0; } else { -if(cltype >= var_other->type->table_size) { +if(cltype >= (((long)var_other&3)?type_info[((long)var_other&3)]:var_other->type)->table_size) { var1 = 0; } else { -var1 = var_other->type->type_table[cltype] == idtype; +var1 = (((long)var_other&3)?type_info[((long)var_other&3)]:var_other->type)->type_table[cltype] == idtype; } } var2 = !var1; if (var2){ { -var3 = ((short int (*)(val* self, val* p0))(self->class->vft[COLOR_standard___standard__FlatString___standard__kernel__Object___61d_61d]))(self, p0) /* == on */; +var3 = ((short int(*)(val* self, val* p0))(self->class->vft[COLOR_standard___standard__FlatString___standard__kernel__Object___61d_61d]))(self, p0); /* == on */ } var = var3; goto RET_LABEL; @@ -5036,186 +5141,180 @@ RET_LABEL11:(void)0; } } if (var10){ -var13 = 1; -var = var13; +var = 1; goto RET_LABEL; } else { } { { /* Inline string#FlatText#length (self) on */ -var16 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var14 = var16; -RET_LABEL15:(void)0; +var15 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var13 = var15; +RET_LABEL14:(void)0; } } -var_my_length = var14; +var_my_length = var13; { { /* Inline string#FlatText#length (var_other) on */ -var19 = var_other->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var17 = var19; -RET_LABEL18:(void)0; +var18 = var_other->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var16 = var18; +RET_LABEL17:(void)0; } } { -{ /* Inline kernel#Int#!= (var17,var_my_length) on */ -var22 = var17 == var_my_length; -var23 = !var22; -var20 = var23; -goto RET_LABEL21; -RET_LABEL21:(void)0; +{ /* Inline kernel#Int#!= (var16,var_my_length) on */ +var21 = var16 == var_my_length; +var22 = !var21; +var19 = var22; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } -if (var20){ -var24 = 0; -var = var24; +if (var19){ +var = 0; goto RET_LABEL; } else { } { { /* Inline string#FlatString#index_from (self) on */ -var27 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var25 = var27; -RET_LABEL26:(void)0; +var25 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var23 = var25; +RET_LABEL24:(void)0; } } -var_my_index = var25; +var_my_index = var23; { { /* Inline string#FlatString#index_from (var_other) on */ -var30 = var_other->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var28 = var30; -RET_LABEL29:(void)0; +var28 = var_other->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var26 = var28; +RET_LABEL27:(void)0; } } -var_its_index = var28; +var_its_index = var26; { { /* Inline kernel#Int#+ (var_my_index,var_my_length) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var33 = 1; /* easy isa OTHER*/ -if (unlikely(!var33)) { +var31 = 1; /* easy isa OTHER*/ +if (unlikely(!var31)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var36 = var_my_index + var_my_length; -var31 = var36; -goto RET_LABEL32; -RET_LABEL32:(void)0; +var34 = var_my_index + var_my_length; +var29 = var34; +goto RET_LABEL30; +RET_LABEL30:(void)0; } } -var_last_iteration = var31; +var_last_iteration = var29; { { /* Inline string#FlatText#items (var_other) on */ -var39 = var_other->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var37 = var39; -RET_LABEL38:(void)0; +var37 = var_other->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var35 = var37; +RET_LABEL36:(void)0; } } -var_itsitems = var37; +var_itsitems = var35; { { /* Inline string#FlatText#items (self) on */ -var42 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var40 = var42; -RET_LABEL41:(void)0; +var40 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var38 = var40; +RET_LABEL39:(void)0; } } -var_myitems = var40; +var_myitems = var38; for(;;) { { { /* Inline kernel#Int#< (var_my_index,var_last_iteration) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var45 = 1; /* easy isa OTHER*/ -if (unlikely(!var45)) { -var_class_name48 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +var43 = 1; /* easy isa OTHER*/ +if (unlikely(!var43)) { +var_class_name46 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var49 = var_my_index < var_last_iteration; -var43 = var49; -goto RET_LABEL44; -RET_LABEL44:(void)0; +var47 = var_my_index < var_last_iteration; +var41 = var47; +goto RET_LABEL42; +RET_LABEL42:(void)0; } } -if (var43){ +if (var41){ { { /* Inline string#NativeString#[] (var_myitems,var_my_index) on */ -var52 = var_myitems[var_my_index]; -var50 = var52; -goto RET_LABEL51; -RET_LABEL51:(void)0; +var50 = (uint32_t)(unsigned char)var_myitems[var_my_index]; +var48 = var50; +goto RET_LABEL49; +RET_LABEL49:(void)0; } } { { /* Inline string#NativeString#[] (var_itsitems,var_its_index) on */ -var55 = var_itsitems[var_its_index]; -var53 = var55; -goto RET_LABEL54; -RET_LABEL54:(void)0; +var53 = (uint32_t)(unsigned char)var_itsitems[var_its_index]; +var51 = var53; +goto RET_LABEL52; +RET_LABEL52:(void)0; } } { -{ /* Inline kernel#Char#!= (var50,var53) on */ -var58 = var50 == var53; -var59 = !var58; -var56 = var59; -goto RET_LABEL57; -RET_LABEL57:(void)0; +{ /* Inline kernel#Char#!= (var48,var51) on */ +var56 = var48 == var51; +var57 = !var56; +var54 = var57; +goto RET_LABEL55; +RET_LABEL55:(void)0; } } -if (var56){ -var60 = 0; -var = var60; +if (var54){ +var = 0; goto RET_LABEL; } else { } -var61 = 1; { -{ /* Inline kernel#Int#+ (var_my_index,var61) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var64 = 1; /* easy isa OTHER*/ -if (unlikely(!var64)) { -var_class_name67 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name67); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_my_index,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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var68 = var_my_index + var61; -var62 = var68; -goto RET_LABEL63; -RET_LABEL63:(void)0; +var64 = var_my_index + 1l; +var58 = var64; +goto RET_LABEL59; +RET_LABEL59:(void)0; } } -var_my_index = var62; -var69 = 1; +var_my_index = var58; { -{ /* Inline kernel#Int#+ (var_its_index,var69) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var72 = 1; /* easy isa OTHER*/ -if (unlikely(!var72)) { -var_class_name75 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_its_index,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var67 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var67)) { +var_class_name70 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var76 = var_its_index + var69; -var70 = var76; -goto RET_LABEL71; -RET_LABEL71:(void)0; +var71 = var_its_index + 1l; +var65 = var71; +goto RET_LABEL66; +RET_LABEL66:(void)0; } } -var_its_index = var70; +var_its_index = var65; } else { goto BREAK_label; } } BREAK_label: (void)0; -var77 = 1; -var = var77; +var = 1; goto RET_LABEL; RET_LABEL:; return var; @@ -5240,75 +5339,70 @@ long var10 /* : Int */; long var12 /* : Int */; short int var13 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -long var17 /* : Int */; -long var19 /* : Int */; +long var16 /* : Int */; +long var18 /* : Int */; long var_curr_id_self /* var curr_id_self: Int */; -long var20 /* : Int */; -long var22 /* : Int */; +long var19 /* : Int */; +long var21 /* : Int */; long var_curr_id_other /* var curr_id_other: Int */; -char* var23 /* : NativeString */; -char* var25 /* : NativeString */; +char* var22 /* : NativeString */; +char* var24 /* : NativeString */; char* var_my_items /* var my_items: NativeString */; -char* var26 /* : NativeString */; -char* var28 /* : NativeString */; +char* var25 /* : NativeString */; +char* var27 /* : NativeString */; char* var_its_items /* var its_items: NativeString */; -long var29 /* : Int */; -long var31 /* : Int */; +long var28 /* : Int */; +long var30 /* : Int */; long var_my_length /* var my_length: Int */; -long var32 /* : Int */; -long var34 /* : Int */; +long var31 /* : Int */; +long var33 /* : Int */; long var_its_length /* var its_length: Int */; -long var35 /* : Int */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -const char* var_class_name40; -long var41 /* : Int */; +long var34 /* : Int */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +const char* var_class_name39; +long var40 /* : Int */; long var_max_iterations /* var max_iterations: Int */; -short int var42 /* : Bool */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; -const char* var_class_name47; -short int var48 /* : Bool */; -char var49 /* : Char */; -char var51 /* : Char */; -char var_my_curr_char /* var my_curr_char: Char */; -char var52 /* : Char */; -char var54 /* : Char */; -char var_its_curr_char /* var its_curr_char: Char */; -short int var55 /* : Bool */; +short int var41 /* : Bool */; +short int var43 /* : Bool */; +int cltype44; +int idtype45; +const char* var_class_name46; +short int var47 /* : Bool */; +uint32_t var48 /* : Char */; +uint32_t var50 /* : Char */; +uint32_t var_my_curr_char /* var my_curr_char: Char */; +uint32_t var51 /* : Char */; +uint32_t var53 /* : Char */; +uint32_t var_its_curr_char /* var its_curr_char: Char */; +short int var54 /* : Bool */; +short int var56 /* : Bool */; short int var57 /* : Bool */; short int var58 /* : Bool */; -short int var59 /* : Bool */; -short int var61 /* : Bool */; -int cltype62; -int idtype63; -const char* var_class_name64; -short int var65 /* : Bool */; -short int var66 /* : Bool */; +short int var60 /* : Bool */; +int cltype61; +int idtype62; +const char* var_class_name63; +short int var64 /* : Bool */; +long var65 /* : Int */; short int var67 /* : Bool */; -long var68 /* : Int */; -long var69 /* : Int */; -short int var71 /* : Bool */; -int cltype72; -int idtype73; -const char* var_class_name74; -long var75 /* : Int */; -long var76 /* : Int */; -long var77 /* : Int */; +int cltype68; +int idtype69; +const char* var_class_name70; +long var71 /* : Int */; +long var72 /* : Int */; +short int var74 /* : Bool */; +int cltype75; +int idtype76; +const char* var_class_name77; +long var78 /* : Int */; short int var79 /* : Bool */; -int cltype80; -int idtype81; -const char* var_class_name82; -long var83 /* : Int */; -short int var84 /* : Bool */; -short int var86 /* : Bool */; -int cltype87; -int idtype88; -const char* var_class_name89; -short int var90 /* : Bool */; +short int var81 /* : Bool */; +int cltype82; +int idtype83; +const char* var_class_name84; +short int var85 /* : Bool */; /* Covariant cast for argument 0 (other) isa OTHER */ /* isa OTHER */ type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; @@ -5322,8 +5416,8 @@ 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_standard__string, 1214); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1356); +fatal_exit(1); } var_other = p0; /* isa FlatString */ @@ -5337,7 +5431,7 @@ var2 = var_other->type->type_table[cltype3] == idtype4; var5 = !var2; if (var5){ { -var6 = ((short int (*)(val* self, val* p0))(self->class->vft[COLOR_standard___standard__FlatString___standard__kernel__Comparable___60d]))(self, p0) /* < on */; +var6 = ((short int(*)(val* self, val* p0))(self->class->vft[COLOR_standard___standard__FlatString___standard__kernel__Comparable___60d]))(self, p0); /* < on */ } var = var6; goto RET_LABEL; @@ -5368,190 +5462,185 @@ RET_LABEL14:(void)0; } } if (var13){ -var16 = 0; -var = var16; +var = 0; goto RET_LABEL; } else { } { { /* Inline string#FlatString#index_from (self) on */ -var19 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var17 = var19; -RET_LABEL18:(void)0; +var18 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var16 = var18; +RET_LABEL17:(void)0; } } -var_curr_id_self = var17; +var_curr_id_self = var16; { { /* Inline string#FlatString#index_from (var_other) on */ -var22 = var_other->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var20 = var22; -RET_LABEL21:(void)0; +var21 = var_other->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var19 = var21; +RET_LABEL20:(void)0; } } -var_curr_id_other = var20; +var_curr_id_other = var19; { { /* Inline string#FlatText#items (self) on */ -var25 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var23 = var25; -RET_LABEL24:(void)0; +var24 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var22 = var24; +RET_LABEL23:(void)0; } } -var_my_items = var23; +var_my_items = var22; { { /* Inline string#FlatText#items (var_other) on */ -var28 = var_other->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var26 = var28; -RET_LABEL27:(void)0; +var27 = var_other->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var25 = var27; +RET_LABEL26:(void)0; } } -var_its_items = var26; +var_its_items = var25; { { /* Inline string#FlatText#length (self) on */ -var31 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var29 = var31; -RET_LABEL30:(void)0; +var30 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var28 = var30; +RET_LABEL29:(void)0; } } -var_my_length = var29; +var_my_length = var28; { { /* Inline string#FlatText#length (var_other) on */ -var34 = var_other->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var32 = var34; -RET_LABEL33:(void)0; +var33 = var_other->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var31 = var33; +RET_LABEL32:(void)0; } } -var_its_length = var32; +var_its_length = var31; { { /* Inline kernel#Int#+ (var_curr_id_self,var_my_length) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var37 = 1; /* easy isa OTHER*/ -if (unlikely(!var37)) { -var_class_name40 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +var36 = 1; /* easy isa OTHER*/ +if (unlikely(!var36)) { +var_class_name39 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var41 = var_curr_id_self + var_my_length; -var35 = var41; -goto RET_LABEL36; -RET_LABEL36:(void)0; +var40 = var_curr_id_self + var_my_length; +var34 = var40; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } -var_max_iterations = var35; +var_max_iterations = var34; for(;;) { { { /* Inline kernel#Int#< (var_curr_id_self,var_max_iterations) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var44 = 1; /* easy isa OTHER*/ -if (unlikely(!var44)) { -var_class_name47 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var48 = var_curr_id_self < var_max_iterations; -var42 = var48; -goto RET_LABEL43; -RET_LABEL43:(void)0; +var43 = 1; /* easy isa OTHER*/ +if (unlikely(!var43)) { +var_class_name46 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var47 = var_curr_id_self < var_max_iterations; +var41 = var47; +goto RET_LABEL42; +RET_LABEL42:(void)0; } } -if (var42){ +if (var41){ { { /* Inline string#NativeString#[] (var_my_items,var_curr_id_self) on */ -var51 = var_my_items[var_curr_id_self]; -var49 = var51; -goto RET_LABEL50; -RET_LABEL50:(void)0; +var50 = (uint32_t)(unsigned char)var_my_items[var_curr_id_self]; +var48 = var50; +goto RET_LABEL49; +RET_LABEL49:(void)0; } } -var_my_curr_char = var49; +var_my_curr_char = var48; { { /* Inline string#NativeString#[] (var_its_items,var_curr_id_other) on */ -var54 = var_its_items[var_curr_id_other]; -var52 = var54; -goto RET_LABEL53; -RET_LABEL53:(void)0; +var53 = (uint32_t)(unsigned char)var_its_items[var_curr_id_other]; +var51 = var53; +goto RET_LABEL52; +RET_LABEL52:(void)0; } } -var_its_curr_char = var52; +var_its_curr_char = var51; { { /* Inline kernel#Char#!= (var_my_curr_char,var_its_curr_char) on */ -var57 = var_my_curr_char == var_its_curr_char; -var58 = !var57; -var55 = var58; -goto RET_LABEL56; -RET_LABEL56:(void)0; +var56 = var_my_curr_char == var_its_curr_char; +var57 = !var56; +var54 = var57; +goto RET_LABEL55; +RET_LABEL55:(void)0; } } -if (var55){ +if (var54){ { { /* Inline kernel#Char#< (var_my_curr_char,var_its_curr_char) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var61 = 1; /* easy isa OTHER*/ -if (unlikely(!var61)) { -var_class_name64 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 592); -show_backtrace(1); -} -var65 = var_my_curr_char < var_its_curr_char; -var59 = var65; -goto RET_LABEL60; -RET_LABEL60:(void)0; +var60 = 1; /* easy isa OTHER*/ +if (unlikely(!var60)) { +var_class_name63 = type_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 723); +fatal_exit(1); +} +var64 = var_my_curr_char < var_its_curr_char; +var58 = var64; +goto RET_LABEL59; +RET_LABEL59:(void)0; } } -if (var59){ -var66 = 1; -var = var66; +if (var58){ +var = 1; goto RET_LABEL; } else { } -var67 = 0; -var = var67; +var = 0; goto RET_LABEL; } else { } -var68 = 1; { -{ /* Inline kernel#Int#+ (var_curr_id_self,var68) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var71 = 1; /* easy isa OTHER*/ -if (unlikely(!var71)) { -var_class_name74 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_curr_id_self,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var67 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var67)) { +var_class_name70 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var75 = var_curr_id_self + var68; -var69 = var75; -goto RET_LABEL70; -RET_LABEL70:(void)0; +var71 = var_curr_id_self + 1l; +var65 = var71; +goto RET_LABEL66; +RET_LABEL66:(void)0; } } -var_curr_id_self = var69; -var76 = 1; +var_curr_id_self = var65; { -{ /* Inline kernel#Int#+ (var_curr_id_other,var76) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var79 = 1; /* easy isa OTHER*/ -if (unlikely(!var79)) { -var_class_name82 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_curr_id_other,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var74 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var74)) { +var_class_name77 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name77); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var83 = var_curr_id_other + var76; -var77 = var83; -goto RET_LABEL78; -RET_LABEL78:(void)0; +var78 = var_curr_id_other + 1l; +var72 = var78; +goto RET_LABEL73; +RET_LABEL73:(void)0; } } -var_curr_id_other = var77; +var_curr_id_other = var72; } else { goto BREAK_label; } @@ -5561,20 +5650,20 @@ BREAK_label: (void)0; { /* Inline kernel#Int#< (var_my_length,var_its_length) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var86 = 1; /* easy isa OTHER*/ -if (unlikely(!var86)) { -var_class_name89 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name89); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +var81 = 1; /* easy isa OTHER*/ +if (unlikely(!var81)) { +var_class_name84 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var90 = var_my_length < var_its_length; -var84 = var90; -goto RET_LABEL85; -RET_LABEL85:(void)0; +var85 = var_my_length < var_its_length; +var79 = var85; +goto RET_LABEL80; +RET_LABEL80:(void)0; } } -var = var84; +var = var79; goto RET_LABEL; RET_LABEL:; return var; @@ -5583,215 +5672,201 @@ return var; val* standard___standard__FlatString___String___42d(val* self, long p0) { val* var /* : String */; long var_i /* var i: Int */; -long var1 /* : Int */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var5 /* : Bool */; -long var6 /* : Int */; -long var8 /* : Int */; +short int var4 /* : Bool */; +long var5 /* : Int */; +long var7 /* : Int */; long var_my_length /* var my_length: Int */; -long var9 /* : Int */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -const char* var_class_name14; -long var15 /* : Int */; +long var8 /* : Int */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +const char* var_class_name13; +long var14 /* : Int */; long var_final_length /* var final_length: Int */; -char* var16 /* : NativeString */; -char* var18 /* : NativeString */; +char* var15 /* : NativeString */; +char* var17 /* : NativeString */; char* var_my_items /* var my_items: NativeString */; -char* var19 /* : NativeString */; -long var20 /* : Int */; -long var21 /* : Int */; -short int var23 /* : Bool */; -int cltype24; -int idtype25; -const char* var_class_name26; -long var27 /* : Int */; +char* var18 /* : NativeString */; +long var19 /* : Int */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +const char* var_class_name24; +long var25 /* : Int */; +char* var26 /* : NativeString */; char* var28 /* : NativeString */; -char* var30 /* : NativeString */; char* var_target_string /* var target_string: NativeString */; -char var31 /* : Char */; -long var33 /* : Int */; long var_current_last /* var current_last: Int */; -long var34 /* : Int */; long var_iteration /* var iteration: Int */; long var_ /* var : Int */; -short int var35 /* : Bool */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -const char* var_class_name40; -short int var41 /* : Bool */; -long var42 /* : Int */; +short int var30 /* : Bool */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +const char* var_class_name35; +short int var36 /* : Bool */; +long var38 /* : Int */; +short int var40 /* : Bool */; +int cltype41; +int idtype42; +const char* var_class_name43; long var44 /* : Int */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -const char* var_class_name49; -long var50 /* : Int */; -long var51 /* : Int */; -long var52 /* : Int */; -val* var53 /* : FlatString */; +long var45 /* : Int */; +val* var46 /* : FlatString */; var_i = p0; -var1 = 0; { -{ /* 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)) { +{ /* Inline kernel#Int#>= (var_i,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var3 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var3)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var5 = var_i >= var1; -var2 = var5; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var4 = var_i >= 0l; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -if (unlikely(!var2)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1280); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1422); +fatal_exit(1); } { { /* Inline string#FlatText#length (self) on */ -var8 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var6 = var8; -RET_LABEL7:(void)0; +var7 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var5 = var7; +RET_LABEL6:(void)0; } } -var_my_length = var6; +var_my_length = var5; { { /* Inline kernel#Int#* (var_my_length,var_i) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var11 = 1; /* easy isa OTHER*/ -if (unlikely(!var11)) { -var_class_name14 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417); -show_backtrace(1); +var10 = 1; /* easy isa OTHER*/ +if (unlikely(!var10)) { +var_class_name13 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541); +fatal_exit(1); } -var15 = var_my_length * var_i; -var9 = var15; -goto RET_LABEL10; -RET_LABEL10:(void)0; +var14 = var_my_length * var_i; +var8 = var14; +goto RET_LABEL9; +RET_LABEL9:(void)0; } } -var_final_length = var9; +var_final_length = var8; { { /* Inline string#FlatText#items (self) on */ -var18 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var16 = var18; -RET_LABEL17:(void)0; +var17 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var15 = var17; +RET_LABEL16:(void)0; } } -var_my_items = var16; -var19 = NULL/*special!*/; -var20 = 1; +var_my_items = var15; +var18 = NULL/*special!*/; { -{ /* Inline kernel#Int#+ (var_final_length,var20) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var23 = 1; /* easy isa OTHER*/ -if (unlikely(!var23)) { -var_class_name26 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_final_length,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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var27 = var_final_length + var20; -var21 = var27; -goto RET_LABEL22; -RET_LABEL22:(void)0; +var25 = var_final_length + 1l; +var19 = var25; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } { -{ /* Inline string#NativeString#new (var19,var21) on */ -var30 = (char*)nit_alloc(var21); -var28 = var30; -goto RET_LABEL29; -RET_LABEL29:(void)0; +{ /* Inline string#NativeString#new (var18,var19) on */ +var28 = (char*)nit_alloc(var19); +var26 = var28; +goto RET_LABEL27; +RET_LABEL27:(void)0; } } -var_target_string = var28; -var31 = '\0'; +var_target_string = var26; { -{ /* Inline string#NativeString#[]= (var_target_string,var_final_length,var31) on */ -var_target_string[var_final_length]=var31; -RET_LABEL32:(void)0; +{ /* Inline string#NativeString#[]= (var_target_string,var_final_length,'\000') on */ +var_target_string[var_final_length]=(unsigned char)'\000'; +RET_LABEL29:(void)0; } } -var33 = 0; -var_current_last = var33; -var34 = 1; -var_iteration = var34; +var_current_last = 0l; +var_iteration = 1l; var_ = var_i; for(;;) { { { /* Inline kernel#Int#<= (var_iteration,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var37 = 1; /* easy isa OTHER*/ -if (unlikely(!var37)) { -var_class_name40 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); -} -var41 = var_iteration <= var_; -var35 = var41; -goto RET_LABEL36; -RET_LABEL36:(void)0; +var32 = 1; /* easy isa OTHER*/ +if (unlikely(!var32)) { +var_class_name35 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); +} +var36 = var_iteration <= var_; +var30 = var36; +goto RET_LABEL31; +RET_LABEL31:(void)0; } } -if (var35){ -var42 = 0; +if (var30){ { -{ /* Inline string#NativeString#copy_to (var_my_items,var_target_string,var_my_length,var42,var_current_last) on */ -memmove(var_target_string+var_current_last,var_my_items+var42,var_my_length); -RET_LABEL43:(void)0; +{ /* Inline string#NativeString#copy_to (var_my_items,var_target_string,var_my_length,0l,var_current_last) on */ +memmove(var_target_string+var_current_last,var_my_items+0l,var_my_length); +RET_LABEL37:(void)0; } } { { /* Inline kernel#Int#+ (var_current_last,var_my_length) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var46 = 1; /* easy isa OTHER*/ -if (unlikely(!var46)) { -var_class_name49 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var50 = var_current_last + var_my_length; -var44 = var50; -goto RET_LABEL45; -RET_LABEL45:(void)0; +var40 = 1; /* easy isa OTHER*/ +if (unlikely(!var40)) { +var_class_name43 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var44 = var_current_last + var_my_length; +var38 = var44; +goto RET_LABEL39; +RET_LABEL39:(void)0; } } -var_current_last = var44; -var51 = 1; +var_current_last = var38; { -var52 = standard___standard__Int___Discrete__successor(var_iteration, var51); +var45 = standard___standard__Int___Discrete__successor(var_iteration, 1l); } -var_iteration = var52; +var_iteration = var45; } else { goto BREAK_label; } } BREAK_label: (void)0; { -var53 = standard___standard__NativeString___to_s_with_length(var_target_string, var_final_length); +var46 = standard___standard__NativeString___to_s_with_length(var_target_string, var_final_length); } -var = var53; +var = var46; goto RET_LABEL; RET_LABEL:; return var; @@ -5801,56 +5876,52 @@ long standard___standard__FlatString___standard__kernel__Object__hash(val* self) long var /* : Int */; val* var1 /* : nullable Int */; val* var3 /* : nullable Int */; -val* var4 /* : null */; +short int var4 /* : Bool */; short int var5 /* : Bool */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; -long var9 /* : Int */; +short int var7 /* : Bool */; long var_h /* var h: Int */; +long var8 /* : Int */; long var10 /* : Int */; -long var12 /* : Int */; long var_i /* var i: Int */; +char* var11 /* : NativeString */; char* var13 /* : NativeString */; -char* var15 /* : NativeString */; char* var_myitems /* var myitems: NativeString */; +long var14 /* : Int */; long var16 /* : Int */; -long var18 /* : Int */; +short int var17 /* : Bool */; short int var19 /* : Bool */; -short int var21 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var22 /* : Bool */; +short int var20 /* : Bool */; +long var21 /* : Int */; long var23 /* : Int */; long var24 /* : Int */; -long var26 /* : Int */; -long var27 /* : Int */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -const char* var_class_name32; -long var33 /* : Int */; -char var34 /* : Char */; -char var36 /* : Char */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +long var30 /* : Int */; +uint32_t var31 /* : Char */; +uint32_t var33 /* : Char */; +long var34 /* : Int */; +long var36 /* : Int */; long var37 /* : Int */; -long var39 /* : Int */; -long var40 /* : Int */; -short int var42 /* : Bool */; -int cltype43; -int idtype44; -const char* var_class_name45; -long var46 /* : Int */; -long var47 /* : Int */; -long var48 /* : Int */; -short int var50 /* : Bool */; -int cltype51; -int idtype52; -const char* var_class_name53; -long var54 /* : Int */; -val* var56 /* : nullable Int */; -val* var57 /* : nullable Int */; -val* var59 /* : nullable Int */; -long var60 /* : Int */; +short int var39 /* : Bool */; +int cltype40; +int idtype41; +const char* var_class_name42; +long var43 /* : Int */; +long var44 /* : Int */; +short int var46 /* : Bool */; +int cltype47; +int idtype48; +const char* var_class_name49; +long var50 /* : Int */; +val* var52 /* : nullable Int */; +val* var53 /* : nullable Int */; +val* var55 /* : nullable Int */; +long var56 /* : Int */; { { /* Inline string#Text#hash_cache (self) on */ var3 = self->attrs[COLOR_standard__string__Text___hash_cache].val; /* _hash_cache on */ @@ -5858,145 +5929,141 @@ var1 = var3; RET_LABEL2:(void)0; } } -var4 = NULL; if (var1 == NULL) { -var5 = 1; /* is null */ +var4 = 1; /* is null */ } else { -var5 = 0; /* arg is null but recv is not */ +var4 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Int#== (var1,var4) on */ -var8 = 0; /* incompatible types Int vs. null; cannot be NULL */ -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; +{ /* Inline kernel#Int#== (var1,((val*)NULL)) on */ +var7 = 0; /* incompatible types Int vs. null; cannot be NULL */ +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } -var5 = var6; +var4 = var5; } -if (var5){ -var9 = 5381; -var_h = var9; +if (var4){ +var_h = 5381l; { { /* Inline string#FlatString#index_from (self) on */ -var12 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var10 = var12; -RET_LABEL11:(void)0; +var10 = self->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var8 = var10; +RET_LABEL9:(void)0; } } -var_i = var10; +var_i = var8; { { /* Inline string#FlatText#items (self) on */ -var15 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var13 = var15; -RET_LABEL14:(void)0; +var13 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var11 = var13; +RET_LABEL12:(void)0; } } -var_myitems = var13; +var_myitems = var11; for(;;) { { { /* Inline string#FlatString#index_to (self) on */ -var18 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ -var16 = var18; -RET_LABEL17:(void)0; +var16 = self->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ +var14 = var16; +RET_LABEL15:(void)0; } } { -{ /* Inline kernel#Int#<= (var_i,var16) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var21 = 1; /* easy isa OTHER*/ -if (unlikely(!var21)) { +{ /* Inline kernel#Int#<= (var_i,var14) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var19 = 1; /* easy isa OTHER*/ +if (unlikely(!var19)) { var_class_name = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); -} -var22 = var_i <= var16; -var19 = var22; -goto RET_LABEL20; -RET_LABEL20:(void)0; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } +var20 = var_i <= var14; +var17 = var20; +goto RET_LABEL18; +RET_LABEL18:(void)0; } -if (var19){ -var23 = 5; +} +if (var17){ { -{ /* Inline kernel#Int#lshift (var_h,var23) on */ -var26 = var_h << var23; -var24 = var26; -goto RET_LABEL25; -RET_LABEL25:(void)0; +{ /* Inline kernel#Int#lshift (var_h,5l) on */ +var23 = var_h << 5l; +var21 = var23; +goto RET_LABEL22; +RET_LABEL22:(void)0; } } { -{ /* Inline kernel#Int#+ (var24,var_h) on */ +{ /* Inline kernel#Int#+ (var21,var_h) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var29 = 1; /* easy isa OTHER*/ -if (unlikely(!var29)) { -var_class_name32 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +var26 = 1; /* easy isa OTHER*/ +if (unlikely(!var26)) { +var_class_name29 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var33 = var24 + var_h; -var27 = var33; -goto RET_LABEL28; -RET_LABEL28:(void)0; +var30 = var21 + var_h; +var24 = var30; +goto RET_LABEL25; +RET_LABEL25:(void)0; } } { { /* Inline string#NativeString#[] (var_myitems,var_i) on */ -var36 = var_myitems[var_i]; +var33 = (uint32_t)(unsigned char)var_myitems[var_i]; +var31 = var33; +goto RET_LABEL32; +RET_LABEL32:(void)0; +} +} +{ +{ /* Inline kernel#Char#ascii (var31) on */ +var36 = (long)var31; var34 = var36; goto RET_LABEL35; RET_LABEL35:(void)0; } } { -{ /* Inline kernel#Char#ascii (var34) on */ -var39 = (unsigned char)var34; -var37 = var39; +{ /* Inline kernel#Int#+ (var24,var34) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var39 = 1; /* easy isa OTHER*/ +if (unlikely(!var39)) { +var_class_name42 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var43 = var24 + var34; +var37 = var43; goto RET_LABEL38; RET_LABEL38:(void)0; } } +var_h = var37; { -{ /* Inline kernel#Int#+ (var27,var37) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var42 = 1; /* easy isa OTHER*/ -if (unlikely(!var42)) { -var_class_name45 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var46 = var27 + var37; -var40 = var46; -goto RET_LABEL41; -RET_LABEL41:(void)0; -} -} -var_h = var40; -var47 = 1; -{ -{ /* Inline kernel#Int#+ (var_i,var47) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var50 = 1; /* easy isa OTHER*/ -if (unlikely(!var50)) { -var_class_name53 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_i,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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var54 = var_i + var47; -var48 = var54; -goto RET_LABEL49; -RET_LABEL49:(void)0; +var50 = var_i + 1l; +var44 = var50; +goto RET_LABEL45; +RET_LABEL45:(void)0; } } -var_i = var48; +var_i = var44; } else { goto BREAK_label; } @@ -6004,41 +6071,41 @@ goto BREAK_label; BREAK_label: (void)0; { { /* Inline string#Text#hash_cache= (self,var_h) on */ -var56 = BOX_standard__Int(var_h); /* autobox from Int to nullable Int */ -self->attrs[COLOR_standard__string__Text___hash_cache].val = var56; /* _hash_cache on */ -RET_LABEL55:(void)0; +var52 = (val*)(var_h<<2|1); +self->attrs[COLOR_standard__string__Text___hash_cache].val = var52; /* _hash_cache on */ +RET_LABEL51:(void)0; } } } else { } { { /* Inline string#Text#hash_cache (self) on */ -var59 = self->attrs[COLOR_standard__string__Text___hash_cache].val; /* _hash_cache on */ -var57 = var59; -RET_LABEL58:(void)0; +var55 = self->attrs[COLOR_standard__string__Text___hash_cache].val; /* _hash_cache on */ +var53 = var55; +RET_LABEL54:(void)0; } } -if (unlikely(var57 == NULL)) { +if (unlikely(var53 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1319); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1461); +fatal_exit(1); } -var60 = ((struct instance_standard__Int*)var57)->value; /* autounbox from nullable Int to Int */; -var = var60; +var56 = (long)(var53)>>2; +var = var56; goto RET_LABEL; RET_LABEL:; return var; } -/* method string#FlatString#substrings for (self: FlatString): Iterator[Text] */ +/* method string#FlatString#substrings for (self: FlatString): Iterator[FlatText] */ val* standard___standard__FlatString___Text__substrings(val* self) { -val* var /* : Iterator[Text] */; +val* var /* : Iterator[FlatText] */; val* var1 /* : FlatSubstringsIter */; var1 = NEW_standard__string__FlatSubstringsIter(&type_standard__string__FlatSubstringsIter); { -((void (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__string__FlatSubstringsIter__tgt_61d]))(var1, self) /* tgt= on */; +((void(*)(val* self, val* p0))(var1->class->vft[COLOR_standard__string__FlatSubstringsIter__tgt_61d]))(var1, self); /* tgt= on */ } { -((void (*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1) /* init on */; +((void(*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1); /* init on */ } var = var1; goto RET_LABEL; @@ -6052,8 +6119,8 @@ val* var1 /* : FlatString */; var1 = self->attrs[COLOR_standard__string__FlatStringIterator___target].val; /* _target on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1354); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1496); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -6134,8 +6201,8 @@ RET_LABEL4:(void)0; var7 = self->attrs[COLOR_standard__string__FlatStringIterator___target].val; /* _target on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1354); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1496); +fatal_exit(1); } var5 = var7; RET_LABEL6:(void)0; @@ -6156,8 +6223,8 @@ var13 = 1; /* easy isa OTHER*/ if (unlikely(!var13)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } var14 = var_pos + var8; var11 = var14; @@ -6200,8 +6267,8 @@ RET_LABEL2:(void)0; var6 = self->attrs[COLOR_standard__string__FlatStringIterator___target].val; /* _target on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1354); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1496); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -6222,8 +6289,8 @@ var12 = 1; /* easy isa OTHER*/ if (unlikely(!var12)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } var13 = var1 <= var7; var10 = var13; @@ -6237,14 +6304,14 @@ RET_LABEL:; return var; } /* method string#FlatStringIterator#item for (self: FlatStringIterator): Char */ -char standard__string___standard__string__FlatStringIterator___standard__abstract_collection__Iterator__item(val* self) { -char var /* : Char */; +uint32_t standard__string___standard__string__FlatStringIterator___standard__abstract_collection__Iterator__item(val* self) { +uint32_t var /* : Char */; char* var1 /* : NativeString */; char* var3 /* : NativeString */; long var4 /* : Int */; long var6 /* : Int */; -char var7 /* : Char */; -char var9 /* : Char */; +uint32_t var7 /* : Char */; +uint32_t var9 /* : Char */; { { /* Inline string#FlatStringIterator#target_items (self) on */ var3 = self->attrs[COLOR_standard__string__FlatStringIterator___target_items].str; /* _target_items on */ @@ -6261,7 +6328,7 @@ RET_LABEL5:(void)0; } { { /* Inline string#NativeString#[] (var1,var4) on */ -var9 = var1[var4]; +var9 = (uint32_t)(unsigned char)var1[var4]; var7 = var9; goto RET_LABEL8; RET_LABEL8:(void)0; @@ -6275,10 +6342,10 @@ return var; /* method string#FlatStringIterator#item for (self: Iterator[nullable Object]): nullable Object */ val* VIRTUAL_standard__string___standard__string__FlatStringIterator___standard__abstract_collection__Iterator__item(val* self) { val* var /* : nullable Object */; -char var1 /* : Char */; +uint32_t var1 /* : Char */; val* var2 /* : nullable Object */; var1 = standard__string___standard__string__FlatStringIterator___standard__abstract_collection__Iterator__item(self); -var2 = BOX_standard__Char(var1); /* autobox from Char to nullable Object */ +var2 = (val*)((long)(var1)<<2|2); var = var2; RET_LABEL:; return var; @@ -6289,12 +6356,11 @@ val* var_ /* var : FlatStringIterator */; long var /* : Int */; long var2 /* : Int */; long var3 /* : Int */; -long var4 /* : Int */; -short int var6 /* : Bool */; +short int var5 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var7 /* : Int */; +long var6 /* : Int */; var_ = self; { { /* Inline string#FlatStringIterator#curr_pos (var_) on */ @@ -6303,28 +6369,27 @@ var = var2; RET_LABEL1:(void)0; } } -var3 = 1; { -{ /* Inline kernel#Int#+ (var,var3) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var6 = 1; /* easy isa OTHER*/ -if (unlikely(!var6)) { +{ /* Inline kernel#Int#+ (var,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_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var7 = var + var3; -var4 = var7; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var6 = var + 1l; +var3 = var6; +goto RET_LABEL4; +RET_LABEL4:(void)0; } } { -{ /* Inline string#FlatStringIterator#curr_pos= (var_,var4) on */ -var_->attrs[COLOR_standard__string__FlatStringIterator___curr_pos].l = var4; /* _curr_pos on */ -RET_LABEL8:(void)0; +{ /* Inline string#FlatStringIterator#curr_pos= (var_,var3) on */ +var_->attrs[COLOR_standard__string__FlatStringIterator___curr_pos].l = var3; /* _curr_pos on */ +RET_LABEL7:(void)0; } } RET_LABEL:; @@ -6356,8 +6421,8 @@ RET_LABEL2:(void)0; var6 = self->attrs[COLOR_standard__string__FlatStringIterator___target].val; /* _target on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1354); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1496); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -6378,8 +6443,8 @@ var12 = 1; /* easy isa OTHER*/ if (unlikely(!var12)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } var13 = var1 - var7; var10 = var13; @@ -6395,182 +6460,180 @@ return var; /* method string#FlatStringIterator#init for (self: FlatStringIterator) */ void standard__string___standard__string__FlatStringIterator___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_standard__string___standard__string__FlatStringIterator___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_standard__string___standard__string__FlatStringIterator___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } /* method string#FlatStringCharView#[] for (self: FlatStringCharView, Int): Char */ -char standard__string___standard__string__FlatStringCharView___standard__abstract_collection__SequenceRead___91d_93d(val* self, long p0) { -char var /* : Char */; +uint32_t standard__string___standard__string__FlatStringCharView___standard__abstract_collection__SequenceRead___91d_93d(val* self, long p0) { +uint32_t var /* : Char */; long var_index /* var index: Int */; -long var1 /* : Int */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var5 /* : Bool */; -val* var6 /* : Text */; -val* var8 /* : Text */; +short int var4 /* : Bool */; +val* var5 /* : Text */; +val* var7 /* : Text */; val* var_target /* var target: FlatString */; -long var9 /* : Int */; +long var8 /* : Int */; +long var10 /* : Int */; long var11 /* : Int */; -long var12 /* : Int */; -short int var14 /* : Bool */; -int cltype15; -int idtype16; -const char* var_class_name17; +short int var13 /* : Bool */; +int cltype14; +int idtype15; +const char* var_class_name16; +long var17 /* : Int */; long var18 /* : Int */; -long var19 /* : Int */; -long var21 /* : Int */; -short int var22 /* : Bool */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -const char* var_class_name27; -short int var28 /* : Bool */; -char* var29 /* : NativeString */; -char* var31 /* : NativeString */; -long var32 /* : Int */; +long var20 /* : Int */; +short int var21 /* : Bool */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +const char* var_class_name26; +short int var27 /* : Bool */; +char* var28 /* : NativeString */; +char* var30 /* : NativeString */; +long var31 /* : Int */; +long var33 /* : Int */; long var34 /* : Int */; -long var35 /* : Int */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -const char* var_class_name40; -long var41 /* : Int */; -char var42 /* : Char */; -char var44 /* : Char */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +const char* var_class_name39; +long var40 /* : Int */; +uint32_t var41 /* : Char */; +uint32_t var43 /* : Char */; var_index = p0; -var1 = 0; { -{ /* Inline kernel#Int#>= (var_index,var1) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var4 = 1; /* easy isa OTHER*/ -if (unlikely(!var4)) { +{ /* Inline kernel#Int#>= (var_index,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var3 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var3)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var5 = var_index >= var1; -var2 = var5; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var4 = var_index >= 0l; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -if (unlikely(!var2)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1386); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1528); +fatal_exit(1); } { { /* Inline string#StringCharView#target (self) on */ -var8 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ -if (unlikely(var8 == NULL)) { +var7 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } -var6 = var8; -RET_LABEL7:(void)0; +var5 = var7; +RET_LABEL6:(void)0; } } -var_target = var6; +var_target = var5; { { /* Inline string#FlatString#index_from (var_target) on */ -var11 = var_target->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var9 = var11; -RET_LABEL10:(void)0; +var10 = var_target->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var8 = var10; +RET_LABEL9:(void)0; } } { -{ /* Inline kernel#Int#+ (var_index,var9) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var14 = 1; /* easy isa OTHER*/ -if (unlikely(!var14)) { -var_class_name17 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_index,var8) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var13 = 1; /* easy isa OTHER*/ +if (unlikely(!var13)) { +var_class_name16 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var18 = var_index + var9; -var12 = var18; -goto RET_LABEL13; -RET_LABEL13:(void)0; +var17 = var_index + var8; +var11 = var17; +goto RET_LABEL12; +RET_LABEL12:(void)0; } } { { /* Inline string#FlatString#index_to (var_target) on */ -var21 = var_target->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ -var19 = var21; -RET_LABEL20:(void)0; +var20 = var_target->attrs[COLOR_standard__string__FlatString___index_to].l; /* _index_to on */ +var18 = var20; +RET_LABEL19:(void)0; } } { -{ /* Inline kernel#Int#<= (var12,var19) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var24 = 1; /* easy isa OTHER*/ -if (unlikely(!var24)) { -var_class_name27 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +{ /* Inline kernel#Int#<= (var11,var18) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var23 = 1; /* easy isa OTHER*/ +if (unlikely(!var23)) { +var_class_name26 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var28 = var12 <= var19; -var22 = var28; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var27 = var11 <= var18; +var21 = var27; +goto RET_LABEL22; +RET_LABEL22:(void)0; } } -if (unlikely(!var22)) { +if (unlikely(!var21)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1388); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1530); +fatal_exit(1); } { { /* Inline string#FlatText#items (var_target) on */ -var31 = var_target->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var29 = var31; -RET_LABEL30:(void)0; +var30 = var_target->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var28 = var30; +RET_LABEL29:(void)0; } } { { /* Inline string#FlatString#index_from (var_target) on */ -var34 = var_target->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var32 = var34; -RET_LABEL33:(void)0; +var33 = var_target->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var31 = var33; +RET_LABEL32:(void)0; } } { -{ /* Inline kernel#Int#+ (var_index,var32) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var37 = 1; /* easy isa OTHER*/ -if (unlikely(!var37)) { -var_class_name40 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_index,var31) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var36 = 1; /* easy isa OTHER*/ +if (unlikely(!var36)) { +var_class_name39 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var41 = var_index + var32; -var35 = var41; -goto RET_LABEL36; -RET_LABEL36:(void)0; +var40 = var_index + var31; +var34 = var40; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } { -{ /* Inline string#NativeString#[] (var29,var35) on */ -var44 = var29[var35]; -var42 = var44; -goto RET_LABEL43; -RET_LABEL43:(void)0; +{ /* Inline string#NativeString#[] (var28,var34) on */ +var43 = (uint32_t)(unsigned char)var28[var34]; +var41 = var43; +goto RET_LABEL42; +RET_LABEL42:(void)0; } } -var = var42; +var = var41; goto RET_LABEL; RET_LABEL:; return var; @@ -6578,10 +6641,10 @@ return var; /* method string#FlatStringCharView#[] for (self: SequenceRead[nullable Object], Int): nullable Object */ val* VIRTUAL_standard__string___standard__string__FlatStringCharView___standard__abstract_collection__SequenceRead___91d_93d(val* self, long p0) { val* var /* : nullable Object */; -char var1 /* : Char */; +uint32_t var1 /* : Char */; val* var2 /* : nullable Object */; var1 = standard__string___standard__string__FlatStringCharView___standard__abstract_collection__SequenceRead___91d_93d(self, p0); -var2 = BOX_standard__Char(var1); /* autobox from Char to nullable Object */ +var2 = (val*)((long)(var1)<<2|2); var = var2; RET_LABEL:; return var; @@ -6600,8 +6663,8 @@ var1 = NEW_standard__string__FlatStringIterator(&type_standard__string__FlatStri var4 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -6615,6 +6678,39 @@ goto RET_LABEL; RET_LABEL:; return var; } +/* method string#Buffer#new for (self: Buffer): Buffer */ +val* standard___standard__Buffer___new(val* self) { +val* var /* : Buffer */; +val* var1 /* : FlatBuffer */; +var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); +{ +{ /* Inline string#FlatBuffer#init (var1) on */ +{ +((void(*)(val* self))(var1->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var1); /* init on */ +} +RET_LABEL2:(void)0; +} +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method string#Buffer#with_cap for (self: Buffer, Int): Buffer */ +val* standard___standard__Buffer___with_cap(val* self, long p0) { +val* var /* : Buffer */; +long var_i /* var i: Int */; +val* var1 /* : FlatBuffer */; +var_i = p0; +var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); +{ +standard___standard__FlatBuffer___with_capacity(var1, var_i); /* Direct call string#FlatBuffer#with_capacity on */ +} +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} /* method string#Buffer#is_dirty for (self: Buffer): Bool */ short int standard___standard__Buffer___is_dirty(val* self) { short int var /* : Bool */; @@ -6629,18 +6725,36 @@ void standard___standard__Buffer___is_dirty_61d(val* self, short int p0) { self->attrs[COLOR_standard__string__Buffer___is_dirty].s = p0; /* _is_dirty on */ RET_LABEL:; } -/* method string#Buffer#written for (self: Buffer): Bool */ -short int standard___standard__Buffer___written(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_standard__string__Buffer___written].s; /* _written on */ -var = var1; +/* method string#Buffer#written= for (self: Buffer, Bool) */ +void standard___standard__Buffer___written_61d(val* self, short int p0) { +self->attrs[COLOR_standard__string__Buffer___written].s = p0; /* _written on */ +RET_LABEL:; +} +/* method string#Buffer#add for (self: Buffer, Char) */ +void standard___standard__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_standard__string, 1568); +fatal_exit(1); +RET_LABEL:; +} +/* method string#Buffer#enlarge for (self: Buffer, Int) */ +void standard___standard__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_standard__string, 1582); +fatal_exit(1); RET_LABEL:; -return var; } -/* method string#Buffer#written= for (self: Buffer, Bool) */ -void standard___standard__Buffer___written_61d(val* self, short int p0) { -self->attrs[COLOR_standard__string__Buffer___written].s = p0; /* _written on */ +/* method string#Buffer#append for (self: Buffer, Text) */ +void standard___standard__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_standard__string, 1585); +fatal_exit(1); RET_LABEL:; } /* method string#Buffer#hash for (self: Buffer): Int */ @@ -6648,8 +6762,7 @@ long standard___standard__Buffer___standard__kernel__Object__hash(val* self) { long var /* : Int */; short int var1 /* : Bool */; short int var3 /* : Bool */; -val* var4 /* : null */; -long var6 /* : Int */; +long var5 /* : Int */; { { /* Inline string#Buffer#is_dirty (self) on */ var3 = self->attrs[COLOR_standard__string__Buffer___is_dirty].s; /* _is_dirty on */ @@ -6658,34 +6771,59 @@ RET_LABEL2:(void)0; } } if (var1){ -var4 = NULL; { -{ /* Inline string#Text#hash_cache= (self,var4) on */ -self->attrs[COLOR_standard__string__Text___hash_cache].val = var4; /* _hash_cache on */ -RET_LABEL5:(void)0; +{ /* Inline string#Text#hash_cache= (self,((val*)NULL)) on */ +self->attrs[COLOR_standard__string__Text___hash_cache].val = ((val*)NULL); /* _hash_cache on */ +RET_LABEL4:(void)0; } } } else { } { -var6 = ((long (*)(val* self))(self->class->vft[COLOR_standard___standard__Buffer___standard__kernel__Object__hash]))(self) /* hash on */; +var5 = ((long(*)(val* self))(self->class->vft[COLOR_standard___standard__Buffer___standard__kernel__Object__hash]))(self); /* hash on */ } -var = var6; +var = var5; goto RET_LABEL; RET_LABEL:; return var; } +/* method string#Buffer#chars for (self: Buffer): Sequence[Char] */ +val* standard___standard__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_standard__string, 1663); +fatal_exit(1); +RET_LABEL:; +return var; +} /* method string#FlatBuffer#chars for (self: FlatBuffer): Sequence[Char] */ val* standard___standard__FlatBuffer___Text__chars(val* self) { val* var /* : Sequence[Char] */; -val* var1 /* : Sequence[Char] */; -var1 = self->attrs[COLOR_standard__string__FlatBuffer___chars].val; /* _chars on */ -if (unlikely(var1 == NULL)) { +short int var1 /* : Bool */; +val* var2 /* : Sequence[Char] */; +val* var3 /* : FlatBufferCharView */; +var1 = self->attrs[COLOR_standard__string__FlatBuffer___chars].val != NULL; /* _chars on */ +if(likely(var1)) { +var2 = self->attrs[COLOR_standard__string__FlatBuffer___chars].val; /* _chars on */ +if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1525); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1673); +fatal_exit(1); } -var = var1; +} else { +var3 = NEW_standard__string__FlatBufferCharView(&type_standard__string__FlatBufferCharView); +{ +((void(*)(val* self, val* p0))(var3->class->vft[COLOR_standard__string__StringCharView__target_61d]))(var3, self); /* target= on */ +} +{ +((void(*)(val* self))(var3->class->vft[COLOR_standard__kernel__Object__init]))(var3); /* init on */ +} +self->attrs[COLOR_standard__string__FlatBuffer___chars].val = var3; /* _chars on */ +var2 = var3; +} +var = var2; RET_LABEL:; return var; } @@ -6703,379 +6841,267 @@ void standard___standard__FlatBuffer___capacity_61d(val* self, long p0) { self->attrs[COLOR_standard__string__FlatBuffer___capacity].l = p0; /* _capacity on */ RET_LABEL:; } -/* method string#FlatBuffer#substrings for (self: FlatBuffer): Iterator[Text] */ +/* method string#FlatBuffer#substrings for (self: FlatBuffer): Iterator[FlatText] */ val* standard___standard__FlatBuffer___Text__substrings(val* self) { -val* var /* : Iterator[Text] */; +val* var /* : Iterator[FlatText] */; val* var1 /* : FlatSubstringsIter */; var1 = NEW_standard__string__FlatSubstringsIter(&type_standard__string__FlatSubstringsIter); { -((void (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__string__FlatSubstringsIter__tgt_61d]))(var1, self) /* tgt= on */; +((void(*)(val* self, val* p0))(var1->class->vft[COLOR_standard__string__FlatSubstringsIter__tgt_61d]))(var1, self); /* tgt= on */ } { -((void (*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1) /* init on */; +((void(*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1); /* init on */ } var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method string#FlatBuffer#reset for (self: FlatBuffer) */ -void standard___standard__FlatBuffer___reset(val* self) { -char* var /* : NativeString */; -long var1 /* : Int */; -long var3 /* : Int */; -char* var4 /* : NativeString */; -char* var6 /* : NativeString */; -char* var_nns /* var nns: NativeString */; -char* var7 /* : NativeString */; -char* var9 /* : NativeString */; -long var10 /* : Int */; -long var12 /* : Int */; -long var13 /* : Int */; -long var14 /* : Int */; -short int var17 /* : Bool */; -var = NULL/*special!*/; -{ -{ /* Inline string#FlatBuffer#capacity (self) on */ -var3 = self->attrs[COLOR_standard__string__FlatBuffer___capacity].l; /* _capacity on */ -var1 = var3; -RET_LABEL2:(void)0; -} -} -{ -{ /* Inline string#NativeString#new (var,var1) on */ -var6 = (char*)nit_alloc(var1); -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; -} -} -var_nns = var4; -{ -{ /* Inline string#FlatText#items (self) on */ -var9 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var7 = var9; -RET_LABEL8:(void)0; -} -} -{ -{ /* Inline string#FlatText#length (self) on */ -var12 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var10 = var12; -RET_LABEL11:(void)0; -} -} -var13 = 0; -var14 = 0; -{ -{ /* Inline string#NativeString#copy_to (var7,var_nns,var10,var13,var14) on */ -memmove(var_nns+var14,var7+var13,var10); -RET_LABEL15:(void)0; -} -} -{ -{ /* Inline string#FlatText#items= (self,var_nns) on */ -self->attrs[COLOR_standard__string__FlatText___items].str = var_nns; /* _items on */ -RET_LABEL16:(void)0; -} -} -var17 = 0; -{ -{ /* Inline string#Buffer#written= (self,var17) on */ -self->attrs[COLOR_standard__string__Buffer___written].s = var17; /* _written on */ -RET_LABEL18:(void)0; -} -} -RET_LABEL:; -} /* method string#FlatBuffer#[] for (self: FlatBuffer, Int): Char */ -char standard___standard__FlatBuffer___Text___91d_93d(val* self, long p0) { -char var /* : Char */; +uint32_t standard___standard__FlatBuffer___Text___91d_93d(val* self, long p0) { +uint32_t var /* : Char */; long var_index /* var index: Int */; -long var1 /* : Int */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var5 /* : Bool */; -long var6 /* : Int */; -long var8 /* : Int */; -short int var9 /* : Bool */; -short int var11 /* : Bool */; -int cltype12; -int idtype13; -const char* var_class_name14; -short int var15 /* : Bool */; -char* var16 /* : NativeString */; -char* var18 /* : NativeString */; -char var19 /* : Char */; -char var21 /* : Char */; +short int var4 /* : Bool */; +long var5 /* : Int */; +long var7 /* : Int */; +short int var8 /* : Bool */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +const char* var_class_name13; +short int var14 /* : Bool */; +char* var15 /* : NativeString */; +char* var17 /* : NativeString */; +uint32_t var18 /* : Char */; +uint32_t var20 /* : Char */; var_index = p0; -var1 = 0; { -{ /* Inline kernel#Int#>= (var_index,var1) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var4 = 1; /* easy isa OTHER*/ -if (unlikely(!var4)) { +{ /* Inline kernel#Int#>= (var_index,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var3 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var3)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var5 = var_index >= var1; -var2 = var5; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var4 = var_index >= 0l; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -if (unlikely(!var2)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1544); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1694); +fatal_exit(1); } { { /* Inline string#FlatText#length (self) on */ -var8 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var6 = var8; -RET_LABEL7:(void)0; +var7 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var5 = var7; +RET_LABEL6:(void)0; } } { -{ /* Inline kernel#Int#< (var_index,var6) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var11 = 1; /* easy isa OTHER*/ -if (unlikely(!var11)) { -var_class_name14 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline kernel#Int#< (var_index,var5) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var10 = 1; /* easy isa OTHER*/ +if (unlikely(!var10)) { +var_class_name13 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var15 = var_index < var6; -var9 = var15; -goto RET_LABEL10; -RET_LABEL10:(void)0; +var14 = var_index < var5; +var8 = var14; +goto RET_LABEL9; +RET_LABEL9:(void)0; } } -if (unlikely(!var9)) { +if (unlikely(!var8)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1545); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1695); +fatal_exit(1); } { { /* Inline string#FlatText#items (self) on */ -var18 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var16 = var18; -RET_LABEL17:(void)0; +var17 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var15 = var17; +RET_LABEL16:(void)0; } } { -{ /* Inline string#NativeString#[] (var16,var_index) on */ -var21 = var16[var_index]; -var19 = var21; -goto RET_LABEL20; -RET_LABEL20:(void)0; +{ /* Inline string#NativeString#[] (var15,var_index) on */ +var20 = (uint32_t)(unsigned char)var15[var_index]; +var18 = var20; +goto RET_LABEL19; +RET_LABEL19:(void)0; } } -var = var19; +var = var18; goto RET_LABEL; RET_LABEL:; return var; } /* method string#FlatBuffer#add for (self: FlatBuffer, Char) */ -void standard___standard__FlatBuffer___Buffer__add(val* self, char p0) { -char var_c /* var c: Char */; -short int var /* : Bool */; -long var2 /* : Int */; +void standard___standard__FlatBuffer___Buffer__add(val* self, uint32_t p0) { +uint32_t var_c /* var c: Char */; +long var /* : Int */; +long var3 /* : Int */; long var4 /* : Int */; -long var5 /* : Int */; -long var7 /* : Int */; -short int var8 /* : Bool */; -short int var10 /* : Bool */; +long var6 /* : Int */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var11 /* : Bool */; -long var12 /* : Int */; +short int var10 /* : Bool */; +long var11 /* : Int */; +long var13 /* : Int */; long var14 /* : Int */; -long var15 /* : Int */; -long var16 /* : Int */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -const char* var_class_name21; -long var22 /* : Int */; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +const char* var_class_name19; +long var20 /* : Int */; +char* var21 /* : NativeString */; char* var23 /* : NativeString */; -char* var25 /* : NativeString */; +long var24 /* : Int */; long var26 /* : Int */; -long var28 /* : Int */; val* var_ /* var : FlatBuffer */; +long var28 /* : Int */; long var30 /* : Int */; -long var32 /* : Int */; -long var33 /* : Int */; -long var34 /* : Int */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -const char* var_class_name39; -long var40 /* : Int */; +long var31 /* : Int */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; +const char* var_class_name36; +long var37 /* : Int */; var_c = p0; -var = 1; { -{ /* Inline string#Buffer#is_dirty= (self,var) on */ -self->attrs[COLOR_standard__string__Buffer___is_dirty].s = var; /* _is_dirty on */ +{ /* Inline string#Buffer#is_dirty= (self,1) on */ +self->attrs[COLOR_standard__string__Buffer___is_dirty].s = 1; /* _is_dirty on */ RET_LABEL1:(void)0; } } { { /* Inline string#FlatBuffer#capacity (self) on */ -var4 = self->attrs[COLOR_standard__string__FlatBuffer___capacity].l; /* _capacity on */ -var2 = var4; -RET_LABEL3:(void)0; +var3 = self->attrs[COLOR_standard__string__FlatBuffer___capacity].l; /* _capacity on */ +var = var3; +RET_LABEL2:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var7 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var5 = var7; -RET_LABEL6:(void)0; +var6 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var4 = var6; +RET_LABEL5:(void)0; } } { -{ /* Inline kernel#Int#<= (var2,var5) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var10 = 1; /* easy isa OTHER*/ -if (unlikely(!var10)) { +{ /* Inline kernel#Int#<= (var,var4) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var9 = 1; /* easy isa OTHER*/ +if (unlikely(!var9)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); -} -var11 = var2 <= var5; -var8 = var11; -goto RET_LABEL9; -RET_LABEL9:(void)0; -} -} -if (var8){ -{ -{ /* Inline string#FlatText#length (self) on */ -var14 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var12 = var14; -RET_LABEL13:(void)0; -} -} -var15 = 5; -{ -{ /* Inline kernel#Int#+ (var12,var15) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var18 = 1; /* easy isa OTHER*/ -if (unlikely(!var18)) { -var_class_name21 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var22 = var12 + var15; -var16 = var22; -goto RET_LABEL17; -RET_LABEL17:(void)0; -} -} -{ -standard___standard__FlatBuffer___Buffer__enlarge(self, var16); /* Direct call string#FlatBuffer#enlarge on */ +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -} else { -} -{ -{ /* Inline string#FlatText#items (self) on */ -var25 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var23 = var25; -RET_LABEL24:(void)0; +var10 = var <= var4; +var7 = var10; +goto RET_LABEL8; +RET_LABEL8:(void)0; } } +if (var7){ { { /* Inline string#FlatText#length (self) on */ -var28 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var26 = var28; -RET_LABEL27:(void)0; +var13 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var11 = var13; +RET_LABEL12:(void)0; } } { -{ /* Inline string#NativeString#[]= (var23,var26,var_c) on */ -var23[var26]=var_c; -RET_LABEL29:(void)0; +{ /* Inline kernel#Int#+ (var11,5l) on */ +/* Covariant cast for argument 0 (i) <5l:Int> isa OTHER */ +/* <5l:Int> isa OTHER */ +var16 = 1; /* easy <5l:Int> isa OTHER*/ +if (unlikely(!var16)) { +var_class_name19 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var20 = var11 + 5l; +var14 = var20; +goto RET_LABEL15; +RET_LABEL15:(void)0; } } -var_ = self; { -{ /* Inline string#FlatText#length (var_) on */ -var32 = var_->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var30 = var32; -RET_LABEL31:(void)0; +standard___standard__FlatBuffer___Buffer__enlarge(self, var14); /* Direct call string#FlatBuffer#enlarge on */ } +} else { } -var33 = 1; { -{ /* Inline kernel#Int#+ (var30,var33) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var36 = 1; /* easy isa OTHER*/ -if (unlikely(!var36)) { -var_class_name39 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var40 = var30 + var33; -var34 = var40; -goto RET_LABEL35; -RET_LABEL35:(void)0; +{ /* Inline string#FlatText#items (self) on */ +var23 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var21 = var23; +RET_LABEL22:(void)0; } } { -{ /* Inline string#FlatText#length= (var_,var34) on */ -var_->attrs[COLOR_standard__string__FlatText___length].l = var34; /* _length on */ -RET_LABEL41:(void)0; -} +{ /* Inline string#FlatText#length (self) on */ +var26 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var24 = var26; +RET_LABEL25:(void)0; } -RET_LABEL:; } -/* method string#FlatBuffer#clear for (self: FlatBuffer) */ -void standard___standard__FlatBuffer___Buffer__clear(val* self) { -short int var /* : Bool */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; -long var5 /* : Int */; -var = 1; { -{ /* Inline string#Buffer#is_dirty= (self,var) on */ -self->attrs[COLOR_standard__string__Buffer___is_dirty].s = var; /* _is_dirty on */ -RET_LABEL1:(void)0; +{ /* Inline string#NativeString#[]= (var21,var24,var_c) on */ +var21[var24]=(unsigned char)var_c; +RET_LABEL27:(void)0; } } +var_ = self; { -{ /* Inline string#Buffer#written (self) on */ -var4 = self->attrs[COLOR_standard__string__Buffer___written].s; /* _written on */ -var2 = var4; -RET_LABEL3:(void)0; +{ /* Inline string#FlatText#length (var_) on */ +var30 = var_->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var28 = var30; +RET_LABEL29:(void)0; } } -if (var2){ { -standard___standard__FlatBuffer___reset(self); /* Direct call string#FlatBuffer#reset on */ +{ /* Inline kernel#Int#+ (var28,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var33 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var33)) { +var_class_name36 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var37 = var28 + 1l; +var31 = var37; +goto RET_LABEL32; +RET_LABEL32:(void)0; } -} else { } -var5 = 0; { -{ /* Inline string#FlatText#length= (self,var5) on */ -self->attrs[COLOR_standard__string__FlatText___length].l = var5; /* _length on */ -RET_LABEL6:(void)0; +{ /* Inline string#FlatText#length= (var_,var31) on */ +var_->attrs[COLOR_standard__string__FlatText___length].l = var31; /* _length on */ +RET_LABEL38:(void)0; } } RET_LABEL:; @@ -7083,17 +7109,13 @@ RET_LABEL:; /* method string#FlatBuffer#empty for (self: FlatBuffer): Buffer */ val* standard___standard__FlatBuffer___Text__empty(val* self) { val* var /* : Buffer */; -val* var1 /* : FlatBuffer */; -var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); -{ -{ /* Inline string#FlatBuffer#init (var1) on */ +val* var1 /* : Buffer */; +val* var2 /* : Buffer */; +var1 = NEW_standard__Buffer(&type_standard__Buffer); { -((void (*)(val* self))(var1->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var1) /* init on */; -} -RET_LABEL2:(void)0; -} +var2 = standard___standard__Buffer___new(var1); } -var = var1; +var = var2; goto RET_LABEL; RET_LABEL:; return var; @@ -7117,46 +7139,39 @@ int idtype11; const char* var_class_name12; short int var13 /* : Bool */; long var14 /* : Int */; -long var15 /* : Int */; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -const char* var_class_name20; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +const char* var_class_name19; +long var20 /* : Int */; long var21 /* : Int */; -long var22 /* : Int */; -long var23 /* : Int */; -short int var25 /* : Bool */; -int cltype26; -int idtype27; -const char* var_class_name28; -long var29 /* : Int */; -short int var30 /* : Bool */; -char* var32 /* : NativeString */; -long var33 /* : Int */; -long var34 /* : Int */; -short int var36 /* : Bool */; -int cltype37; -int idtype38; -const char* var_class_name39; -long var40 /* : Int */; -char* var41 /* : NativeString */; -char* var43 /* : NativeString */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +const char* var_class_name26; +long var27 /* : Int */; +char* var29 /* : NativeString */; +long var30 /* : Int */; +short int var32 /* : Bool */; +int cltype33; +int idtype34; +const char* var_class_name35; +long var36 /* : Int */; +char* var37 /* : NativeString */; +char* var39 /* : NativeString */; char* var_a /* var a: NativeString */; -long var44 /* : Int */; -long var46 /* : 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 */; -char* var55 /* : NativeString */; -char* var57 /* : NativeString */; -long var58 /* : Int */; -long var60 /* : Int */; -long var61 /* : Int */; -long var62 /* : Int */; +long var40 /* : Int */; +long var42 /* : Int */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; +int cltype46; +int idtype47; +const char* var_class_name48; +short int var49 /* : Bool */; +char* var50 /* : NativeString */; +char* var52 /* : NativeString */; +long var53 /* : Int */; +long var55 /* : Int */; var_cap = p0; { { /* Inline string#FlatBuffer#capacity (self) on */ @@ -7174,8 +7189,8 @@ var5 = 1; /* easy isa OTHER*/ if (unlikely(!var5)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } var6 = var_cap <= var_c; var3 = var6; @@ -7196,8 +7211,8 @@ var9 = 1; /* easy isa OTHER*/ if (unlikely(!var9)) { var_class_name12 = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } var13 = var_c <= var_cap; var7 = var13; @@ -7206,129 +7221,122 @@ RET_LABEL8:(void)0; } } if (var7){ -var14 = 2; { -{ /* Inline kernel#Int#* (var_c,var14) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var17 = 1; /* easy isa OTHER*/ -if (unlikely(!var17)) { -var_class_name20 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417); -show_backtrace(1); +{ /* Inline kernel#Int#* (var_c,2l) on */ +/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ +/* <2l:Int> isa OTHER */ +var16 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var16)) { +var_class_name19 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541); +fatal_exit(1); } -var21 = var_c * var14; -var15 = var21; -goto RET_LABEL16; -RET_LABEL16:(void)0; +var20 = var_c * 2l; +var14 = var20; +goto RET_LABEL15; +RET_LABEL15:(void)0; } } -var22 = 2; { -{ /* Inline kernel#Int#+ (var15,var22) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var25 = 1; /* easy isa OTHER*/ -if (unlikely(!var25)) { -var_class_name28 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var14,2l) on */ +/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ +/* <2l:Int> isa OTHER */ +var23 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var23)) { +var_class_name26 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var29 = var15 + var22; -var23 = var29; -goto RET_LABEL24; -RET_LABEL24:(void)0; +var27 = var14 + 2l; +var21 = var27; +goto RET_LABEL22; +RET_LABEL22:(void)0; } } -var_c = var23; +var_c = var21; } else { goto BREAK_label; } } BREAK_label: (void)0; -var30 = 0; { -{ /* Inline string#Buffer#written= (self,var30) on */ -self->attrs[COLOR_standard__string__Buffer___written].s = var30; /* _written on */ -RET_LABEL31:(void)0; +{ /* Inline string#Buffer#written= (self,0) on */ +self->attrs[COLOR_standard__string__Buffer___written].s = 0; /* _written on */ +RET_LABEL28:(void)0; } } -var32 = NULL/*special!*/; -var33 = 1; +var29 = NULL/*special!*/; { -{ /* Inline kernel#Int#+ (var_c,var33) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var36 = 1; /* easy isa OTHER*/ -if (unlikely(!var36)) { -var_class_name39 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_c,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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var40 = var_c + var33; -var34 = var40; -goto RET_LABEL35; -RET_LABEL35:(void)0; +var36 = var_c + 1l; +var30 = var36; +goto RET_LABEL31; +RET_LABEL31:(void)0; } } { -{ /* Inline string#NativeString#new (var32,var34) on */ -var43 = (char*)nit_alloc(var34); -var41 = var43; -goto RET_LABEL42; -RET_LABEL42:(void)0; +{ /* Inline string#NativeString#new (var29,var30) on */ +var39 = (char*)nit_alloc(var30); +var37 = var39; +goto RET_LABEL38; +RET_LABEL38:(void)0; } } -var_a = var41; +var_a = var37; { { /* Inline string#FlatText#length (self) on */ -var46 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var44 = var46; -RET_LABEL45:(void)0; +var42 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var40 = var42; +RET_LABEL41:(void)0; } } -var47 = 0; { -{ /* Inline kernel#Int#> (var44,var47) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var50 = 1; /* easy isa OTHER*/ -if (unlikely(!var50)) { -var_class_name53 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +{ /* Inline kernel#Int#> (var40,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var45 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var45)) { +var_class_name48 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var54 = var44 > var47; -var48 = var54; -goto RET_LABEL49; -RET_LABEL49:(void)0; +var49 = var40 > 0l; +var43 = var49; +goto RET_LABEL44; +RET_LABEL44:(void)0; } } -if (var48){ +if (var43){ { { /* Inline string#FlatText#items (self) on */ -var57 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var55 = var57; -RET_LABEL56:(void)0; +var52 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var50 = var52; +RET_LABEL51:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var60 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var58 = var60; -RET_LABEL59:(void)0; +var55 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var53 = var55; +RET_LABEL54:(void)0; } } -var61 = 0; -var62 = 0; { -{ /* Inline string#NativeString#copy_to (var55,var_a,var58,var61,var62) on */ -memmove(var_a+var62,var55+var61,var58); -RET_LABEL63:(void)0; +{ /* Inline string#NativeString#copy_to (var50,var_a,var53,0l,0l) on */ +memmove(var_a+0l,var50+0l,var53); +RET_LABEL56:(void)0; } } } else { @@ -7336,13 +7344,13 @@ RET_LABEL63:(void)0; { { /* Inline string#FlatText#items= (self,var_a) on */ self->attrs[COLOR_standard__string__FlatText___items].str = var_a; /* _items on */ -RET_LABEL64:(void)0; +RET_LABEL57:(void)0; } } { { /* Inline string#FlatBuffer#capacity= (self,var_c) on */ self->attrs[COLOR_standard__string__FlatBuffer___capacity].l = var_c; /* _capacity on */ -RET_LABEL65:(void)0; +RET_LABEL58:(void)0; } } RET_LABEL:; @@ -7350,77 +7358,76 @@ RET_LABEL:; /* method string#FlatBuffer#to_s for (self: FlatBuffer): String */ val* standard___standard__FlatBuffer___Object__to_s(val* self) { val* var /* : String */; -short int var1 /* : Bool */; -long var3 /* : Int */; -long var5 /* : Int */; -long var6 /* : Int */; +long var2 /* : Int */; +long var4 /* : Int */; +short int var5 /* : Bool */; short int var7 /* : Bool */; -short int var9 /* : Bool */; -char* var10 /* : NativeString */; -long var11 /* : Int */; -char* var12 /* : NativeString */; +char* var8 /* : NativeString */; +char* var9 /* : NativeString */; +char* var11 /* : NativeString */; +val* var13 /* : FlatString */; char* var14 /* : NativeString */; -val* var16 /* : FlatString */; -char* var17 /* : NativeString */; -char* var19 /* : NativeString */; +char* var16 /* : NativeString */; +long var17 /* : Int */; +long var19 /* : Int */; long var20 /* : Int */; long var22 /* : Int */; long var23 /* : Int */; -long var24 /* : Int */; -long var26 /* : Int */; -long var27 /* : Int */; -long var28 /* : Int */; -short int var30 /* : Bool */; +short int var25 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var31 /* : Int */; -var1 = 1; +long var26 /* : Int */; { -{ /* Inline string#Buffer#written= (self,var1) on */ -self->attrs[COLOR_standard__string__Buffer___written].s = var1; /* _written on */ -RET_LABEL2:(void)0; +{ /* Inline string#Buffer#written= (self,1) on */ +self->attrs[COLOR_standard__string__Buffer___written].s = 1; /* _written on */ +RET_LABEL1:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var5 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var3 = var5; -RET_LABEL4:(void)0; +var4 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var2 = var4; +RET_LABEL3:(void)0; } } -var6 = 0; { -{ /* Inline kernel#Int#== (var3,var6) on */ -var9 = var3 == var6; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +{ /* Inline kernel#Int#== (var2,0l) on */ +var7 = var2 == 0l; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } -if (var7){ -var10 = NULL/*special!*/; -var11 = 1; +if (var5){ +var8 = NULL/*special!*/; { -{ /* Inline string#NativeString#new (var10,var11) on */ -var14 = (char*)nit_alloc(var11); -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +{ /* Inline string#NativeString#new (var8,1l) on */ +var11 = (char*)nit_alloc(1l); +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } { -{ /* Inline string#FlatText#items= (self,var12) on */ -self->attrs[COLOR_standard__string__FlatText___items].str = var12; /* _items on */ -RET_LABEL15:(void)0; +{ /* Inline string#FlatText#items= (self,var9) on */ +self->attrs[COLOR_standard__string__FlatText___items].str = var9; /* _items on */ +RET_LABEL12:(void)0; } } } else { } -var16 = NEW_standard__FlatString(&type_standard__FlatString); +var13 = NEW_standard__FlatString(&type_standard__FlatString); +{ +{ /* Inline string#FlatText#items (self) on */ +var16 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var14 = var16; +RET_LABEL15:(void)0; +} +} { -{ /* Inline string#FlatText#items (self) on */ -var19 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +{ /* Inline string#FlatText#length (self) on */ +var19 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ var17 = var19; RET_LABEL18:(void)0; } @@ -7432,36 +7439,27 @@ var20 = var22; RET_LABEL21:(void)0; } } -var23 = 0; -{ -{ /* Inline string#FlatText#length (self) on */ -var26 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var24 = var26; -RET_LABEL25:(void)0; -} -} -var27 = 1; { -{ /* Inline kernel#Int#- (var24,var27) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var30 = 1; /* easy isa OTHER*/ -if (unlikely(!var30)) { +{ /* Inline kernel#Int#- (var20,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var25 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var25)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var31 = var24 - var27; -var28 = var31; -goto RET_LABEL29; -RET_LABEL29:(void)0; +var26 = var20 - 1l; +var23 = var26; +goto RET_LABEL24; +RET_LABEL24:(void)0; } } { -standard___standard__FlatString___with_infos(var16, var17, var20, var23, var28); /* Direct call string#FlatString#with_infos on */ +standard___standard__FlatString___with_infos(var13, var14, var17, 0l, var23); /* Direct call string#FlatString#with_infos on */ } -var = var16; +var = var13; goto RET_LABEL; RET_LABEL:; return var; @@ -7475,38 +7473,32 @@ char* var4 /* : NativeString */; long var5 /* : Int */; long var7 /* : Int */; long var8 /* : Int */; -long var9 /* : Int */; -short int var11 /* : Bool */; +short int var10 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var12 /* : Int */; -char* var13 /* : NativeString */; -char* var15 /* : NativeString */; +long var11 /* : Int */; +char* var12 /* : NativeString */; +char* var14 /* : NativeString */; char* var_new_native /* var new_native: NativeString */; -long var16 /* : Int */; -long var18 /* : Int */; -char var19 /* : Char */; +long var15 /* : Int */; +long var17 /* : Int */; +long var19 /* : Int */; long var21 /* : Int */; -long var23 /* : Int */; -long var24 /* : Int */; -short int var25 /* : Bool */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -const char* var_class_name30; -short int var31 /* : Bool */; -char* var32 /* : NativeString */; -char* var34 /* : NativeString */; -long var35 /* : Int */; -long var37 /* : Int */; -long var38 /* : Int */; -long var39 /* : Int */; -val* var42 /* : nullable NativeString */; -short int var43 /* : Bool */; -val* var45 /* : nullable NativeString */; -val* var47 /* : nullable NativeString */; -char* var48 /* : NativeString */; +short int var22 /* : Bool */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +const char* var_class_name27; +short int var28 /* : Bool */; +char* var29 /* : NativeString */; +char* var31 /* : NativeString */; +long var32 /* : Int */; +long var34 /* : Int */; +val* var37 /* : nullable NativeString */; +val* var39 /* : nullable NativeString */; +val* var41 /* : nullable NativeString */; +char* var42 /* : NativeString */; { { /* Inline string#Buffer#is_dirty (self) on */ var3 = self->attrs[COLOR_standard__string__Buffer___is_dirty].s; /* _is_dirty on */ @@ -7523,127 +7515,121 @@ var5 = var7; RET_LABEL6:(void)0; } } -var8 = 1; { -{ /* Inline kernel#Int#+ (var5,var8) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var11 = 1; /* easy isa OTHER*/ -if (unlikely(!var11)) { +{ /* Inline kernel#Int#+ (var5,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_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var12 = var5 + var8; -var9 = var12; -goto RET_LABEL10; -RET_LABEL10:(void)0; +var11 = var5 + 1l; +var8 = var11; +goto RET_LABEL9; +RET_LABEL9:(void)0; } } { -{ /* Inline string#NativeString#new (var4,var9) on */ -var15 = (char*)nit_alloc(var9); -var13 = var15; -goto RET_LABEL14; -RET_LABEL14:(void)0; +{ /* Inline string#NativeString#new (var4,var8) on */ +var14 = (char*)nit_alloc(var8); +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -var_new_native = var13; +var_new_native = var12; { { /* Inline string#FlatText#length (self) on */ -var18 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var16 = var18; -RET_LABEL17:(void)0; +var17 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var15 = var17; +RET_LABEL16:(void)0; } } -var19 = '\0'; { -{ /* Inline string#NativeString#[]= (var_new_native,var16,var19) on */ -var_new_native[var16]=var19; -RET_LABEL20:(void)0; +{ /* Inline string#NativeString#[]= (var_new_native,var15,'\000') on */ +var_new_native[var15]=(unsigned char)'\000'; +RET_LABEL18:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var23 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var21 = var23; -RET_LABEL22:(void)0; +var21 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var19 = var21; +RET_LABEL20:(void)0; } } -var24 = 0; { -{ /* Inline kernel#Int#> (var21,var24) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var27 = 1; /* easy isa OTHER*/ -if (unlikely(!var27)) { -var_class_name30 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); -} -var31 = var21 > var24; -var25 = var31; -goto RET_LABEL26; -RET_LABEL26:(void)0; +{ /* Inline kernel#Int#> (var19,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var24 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var24)) { +var_class_name27 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); +} +var28 = var19 > 0l; +var22 = var28; +goto RET_LABEL23; +RET_LABEL23:(void)0; } } -if (var25){ +if (var22){ { { /* Inline string#FlatText#items (self) on */ -var34 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var32 = var34; -RET_LABEL33:(void)0; +var31 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var29 = var31; +RET_LABEL30:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var37 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var35 = var37; -RET_LABEL36:(void)0; +var34 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var32 = var34; +RET_LABEL33:(void)0; } } -var38 = 0; -var39 = 0; { -{ /* Inline string#NativeString#copy_to (var32,var_new_native,var35,var38,var39) on */ -memmove(var_new_native+var39,var32+var38,var35); -RET_LABEL40:(void)0; +{ /* Inline string#NativeString#copy_to (var29,var_new_native,var32,0l,0l) on */ +memmove(var_new_native+0l,var29+0l,var32); +RET_LABEL35:(void)0; } } } else { } { { /* Inline string#FlatText#real_items= (self,var_new_native) on */ -var42 = BOX_standard__NativeString(var_new_native); /* autobox from NativeString to nullable NativeString */ -self->attrs[COLOR_standard__string__FlatText___real_items].val = var42; /* _real_items on */ -RET_LABEL41:(void)0; +var37 = BOX_standard__NativeString(var_new_native); /* autobox from NativeString to nullable NativeString */ +self->attrs[COLOR_standard__string__FlatText___real_items].val = var37; /* _real_items on */ +RET_LABEL36:(void)0; } } -var43 = 0; { -{ /* Inline string#Buffer#is_dirty= (self,var43) on */ -self->attrs[COLOR_standard__string__Buffer___is_dirty].s = var43; /* _is_dirty on */ -RET_LABEL44:(void)0; +{ /* Inline string#Buffer#is_dirty= (self,0) on */ +self->attrs[COLOR_standard__string__Buffer___is_dirty].s = 0; /* _is_dirty on */ +RET_LABEL38:(void)0; } } } else { } { { /* Inline string#FlatText#real_items (self) on */ -var47 = self->attrs[COLOR_standard__string__FlatText___real_items].val; /* _real_items on */ -var45 = var47; -RET_LABEL46:(void)0; +var41 = self->attrs[COLOR_standard__string__FlatText___real_items].val; /* _real_items on */ +var39 = var41; +RET_LABEL40:(void)0; } } -if (unlikely(var45 == NULL)) { +if (unlikely(var39 == NULL)) { PRINT_ERROR("Runtime error: %s", "Cast failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1607); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1756); +fatal_exit(1); } -var48 = ((struct instance_standard__NativeString*)var45)->value; /* autounbox from nullable NativeString to NativeString */; -var = var48; +var42 = ((struct instance_standard__NativeString*)var39)->value; /* autounbox from nullable NativeString to NativeString */; +var = var42; goto RET_LABEL; RET_LABEL:; return var; @@ -7651,7 +7637,43 @@ return var; /* method string#FlatBuffer#init for (self: FlatBuffer) */ void standard___standard__FlatBuffer___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(self); /* init on */ +} +RET_LABEL:; +} +/* method string#FlatBuffer#with_infos for (self: FlatBuffer, NativeString, Int, Int) */ +void standard___standard__FlatBuffer___with_infos(val* self, char* p0, long p1, long p2) { +char* var_items /* var items: NativeString */; +long var_capacity /* var capacity: Int */; +long var_length /* var length: Int */; +{ +{ /* Inline string#FlatBuffer#init (self) on */ +{ +((void(*)(val* self))(self->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(self); /* init on */ +} +RET_LABEL1:(void)0; +} +} +var_items = p0; +var_capacity = p1; +var_length = p2; +{ +{ /* Inline string#FlatText#items= (self,var_items) on */ +self->attrs[COLOR_standard__string__FlatText___items].str = var_items; /* _items on */ +RET_LABEL2:(void)0; +} +} +{ +{ /* Inline string#FlatText#length= (self,var_length) on */ +self->attrs[COLOR_standard__string__FlatText___length].l = var_length; /* _length on */ +RET_LABEL3:(void)0; +} +} +{ +{ /* Inline string#FlatBuffer#capacity= (self,var_capacity) on */ +self->attrs[COLOR_standard__string__FlatBuffer___capacity].l = var_capacity; /* _capacity on */ +RET_LABEL4:(void)0; +} } RET_LABEL:; } @@ -7660,291 +7682,275 @@ void standard___standard__FlatBuffer___from(val* self, val* p0) { val* var_s /* var s: Text */; long var /* : Int */; long var2 /* : Int */; -long var3 /* : Int */; -short int var5 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var6 /* : Int */; -long var8 /* : Int */; -char* var10 /* : NativeString */; -long var11 /* : Int */; -long var13 /* : Int */; -char* var14 /* : NativeString */; -char* var16 /* : NativeString */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -char* var21 /* : NativeString */; +long var5 /* : Int */; +long var7 /* : Int */; +char* var9 /* : NativeString */; +long var10 /* : Int */; +long var12 /* : Int */; +char* var13 /* : NativeString */; +char* var15 /* : NativeString */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +char* var20 /* : NativeString */; +char* var22 /* : NativeString */; char* var23 /* : NativeString */; -char* var24 /* : NativeString */; -char* var26 /* : NativeString */; -long var27 /* : Int */; +char* var25 /* : NativeString */; +long var26 /* : Int */; +long var28 /* : Int */; long var29 /* : Int */; -long var30 /* : Int */; -long var32 /* : Int */; -long var33 /* : Int */; -short int var35 /* : Bool */; -int cltype36; -int idtype37; +long var31 /* : Int */; +short int var33 /* : Bool */; +int cltype34; +int idtype35; +char* var36 /* : NativeString */; char* var38 /* : NativeString */; -char* var40 /* : NativeString */; +char* var39 /* : NativeString */; char* var41 /* : NativeString */; -char* var43 /* : NativeString */; +long var42 /* : Int */; long var44 /* : Int */; -long var46 /* : Int */; -long var47 /* : Int */; -long var48 /* : Int */; -long var50 /* : Int */; long var_curr_pos /* var curr_pos: Int */; -long var51 /* : Int */; long var_i /* var i: Int */; -long var52 /* : Int */; +long var46 /* : Int */; long var_ /* var : Int */; +short int var47 /* : Bool */; +short int var49 /* : Bool */; +int cltype50; +int idtype51; +const char* var_class_name52; short int var53 /* : Bool */; -short int var55 /* : Bool */; -int cltype56; -int idtype57; -const char* var_class_name58; -short int var59 /* : Bool */; -val* var60 /* : SequenceRead[Char] */; -val* var61 /* : nullable Object */; -char var62 /* : Char */; -char var_c /* var c: Char */; -char* var63 /* : NativeString */; -char* var65 /* : NativeString */; +val* var54 /* : SequenceRead[Char] */; +val* var55 /* : nullable Object */; +uint32_t var56 /* : Char */; +uint32_t var_c /* var c: Char */; +char* var57 /* : NativeString */; +char* var59 /* : NativeString */; +long var61 /* : Int */; +short int var63 /* : Bool */; +int cltype64; +int idtype65; +const char* var_class_name66; long var67 /* : Int */; long var68 /* : Int */; -short int var70 /* : Bool */; -int cltype71; -int idtype72; -const char* var_class_name73; -long var74 /* : Int */; -long var75 /* : Int */; -long var76 /* : Int */; { { /* Inline string#FlatBuffer#init (self) on */ { -((void (*)(val* self))(self->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL1:(void)0; } } var_s = p0; { -var = ((long (*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s) /* length on */; +var = ((long(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s); /* length on */ } -var2 = 1; { -{ /* Inline kernel#Int#+ (var,var2) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var5 = 1; /* easy isa OTHER*/ -if (unlikely(!var5)) { +{ /* Inline kernel#Int#+ (var,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_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var6 = var + var2; -var3 = var6; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var5 = var + 1l; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; } } { -{ /* Inline string#FlatBuffer#capacity= (self,var3) on */ -self->attrs[COLOR_standard__string__FlatBuffer___capacity].l = var3; /* _capacity on */ -RET_LABEL7:(void)0; +{ /* Inline string#FlatBuffer#capacity= (self,var2) on */ +self->attrs[COLOR_standard__string__FlatBuffer___capacity].l = var2; /* _capacity on */ +RET_LABEL6:(void)0; } } { -var8 = ((long (*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s) /* length on */; +var7 = ((long(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s); /* length on */ } { -{ /* Inline string#FlatText#length= (self,var8) on */ -self->attrs[COLOR_standard__string__FlatText___length].l = var8; /* _length on */ -RET_LABEL9:(void)0; +{ /* Inline string#FlatText#length= (self,var7) on */ +self->attrs[COLOR_standard__string__FlatText___length].l = var7; /* _length on */ +RET_LABEL8:(void)0; } } -var10 = NULL/*special!*/; +var9 = NULL/*special!*/; { { /* Inline string#FlatBuffer#capacity (self) on */ -var13 = self->attrs[COLOR_standard__string__FlatBuffer___capacity].l; /* _capacity on */ -var11 = var13; -RET_LABEL12:(void)0; +var12 = self->attrs[COLOR_standard__string__FlatBuffer___capacity].l; /* _capacity on */ +var10 = var12; +RET_LABEL11:(void)0; } } { -{ /* Inline string#NativeString#new (var10,var11) on */ -var16 = (char*)nit_alloc(var11); -var14 = var16; -goto RET_LABEL15; -RET_LABEL15:(void)0; +{ /* Inline string#NativeString#new (var9,var10) on */ +var15 = (char*)nit_alloc(var10); +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } } { -{ /* Inline string#FlatText#items= (self,var14) on */ -self->attrs[COLOR_standard__string__FlatText___items].str = var14; /* _items on */ -RET_LABEL17:(void)0; +{ /* Inline string#FlatText#items= (self,var13) on */ +self->attrs[COLOR_standard__string__FlatText___items].str = var13; /* _items on */ +RET_LABEL16:(void)0; } } /* isa FlatString */ -cltype19 = type_standard__FlatString.color; -idtype20 = type_standard__FlatString.id; -if(cltype19 >= var_s->type->table_size) { -var18 = 0; +cltype18 = type_standard__FlatString.color; +idtype19 = type_standard__FlatString.id; +if(cltype18 >= var_s->type->table_size) { +var17 = 0; } else { -var18 = var_s->type->type_table[cltype19] == idtype20; +var17 = var_s->type->type_table[cltype18] == idtype19; } -if (var18){ +if (var17){ { { /* Inline string#FlatText#items (var_s) on */ -var23 = var_s->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var21 = var23; -RET_LABEL22:(void)0; +var22 = var_s->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var20 = var22; +RET_LABEL21:(void)0; } } { { /* Inline string#FlatText#items (self) on */ -var26 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var24 = var26; -RET_LABEL25:(void)0; +var25 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var23 = var25; +RET_LABEL24:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var29 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var27 = var29; -RET_LABEL28:(void)0; +var28 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var26 = var28; +RET_LABEL27:(void)0; } } { { /* Inline string#FlatString#index_from (var_s) on */ -var32 = var_s->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var30 = var32; -RET_LABEL31:(void)0; +var31 = var_s->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var29 = var31; +RET_LABEL30:(void)0; } } -var33 = 0; { -{ /* Inline string#NativeString#copy_to (var21,var24,var27,var30,var33) on */ -memmove(var24+var33,var21+var30,var27); -RET_LABEL34:(void)0; +{ /* Inline string#NativeString#copy_to (var20,var23,var26,var29,0l) on */ +memmove(var23+0l,var20+var29,var26); +RET_LABEL32:(void)0; } } } else { /* isa FlatBuffer */ -cltype36 = type_standard__FlatBuffer.color; -idtype37 = type_standard__FlatBuffer.id; -if(cltype36 >= var_s->type->table_size) { -var35 = 0; +cltype34 = type_standard__FlatBuffer.color; +idtype35 = type_standard__FlatBuffer.id; +if(cltype34 >= var_s->type->table_size) { +var33 = 0; } else { -var35 = var_s->type->type_table[cltype36] == idtype37; +var33 = var_s->type->type_table[cltype34] == idtype35; } -if (var35){ +if (var33){ { { /* Inline string#FlatText#items (var_s) on */ -var40 = var_s->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var38 = var40; -RET_LABEL39:(void)0; +var38 = var_s->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var36 = var38; +RET_LABEL37:(void)0; } } { { /* Inline string#FlatText#items (self) on */ -var43 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var41 = var43; -RET_LABEL42:(void)0; +var41 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var39 = var41; +RET_LABEL40:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var46 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var44 = var46; -RET_LABEL45:(void)0; +var44 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var42 = var44; +RET_LABEL43:(void)0; } } -var47 = 0; -var48 = 0; { -{ /* Inline string#NativeString#copy_to (var38,var41,var44,var47,var48) on */ -memmove(var41+var48,var38+var47,var44); -RET_LABEL49:(void)0; +{ /* Inline string#NativeString#copy_to (var36,var39,var42,0l,0l) on */ +memmove(var39+0l,var36+0l,var42); +RET_LABEL45:(void)0; } } } else { -var50 = 0; -var_curr_pos = var50; -var51 = 0; -var_i = var51; +var_curr_pos = 0l; +var_i = 0l; { -var52 = ((long (*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s) /* length on */; +var46 = ((long(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s); /* length on */ } -var_ = var52; +var_ = var46; for(;;) { { { /* Inline kernel#Int#< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var55 = 1; /* easy isa OTHER*/ -if (unlikely(!var55)) { -var_class_name58 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var59 = var_i < var_; -var53 = var59; -goto RET_LABEL54; -RET_LABEL54:(void)0; +var49 = 1; /* easy isa OTHER*/ +if (unlikely(!var49)) { +var_class_name52 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } +var53 = var_i < var_; +var47 = var53; +goto RET_LABEL48; +RET_LABEL48:(void)0; } -if (var53){ +} +if (var47){ { -var60 = ((val* (*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__chars]))(var_s) /* chars on */; +var54 = ((val*(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__chars]))(var_s); /* chars on */ } { -var61 = ((val* (*)(val* self, long p0))(var60->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var60, var_i) /* [] on */; +var55 = ((val*(*)(val* self, long p0))((((long)var54&3)?class_info[((long)var54&3)]:var54->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var54, var_i); /* [] on */ } -var62 = ((struct instance_standard__Char*)var61)->value; /* autounbox from nullable Object to Char */; -var_c = var62; +var56 = (uint32_t)((long)(var55)>>2); +var_c = var56; { { /* Inline string#FlatText#items (self) on */ -var65 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var63 = var65; -RET_LABEL64:(void)0; +var59 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var57 = var59; +RET_LABEL58:(void)0; } } { -{ /* Inline string#NativeString#[]= (var63,var_curr_pos,var_c) on */ -var63[var_curr_pos]=var_c; -RET_LABEL66:(void)0; +{ /* Inline string#NativeString#[]= (var57,var_curr_pos,var_c) on */ +var57[var_curr_pos]=(unsigned char)var_c; +RET_LABEL60:(void)0; } } -var67 = 1; { -{ /* Inline kernel#Int#+ (var_curr_pos,var67) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var70 = 1; /* easy isa OTHER*/ -if (unlikely(!var70)) { -var_class_name73 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_curr_pos,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var63 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var63)) { +var_class_name66 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var74 = var_curr_pos + var67; -var68 = var74; -goto RET_LABEL69; -RET_LABEL69:(void)0; +var67 = var_curr_pos + 1l; +var61 = var67; +goto RET_LABEL62; +RET_LABEL62:(void)0; } } -var_curr_pos = var68; -var75 = 1; +var_curr_pos = var61; { -var76 = standard___standard__Int___Discrete__successor(var_i, var75); +var68 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var76; +var_i = var68; } else { goto BREAK_label; } @@ -7957,100 +7963,94 @@ RET_LABEL:; /* method string#FlatBuffer#with_capacity for (self: FlatBuffer, Int) */ void standard___standard__FlatBuffer___with_capacity(val* self, long p0) { long var_cap /* var cap: Int */; -long var /* : Int */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; +short int var /* : Bool */; +short int var3 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var5 /* : Bool */; -char* var6 /* : NativeString */; -long var7 /* : Int */; -long var8 /* : Int */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -const char* var_class_name13; -long var14 /* : Int */; +short int var4 /* : Bool */; +char* var5 /* : NativeString */; +long var6 /* : Int */; +short int var8 /* : Bool */; +int cltype9; +int idtype10; +const char* var_class_name11; +long var12 /* : Int */; +char* var13 /* : NativeString */; char* var15 /* : NativeString */; -char* var17 /* : NativeString */; -long var20 /* : Int */; { { /* Inline string#FlatBuffer#init (self) on */ { -((void (*)(val* self))(self->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL1:(void)0; } } var_cap = p0; -var = 0; { -{ /* Inline kernel#Int#>= (var_cap,var) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var4 = 1; /* easy isa OTHER*/ -if (unlikely(!var4)) { +{ /* Inline kernel#Int#>= (var_cap,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var3 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var3)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var5 = var_cap >= var; -var2 = var5; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var4 = var_cap >= 0l; +var = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -if (unlikely(!var2)) { +if (unlikely(!var)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1636); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1799); +fatal_exit(1); } -var6 = NULL/*special!*/; -var7 = 1; +var5 = NULL/*special!*/; { -{ /* Inline kernel#Int#+ (var_cap,var7) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var10 = 1; /* easy isa OTHER*/ -if (unlikely(!var10)) { -var_class_name13 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_cap,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var8 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var8)) { +var_class_name11 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var14 = var_cap + var7; -var8 = var14; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var12 = var_cap + 1l; +var6 = var12; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } { -{ /* Inline string#NativeString#new (var6,var8) on */ -var17 = (char*)nit_alloc(var8); -var15 = var17; -goto RET_LABEL16; -RET_LABEL16:(void)0; +{ /* Inline string#NativeString#new (var5,var6) on */ +var15 = (char*)nit_alloc(var6); +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } } { -{ /* Inline string#FlatText#items= (self,var15) on */ -self->attrs[COLOR_standard__string__FlatText___items].str = var15; /* _items on */ -RET_LABEL18:(void)0; +{ /* Inline string#FlatText#items= (self,var13) on */ +self->attrs[COLOR_standard__string__FlatText___items].str = var13; /* _items on */ +RET_LABEL16:(void)0; } } { { /* Inline string#FlatBuffer#capacity= (self,var_cap) on */ self->attrs[COLOR_standard__string__FlatBuffer___capacity].l = var_cap; /* _capacity on */ -RET_LABEL19:(void)0; +RET_LABEL17:(void)0; } } -var20 = 0; { -{ /* Inline string#FlatText#length= (self,var20) on */ -self->attrs[COLOR_standard__string__FlatText___length].l = var20; /* _length on */ -RET_LABEL21:(void)0; +{ /* Inline string#FlatText#length= (self,0l) on */ +self->attrs[COLOR_standard__string__FlatText___length].l = 0l; /* _length on */ +RET_LABEL18:(void)0; } } RET_LABEL:; @@ -8059,91 +8059,86 @@ RET_LABEL:; void standard___standard__FlatBuffer___Buffer__append(val* self, val* p0) { val* var_s /* var s: Text */; short int var /* : Bool */; -short int var1 /* : Bool */; -long var3 /* : Int */; +long var2 /* : Int */; long var_sl /* var sl: Int */; -long var4 /* : Int */; +long var3 /* : Int */; +long var5 /* : Int */; long var6 /* : Int */; -long var7 /* : Int */; +long var8 /* : Int */; long var9 /* : Int */; -long var10 /* : Int */; -short int var12 /* : Bool */; +short int var11 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var13 /* : Int */; -short int var14 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -const char* var_class_name19; -short int var20 /* : Bool */; -long var21 /* : Int */; +long var12 /* : Int */; +short int var13 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +short int var19 /* : Bool */; +long var20 /* : Int */; +long var22 /* : Int */; long var23 /* : Int */; -long var24 /* : Int */; -short int var26 /* : Bool */; -int cltype27; -int idtype28; -const char* var_class_name29; -long var30 /* : Int */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -char* var34 /* : NativeString */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +const char* var_class_name28; +long var29 /* : Int */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +char* var33 /* : NativeString */; +char* var35 /* : NativeString */; char* var36 /* : NativeString */; -char* var37 /* : NativeString */; -char* var39 /* : NativeString */; -long var40 /* : Int */; +char* var38 /* : NativeString */; +long var39 /* : Int */; +long var41 /* : Int */; long var42 /* : Int */; -long var43 /* : Int */; -long var45 /* : Int */; -short int var47 /* : Bool */; -int cltype48; -int idtype49; -char* var50 /* : NativeString */; +long var44 /* : Int */; +short int var46 /* : Bool */; +int cltype47; +int idtype48; +char* var49 /* : NativeString */; +char* var51 /* : NativeString */; char* var52 /* : NativeString */; -char* var53 /* : NativeString */; -char* var55 /* : NativeString */; -long var56 /* : Int */; +char* var54 /* : NativeString */; +long var55 /* : Int */; long var57 /* : Int */; long var59 /* : Int */; long var61 /* : Int */; -long var63 /* : Int */; long var_curr_pos /* var curr_pos: Int */; -long var64 /* : Int */; long var_i /* var i: Int */; -long var65 /* : Int */; +long var62 /* : Int */; long var_ /* var : Int */; -short int var66 /* : Bool */; -short int var68 /* : Bool */; -int cltype69; -int idtype70; -const char* var_class_name71; -short int var72 /* : Bool */; -val* var73 /* : SequenceRead[Char] */; -val* var74 /* : nullable Object */; -char var75 /* : Char */; -char var_c /* var c: Char */; -char* var76 /* : NativeString */; -char* var78 /* : NativeString */; -long var80 /* : Int */; -long var81 /* : Int */; -short int var83 /* : Bool */; -int cltype84; -int idtype85; -const char* var_class_name86; -long var87 /* : Int */; +short int var63 /* : Bool */; +short int var65 /* : Bool */; +int cltype66; +int idtype67; +const char* var_class_name68; +short int var69 /* : Bool */; +val* var70 /* : SequenceRead[Char] */; +val* var71 /* : nullable Object */; +uint32_t var72 /* : Char */; +uint32_t var_c /* var c: Char */; +char* var73 /* : NativeString */; +char* var75 /* : NativeString */; +long var77 /* : Int */; +short int var79 /* : Bool */; +int cltype80; +int idtype81; +const char* var_class_name82; +long var83 /* : Int */; +long var84 /* : Int */; +val* var_85 /* var : FlatBuffer */; +long var86 /* : Int */; long var88 /* : Int */; long var89 /* : Int */; -val* var_90 /* var : FlatBuffer */; -long var91 /* : Int */; -long var93 /* : Int */; -long var94 /* : Int */; -short int var96 /* : Bool */; -int cltype97; -int idtype98; -const char* var_class_name99; -long var100 /* : Int */; +short int var91 /* : Bool */; +int cltype92; +int idtype93; +const char* var_class_name94; +long var95 /* : Int */; var_s = p0; { var = standard___standard__Text___is_empty(var_s); @@ -8152,255 +8147,250 @@ if (var){ goto RET_LABEL; } else { } -var1 = 1; { -{ /* Inline string#Buffer#is_dirty= (self,var1) on */ -self->attrs[COLOR_standard__string__Buffer___is_dirty].s = var1; /* _is_dirty on */ -RET_LABEL2:(void)0; +{ /* Inline string#Buffer#is_dirty= (self,1) on */ +self->attrs[COLOR_standard__string__Buffer___is_dirty].s = 1; /* _is_dirty on */ +RET_LABEL1:(void)0; } } { -var3 = ((long (*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s) /* length on */; +var2 = ((long(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s); /* length on */ } -var_sl = var3; +var_sl = var2; { { /* Inline string#FlatBuffer#capacity (self) on */ -var6 = self->attrs[COLOR_standard__string__FlatBuffer___capacity].l; /* _capacity on */ -var4 = var6; -RET_LABEL5:(void)0; +var5 = self->attrs[COLOR_standard__string__FlatBuffer___capacity].l; /* _capacity on */ +var3 = var5; +RET_LABEL4:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var9 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var7 = var9; -RET_LABEL8:(void)0; +var8 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var6 = var8; +RET_LABEL7:(void)0; } } { -{ /* Inline kernel#Int#+ (var7,var_sl) on */ +{ /* Inline kernel#Int#+ (var6,var_sl) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var12 = 1; /* easy isa OTHER*/ -if (unlikely(!var12)) { +var11 = 1; /* easy isa OTHER*/ +if (unlikely(!var11)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var13 = var7 + var_sl; -var10 = var13; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var12 = var6 + var_sl; +var9 = var12; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } { -{ /* Inline kernel#Int#< (var4,var10) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var16 = 1; /* easy isa OTHER*/ -if (unlikely(!var16)) { -var_class_name19 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline kernel#Int#< (var3,var9) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var15 = 1; /* easy isa OTHER*/ +if (unlikely(!var15)) { +var_class_name18 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var20 = var4 < var10; -var14 = var20; -goto RET_LABEL15; -RET_LABEL15:(void)0; +var19 = var3 < var9; +var13 = var19; +goto RET_LABEL14; +RET_LABEL14:(void)0; } } -if (var14){ +if (var13){ { { /* Inline string#FlatText#length (self) on */ -var23 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var21 = var23; -RET_LABEL22:(void)0; +var22 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var20 = var22; +RET_LABEL21:(void)0; } } { -{ /* Inline kernel#Int#+ (var21,var_sl) on */ +{ /* Inline kernel#Int#+ (var20,var_sl) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var26 = 1; /* easy isa OTHER*/ -if (unlikely(!var26)) { -var_class_name29 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +var25 = 1; /* easy isa OTHER*/ +if (unlikely(!var25)) { +var_class_name28 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var30 = var21 + var_sl; -var24 = var30; -goto RET_LABEL25; -RET_LABEL25:(void)0; +var29 = var20 + var_sl; +var23 = var29; +goto RET_LABEL24; +RET_LABEL24:(void)0; } } { -standard___standard__FlatBuffer___Buffer__enlarge(self, var24); /* Direct call string#FlatBuffer#enlarge on */ +standard___standard__FlatBuffer___Buffer__enlarge(self, var23); /* Direct call string#FlatBuffer#enlarge on */ } } else { } /* isa FlatString */ -cltype32 = type_standard__FlatString.color; -idtype33 = type_standard__FlatString.id; -if(cltype32 >= var_s->type->table_size) { -var31 = 0; +cltype31 = type_standard__FlatString.color; +idtype32 = type_standard__FlatString.id; +if(cltype31 >= var_s->type->table_size) { +var30 = 0; } else { -var31 = var_s->type->type_table[cltype32] == idtype33; +var30 = var_s->type->type_table[cltype31] == idtype32; } -if (var31){ +if (var30){ { { /* Inline string#FlatText#items (var_s) on */ -var36 = var_s->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var34 = var36; -RET_LABEL35:(void)0; +var35 = var_s->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var33 = var35; +RET_LABEL34:(void)0; } } { { /* Inline string#FlatText#items (self) on */ -var39 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var37 = var39; -RET_LABEL38:(void)0; +var38 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var36 = var38; +RET_LABEL37:(void)0; } } { { /* Inline string#FlatString#index_from (var_s) on */ -var42 = var_s->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ -var40 = var42; -RET_LABEL41:(void)0; +var41 = var_s->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on */ +var39 = var41; +RET_LABEL40:(void)0; } } { { /* Inline string#FlatText#length (self) on */ -var45 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var43 = var45; -RET_LABEL44:(void)0; +var44 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var42 = var44; +RET_LABEL43:(void)0; } } { -{ /* Inline string#NativeString#copy_to (var34,var37,var_sl,var40,var43) on */ -memmove(var37+var43,var34+var40,var_sl); -RET_LABEL46:(void)0; +{ /* Inline string#NativeString#copy_to (var33,var36,var_sl,var39,var42) on */ +memmove(var36+var42,var33+var39,var_sl); +RET_LABEL45:(void)0; } } } else { /* isa FlatBuffer */ -cltype48 = type_standard__FlatBuffer.color; -idtype49 = type_standard__FlatBuffer.id; -if(cltype48 >= var_s->type->table_size) { -var47 = 0; +cltype47 = type_standard__FlatBuffer.color; +idtype48 = type_standard__FlatBuffer.id; +if(cltype47 >= var_s->type->table_size) { +var46 = 0; } else { -var47 = var_s->type->type_table[cltype48] == idtype49; +var46 = var_s->type->type_table[cltype47] == idtype48; } -if (var47){ +if (var46){ { { /* Inline string#FlatText#items (var_s) on */ -var52 = var_s->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var50 = var52; -RET_LABEL51:(void)0; +var51 = var_s->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var49 = var51; +RET_LABEL50:(void)0; } } { { /* Inline string#FlatText#items (self) on */ -var55 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var53 = var55; -RET_LABEL54:(void)0; +var54 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var52 = var54; +RET_LABEL53:(void)0; } } -var56 = 0; { { /* Inline string#FlatText#length (self) on */ -var59 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var57 = var59; -RET_LABEL58:(void)0; +var57 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var55 = var57; +RET_LABEL56:(void)0; } } { -{ /* Inline string#NativeString#copy_to (var50,var53,var_sl,var56,var57) on */ -memmove(var53+var57,var50+var56,var_sl); -RET_LABEL60:(void)0; +{ /* Inline string#NativeString#copy_to (var49,var52,var_sl,0l,var55) on */ +memmove(var52+var55,var49+0l,var_sl); +RET_LABEL58:(void)0; } } } else { { { /* Inline string#FlatText#length (self) on */ -var63 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var61 = var63; -RET_LABEL62:(void)0; +var61 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var59 = var61; +RET_LABEL60:(void)0; } } -var_curr_pos = var61; -var64 = 0; -var_i = var64; +var_curr_pos = var59; +var_i = 0l; { -var65 = ((long (*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s) /* length on */; +var62 = ((long(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s); /* length on */ } -var_ = var65; +var_ = var62; for(;;) { { { /* Inline kernel#Int#< (var_i,var_) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var68 = 1; /* easy isa OTHER*/ -if (unlikely(!var68)) { -var_class_name71 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name71); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var72 = var_i < var_; -var66 = var72; -goto RET_LABEL67; -RET_LABEL67:(void)0; +var65 = 1; /* easy isa OTHER*/ +if (unlikely(!var65)) { +var_class_name68 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var69 = var_i < var_; +var63 = var69; +goto RET_LABEL64; +RET_LABEL64:(void)0; } } -if (var66){ +if (var63){ { -var73 = ((val* (*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__chars]))(var_s) /* chars on */; +var70 = ((val*(*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__chars]))(var_s); /* chars on */ } { -var74 = ((val* (*)(val* self, long p0))(var73->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var73, var_i) /* [] on */; +var71 = ((val*(*)(val* self, long p0))((((long)var70&3)?class_info[((long)var70&3)]:var70->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var70, var_i); /* [] on */ } -var75 = ((struct instance_standard__Char*)var74)->value; /* autounbox from nullable Object to Char */; -var_c = var75; +var72 = (uint32_t)((long)(var71)>>2); +var_c = var72; { { /* Inline string#FlatText#items (self) on */ -var78 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var76 = var78; -RET_LABEL77:(void)0; +var75 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var73 = var75; +RET_LABEL74:(void)0; } } { -{ /* Inline string#NativeString#[]= (var76,var_curr_pos,var_c) on */ -var76[var_curr_pos]=var_c; -RET_LABEL79:(void)0; +{ /* Inline string#NativeString#[]= (var73,var_curr_pos,var_c) on */ +var73[var_curr_pos]=(unsigned char)var_c; +RET_LABEL76:(void)0; } } -var80 = 1; { -{ /* Inline kernel#Int#+ (var_curr_pos,var80) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var83 = 1; /* easy isa OTHER*/ -if (unlikely(!var83)) { -var_class_name86 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_curr_pos,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var79 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var79)) { +var_class_name82 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var87 = var_curr_pos + var80; -var81 = var87; -goto RET_LABEL82; -RET_LABEL82:(void)0; +var83 = var_curr_pos + 1l; +var77 = var83; +goto RET_LABEL78; +RET_LABEL78:(void)0; } } -var_curr_pos = var81; -var88 = 1; +var_curr_pos = var77; { -var89 = standard___standard__Int___Discrete__successor(var_i, var88); +var84 = standard___standard__Int___Discrete__successor(var_i, 1l); } -var_i = var89; +var_i = var84; } else { goto BREAK_label; } @@ -8408,35 +8398,35 @@ goto BREAK_label; BREAK_label: (void)0; } } -var_90 = self; +var_85 = self; { -{ /* Inline string#FlatText#length (var_90) on */ -var93 = var_90->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var91 = var93; -RET_LABEL92:(void)0; +{ /* Inline string#FlatText#length (var_85) on */ +var88 = var_85->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var86 = var88; +RET_LABEL87:(void)0; } } { -{ /* Inline kernel#Int#+ (var91,var_sl) on */ +{ /* Inline kernel#Int#+ (var86,var_sl) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var96 = 1; /* easy isa OTHER*/ -if (unlikely(!var96)) { -var_class_name99 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name99); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var100 = var91 + var_sl; -var94 = var100; -goto RET_LABEL95; -RET_LABEL95:(void)0; +var91 = 1; /* easy isa OTHER*/ +if (unlikely(!var91)) { +var_class_name94 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name94); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var95 = var86 + var_sl; +var89 = var95; +goto RET_LABEL90; +RET_LABEL90:(void)0; } } { -{ /* Inline string#FlatText#length= (var_90,var94) on */ -var_90->attrs[COLOR_standard__string__FlatText___length].l = var94; /* _length on */ -RET_LABEL101:(void)0; +{ /* Inline string#FlatText#length= (var_85,var89) on */ +var_85->attrs[COLOR_standard__string__FlatText___length].l = var89; /* _length on */ +RET_LABEL96:(void)0; } } RET_LABEL:; @@ -8446,323 +8436,250 @@ val* standard___standard__FlatBuffer___Text__substring(val* self, long p0, long val* var /* : Buffer */; long var_from /* var from: Int */; long var_count /* var count: Int */; -long var1 /* : Int */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var5 /* : Bool */; -long var6 /* : Int */; -short int var8 /* : Bool */; -int cltype9; -int idtype10; -const char* var_class_name11; -long var12 /* : Int */; -long var13 /* : Int */; +short int var4 /* : Bool */; +long var5 /* : Int */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +const char* var_class_name10; +long var11 /* : Int */; +short int var12 /* : Bool */; short int var14 /* : Bool */; -short int var16 /* : Bool */; -int cltype17; -int idtype18; -const char* var_class_name19; -short int var20 /* : Bool */; +int cltype15; +int idtype16; +const char* var_class_name17; +short int var18 /* : Bool */; +long var19 /* : Int */; long var21 /* : Int */; -long var22 /* : Int */; -long var24 /* : Int */; -short int var25 /* : Bool */; -short int var27 /* : Bool */; -int cltype28; -int idtype29; -const char* var_class_name30; -short int var31 /* : Bool */; -long var32 /* : Int */; -long var34 /* : Int */; -short int var35 /* : Bool */; -short int var37 /* : Bool */; -int cltype38; -int idtype39; -const char* var_class_name40; +short int var22 /* : Bool */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +const char* var_class_name27; +short int var28 /* : Bool */; +long var29 /* : Int */; +long var31 /* : Int */; +short int var32 /* : Bool */; +short int var34 /* : Bool */; +int cltype35; +int idtype36; +const char* var_class_name37; +short int var38 /* : Bool */; +long var39 /* : Int */; short int var41 /* : Bool */; -val* var42 /* : FlatBuffer */; -long var43 /* : Int */; -short int var45 /* : Bool */; -int cltype46; -int idtype47; -const char* var_class_name48; -long var49 /* : Int */; +int cltype42; +int idtype43; +const char* var_class_name44; +long var45 /* : Int */; +long var_len /* var len: Int */; +char* var46 /* : NativeString */; +char* var47 /* : NativeString */; +char* var49 /* : NativeString */; +char* var_r_items /* var r_items: NativeString */; +char* var50 /* : NativeString */; +char* var52 /* : NativeString */; +val* var54 /* : FlatBuffer */; val* var_r /* var r: FlatBuffer */; -short int var50 /* : Bool */; -short int var52 /* : Bool */; -int cltype53; -int idtype54; -const char* var_class_name55; -short int var56 /* : Bool */; -val* var57 /* : Sequence[Char] */; -val* var59 /* : Sequence[Char] */; -char* var60 /* : NativeString */; -char* var62 /* : NativeString */; -char var63 /* : Char */; -char var65 /* : Char */; -val* var66 /* : nullable Object */; -long var67 /* : Int */; -long var68 /* : Int */; -short int var70 /* : Bool */; -int cltype71; -int idtype72; -const char* var_class_name73; -long var74 /* : Int */; -val* var75 /* : FlatBuffer */; +val* var55 /* : Buffer */; +val* var56 /* : Buffer */; var_from = p0; var_count = p1; -var1 = 0; { -{ /* Inline kernel#Int#>= (var_count,var1) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var4 = 1; /* easy isa OTHER*/ -if (unlikely(!var4)) { +{ /* Inline kernel#Int#>= (var_count,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var3 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var3)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var5 = var_count >= var1; -var2 = var5; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var4 = var_count >= 0l; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -if (unlikely(!var2)) { +if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1676); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1838); +fatal_exit(1); } { { /* Inline kernel#Int#+ (var_count,var_from) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var8 = 1; /* easy isa OTHER*/ -if (unlikely(!var8)) { -var_class_name11 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +var7 = 1; /* easy isa OTHER*/ +if (unlikely(!var7)) { +var_class_name10 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var12 = var_count + var_from; -var6 = var12; -goto RET_LABEL7; -RET_LABEL7:(void)0; +var11 = var_count + var_from; +var5 = var11; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } -var_count = var6; -var13 = 0; +var_count = var5; { -{ /* Inline kernel#Int#< (var_from,var13) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var16 = 1; /* easy isa OTHER*/ -if (unlikely(!var16)) { -var_class_name19 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline kernel#Int#< (var_from,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var14 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var14)) { +var_class_name17 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var20 = var_from < var13; -var14 = var20; -goto RET_LABEL15; -RET_LABEL15:(void)0; +var18 = var_from < 0l; +var12 = var18; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -if (var14){ -var21 = 0; -var_from = var21; +if (var12){ +var_from = 0l; } else { } { { /* Inline string#FlatText#length (self) on */ -var24 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var22 = var24; -RET_LABEL23:(void)0; +var21 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var19 = var21; +RET_LABEL20:(void)0; } } { -{ /* Inline kernel#Int#> (var_count,var22) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var27 = 1; /* easy isa OTHER*/ -if (unlikely(!var27)) { -var_class_name30 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +{ /* Inline kernel#Int#> (var_count,var19) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var24 = 1; /* easy isa OTHER*/ +if (unlikely(!var24)) { +var_class_name27 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var31 = var_count > var22; -var25 = var31; -goto RET_LABEL26; -RET_LABEL26:(void)0; +var28 = var_count > var19; +var22 = var28; +goto RET_LABEL23; +RET_LABEL23:(void)0; } } -if (var25){ +if (var22){ { { /* Inline string#FlatText#length (self) on */ -var34 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ -var32 = var34; -RET_LABEL33:(void)0; +var31 = self->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var29 = var31; +RET_LABEL30:(void)0; } } -var_count = var32; +var_count = var29; } else { } { { /* Inline kernel#Int#< (var_from,var_count) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var37 = 1; /* easy isa OTHER*/ -if (unlikely(!var37)) { -var_class_name40 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +var34 = 1; /* easy isa OTHER*/ +if (unlikely(!var34)) { +var_class_name37 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var41 = var_from < var_count; -var35 = var41; -goto RET_LABEL36; -RET_LABEL36:(void)0; +var38 = var_from < var_count; +var32 = var38; +goto RET_LABEL33; +RET_LABEL33:(void)0; } } -if (var35){ -var42 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); +if (var32){ { { /* Inline kernel#Int#- (var_count,var_from) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var45 = 1; /* easy isa OTHER*/ -if (unlikely(!var45)) { -var_class_name48 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); -} -var49 = var_count - var_from; -var43 = var49; -goto RET_LABEL44; -RET_LABEL44:(void)0; -} -} -{ -standard___standard__FlatBuffer___with_capacity(var42, var43); /* Direct call string#FlatBuffer#with_capacity on */ -} -var_r = var42; -for(;;) { -{ -{ /* Inline kernel#Int#< (var_from,var_count) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var52 = 1; /* easy isa OTHER*/ -if (unlikely(!var52)) { -var_class_name55 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +var41 = 1; /* easy isa OTHER*/ +if (unlikely(!var41)) { +var_class_name44 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var56 = var_from < var_count; -var50 = var56; -goto RET_LABEL51; -RET_LABEL51:(void)0; +var45 = var_count - var_from; +var39 = var45; +goto RET_LABEL40; +RET_LABEL40:(void)0; } } -if (var50){ +var_len = var39; +var46 = NULL/*special!*/; { -{ /* Inline string#FlatBuffer#chars (var_r) on */ -var59 = var_r->attrs[COLOR_standard__string__FlatBuffer___chars].val; /* _chars on */ -if (unlikely(var59 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1525); -show_backtrace(1); -} -var57 = var59; -RET_LABEL58:(void)0; +{ /* Inline string#NativeString#new (var46,var_len) on */ +var49 = (char*)nit_alloc(var_len); +var47 = var49; +goto RET_LABEL48; +RET_LABEL48:(void)0; } } +var_r_items = var47; { { /* Inline string#FlatText#items (self) on */ -var62 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var60 = var62; -RET_LABEL61:(void)0; +var52 = self->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var50 = var52; +RET_LABEL51:(void)0; } } { -{ /* Inline string#NativeString#[] (var60,var_from) on */ -var65 = var60[var_from]; -var63 = var65; -goto RET_LABEL64; -RET_LABEL64:(void)0; -} +{ /* Inline string#NativeString#copy_to (var50,var_r_items,var_len,var_from,0l) on */ +memmove(var_r_items+0l,var50+var_from,var_len); +RET_LABEL53:(void)0; } -{ -var66 = BOX_standard__Char(var63); /* autobox from Char to nullable Object */ -((void (*)(val* self, val* p0))(var57->class->vft[COLOR_standard__abstract_collection__Sequence__push]))(var57, var66) /* push on */; } -var67 = 1; +var54 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); { -{ /* Inline kernel#Int#+ (var_from,var67) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var70 = 1; /* easy isa OTHER*/ -if (unlikely(!var70)) { -var_class_name73 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var74 = var_from + var67; -var68 = var74; -goto RET_LABEL69; -RET_LABEL69:(void)0; -} -} -var_from = var68; -} else { -goto BREAK_label; +standard___standard__FlatBuffer___with_infos(var54, var_r_items, var_len, var_len); /* Direct call string#FlatBuffer#with_infos on */ } -} -BREAK_label: (void)0; +var_r = var54; var = var_r; goto RET_LABEL; } else { -var75 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); +var55 = NEW_standard__Buffer(&type_standard__Buffer); { -{ /* Inline string#FlatBuffer#init (var75) on */ -{ -((void (*)(val* self))(var75->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var75) /* init on */; -} -RET_LABEL76:(void)0; -} +var56 = standard___standard__Buffer___new(var55); } -var = var75; +var = var56; goto RET_LABEL; } RET_LABEL:; return var; } /* method string#FlatBufferCharView#[] for (self: FlatBufferCharView, Int): Char */ -char standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__SequenceRead___91d_93d(val* self, long p0) { -char var /* : Char */; +uint32_t standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__SequenceRead___91d_93d(val* self, long p0) { +uint32_t var /* : Char */; long var_index /* var index: Int */; val* var1 /* : Text */; val* var3 /* : Text */; char* var4 /* : NativeString */; char* var6 /* : NativeString */; -char var7 /* : Char */; -char var9 /* : Char */; +uint32_t var7 /* : Char */; +uint32_t var9 /* : Char */; var_index = p0; { { /* Inline string#StringCharView#target (self) on */ var3 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -8777,7 +8694,7 @@ RET_LABEL5:(void)0; } { { /* Inline string#NativeString#[] (var4,var_index) on */ -var9 = var4[var_index]; +var9 = (uint32_t)(unsigned char)var4[var_index]; var7 = var9; goto RET_LABEL8; RET_LABEL8:(void)0; @@ -8791,117 +8708,115 @@ return var; /* method string#FlatBufferCharView#[] for (self: SequenceRead[nullable Object], Int): nullable Object */ val* VIRTUAL_standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__SequenceRead___91d_93d(val* self, long p0) { val* var /* : nullable Object */; -char var1 /* : Char */; +uint32_t var1 /* : Char */; val* var2 /* : nullable Object */; var1 = standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__SequenceRead___91d_93d(self, p0); -var2 = BOX_standard__Char(var1); /* autobox from Char to nullable Object */ +var2 = (val*)((long)(var1)<<2|2); var = var2; RET_LABEL:; return var; } /* method string#FlatBufferCharView#[]= for (self: FlatBufferCharView, Int, Char) */ -void standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__Sequence___91d_93d_61d(val* self, long p0, char p1) { +void standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__Sequence___91d_93d_61d(val* self, long p0, uint32_t p1) { short int var /* : Bool */; int cltype; int idtype; const char* var_class_name; long var_index /* var index: Int */; -char var_item /* var item: Char */; +uint32_t var_item /* var item: Char */; short int var1 /* : Bool */; -long var2 /* : Int */; -short int var3 /* : Bool */; -short int var5 /* : Bool */; -int cltype6; -int idtype7; -const char* var_class_name8; -short int var9 /* : Bool */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +const char* var_class_name7; +short int var8 /* : Bool */; short int var_ /* var : Bool */; -long var10 /* : Int */; -short int var11 /* : Bool */; -short int var13 /* : Bool */; -int cltype14; -int idtype15; -const char* var_class_name16; -short int var17 /* : Bool */; -long var18 /* : Int */; -short int var19 /* : Bool */; -short int var21 /* : Bool */; -val* var22 /* : Text */; -val* var24 /* : Text */; -char* var25 /* : NativeString */; -char* var27 /* : NativeString */; +long var9 /* : Int */; +short int var10 /* : Bool */; +short int var12 /* : Bool */; +int cltype13; +int idtype14; +const char* var_class_name15; +short int var16 /* : Bool */; +long var17 /* : Int */; +short int var18 /* : Bool */; +short int var20 /* : Bool */; +val* var21 /* : Text */; +val* var23 /* : Text */; +char* var24 /* : NativeString */; +char* var26 /* : NativeString */; /* Covariant cast for argument 1 (item) isa Char */ /* isa Char */ var = 1; /* easy isa Char*/ if (unlikely(!var)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Char", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1771); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1932); +fatal_exit(1); } var_index = p0; var_item = p1; -var2 = 0; { -{ /* Inline kernel#Int#>= (var_index,var2) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var5 = 1; /* easy isa OTHER*/ -if (unlikely(!var5)) { -var_class_name8 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +{ /* Inline kernel#Int#>= (var_index,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var4 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var4)) { +var_class_name7 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var9 = var_index >= var2; -var3 = var9; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var8 = var_index >= 0l; +var2 = var8; +goto RET_LABEL3; +RET_LABEL3:(void)0; } } -var_ = var3; -if (var3){ +var_ = var2; +if (var2){ { -var10 = standard__string___standard__string__StringCharView___standard__abstract_collection__Collection__length(self); +var9 = standard__string___standard__string__StringCharView___standard__abstract_collection__Collection__length(self); } { -{ /* Inline kernel#Int#<= (var_index,var10) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var13 = 1; /* easy isa OTHER*/ -if (unlikely(!var13)) { -var_class_name16 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +{ /* Inline kernel#Int#<= (var_index,var9) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var12 = 1; /* easy isa OTHER*/ +if (unlikely(!var12)) { +var_class_name15 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); } -var17 = var_index <= var10; -var11 = var17; -goto RET_LABEL12; -RET_LABEL12:(void)0; +var16 = var_index <= var9; +var10 = var16; +goto RET_LABEL11; +RET_LABEL11:(void)0; } } -var1 = var11; +var1 = var10; } else { var1 = var_; } if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1773); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1934); +fatal_exit(1); } { -var18 = standard__string___standard__string__StringCharView___standard__abstract_collection__Collection__length(self); +var17 = standard__string___standard__string__StringCharView___standard__abstract_collection__Collection__length(self); } { -{ /* Inline kernel#Int#== (var_index,var18) on */ -var21 = var_index == var18; -var19 = var21; -goto RET_LABEL20; -RET_LABEL20:(void)0; +{ /* Inline kernel#Int#== (var_index,var17) on */ +var20 = var_index == var17; +var18 = var20; +goto RET_LABEL19; +RET_LABEL19:(void)0; } } -if (var19){ +if (var18){ { standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__SimpleCollection__add(self, var_item); /* Direct call string#FlatBufferCharView#add on */ } @@ -8910,45 +8825,45 @@ goto RET_LABEL; } { { /* Inline string#StringCharView#target (self) on */ -var24 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ -if (unlikely(var24 == NULL)) { +var23 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ +if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } -var22 = var24; -RET_LABEL23:(void)0; +var21 = var23; +RET_LABEL22:(void)0; } } { -{ /* Inline string#FlatText#items (var22) on */ -var27 = var22->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var25 = var27; -RET_LABEL26:(void)0; +{ /* Inline string#FlatText#items (var21) on */ +var26 = var21->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var24 = var26; +RET_LABEL25:(void)0; } } { -{ /* Inline string#NativeString#[]= (var25,var_index,var_item) on */ -var25[var_index]=var_item; -RET_LABEL28:(void)0; +{ /* Inline string#NativeString#[]= (var24,var_index,var_item) on */ +var24[var_index]=(unsigned char)var_item; +RET_LABEL27:(void)0; } } RET_LABEL:; } /* method string#FlatBufferCharView#[]= for (self: Sequence[nullable Object], Int, nullable Object) */ void VIRTUAL_standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__Sequence___91d_93d_61d(val* self, long p0, val* p1) { -char var /* : Char */; -var = ((struct instance_standard__Char*)p1)->value; /* autounbox from nullable Object to Char */; +uint32_t var /* : Char */; +var = (uint32_t)((long)(p1)>>2); standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__Sequence___91d_93d_61d(self, p0, var); /* Direct call string#FlatBufferCharView#[]= on */ RET_LABEL:; } /* method string#FlatBufferCharView#push for (self: FlatBufferCharView, Char) */ -void standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__Sequence__push(val* self, char p0) { +void standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__Sequence__push(val* self, uint32_t p0) { short int var /* : Bool */; int cltype; int idtype; const char* var_class_name; -char var_c /* var c: Char */; +uint32_t var_c /* var c: Char */; val* var1 /* : Text */; val* var3 /* : Text */; /* Covariant cast for argument 0 (c) isa Char */ @@ -8957,8 +8872,8 @@ var = 1; /* easy isa Char*/ if (unlikely(!var)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Char", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1781); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1942); +fatal_exit(1); } var_c = p0; { @@ -8966,8 +8881,8 @@ var_c = p0; var3 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -8980,18 +8895,18 @@ RET_LABEL:; } /* method string#FlatBufferCharView#push for (self: Sequence[nullable Object], nullable Object) */ void VIRTUAL_standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__Sequence__push(val* self, val* p0) { -char var /* : Char */; -var = ((struct instance_standard__Char*)p0)->value; /* autounbox from nullable Object to Char */; +uint32_t var /* : Char */; +var = (uint32_t)((long)(p0)>>2); standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__Sequence__push(self, var); /* Direct call string#FlatBufferCharView#push on */ RET_LABEL:; } /* method string#FlatBufferCharView#add for (self: FlatBufferCharView, Char) */ -void standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__SimpleCollection__add(val* self, char p0) { +void standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__SimpleCollection__add(val* self, uint32_t p0) { short int var /* : Bool */; int cltype; int idtype; const char* var_class_name; -char var_c /* var c: Char */; +uint32_t var_c /* var c: Char */; val* var1 /* : Text */; val* var3 /* : Text */; /* Covariant cast for argument 0 (c) isa Char */ @@ -9000,8 +8915,8 @@ var = 1; /* easy isa Char*/ if (unlikely(!var)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Char", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1786); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1947); +fatal_exit(1); } var_c = p0; { @@ -9009,8 +8924,8 @@ var_c = p0; var3 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; @@ -9023,8 +8938,8 @@ RET_LABEL:; } /* method string#FlatBufferCharView#add for (self: SimpleCollection[nullable Object], nullable Object) */ void VIRTUAL_standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__SimpleCollection__add(val* self, val* p0) { -char var /* : Char */; -var = ((struct instance_standard__Char*)p0)->value; /* autounbox from nullable Object to Char */; +uint32_t var /* : Char */; +var = (uint32_t)((long)(p0)>>2); standard__string___standard__string__FlatBufferCharView___standard__abstract_collection__SimpleCollection__add(self, var); /* Direct call string#FlatBufferCharView#add on */ RET_LABEL:; } @@ -9039,8 +8954,8 @@ var_cap = p0; var2 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; @@ -9085,14 +9000,14 @@ long var28 /* : Int */; /* isa Collection[Char] */ var = 1; /* easy isa Collection[Char]*/ if (unlikely(!var)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +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`", "Collection[Char]", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1796); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1957); +fatal_exit(1); } var_s = p0; { -var1 = ((long (*)(val* self))(var_s->class->vft[COLOR_standard__abstract_collection__Collection__length]))(var_s) /* length on */; +var1 = ((long(*)(val* self))((((long)var_s&3)?class_info[((long)var_s&3)]:var_s->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(var_s); /* length on */ } var_s_length = var1; { @@ -9100,8 +9015,8 @@ var_s_length = var1; var4 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -9115,7 +9030,7 @@ RET_LABEL6:(void)0; } } { -var8 = ((long (*)(val* self))(var_s->class->vft[COLOR_standard__abstract_collection__Collection__length]))(var_s) /* length on */; +var8 = ((long(*)(val* self))((((long)var_s&3)?class_info[((long)var_s&3)]:var_s->class)->vft[COLOR_standard__abstract_collection__Collection__length]))(var_s); /* length on */ } { { /* Inline kernel#Int#< (var5,var8) on */ @@ -9125,8 +9040,8 @@ var11 = 1; /* easy isa OTHER*/ if (unlikely(!var11)) { var_class_name14 = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } var15 = var5 < var8; var9 = var15; @@ -9140,8 +9055,8 @@ if (var9){ var18 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } var16 = var18; RET_LABEL17:(void)0; @@ -9162,8 +9077,8 @@ var24 = 1; /* easy isa OTHER*/ if (unlikely(!var24)) { var_class_name27 = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } var28 = var_s_length + var19; var22 = var28; @@ -9192,8 +9107,8 @@ var1 = NEW_standard__string__FlatBufferIterator(&type_standard__string__FlatBuff var4 = self->attrs[COLOR_standard__string__StringCharView___target].val; /* _target on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 851); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 968); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; @@ -9214,8 +9129,8 @@ val* var1 /* : FlatBuffer */; var1 = self->attrs[COLOR_standard__string__FlatBufferIterator___target].val; /* _target on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1811); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1972); +fatal_exit(1); } var = var1; RET_LABEL:; @@ -9260,15 +9175,14 @@ val* var_tgt /* var tgt: FlatBuffer */; long var_pos /* var pos: Int */; long var /* : Int */; long var3 /* : Int */; -long var4 /* : Int */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; +short int var4 /* : Bool */; +short int var6 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var8 /* : Bool */; -char* var9 /* : NativeString */; -char* var11 /* : NativeString */; +short int var7 /* : Bool */; +char* var8 /* : NativeString */; +char* var10 /* : NativeString */; var_tgt = p0; var_pos = p1; { @@ -9284,36 +9198,35 @@ var = var3; RET_LABEL2:(void)0; } } -var4 = 0; { -{ /* Inline kernel#Int#> (var,var4) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var7 = 1; /* easy isa OTHER*/ -if (unlikely(!var7)) { +{ /* Inline kernel#Int#> (var,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var6 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var6)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var8 = var > var4; -var5 = var8; -goto RET_LABEL6; -RET_LABEL6:(void)0; +var7 = var > 0l; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } -if (var5){ +if (var4){ { { /* Inline string#FlatText#items (var_tgt) on */ -var11 = var_tgt->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ -var9 = var11; -RET_LABEL10:(void)0; +var10 = var_tgt->attrs[COLOR_standard__string__FlatText___items].str; /* _items on */ +var8 = var10; +RET_LABEL9:(void)0; } } { -{ /* Inline string#FlatBufferIterator#target_items= (self,var9) on */ -self->attrs[COLOR_standard__string__FlatBufferIterator___target_items].str = var9; /* _target_items on */ -RET_LABEL12:(void)0; +{ /* Inline string#FlatBufferIterator#target_items= (self,var8) on */ +self->attrs[COLOR_standard__string__FlatBufferIterator___target_items].str = var8; /* _target_items on */ +RET_LABEL11:(void)0; } } } else { @@ -9321,7 +9234,7 @@ RET_LABEL12:(void)0; { { /* Inline string#FlatBufferIterator#curr_pos= (self,var_pos) on */ self->attrs[COLOR_standard__string__FlatBufferIterator___curr_pos].l = var_pos; /* _curr_pos on */ -RET_LABEL13:(void)0; +RET_LABEL12:(void)0; } } RET_LABEL:; @@ -9370,8 +9283,8 @@ RET_LABEL2:(void)0; var6 = self->attrs[COLOR_standard__string__FlatBufferIterator___target].val; /* _target on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1811); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1972); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; @@ -9392,8 +9305,8 @@ var12 = 1; /* easy isa OTHER*/ if (unlikely(!var12)) { var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } var13 = var1 < var7; var10 = var13; @@ -9407,14 +9320,14 @@ RET_LABEL:; return var; } /* method string#FlatBufferIterator#item for (self: FlatBufferIterator): Char */ -char standard__string___standard__string__FlatBufferIterator___standard__abstract_collection__Iterator__item(val* self) { -char var /* : Char */; +uint32_t standard__string___standard__string__FlatBufferIterator___standard__abstract_collection__Iterator__item(val* self) { +uint32_t var /* : Char */; char* var1 /* : NativeString */; char* var3 /* : NativeString */; long var4 /* : Int */; long var6 /* : Int */; -char var7 /* : Char */; -char var9 /* : Char */; +uint32_t var7 /* : Char */; +uint32_t var9 /* : Char */; { { /* Inline string#FlatBufferIterator#target_items (self) on */ var3 = self->attrs[COLOR_standard__string__FlatBufferIterator___target_items].str; /* _target_items on */ @@ -9431,7 +9344,7 @@ RET_LABEL5:(void)0; } { { /* Inline string#NativeString#[] (var1,var4) on */ -var9 = var1[var4]; +var9 = (uint32_t)(unsigned char)var1[var4]; var7 = var9; goto RET_LABEL8; RET_LABEL8:(void)0; @@ -9445,10 +9358,10 @@ return var; /* method string#FlatBufferIterator#item for (self: Iterator[nullable Object]): nullable Object */ val* VIRTUAL_standard__string___standard__string__FlatBufferIterator___standard__abstract_collection__Iterator__item(val* self) { val* var /* : nullable Object */; -char var1 /* : Char */; +uint32_t var1 /* : Char */; val* var2 /* : nullable Object */; var1 = standard__string___standard__string__FlatBufferIterator___standard__abstract_collection__Iterator__item(self); -var2 = BOX_standard__Char(var1); /* autobox from Char to nullable Object */ +var2 = (val*)((long)(var1)<<2|2); var = var2; RET_LABEL:; return var; @@ -9459,12 +9372,11 @@ val* var_ /* var : FlatBufferIterator */; long var /* : Int */; long var2 /* : Int */; long var3 /* : Int */; -long var4 /* : Int */; -short int var6 /* : Bool */; +short int var5 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var7 /* : Int */; +long var6 /* : Int */; var_ = self; { { /* Inline string#FlatBufferIterator#curr_pos (var_) on */ @@ -9473,28 +9385,27 @@ var = var2; RET_LABEL1:(void)0; } } -var3 = 1; { -{ /* Inline kernel#Int#+ (var,var3) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var6 = 1; /* easy isa OTHER*/ -if (unlikely(!var6)) { +{ /* Inline kernel#Int#+ (var,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_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var7 = var + var3; -var4 = var7; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var6 = var + 1l; +var3 = var6; +goto RET_LABEL4; +RET_LABEL4:(void)0; } } { -{ /* Inline string#FlatBufferIterator#curr_pos= (var_,var4) on */ -var_->attrs[COLOR_standard__string__FlatBufferIterator___curr_pos].l = var4; /* _curr_pos on */ -RET_LABEL8:(void)0; +{ /* Inline string#FlatBufferIterator#curr_pos= (var_,var3) on */ +var_->attrs[COLOR_standard__string__FlatBufferIterator___curr_pos].l = var3; /* _curr_pos on */ +RET_LABEL7:(void)0; } } RET_LABEL:; @@ -9502,7 +9413,7 @@ RET_LABEL:; /* method string#FlatBufferIterator#init for (self: FlatBufferIterator) */ void standard__string___standard__string__FlatBufferIterator___standard__kernel__Object__init(val* self) { { -((void (*)(val* self))(self->class->vft[COLOR_standard__string___standard__string__FlatBufferIterator___standard__kernel__Object__init]))(self) /* init on */; +((void(*)(val* self))(self->class->vft[COLOR_standard__string___standard__string__FlatBufferIterator___standard__kernel__Object__init]))(self); /* init on */ } RET_LABEL:; } @@ -9511,7 +9422,7 @@ val* standard__string___Object___to_s(val* self) { val* var /* : String */; val* var1 /* : String */; { -var1 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__string__Object__inspect]))(self) /* inspect on */; +var1 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__string__Object__inspect]))(self); /* inspect on */ } var = var1; goto RET_LABEL; @@ -9523,7 +9434,7 @@ char* standard__string___Object___native_class_name(val* self) { char* var /* : NativeString */; const char* var_class_name; char* var1 /* : NativeString */; -var_class_name = self == NULL ? "null" : self->type->name; +var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name; var1 = (char*)var_class_name; var = var1; goto RET_LABEL; @@ -9539,7 +9450,7 @@ char* var3 /* : NativeString */; val* var4 /* : String */; { { /* Inline string#Object#native_class_name (self) on */ -var_class_name = self == NULL ? "null" : self->type->name; +var_class_name = self == NULL ? "null" : (((long)self&3)?type_info[((long)self&3)]:self->type)->name; var3 = (char*)var_class_name; var1 = var3; goto RET_LABEL2; @@ -9557,57 +9468,51 @@ return var; /* method string#Object#inspect for (self: Object): String */ val* standard__string___Object___inspect(val* self) { val* var /* : String */; +val* var1 /* : NativeArray[String] */; static val* varonce; -val* var1 /* : String */; -char* var2 /* : NativeString */; -long var3 /* : Int */; -val* var4 /* : FlatString */; -val* var5 /* : String */; +static val* varonce2; +val* var3 /* : String */; +char* var4 /* : NativeString */; +val* var5 /* : FlatString */; static val* varonce6; val* var7 /* : String */; char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : FlatString */; -val* var11 /* : Array[Object] */; -long var12 /* : Int */; -val* var13 /* : NativeArray[Object] */; -val* var14 /* : String */; -if (varonce) { -var1 = varonce; +val* var9 /* : FlatString */; +val* var10 /* : String */; +val* var11 /* : String */; +if (unlikely(varonce==NULL)) { +var1 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce2!=NULL)) { +var3 = varonce2; } else { -var2 = "<"; -var3 = 1; -var4 = standard___standard__NativeString___to_s_with_length(var2, var3); -var1 = var4; -varonce = var1; -} -{ -var5 = standard__string___Object___inspect_head(self); +var4 = "<"; +var5 = standard___standard__NativeString___to_s_with_length(var4, 1l); +var3 = var5; +varonce2 = var3; } -if (varonce6) { +((struct instance_standard__NativeArray*)var1)->values[0]=var3; +if (likely(varonce6!=NULL)) { var7 = varonce6; } else { var8 = ">"; -var9 = 1; -var10 = standard___standard__NativeString___to_s_with_length(var8, var9); -var7 = var10; +var9 = standard___standard__NativeString___to_s_with_length(var8, 1l); +var7 = var9; varonce6 = var7; } -var11 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var11 = array_instance Array[Object] */ -var12 = 3; -var13 = NEW_standard__NativeArray(var12, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var13)->values[0] = (val*) var1; -((struct instance_standard__NativeArray*)var13)->values[1] = (val*) var5; -((struct instance_standard__NativeArray*)var13)->values[2] = (val*) var7; -{ -((void (*)(val* self, val* p0, long p1))(var11->class->vft[COLOR_standard__array__Array__with_native]))(var11, var13, var12) /* with_native on */; +((struct instance_standard__NativeArray*)var1)->values[2]=var7; +} else { +var1 = varonce; +varonce = NULL; } +{ +var10 = standard__string___Object___inspect_head(self); } +((struct instance_standard__NativeArray*)var1)->values[1]=var10; { -var14 = ((val* (*)(val* self))(var11->class->vft[COLOR_standard__string__Object__to_s]))(var11) /* to_s on */; +var11 = ((val*(*)(val* self))(var1->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var1); /* native_to_s on */ } -var = var14; +varonce = var1; +var = var11; goto RET_LABEL; RET_LABEL:; return var; @@ -9615,73 +9520,47 @@ return var; /* method string#Object#inspect_head for (self: Object): String */ val* standard__string___Object___inspect_head(val* self) { val* var /* : String */; -val* var1 /* : String */; +val* var1 /* : NativeArray[String] */; static val* varonce; -val* var2 /* : String */; -char* var3 /* : NativeString */; -long var4 /* : Int */; +static val* varonce2; +val* var3 /* : String */; +char* var4 /* : NativeString */; val* var5 /* : FlatString */; -long var6 /* : Int */; -val* var7 /* : String */; -val* var8 /* : Array[Object] */; -long var9 /* : Int */; -val* var10 /* : NativeArray[Object] */; -val* var11 /* : String */; -{ -var1 = standard__string___Object___class_name(self); -} -if (varonce) { -var2 = varonce; +val* var6 /* : String */; +long var7 /* : Int */; +val* var8 /* : String */; +val* var9 /* : String */; +if (unlikely(varonce==NULL)) { +var1 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce2!=NULL)) { +var3 = varonce2; } else { -var3 = ":#"; -var4 = 2; -var5 = standard___standard__NativeString___to_s_with_length(var3, var4); -var2 = var5; -varonce = var2; -} -{ -var6 = ((long (*)(val* self))(self->class->vft[COLOR_standard__kernel__Object__object_id]))(self) /* object_id on */; +var4 = ":#"; +var5 = standard___standard__NativeString___to_s_with_length(var4, 2l); +var3 = var5; +varonce2 = var3; } -{ -var7 = standard__string___Int___to_hex(var6); +((struct instance_standard__NativeArray*)var1)->values[1]=var3; +} else { +var1 = varonce; +varonce = NULL; } -var8 = NEW_standard__Array(&type_standard__Array__standard__Object); -{ /* var8 = array_instance Array[Object] */ -var9 = 3; -var10 = NEW_standard__NativeArray(var9, &type_standard__NativeArray__standard__Object); -((struct instance_standard__NativeArray*)var10)->values[0] = (val*) var1; -((struct instance_standard__NativeArray*)var10)->values[1] = (val*) var2; -((struct instance_standard__NativeArray*)var10)->values[2] = (val*) var7; { -((void (*)(val* self, val* p0, long p1))(var8->class->vft[COLOR_standard__array__Array__with_native]))(var8, var10, var9) /* with_native on */; -} +var6 = standard__string___Object___class_name(self); } +((struct instance_standard__NativeArray*)var1)->values[0]=var6; { -var11 = ((val* (*)(val* self))(var8->class->vft[COLOR_standard__string__Object__to_s]))(var8) /* to_s on */; -} -var = var11; -goto RET_LABEL; -RET_LABEL:; -return var; +var7 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Object__object_id]))(self); /* object_id on */ } -/* method string#Object#args for (self: Object): Sequence[String] */ -val* standard__string___Object___args(val* self) { -val* var /* : Sequence[String] */; -val* var1 /* : Sys */; -val* var3 /* : Sys */; -val* var4 /* : Sequence[String] */; { -{ /* Inline kernel#Object#sys (self) on */ -var3 = glob_sys; -var1 = var3; -goto RET_LABEL2; -RET_LABEL2:(void)0; -} +var8 = standard__string___Int___to_hex(var7); } +((struct instance_standard__NativeArray*)var1)->values[2]=var8; { -var4 = standard__string___Sys___program_args(var1); +var9 = ((val*(*)(val* self))(var1->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var1); /* native_to_s on */ } -var = var4; +varonce = var1; +var = var9; goto RET_LABEL; RET_LABEL:; return var; @@ -9695,27 +9574,24 @@ val* var1 /* : String */; static val* varonce2; val* var3 /* : String */; char* var4 /* : NativeString */; -long var5 /* : Int */; -val* var6 /* : FlatString */; -static val* varonce7; -static int varonce7_guard; -val* var8 /* : String */; -static val* varonce9; -val* var10 /* : String */; -char* var11 /* : NativeString */; -long var12 /* : Int */; -val* var13 /* : FlatString */; +val* var5 /* : FlatString */; +static val* varonce6; +static int varonce6_guard; +val* var7 /* : String */; +static val* varonce8; +val* var9 /* : String */; +char* var10 /* : NativeString */; +val* var11 /* : FlatString */; if (self){ -if (varonce_guard) { +if (likely(varonce_guard)) { var1 = varonce; } else { -if (varonce2) { +if (likely(varonce2!=NULL)) { var3 = varonce2; } else { var4 = "true"; -var5 = 4; -var6 = standard___standard__NativeString___to_s_with_length(var4, var5); -var3 = var6; +var5 = standard___standard__NativeString___to_s_with_length(var4, 4l); +var3 = var5; varonce2 = var3; } var1 = var3; @@ -9725,23 +9601,22 @@ varonce_guard = 1; var = var1; goto RET_LABEL; } else { -if (varonce7_guard) { -var8 = varonce7; +if (likely(varonce6_guard)) { +var7 = varonce6; } else { -if (varonce9) { -var10 = varonce9; +if (likely(varonce8!=NULL)) { +var9 = varonce8; } else { -var11 = "false"; -var12 = 5; -var13 = standard___standard__NativeString___to_s_with_length(var11, var12); -var10 = var13; -varonce9 = var10; +var10 = "false"; +var11 = standard___standard__NativeString___to_s_with_length(var10, 5l); +var9 = var11; +varonce8 = var9; } -var8 = var10; -varonce7 = var8; -varonce7_guard = 1; +var7 = var9; +varonce6 = var7; +varonce6_guard = 1; } -var = var8; +var = var7; goto RET_LABEL; } RET_LABEL:; @@ -9752,17 +9627,139 @@ val* VIRTUAL_standard__string___Bool___Object__to_s(val* self) { val* var /* : String */; val* var1 /* : String */; short int var2 /* : Bool */; -var2 = ((struct instance_standard__Bool*)self)->value; /* autounbox from Object to Bool */; +var2 = (short int)((long)(self)>>2); var1 = standard__string___Bool___Object__to_s(var2); var = var1; RET_LABEL:; return var; } +/* method string#Byte#byte_to_s_len for (self: Byte): Int */ +long standard__string___Byte___byte_to_s_len(unsigned char self) { +long var /* : Int */; +long var1 /* : Int for extern */; +var1 = native_byte_length_str(self); +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method string#Byte#native_byte_to_s for (self: Byte, NativeString, Int) */ +void standard__string___Byte___native_byte_to_s(unsigned char self, char* p0, long p1) { +native_byte_to_s(self, p0, p1); +RET_LABEL:; +} +/* method string#Byte#to_s for (self: Byte): String */ +val* standard__string___Byte___Object__to_s(unsigned char self) { +val* var /* : String */; +long var1 /* : Int */; +long var3 /* : Int for extern */; +long var_nslen /* var nslen: Int */; +char* var4 /* : NativeString */; +long var5 /* : Int */; +short int var7 /* : 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 /* : FlatString */; +{ +{ /* Inline string#Byte#byte_to_s_len (self) on */ +var3 = native_byte_length_str(self); +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +} +var_nslen = var1; +var4 = NULL/*special!*/; +{ +{ /* 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)) { +var_class_name = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var8 = var_nslen + 1l; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +{ +{ /* Inline string#NativeString#new (var4,var5) on */ +var11 = (char*)nit_alloc(var5); +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +} +var_ns = var9; +{ +{ /* Inline string#NativeString#[]= (var_ns,var_nslen,'\000') on */ +var_ns[var_nslen]=(unsigned char)'\000'; +RET_LABEL12:(void)0; +} +} +{ +{ /* 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_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var19 = var_nslen + 1l; +var13 = var19; +goto RET_LABEL14; +RET_LABEL14:(void)0; +} +} +{ +{ /* Inline string#Byte#native_byte_to_s (self,var_ns,var13) on */ +native_byte_to_s(self, var_ns, var13); +RET_LABEL20:(void)0; +} +} +{ +var21 = standard___standard__NativeString___to_s_with_length(var_ns, var_nslen); +} +var = var21; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method string#Byte#to_s for (self: Object): String */ +val* VIRTUAL_standard__string___Byte___Object__to_s(val* self) { +val* var /* : String */; +val* var1 /* : String */; +unsigned char var2 /* : Byte */; +var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Object to Byte */; +var1 = standard__string___Byte___Object__to_s(var2); +var = var1; +RET_LABEL:; +return var; +} /* method string#Int#strerror_ext for (self: Int): NativeString */ char* standard__string___Int___strerror_ext(long self) { char* var /* : NativeString */; -char* var1 /* : NativeString */; -var1 = string___Int_strerror_ext___impl(self); +void* var1 /* : NativeString for extern */; +var1 = strerror(self); var = var1; goto RET_LABEL; RET_LABEL:; @@ -9772,11 +9769,11 @@ return var; val* standard__string___Int___strerror(long self) { val* var /* : String */; char* var1 /* : NativeString */; -char* var3 /* : NativeString */; +void* var3 /* : NativeString for extern */; val* var4 /* : String */; { { /* Inline string#Int#strerror_ext (self) on */ -var3 = string___Int_strerror_ext___impl(self); +var3 = strerror(self); var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0;