X-Git-Url: http://nitlanguage.org diff --git a/c_src/core__flat.sep.2.c b/c_src/core__flat.sep.2.c new file mode 100644 index 0000000..9778e04 --- /dev/null +++ b/c_src/core__flat.sep.2.c @@ -0,0 +1,2927 @@ +#include "core__flat.sep.0.h" +/* method flat#NativeString#clean_utf8 for (self: NativeString, Int): FlatString */ +val* core__flat___NativeString___clean_utf8(char* self, long p0) { +val* var /* : FlatString */; +long var_len /* var len: Int */; +val* var_replacements /* var replacements: nullable Array[Int] */; +long var_end_length /* var end_length: Int */; +long var_pos /* var pos: Int */; +long var_chr_ln /* var chr_ln: Int */; +long var_rem /* var rem: Int */; +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 */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +const char* var_class_name10; +short int var11 /* : Bool */; +long var12 /* : Int */; +long var14 /* : Int */; +long var_i /* var i: Int */; +long var15 /* : Int */; +long var17 /* : Int */; +short int var18 /* : Bool */; +short int var20 /* : Bool */; +short int var21 /* : Bool */; +long var22 /* : Int */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +const char* var_class_name27; +long var28 /* : Int */; +long var29 /* : Int */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +const char* var_class_name34; +long var35 /* : Int */; +long var36 /* : Int */; +short int var38 /* : Bool */; +int cltype39; +int idtype40; +const char* var_class_name41; +long var42 /* : Int */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; +unsigned char var47 /* : Byte */; +unsigned char var49 /* : Byte */; +unsigned char var_b /* var b: Byte */; +unsigned char var50 /* : Byte */; +unsigned char var52 /* : Byte */; +short int var53 /* : Bool */; +short int var55 /* : Bool */; +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 */; +long var70 /* : Int */; +short int var72 /* : Bool */; +int cltype73; +int idtype74; +const char* var_class_name75; +long var76 /* : Int */; +long var78 /* : Int */; +long var_nxst /* var nxst: Int */; +short int var79 /* : Bool */; +short int var81 /* : Bool */; +unsigned char var82 /* : Byte */; +unsigned char var84 /* : Byte */; +short int var85 /* : Bool */; +short int var87 /* : Bool */; +short int var_ok_st /* var ok_st: Bool */; +short int var88 /* : Bool */; +short int var90 /* : Bool */; +unsigned char var91 /* : Byte */; +unsigned char var93 /* : Byte */; +short int var94 /* : Bool */; +short int var96 /* : Bool */; +short int var97 /* : Bool */; +short int var99 /* : Bool */; +unsigned char var100 /* : Byte */; +unsigned char var102 /* : Byte */; +short int var103 /* : Bool */; +short int var105 /* : Bool */; +unsigned char var106 /* : Byte */; +unsigned char var108 /* : Byte */; +short int var109 /* : Bool */; +short int var111 /* : Bool */; +short int var112 /* : Bool */; +short int var113 /* : Bool */; +short int var114 /* : Bool */; +val* var115 /* : Array[Int] */; +val* var116 /* : nullable Object */; +long var117 /* : Int */; +short int var119 /* : Bool */; +int cltype120; +int idtype121; +const char* var_class_name122; +long var123 /* : Int */; +long var124 /* : Int */; +short int var126 /* : Bool */; +int cltype127; +int idtype128; +const char* var_class_name129; +long var130 /* : Int */; +long var131 /* : Int */; +short int var133 /* : Bool */; +int cltype134; +int idtype135; +const char* var_class_name136; +long var137 /* : Int */; +long var138 /* : Int */; +short int var140 /* : Bool */; +int cltype141; +int idtype142; +const char* var_class_name143; +long var144 /* : Int */; +uint32_t var145 /* : Char */; +uint32_t var_c /* var c: Char */; +long var146 /* : Int */; +long var148 /* : Int */; +long var_cp /* var cp: Int */; +short int var149 /* : Bool */; +short int var151 /* : Bool */; +short int var152 /* : Bool */; +short int var153 /* : Bool */; +short int var155 /* : Bool */; +int cltype156; +int idtype157; +const char* var_class_name158; +short int var159 /* : Bool */; +short int var_ /* var : Bool */; +short int var160 /* : Bool */; +short int var162 /* : Bool */; +int cltype163; +int idtype164; +const char* var_class_name165; +short int var166 /* : Bool */; +short int var_ok_c /* var ok_c: Bool */; +short int var167 /* : Bool */; +short int var169 /* : Bool */; +short int var170 /* : Bool */; +short int var171 /* : Bool */; +short int var173 /* : Bool */; +int cltype174; +int idtype175; +const char* var_class_name176; +short int var177 /* : Bool */; +short int var_178 /* var : Bool */; +short int var179 /* : Bool */; +short int var181 /* : Bool */; +int cltype182; +int idtype183; +const char* var_class_name184; +short int var185 /* : Bool */; +short int var186 /* : Bool */; +short int var188 /* : Bool */; +short int var189 /* : Bool */; +short int var190 /* : Bool */; +short int var192 /* : Bool */; +int cltype193; +int idtype194; +const char* var_class_name195; +short int var196 /* : Bool */; +short int var_197 /* var : Bool */; +short int var198 /* : Bool */; +short int var200 /* : Bool */; +int cltype201; +int idtype202; +const char* var_class_name203; +short int var204 /* : Bool */; +short int var205 /* : Bool */; +short int var206 /* : Bool */; +short int var207 /* : Bool */; +short int var_208 /* var : Bool */; +short int var209 /* : Bool */; +short int var210 /* : Bool */; +short int var212 /* : Bool */; +int cltype213; +int idtype214; +const char* var_class_name215; +short int var216 /* : Bool */; +short int var_217 /* var : Bool */; +short int var218 /* : Bool */; +short int var220 /* : Bool */; +int cltype221; +int idtype222; +const char* var_class_name223; +short int var224 /* : Bool */; +short int var225 /* : Bool */; +short int var_226 /* var : Bool */; +short int var227 /* : Bool */; +short int var229 /* : Bool */; +short int var230 /* : Bool */; +short int var_231 /* var : Bool */; +short int var232 /* : Bool */; +short int var234 /* : Bool */; +short int var235 /* : Bool */; +short int var236 /* : Bool */; +short int var237 /* : Bool */; +short int var239 /* : Bool */; +int cltype240; +int idtype241; +const char* var_class_name242; +short int var243 /* : Bool */; +short int var_244 /* var : Bool */; +short int var245 /* : Bool */; +short int var247 /* : Bool */; +int cltype248; +int idtype249; +const char* var_class_name250; +short int var251 /* : Bool */; +short int var252 /* : Bool */; +short int var253 /* : Bool */; +short int var254 /* : Bool */; +val* var255 /* : Array[Int] */; +val* var256 /* : nullable Object */; +long var257 /* : Int */; +short int var259 /* : Bool */; +int cltype260; +int idtype261; +const char* var_class_name262; +long var263 /* : Int */; +long var264 /* : Int */; +short int var266 /* : Bool */; +int cltype267; +int idtype268; +const char* var_class_name269; +long var270 /* : Int */; +long var271 /* : Int */; +short int var273 /* : Bool */; +int cltype274; +int idtype275; +const char* var_class_name276; +long var277 /* : Int */; +long var278 /* : Int */; +short int var280 /* : Bool */; +int cltype281; +int idtype282; +const char* var_class_name283; +long var284 /* : Int */; +long var285 /* : Int */; +long var_clen /* var clen: Int */; +long var286 /* : Int */; +short int var288 /* : Bool */; +int cltype289; +int idtype290; +const char* var_class_name291; +long var292 /* : Int */; +long var293 /* : Int */; +short int var295 /* : Bool */; +int cltype296; +int idtype297; +const char* var_class_name298; +long var299 /* : Int */; +long var300 /* : Int */; +short int var302 /* : Bool */; +int cltype303; +int idtype304; +const char* var_class_name305; +long var306 /* : Int */; +char* var_ret /* var ret: NativeString */; +short int var307 /* : Bool */; +short int var309 /* : Bool */; +short int var310 /* : Bool */; +char* var311 /* : NativeString */; +char* var312 /* : NativeString */; +char* var314 /* : NativeString */; +long var_old_repl /* var old_repl: Int */; +long var_off /* var off: Int */; +val* var_repls /* var repls: Array[Int] */; +val* var315 /* : nullable NativeArray[nullable Object] */; +val* var317 /* : nullable NativeArray[nullable Object] */; +val* var_r /* var r: NativeArray[Int] */; +long var318 /* : Int */; +long var320 /* : Int */; +long var_imax /* var imax: Int */; +long var_i321 /* var i: Int */; +long var_322 /* var : Int */; +short int var323 /* : Bool */; +short int var325 /* : Bool */; +int cltype326; +int idtype327; +const char* var_class_name328; +short int var329 /* : Bool */; +val* var331 /* : nullable Object */; +val* var333 /* : Object */; +long var334 /* : Int */; +long var_repl_pos /* var repl_pos: Int */; +long var335 /* : Int */; +short int var337 /* : Bool */; +int cltype338; +int idtype339; +const char* var_class_name340; +long var341 /* : Int */; +long var_chkln /* var chkln: Int */; +long var343 /* : Int */; +short int var345 /* : Bool */; +int cltype346; +int idtype347; +const char* var_class_name348; +long var349 /* : Int */; +long var351 /* : Int */; +short int var353 /* : Bool */; +int cltype354; +int idtype355; +const char* var_class_name356; +long var357 /* : Int */; +long var359 /* : Int */; +short int var361 /* : Bool */; +int cltype362; +int idtype363; +const char* var_class_name364; +long var365 /* : Int */; +long var367 /* : Int */; +short int var369 /* : Bool */; +int cltype370; +int idtype371; +const char* var_class_name372; +long var373 /* : Int */; +long var374 /* : Int */; +short int var376 /* : Bool */; +int cltype377; +int idtype378; +const char* var_class_name379; +long var380 /* : Int */; +long var381 /* : Int */; +long var382 /* : Int */; +short int var384 /* : Bool */; +int cltype385; +int idtype386; +const char* var_class_name387; +long var388 /* : Int */; +val* var390 /* : FlatString */; +var_len = p0; +var_replacements = ((val*)NULL); +var_end_length = var_len; +var_pos = 0l; +var_chr_ln = 0l; +var_rem = var_len; +for(;;) { +{ +{ /* Inline kernel#Int#> (var_rem,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_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); +fatal_exit(1); +} +var4 = var_rem > 0l; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +} +if (var1){ +for(;;) { +{ +{ /* Inline kernel#Int#>= (var_rem,4l) on */ +/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */ +/* <4l:Int> isa OTHER */ +var7 = 1; /* easy <4l:Int> isa OTHER*/ +if (unlikely(!var7)) { +var_class_name10 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729); +fatal_exit(1); +} +var11 = var_rem >= 4l; +var5 = var11; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +if (var5){ +{ +{ /* Inline native#NativeString#fetch_4_chars (self,var_pos) on */ +var14 = (long)*((uint32_t*)(self + var_pos)); +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +} +var_i = var12; +{ +{ /* Inline math#Int#& (var_i,2155905152l) on */ +var17 = var_i & 2155905152l; +var15 = var17; +goto RET_LABEL16; +RET_LABEL16:(void)0; +} +} +{ +{ /* Inline kernel#Int#!= (var15,0l) on */ +var20 = var15 == 0l; +var21 = !var20; +var18 = var21; +goto RET_LABEL19; +RET_LABEL19:(void)0; +} +} +if (var18){ +goto BREAK_label; +} else { +} +{ +{ /* Inline kernel#Int#+ (var_pos,4l) on */ +/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */ +/* <4l:Int> isa OTHER */ +var24 = 1; /* easy <4l:Int> isa OTHER*/ +if (unlikely(!var24)) { +var_class_name27 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var28 = var_pos + 4l; +var22 = var28; +goto RET_LABEL23; +RET_LABEL23:(void)0; +} +} +var_pos = var22; +{ +{ /* Inline kernel#Int#+ (var_chr_ln,4l) on */ +/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */ +/* <4l:Int> isa OTHER */ +var31 = 1; /* easy <4l:Int> isa OTHER*/ +if (unlikely(!var31)) { +var_class_name34 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var35 = var_chr_ln + 4l; +var29 = var35; +goto RET_LABEL30; +RET_LABEL30:(void)0; +} +} +var_chr_ln = var29; +{ +{ /* Inline kernel#Int#- (var_rem,4l) on */ +/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */ +/* <4l:Int> isa OTHER */ +var38 = 1; /* easy <4l:Int> isa OTHER*/ +if (unlikely(!var38)) { +var_class_name41 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +fatal_exit(1); +} +var42 = var_rem - 4l; +var36 = var42; +goto RET_LABEL37; +RET_LABEL37:(void)0; +} +} +var_rem = var36; +} else { +goto BREAK_label; +} +} +BREAK_label: (void)0; +{ +{ /* Inline kernel#Int#== (var_rem,0l) on */ +var45 = var_rem == 0l; +var43 = var45; +goto RET_LABEL44; +RET_LABEL44:(void)0; +} +} +if (var43){ +goto BREAK_label46; +} else { +} +{ +{ /* Inline native#NativeString#[] (self,var_pos) on */ +var49 = (unsigned char)((int)self[var_pos]); +var47 = var49; +goto RET_LABEL48; +RET_LABEL48:(void)0; +} +} +var_b = var47; +{ +{ /* Inline math#Byte#& (var_b,((unsigned char)0x80)) on */ +var52 = var_b & ((unsigned char)0x80); +var50 = var52; +goto RET_LABEL51; +RET_LABEL51:(void)0; +} +} +{ +{ /* Inline kernel#Byte#== (var50,((unsigned char)0x00)) on */ +var55 = var50 == ((unsigned char)0x00); +var53 = var55; +goto RET_LABEL54; +RET_LABEL54:(void)0; +} +} +if (var53){ +{ +{ /* Inline kernel#Int#+ (var_pos,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var58 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var58)) { +var_class_name61 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var62 = var_pos + 1l; +var56 = var62; +goto RET_LABEL57; +RET_LABEL57:(void)0; +} +} +var_pos = var56; +{ +{ /* Inline kernel#Int#+ (var_chr_ln,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_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var69 = var_chr_ln + 1l; +var63 = var69; +goto RET_LABEL64; +RET_LABEL64:(void)0; +} +} +var_chr_ln = var63; +{ +{ /* Inline kernel#Int#- (var_rem,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var72 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var72)) { +var_class_name75 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +fatal_exit(1); +} +var76 = var_rem - 1l; +var70 = var76; +goto RET_LABEL71; +RET_LABEL71:(void)0; +} +} +var_rem = var70; +goto BREAK_label77; +} else { +} +{ +var78 = core___core__NativeString___length_of_char_at(self, var_pos); +} +var_nxst = var78; +{ +{ /* Inline kernel#Int#== (var_nxst,1l) on */ +var81 = var_nxst == 1l; +var79 = var81; +goto RET_LABEL80; +RET_LABEL80:(void)0; +} +} +if (var79){ +{ +{ /* Inline math#Byte#& (var_b,((unsigned char)0x80)) on */ +var84 = var_b & ((unsigned char)0x80); +var82 = var84; +goto RET_LABEL83; +RET_LABEL83:(void)0; +} +} +{ +{ /* Inline kernel#Byte#== (var82,((unsigned char)0x00)) on */ +var87 = var82 == ((unsigned char)0x00); +var85 = var87; +goto RET_LABEL86; +RET_LABEL86:(void)0; +} +} +var_ok_st = var85; +} else { +{ +{ /* Inline kernel#Int#== (var_nxst,2l) on */ +var90 = var_nxst == 2l; +var88 = var90; +goto RET_LABEL89; +RET_LABEL89:(void)0; +} +} +if (var88){ +{ +{ /* Inline math#Byte#& (var_b,((unsigned char)0xe0)) on */ +var93 = var_b & ((unsigned char)0xe0); +var91 = var93; +goto RET_LABEL92; +RET_LABEL92:(void)0; +} +} +{ +{ /* Inline kernel#Byte#== (var91,((unsigned char)0xc0)) on */ +var96 = var91 == ((unsigned char)0xc0); +var94 = var96; +goto RET_LABEL95; +RET_LABEL95:(void)0; +} +} +var_ok_st = var94; +} else { +{ +{ /* Inline kernel#Int#== (var_nxst,3l) on */ +var99 = var_nxst == 3l; +var97 = var99; +goto RET_LABEL98; +RET_LABEL98:(void)0; +} +} +if (var97){ +{ +{ /* Inline math#Byte#& (var_b,((unsigned char)0xf0)) on */ +var102 = var_b & ((unsigned char)0xf0); +var100 = var102; +goto RET_LABEL101; +RET_LABEL101:(void)0; +} +} +{ +{ /* Inline kernel#Byte#== (var100,((unsigned char)0xe0)) on */ +var105 = var100 == ((unsigned char)0xe0); +var103 = var105; +goto RET_LABEL104; +RET_LABEL104:(void)0; +} +} +var_ok_st = var103; +} else { +{ +{ /* Inline math#Byte#& (var_b,((unsigned char)0xf8)) on */ +var108 = var_b & ((unsigned char)0xf8); +var106 = var108; +goto RET_LABEL107; +RET_LABEL107:(void)0; +} +} +{ +{ /* Inline kernel#Byte#== (var106,((unsigned char)0xf0)) on */ +var111 = var106 == ((unsigned char)0xf0); +var109 = var111; +goto RET_LABEL110; +RET_LABEL110:(void)0; +} +} +var_ok_st = var109; +} +} +} +var112 = !var_ok_st; +if (var112){ +if (var_replacements == NULL) { +var113 = 1; /* is null */ +} else { +var113 = 0; /* arg is null but recv is not */ +} +if (0) { +var114 = core___core__Array___core__kernel__Object___61d_61d(var_replacements, ((val*)NULL)); +var113 = var114; +} +if (var113){ +var115 = NEW_core__Array(&type_core__Array__core__Int); +{ +core___core__Array___core__kernel__Object__init(var115); /* Direct call array#Array#init on */ +} +var_replacements = var115; +} else { +} +{ +var116 = (val*)(var_pos<<2|1); +core___core__Array___core__abstract_collection__SimpleCollection__add(var_replacements, var116); /* Direct call array#Array#add on */ +} +{ +{ /* Inline kernel#Int#+ (var_end_length,2l) on */ +/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ +/* <2l:Int> isa OTHER */ +var119 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var119)) { +var_class_name122 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name122); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var123 = var_end_length + 2l; +var117 = var123; +goto RET_LABEL118; +RET_LABEL118:(void)0; +} +} +var_end_length = var117; +{ +{ /* Inline kernel#Int#+ (var_pos,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var126 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var126)) { +var_class_name129 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name129); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var130 = var_pos + 1l; +var124 = var130; +goto RET_LABEL125; +RET_LABEL125:(void)0; +} +} +var_pos = var124; +{ +{ /* Inline kernel#Int#- (var_rem,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var133 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var133)) { +var_class_name136 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name136); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +fatal_exit(1); +} +var137 = var_rem - 1l; +var131 = var137; +goto RET_LABEL132; +RET_LABEL132:(void)0; +} +} +var_rem = var131; +{ +{ /* Inline kernel#Int#+ (var_chr_ln,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var140 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var140)) { +var_class_name143 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name143); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var144 = var_chr_ln + 1l; +var138 = var144; +goto RET_LABEL139; +RET_LABEL139:(void)0; +} +} +var_chr_ln = var138; +goto BREAK_label77; +} else { +} +{ +var145 = core___core__NativeString___char_at(self, var_pos); +} +var_c = var145; +{ +{ /* Inline kernel#Char#code_point (var_c) on */ +var148 = (long)var_c; +var146 = var148; +goto RET_LABEL147; +RET_LABEL147:(void)0; +} +} +var_cp = var146; +{ +{ /* Inline kernel#Int#== (var_nxst,1l) on */ +var151 = var_nxst == 1l; +var149 = var151; +goto RET_LABEL150; +RET_LABEL150:(void)0; +} +} +if (var149){ +{ +{ /* Inline kernel#Int#>= (var_cp,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var155 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var155)) { +var_class_name158 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name158); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729); +fatal_exit(1); +} +var159 = var_cp >= 0l; +var153 = var159; +goto RET_LABEL154; +RET_LABEL154:(void)0; +} +} +var_ = var153; +if (var153){ +{ +{ /* Inline kernel#Int#<= (var_cp,127l) on */ +/* Covariant cast for argument 0 (i) <127l:Int> isa OTHER */ +/* <127l:Int> isa OTHER */ +var162 = 1; /* easy <127l:Int> isa OTHER*/ +if (unlikely(!var162)) { +var_class_name165 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name165); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); +fatal_exit(1); +} +var166 = var_cp <= 127l; +var160 = var166; +goto RET_LABEL161; +RET_LABEL161:(void)0; +} +} +var152 = var160; +} else { +var152 = var_; +} +var_ok_c = var152; +} else { +{ +{ /* Inline kernel#Int#== (var_nxst,2l) on */ +var169 = var_nxst == 2l; +var167 = var169; +goto RET_LABEL168; +RET_LABEL168:(void)0; +} +} +if (var167){ +{ +{ /* Inline kernel#Int#>= (var_cp,128l) on */ +/* Covariant cast for argument 0 (i) <128l:Int> isa OTHER */ +/* <128l:Int> isa OTHER */ +var173 = 1; /* easy <128l:Int> isa OTHER*/ +if (unlikely(!var173)) { +var_class_name176 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name176); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729); +fatal_exit(1); +} +var177 = var_cp >= 128l; +var171 = var177; +goto RET_LABEL172; +RET_LABEL172:(void)0; +} +} +var_178 = var171; +if (var171){ +{ +{ /* Inline kernel#Int#<= (var_cp,2047l) on */ +/* Covariant cast for argument 0 (i) <2047l:Int> isa OTHER */ +/* <2047l:Int> isa OTHER */ +var181 = 1; /* easy <2047l:Int> isa OTHER*/ +if (unlikely(!var181)) { +var_class_name184 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name184); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); +fatal_exit(1); +} +var185 = var_cp <= 2047l; +var179 = var185; +goto RET_LABEL180; +RET_LABEL180:(void)0; +} +} +var170 = var179; +} else { +var170 = var_178; +} +var_ok_c = var170; +} else { +{ +{ /* Inline kernel#Int#== (var_nxst,3l) on */ +var188 = var_nxst == 3l; +var186 = var188; +goto RET_LABEL187; +RET_LABEL187:(void)0; +} +} +if (var186){ +{ +{ /* Inline kernel#Int#>= (var_cp,2048l) on */ +/* Covariant cast for argument 0 (i) <2048l:Int> isa OTHER */ +/* <2048l:Int> isa OTHER */ +var192 = 1; /* easy <2048l:Int> isa OTHER*/ +if (unlikely(!var192)) { +var_class_name195 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name195); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729); +fatal_exit(1); +} +var196 = var_cp >= 2048l; +var190 = var196; +goto RET_LABEL191; +RET_LABEL191:(void)0; +} +} +var_197 = var190; +if (var190){ +{ +{ /* Inline kernel#Int#<= (var_cp,65535l) on */ +/* Covariant cast for argument 0 (i) <65535l:Int> isa OTHER */ +/* <65535l:Int> isa OTHER */ +var200 = 1; /* easy <65535l:Int> isa OTHER*/ +if (unlikely(!var200)) { +var_class_name203 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name203); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); +fatal_exit(1); +} +var204 = var_cp <= 65535l; +var198 = var204; +goto RET_LABEL199; +RET_LABEL199:(void)0; +} +} +var189 = var198; +} else { +var189 = var_197; +} +var_ok_c = var189; +var_208 = var_ok_c; +if (var_ok_c){ +{ +{ /* Inline kernel#Int#>= (var_cp,55296l) on */ +/* Covariant cast for argument 0 (i) <55296l:Int> isa OTHER */ +/* <55296l:Int> isa OTHER */ +var212 = 1; /* easy <55296l:Int> isa OTHER*/ +if (unlikely(!var212)) { +var_class_name215 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name215); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729); +fatal_exit(1); +} +var216 = var_cp >= 55296l; +var210 = var216; +goto RET_LABEL211; +RET_LABEL211:(void)0; +} +} +var_217 = var210; +if (var210){ +{ +{ /* Inline kernel#Int#<= (var_cp,57343l) on */ +/* Covariant cast for argument 0 (i) <57343l:Int> isa OTHER */ +/* <57343l:Int> isa OTHER */ +var220 = 1; /* easy <57343l:Int> isa OTHER*/ +if (unlikely(!var220)) { +var_class_name223 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name223); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); +fatal_exit(1); +} +var224 = var_cp <= 57343l; +var218 = var224; +goto RET_LABEL219; +RET_LABEL219:(void)0; +} +} +var209 = var218; +} else { +var209 = var_217; +} +var225 = !var209; +var207 = var225; +} else { +var207 = var_208; +} +var_226 = var207; +if (var207){ +{ +{ /* Inline kernel#Int#!= (var_cp,65534l) on */ +var229 = var_cp == 65534l; +var230 = !var229; +var227 = var230; +goto RET_LABEL228; +RET_LABEL228:(void)0; +} +} +var206 = var227; +} else { +var206 = var_226; +} +var_231 = var206; +if (var206){ +{ +{ /* Inline kernel#Int#!= (var_cp,65535l) on */ +var234 = var_cp == 65535l; +var235 = !var234; +var232 = var235; +goto RET_LABEL233; +RET_LABEL233:(void)0; +} +} +var205 = var232; +} else { +var205 = var_231; +} +var_ok_c = var205; +} else { +{ +{ /* Inline kernel#Int#>= (var_cp,65536l) on */ +/* Covariant cast for argument 0 (i) <65536l:Int> isa OTHER */ +/* <65536l:Int> isa OTHER */ +var239 = 1; /* easy <65536l:Int> isa OTHER*/ +if (unlikely(!var239)) { +var_class_name242 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name242); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729); +fatal_exit(1); +} +var243 = var_cp >= 65536l; +var237 = var243; +goto RET_LABEL238; +RET_LABEL238:(void)0; +} +} +var_244 = var237; +if (var237){ +{ +{ /* Inline kernel#Int#<= (var_cp,1114111l) on */ +/* Covariant cast for argument 0 (i) <1114111l:Int> isa OTHER */ +/* <1114111l:Int> isa OTHER */ +var247 = 1; /* easy <1114111l:Int> isa OTHER*/ +if (unlikely(!var247)) { +var_class_name250 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name250); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); +fatal_exit(1); +} +var251 = var_cp <= 1114111l; +var245 = var251; +goto RET_LABEL246; +RET_LABEL246:(void)0; +} +} +var236 = var245; +} else { +var236 = var_244; +} +var_ok_c = var236; +} +} +} +var252 = !var_ok_c; +if (var252){ +if (var_replacements == NULL) { +var253 = 1; /* is null */ +} else { +var253 = 0; /* arg is null but recv is not */ +} +if (0) { +var254 = core___core__Array___core__kernel__Object___61d_61d(var_replacements, ((val*)NULL)); +var253 = var254; +} +if (var253){ +var255 = NEW_core__Array(&type_core__Array__core__Int); +{ +core___core__Array___core__kernel__Object__init(var255); /* Direct call array#Array#init on */ +} +var_replacements = var255; +} else { +} +{ +var256 = (val*)(var_pos<<2|1); +core___core__Array___core__abstract_collection__SimpleCollection__add(var_replacements, var256); /* Direct call array#Array#add on */ +} +{ +{ /* Inline kernel#Int#+ (var_end_length,2l) on */ +/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ +/* <2l:Int> isa OTHER */ +var259 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var259)) { +var_class_name262 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name262); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var263 = var_end_length + 2l; +var257 = var263; +goto RET_LABEL258; +RET_LABEL258:(void)0; +} +} +var_end_length = var257; +{ +{ /* Inline kernel#Int#+ (var_pos,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var266 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var266)) { +var_class_name269 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name269); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var270 = var_pos + 1l; +var264 = var270; +goto RET_LABEL265; +RET_LABEL265:(void)0; +} +} +var_pos = var264; +{ +{ /* Inline kernel#Int#+ (var_chr_ln,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var273 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var273)) { +var_class_name276 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name276); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var277 = var_chr_ln + 1l; +var271 = var277; +goto RET_LABEL272; +RET_LABEL272:(void)0; +} +} +var_chr_ln = var271; +{ +{ /* Inline kernel#Int#- (var_rem,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var280 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var280)) { +var_class_name283 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name283); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +fatal_exit(1); +} +var284 = var_rem - 1l; +var278 = var284; +goto RET_LABEL279; +RET_LABEL279:(void)0; +} +} +var_rem = var278; +goto BREAK_label77; +} else { +} +{ +var285 = core__abstract_text___Char___u8char_len(var_c); +} +var_clen = var285; +{ +{ /* Inline kernel#Int#+ (var_pos,var_clen) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var288 = 1; /* easy isa OTHER*/ +if (unlikely(!var288)) { +var_class_name291 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name291); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var292 = var_pos + var_clen; +var286 = var292; +goto RET_LABEL287; +RET_LABEL287:(void)0; +} +} +var_pos = var286; +{ +{ /* Inline kernel#Int#- (var_rem,var_clen) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var295 = 1; /* easy isa OTHER*/ +if (unlikely(!var295)) { +var_class_name298 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name298); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +fatal_exit(1); +} +var299 = var_rem - var_clen; +var293 = var299; +goto RET_LABEL294; +RET_LABEL294:(void)0; +} +} +var_rem = var293; +{ +{ /* Inline kernel#Int#+ (var_chr_ln,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var302 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var302)) { +var_class_name305 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name305); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var306 = var_chr_ln + 1l; +var300 = var306; +goto RET_LABEL301; +RET_LABEL301:(void)0; +} +} +var_chr_ln = var300; +} else { +goto BREAK_label46; +} +BREAK_label77: (void)0; +} +BREAK_label46: (void)0; +var_ret = self; +{ +{ /* Inline kernel#Int#!= (var_end_length,var_len) on */ +var309 = var_end_length == var_len; +var310 = !var309; +var307 = var310; +goto RET_LABEL308; +RET_LABEL308:(void)0; +} +} +if (var307){ +var311 = NULL/*special!*/; +{ +{ /* Inline native#NativeString#new (var311,var_end_length) on */ +var314 = (char*)nit_alloc(var_end_length); +var312 = var314; +goto RET_LABEL313; +RET_LABEL313:(void)0; +} +} +var_ret = var312; +var_old_repl = 0l; +var_off = 0l; +if (unlikely(var_replacements == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1230); +fatal_exit(1); +} +var_repls = var_replacements; +{ +{ /* Inline array#Array#items (var_repls) on */ +var317 = var_repls->attrs[COLOR_core__array__Array___items].val; /* _items on */ +var315 = var317; +RET_LABEL316:(void)0; +} +} +if (unlikely(var315 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1231); +fatal_exit(1); +} +var_r = var315; +{ +{ /* Inline array#AbstractArrayRead#length (var_repls) on */ +var320 = var_repls->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var318 = var320; +RET_LABEL319:(void)0; +} +} +var_imax = var318; +var_i321 = 0l; +var_322 = var_imax; +for(;;) { +{ +{ /* Inline kernel#Int#< (var_i321,var_322) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var325 = 1; /* easy isa OTHER*/ +if (unlikely(!var325)) { +var_class_name328 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name328); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var329 = var_i321 < var_322; +var323 = var329; +goto RET_LABEL324; +RET_LABEL324:(void)0; +} +} +if (var323){ +} else { +goto BREAK_label330; +} +{ +{ /* Inline array#NativeArray#[] (var_r,var_i321) on */ +var333 = ((struct instance_core__NativeArray*)var_r)->values[var_i321]; +var331 = var333; +goto RET_LABEL332; +RET_LABEL332:(void)0; +} +} +var334 = (long)(var331)>>2; +var_repl_pos = var334; +{ +{ /* Inline kernel#Int#- (var_repl_pos,var_old_repl) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var337 = 1; /* easy isa OTHER*/ +if (unlikely(!var337)) { +var_class_name340 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name340); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +fatal_exit(1); +} +var341 = var_repl_pos - var_old_repl; +var335 = var341; +goto RET_LABEL336; +RET_LABEL336:(void)0; +} +} +var_chkln = var335; +{ +{ /* Inline native#NativeString#copy_to (self,var_ret,var_chkln,var_old_repl,var_off) on */ +memmove(var_ret+var_off,self+var_old_repl,var_chkln); +RET_LABEL342:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_off,var_chkln) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var345 = 1; /* easy isa OTHER*/ +if (unlikely(!var345)) { +var_class_name348 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name348); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var349 = var_off + var_chkln; +var343 = var349; +goto RET_LABEL344; +RET_LABEL344:(void)0; +} +} +var_off = var343; +{ +{ /* Inline native#NativeString#[]= (var_ret,var_off,((unsigned char)0xef)) on */ +var_ret[var_off]=(unsigned char)((unsigned char)0xef); +RET_LABEL350:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_off,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var353 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var353)) { +var_class_name356 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name356); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var357 = var_off + 1l; +var351 = var357; +goto RET_LABEL352; +RET_LABEL352:(void)0; +} +} +{ +{ /* Inline native#NativeString#[]= (var_ret,var351,((unsigned char)0xbf)) on */ +var_ret[var351]=(unsigned char)((unsigned char)0xbf); +RET_LABEL358:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_off,2l) on */ +/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ +/* <2l:Int> isa OTHER */ +var361 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var361)) { +var_class_name364 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name364); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var365 = var_off + 2l; +var359 = var365; +goto RET_LABEL360; +RET_LABEL360:(void)0; +} +} +{ +{ /* Inline native#NativeString#[]= (var_ret,var359,((unsigned char)0xbd)) on */ +var_ret[var359]=(unsigned char)((unsigned char)0xbd); +RET_LABEL366:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_repl_pos,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var369 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var369)) { +var_class_name372 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name372); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var373 = var_repl_pos + 1l; +var367 = var373; +goto RET_LABEL368; +RET_LABEL368:(void)0; +} +} +var_old_repl = var367; +{ +{ /* Inline kernel#Int#+ (var_off,3l) on */ +/* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */ +/* <3l:Int> isa OTHER */ +var376 = 1; /* easy <3l:Int> isa OTHER*/ +if (unlikely(!var376)) { +var_class_name379 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name379); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var380 = var_off + 3l; +var374 = var380; +goto RET_LABEL375; +RET_LABEL375:(void)0; +} +} +var_off = var374; +{ +var381 = core___core__Int___Discrete__successor(var_i321, 1l); +} +var_i321 = var381; +} +BREAK_label330: (void)0; +{ +{ /* Inline kernel#Int#- (var_len,var_old_repl) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var384 = 1; /* easy isa OTHER*/ +if (unlikely(!var384)) { +var_class_name387 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name387); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +fatal_exit(1); +} +var388 = var_len - var_old_repl; +var382 = var388; +goto RET_LABEL383; +RET_LABEL383:(void)0; +} +} +{ +{ /* Inline native#NativeString#copy_to (self,var_ret,var382,var_old_repl,var_off) on */ +memmove(var_ret+var_off,self+var_old_repl,var382); +RET_LABEL389:(void)0; +} +} +} else { +} +var390 = NEW_core__FlatString(&type_core__FlatString); +{ +core___core__FlatString___full(var390, var_ret, var_end_length, 0l, var_chr_ln); /* Direct call flat#FlatString#full on */ +} +var = var390; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method flat#NativeString#set_char_at for (self: NativeString, Int, Char) */ +void core__flat___NativeString___set_char_at(char* self, long p0, uint32_t p1) { +long var_pos /* var pos: Int */; +uint32_t var_c /* var c: Char */; +long var /* : Int */; +long var_ln /* var ln: Int */; +var_pos = p0; +var_c = p1; +{ +var = core__abstract_text___Char___u8char_len(var_c); +} +var_ln = var; +{ +{ /* Inline flat#NativeString#native_set_char (self,var_pos,var_c,var_ln) on */ +flat___NativeString_native_set_char___impl(self, var_pos, var_c, var_ln); +RET_LABEL1:(void)0; +} +} +RET_LABEL:; +} +/* method flat#NativeString#native_set_char for (self: NativeString, Int, Char, Int) */ +void core__flat___NativeString___native_set_char(char* self, long p0, uint32_t p1, long p2) { +flat___NativeString_native_set_char___impl(self, p0, p1, p2); +RET_LABEL:; +} +/* method flat#Int#to_base for (self: Int, Int, Bool): String */ +val* core__flat___Int___to_base(long self, long p0, short int p1) { +val* var /* : String */; +long var_base /* var base: Int */; +short int var_signed /* var signed: Bool */; +long var1 /* : Int */; +long var_l /* var l: Int */; +val* var2 /* : FlatBuffer */; +static val* varonce; +val* var3 /* : String */; +char* var4 /* : NativeString */; +val* var5 /* : String */; +val* var6 /* : String */; +val* var_s /* var s: FlatBuffer */; +val* var7 /* : String */; +var_base = p0; +var_signed = p1; +{ +var1 = core___core__Int___digit_count(self, var_base); +} +var_l = var1; +var2 = NEW_core__FlatBuffer(&type_core__FlatBuffer); +if (likely(varonce!=NULL)) { +var3 = varonce; +} else { +var4 = " "; +var5 = core__flat___NativeString___to_s_full(var4, 1l, 1l); +var3 = var5; +varonce = var3; +} +{ +var6 = ((val*(*)(val* self, long p0))(var3->class->vft[COLOR_core__abstract_text__String___42d]))(var3, var_l); /* * on */ +} +{ +core___core__FlatBuffer___from(var2, var6); /* Direct call flat#FlatBuffer#from on */ +} +var_s = var2; +{ +core__abstract_text___Int___fill_buffer(self, var_s, var_base, var_signed); /* Direct call abstract_text#Int#fill_buffer on */ +} +{ +var7 = core___core__FlatBuffer___core__abstract_text__Object__to_s(var_s); +} +var = var7; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method flat#Int#to_s for (self: Int): String */ +val* core__flat___Int___core__abstract_text__Object__to_s(long self) { +val* var /* : String */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; +static val* varonce; +val* var4 /* : String */; +char* var5 /* : NativeString */; +val* var6 /* : String */; +short int var7 /* : Bool */; +short int var9 /* : Bool */; +static val* varonce10; +val* var11 /* : String */; +char* var12 /* : NativeString */; +val* var13 /* : String */; +long var14 /* : Int */; +long var16 /* : Int */; +long var_nslen /* var nslen: Int */; +char* var17 /* : NativeString */; +long var18 /* : Int */; +short int var20 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var21 /* : Int */; +char* var22 /* : NativeString */; +char* var24 /* : NativeString */; +char* var_ns /* var ns: NativeString */; +long var26 /* : Int */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +const char* var_class_name31; +long var32 /* : Int */; +val* var34 /* : FlatString */; +{ +{ /* Inline kernel#Int#== (self,0l) on */ +var3 = self == 0l; +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +} +if (var1){ +if (likely(varonce!=NULL)) { +var4 = varonce; +} else { +var5 = "0"; +var6 = core__flat___NativeString___to_s_full(var5, 1l, 1l); +var4 = var6; +varonce = var4; +} +var = var4; +goto RET_LABEL; +} else { +} +{ +{ /* Inline kernel#Int#== (self,1l) on */ +var9 = self == 1l; +var7 = var9; +goto RET_LABEL8; +RET_LABEL8:(void)0; +} +} +if (var7){ +if (likely(varonce10!=NULL)) { +var11 = varonce10; +} else { +var12 = "1"; +var13 = core__flat___NativeString___to_s_full(var12, 1l, 1l); +var11 = var13; +varonce10 = var11; +} +var = var11; +goto RET_LABEL; +} else { +} +{ +{ /* Inline abstract_text#Int#int_to_s_len (self) on */ +var16 = abstract_text___Int_int_to_s_len___impl(self); +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; +} +} +var_nslen = var14; +var17 = NULL/*special!*/; +{ +{ /* Inline kernel#Int#+ (var_nslen,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_name = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var21 = var_nslen + 1l; +var18 = var21; +goto RET_LABEL19; +RET_LABEL19:(void)0; +} +} +{ +{ /* Inline native#NativeString#new (var17,var18) on */ +var24 = (char*)nit_alloc(var18); +var22 = var24; +goto RET_LABEL23; +RET_LABEL23:(void)0; +} +} +var_ns = var22; +{ +{ /* Inline native#NativeString#[]= (var_ns,var_nslen,((unsigned char)0x00)) on */ +var_ns[var_nslen]=(unsigned char)((unsigned char)0x00); +RET_LABEL25:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_nslen,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var28 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var28)) { +var_class_name31 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var32 = var_nslen + 1l; +var26 = var32; +goto RET_LABEL27; +RET_LABEL27:(void)0; +} +} +{ +{ /* Inline abstract_text#Int#native_int_to_s (self,var_ns,var26) on */ +abstract_text___Int_native_int_to_s___impl(self, var_ns, var26); +RET_LABEL33:(void)0; +} +} +var34 = NEW_core__FlatString(&type_core__FlatString); +{ +core___core__FlatString___full(var34, var_ns, var_nslen, 0l, var_nslen); /* Direct call flat#FlatString#full on */ +} +var = var34; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method flat#Int#to_s for (self: Object): String */ +val* VIRTUAL_core__flat___Int___core__abstract_text__Object__to_s(val* self) { +val* var /* : String */; +val* var1 /* : String */; +long var2 /* : Int */; +var2 = (long)(self)>>2; +var1 = core__flat___Int___core__abstract_text__Object__to_s(var2); +var = var1; +RET_LABEL:; +return var; +} +/* method flat#Array#plain_to_s for (self: Array[nullable Object]): String */ +val* core__flat___Array___core__abstract_text__Collection__plain_to_s(val* self) { +val* var /* : String */; +long var1 /* : Int */; +long var_l /* var l: Int */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; +static val* varonce; +val* var5 /* : String */; +char* var6 /* : NativeString */; +val* var7 /* : String */; +val* var8 /* : nullable NativeArray[nullable Object] */; +val* var_its /* var its: NativeArray[nullable Object] */; +val* var9 /* : nullable Object */; +val* var11 /* : Object */; +val* var_first /* var first: nullable Object */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +short int var16 /* : Bool */; +static val* varonce17; +val* var18 /* : String */; +char* var19 /* : NativeString */; +val* var20 /* : String */; +val* var21 /* : String */; +val* var22 /* : NativeArray[String] */; +val* var_na /* var na: NativeArray[String] */; +long var_i /* var i: Int */; +long var_sl /* var sl: Int */; +long var_mypos /* var mypos: Int */; +short int var23 /* : Bool */; +short int var25 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var26 /* : Bool */; +val* var27 /* : nullable Object */; +val* var29 /* : Object */; +val* var_itsi /* var itsi: nullable Object */; +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 */; +val* var39 /* : String */; +val* var_tmp /* var tmp: String */; +long var40 /* : Int */; +long var41 /* : Int */; +short int var43 /* : Bool */; +int cltype44; +int idtype45; +const char* var_class_name46; +long var47 /* : Int */; +short int var49 /* : Bool */; +int cltype50; +int idtype51; +const struct type* type_struct; +const char* var_class_name52; +long var53 /* : Int */; +short int var55 /* : Bool */; +int cltype56; +int idtype57; +const char* var_class_name58; +long var59 /* : Int */; +long var60 /* : Int */; +short int var62 /* : Bool */; +int cltype63; +int idtype64; +const char* var_class_name65; +long var66 /* : Int */; +char* var68 /* : NativeString */; +long var69 /* : Int */; +short int var71 /* : Bool */; +int cltype72; +int idtype73; +const char* var_class_name74; +long var75 /* : Int */; +char* var76 /* : NativeString */; +char* var78 /* : NativeString */; +char* var_ns /* var ns: NativeString */; +long var_off /* var off: Int */; +short int var80 /* : Bool */; +short int var82 /* : Bool */; +int cltype83; +int idtype84; +const char* var_class_name85; +short int var86 /* : Bool */; +val* var87 /* : nullable Object */; +val* var89 /* : Object */; +val* var_tmp90 /* var tmp: String */; +short int var91 /* : Bool */; +int cltype92; +int idtype93; +long var94 /* : Int */; +long var_tpl /* var tpl: Int */; +char* var95 /* : NativeString */; +long var96 /* : Int */; +long var98 /* : Int */; +short int var100 /* : Bool */; +int cltype101; +int idtype102; +const char* var_class_name103; +long var104 /* : Int */; +val* var105 /* : Iterator[FlatText] */; +val* var_ /* var : Iterator[FlatText] */; +val* var106 /* : Iterator[nullable Object] */; +val* var_107 /* var : Iterator[FlatText] */; +short int var108 /* : Bool */; +val* var110 /* : nullable Object */; +val* var_j /* var j: FlatText */; +short int var111 /* : Bool */; +int cltype112; +int idtype113; +const char* var_class_name114; +val* var_s /* var s: FlatString */; +long var115 /* : Int */; +long var_slen /* var slen: Int */; +char* var116 /* : NativeString */; +long var117 /* : Int */; +long var119 /* : Int */; +short int var121 /* : Bool */; +int cltype122; +int idtype123; +const char* var_class_name124; +long var125 /* : Int */; +long var126 /* : Int */; +short int var128 /* : Bool */; +int cltype129; +int idtype130; +const char* var_class_name131; +long var132 /* : Int */; +val* var134 /* : FlatString */; +var1 = self->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var_l = var1; +{ +{ /* Inline kernel#Int#== (var_l,0l) on */ +var4 = var_l == 0l; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +} +if (var2){ +if (likely(varonce!=NULL)) { +var5 = varonce; +} else { +var6 = ""; +var7 = core__flat___NativeString___to_s_full(var6, 0l, 0l); +var5 = var7; +varonce = var5; +} +var = var5; +goto RET_LABEL; +} else { +} +var8 = self->attrs[COLOR_core__array__Array___items].val; /* _items on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Cast failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1315); +fatal_exit(1); +} +var_its = var8; +{ +{ /* Inline array#NativeArray#[] (var_its,0l) on */ +var11 = ((struct instance_core__NativeArray*)var_its)->values[0l]; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +} +var_first = var9; +{ +{ /* Inline kernel#Int#== (var_l,1l) on */ +var14 = var_l == 1l; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +} +if (var12){ +if (var_first == NULL) { +var15 = 1; /* is null */ +} else { +var15 = 0; /* arg is null but recv is not */ +} +if (0) { +var16 = ((short int(*)(val* self, val* p0))((((long)var_first&3)?class_info[((long)var_first&3)]:var_first->class)->vft[COLOR_core__kernel__Object___61d_61d]))(var_first, ((val*)NULL)); /* == on */ +var15 = var16; +} +if (var15){ +if (likely(varonce17!=NULL)) { +var18 = varonce17; +} else { +var19 = ""; +var20 = core__flat___NativeString___to_s_full(var19, 0l, 0l); +var18 = var20; +varonce17 = var18; +} +var = var18; +goto RET_LABEL; +} else { +{ +var21 = ((val*(*)(val* self))((((long)var_first&3)?class_info[((long)var_first&3)]:var_first->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_first); /* to_s on */ +} +var = var21; +goto RET_LABEL; +} +} else { +} +var22 = NEW_core__NativeArray(var_l, &type_core__NativeArray__core__String); +var_na = var22; +var_i = 0l; +var_sl = 0l; +var_mypos = 0l; +for(;;) { +{ +{ /* Inline kernel#Int#< (var_i,var_l) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var25 = 1; /* easy isa OTHER*/ +if (unlikely(!var25)) { +var_class_name = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var26 = var_i < var_l; +var23 = var26; +goto RET_LABEL24; +RET_LABEL24:(void)0; +} +} +if (var23){ +{ +{ /* Inline array#NativeArray#[] (var_its,var_i) on */ +var29 = ((struct instance_core__NativeArray*)var_its)->values[var_i]; +var27 = var29; +goto RET_LABEL28; +RET_LABEL28:(void)0; +} +} +var_itsi = var27; +if (var_itsi == NULL) { +var30 = 1; /* is null */ +} else { +var30 = 0; /* arg is null but recv is not */ +} +if (0) { +var31 = ((short int(*)(val* self, val* p0))((((long)var_itsi&3)?class_info[((long)var_itsi&3)]:var_itsi->class)->vft[COLOR_core__kernel__Object___61d_61d]))(var_itsi, ((val*)NULL)); /* == on */ +var30 = var31; +} +if (var30){ +{ +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var34 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var34)) { +var_class_name37 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var38 = var_i + 1l; +var32 = var38; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +} +var_i = var32; +goto BREAK_label; +} else { +} +{ +var39 = ((val*(*)(val* self))((((long)var_itsi&3)?class_info[((long)var_itsi&3)]:var_itsi->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var_itsi); /* to_s on */ +} +var_tmp = var39; +{ +var40 = ((long(*)(val* self))(var_tmp->class->vft[COLOR_core__abstract_text__Text__bytelen]))(var_tmp); /* bytelen on */ +} +{ +{ /* Inline kernel#Int#+ (var_sl,var40) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var43 = 1; /* easy isa OTHER*/ +if (unlikely(!var43)) { +var_class_name46 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var47 = var_sl + var40; +var41 = var47; +goto RET_LABEL42; +RET_LABEL42:(void)0; +} +} +var_sl = var41; +{ +{ /* Inline array#NativeArray#[]= (var_na,var_mypos,var_tmp) on */ +/* Covariant cast for argument 1 (item) isa E */ +/* isa E */ +type_struct = var_na->type->resolution_table->types[COLOR_core__NativeArray___35dE]; +cltype50 = type_struct->color; +idtype51 = type_struct->id; +if(cltype50 >= var_tmp->type->table_size) { +var49 = 0; +} else { +var49 = var_tmp->type->type_table[cltype50] == idtype51; +} +if (unlikely(!var49)) { +var_class_name52 = var_tmp == NULL ? "null" : var_tmp->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name52); +PRINT_ERROR(" (%s:%d)\n", FILE_core__array, 988); +fatal_exit(1); +} +((struct instance_core__NativeArray*)var_na)->values[var_mypos]=var_tmp; +RET_LABEL48:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var55 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var55)) { +var_class_name58 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var59 = var_i + 1l; +var53 = var59; +goto RET_LABEL54; +RET_LABEL54:(void)0; +} +} +var_i = var53; +{ +{ /* Inline kernel#Int#+ (var_mypos,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var62 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var62)) { +var_class_name65 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var66 = var_mypos + 1l; +var60 = var66; +goto RET_LABEL61; +RET_LABEL61:(void)0; +} +} +var_mypos = var60; +} else { +goto BREAK_label67; +} +BREAK_label: (void)0; +} +BREAK_label67: (void)0; +var68 = NULL/*special!*/; +{ +{ /* Inline kernel#Int#+ (var_sl,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var71 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var71)) { +var_class_name74 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var75 = var_sl + 1l; +var69 = var75; +goto RET_LABEL70; +RET_LABEL70:(void)0; +} +} +{ +{ /* Inline native#NativeString#new (var68,var69) on */ +var78 = (char*)nit_alloc(var69); +var76 = var78; +goto RET_LABEL77; +RET_LABEL77:(void)0; +} +} +var_ns = var76; +{ +{ /* Inline native#NativeString#[]= (var_ns,var_sl,((unsigned char)0x00)) on */ +var_ns[var_sl]=(unsigned char)((unsigned char)0x00); +RET_LABEL79:(void)0; +} +} +var_i = 0l; +var_off = 0l; +for(;;) { +{ +{ /* Inline kernel#Int#< (var_i,var_mypos) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var82 = 1; /* easy isa OTHER*/ +if (unlikely(!var82)) { +var_class_name85 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name85); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var86 = var_i < var_mypos; +var80 = var86; +goto RET_LABEL81; +RET_LABEL81:(void)0; +} +} +if (var80){ +{ +{ /* Inline array#NativeArray#[] (var_na,var_i) on */ +var89 = ((struct instance_core__NativeArray*)var_na)->values[var_i]; +var87 = var89; +goto RET_LABEL88; +RET_LABEL88:(void)0; +} +} +var_tmp90 = var87; +/* isa FlatString */ +cltype92 = type_core__FlatString.color; +idtype93 = type_core__FlatString.id; +if(cltype92 >= var_tmp90->type->table_size) { +var91 = 0; +} else { +var91 = var_tmp90->type->type_table[cltype92] == idtype93; +} +if (var91){ +var94 = var_tmp90->attrs[COLOR_core__abstract_text__FlatText___bytelen].l; /* _bytelen on */ +var_tpl = var94; +var95 = var_tmp90->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on */ +var96 = var_tmp90->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on */ +{ +{ /* Inline native#NativeString#copy_to (var95,var_ns,var_tpl,var96,var_off) on */ +memmove(var_ns+var_off,var95+var96,var_tpl); +RET_LABEL97:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_off,var_tpl) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var100 = 1; /* easy isa OTHER*/ +if (unlikely(!var100)) { +var_class_name103 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name103); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var104 = var_off + var_tpl; +var98 = var104; +goto RET_LABEL99; +RET_LABEL99:(void)0; +} +} +var_off = var98; +} else { +{ +var105 = ((val*(*)(val* self))(var_tmp90->class->vft[COLOR_core__abstract_text__Text__substrings]))(var_tmp90); /* substrings on */ +} +var_ = var105; +{ +var106 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Iterator__iterator]))(var_); /* iterator on */ +} +var_107 = var106; +for(;;) { +{ +var108 = ((short int(*)(val* self))((((long)var_107&3)?class_info[((long)var_107&3)]:var_107->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_107); /* is_ok on */ +} +if (var108){ +} else { +goto BREAK_label109; +} +{ +var110 = ((val*(*)(val* self))((((long)var_107&3)?class_info[((long)var_107&3)]:var_107->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_107); /* item on */ +} +var_j = var110; +/* isa FlatString */ +cltype112 = type_core__FlatString.color; +idtype113 = type_core__FlatString.id; +if(cltype112 >= var_j->type->table_size) { +var111 = 0; +} else { +var111 = var_j->type->type_table[cltype112] == idtype113; +} +if (unlikely(!var111)) { +var_class_name114 = var_j == NULL ? "null" : var_j->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "FlatString", var_class_name114); +PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1346); +fatal_exit(1); +} +var_s = var_j; +var115 = var_s->attrs[COLOR_core__abstract_text__FlatText___bytelen].l; /* _bytelen on */ +var_slen = var115; +var116 = var_s->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on */ +var117 = var_s->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on */ +{ +{ /* Inline native#NativeString#copy_to (var116,var_ns,var_slen,var117,var_off) on */ +memmove(var_ns+var_off,var116+var117,var_slen); +RET_LABEL118:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_off,var_slen) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var121 = 1; /* easy isa OTHER*/ +if (unlikely(!var121)) { +var_class_name124 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name124); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var125 = var_off + var_slen; +var119 = var125; +goto RET_LABEL120; +RET_LABEL120:(void)0; +} +} +var_off = var119; +{ +((void(*)(val* self))((((long)var_107&3)?class_info[((long)var_107&3)]:var_107->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_107); /* next on */ +} +} +BREAK_label109: (void)0; +{ +((void(*)(val* self))((((long)var_107&3)?class_info[((long)var_107&3)]:var_107->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_107); /* finish on */ +} +} +{ +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var128 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var128)) { +var_class_name131 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name131); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var132 = var_i + 1l; +var126 = var132; +goto RET_LABEL127; +RET_LABEL127:(void)0; +} +} +var_i = var126; +} else { +goto BREAK_label133; +} +} +BREAK_label133: (void)0; +var134 = NEW_core__FlatString(&type_core__FlatString); +{ +core___core__FlatString___with_infos(var134, var_ns, var_sl, 0l); /* Direct call flat#FlatString#with_infos on */ +} +var = var134; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method flat#NativeArray#native_to_s for (self: NativeArray[nullable Object]): String */ +val* core__flat___NativeArray___native_to_s(val* self) { +val* var /* : String */; +short int var1 /* : Bool */; +int cltype; +int idtype; +long var2 /* : Int */; +long var4 /* : Int */; +long var_l /* var l: Int */; +val* var_na /* var na: NativeArray[String] */; +long var_i /* var i: Int */; +long var_sl /* var sl: Int */; +long var_mypos /* var mypos: Int */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; +int cltype8; +int idtype9; +const char* var_class_name; +short int var10 /* : Bool */; +val* var11 /* : nullable Object */; +val* var13 /* : Object */; +long var14 /* : Int */; +long var15 /* : Int */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +const char* var_class_name20; +long var21 /* : Int */; +long var22 /* : Int */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +const char* var_class_name27; +long var28 /* : Int */; +long var29 /* : Int */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +const char* var_class_name34; +long var35 /* : Int */; +char* var36 /* : NativeString */; +long var37 /* : Int */; +short int var39 /* : Bool */; +int cltype40; +int idtype41; +const char* var_class_name42; +long var43 /* : Int */; +char* var44 /* : NativeString */; +char* var46 /* : NativeString */; +char* var_ns /* var ns: NativeString */; +long var_off /* var off: Int */; +short int var48 /* : Bool */; +short int var50 /* : Bool */; +int cltype51; +int idtype52; +const char* var_class_name53; +short int var54 /* : Bool */; +val* var55 /* : nullable Object */; +val* var57 /* : Object */; +val* var_tmp /* var tmp: String */; +short int var58 /* : Bool */; +int cltype59; +int idtype60; +long var61 /* : Int */; +long var_tpl /* var tpl: Int */; +char* var62 /* : NativeString */; +long var63 /* : Int */; +long var65 /* : Int */; +short int var67 /* : Bool */; +int cltype68; +int idtype69; +const char* var_class_name70; +long var71 /* : Int */; +val* var72 /* : Iterator[FlatText] */; +val* var_ /* var : Iterator[FlatText] */; +val* var73 /* : Iterator[nullable Object] */; +val* var_74 /* var : Iterator[FlatText] */; +short int var75 /* : Bool */; +val* var77 /* : nullable Object */; +val* var_j /* var j: FlatText */; +short int var78 /* : Bool */; +int cltype79; +int idtype80; +const char* var_class_name81; +val* var_s /* var s: FlatString */; +long var82 /* : Int */; +long var_slen /* var slen: Int */; +char* var83 /* : NativeString */; +long var84 /* : Int */; +long var86 /* : Int */; +short int var88 /* : Bool */; +int cltype89; +int idtype90; +const char* var_class_name91; +long var92 /* : Int */; +long var93 /* : Int */; +short int var95 /* : Bool */; +int cltype96; +int idtype97; +const char* var_class_name98; +long var99 /* : Int */; +val* var101 /* : FlatString */; +/* isa NativeArray[String] */ +cltype = type_core__NativeArray__core__String.color; +idtype = type_core__NativeArray__core__String.id; +if(cltype >= self->type->table_size) { +var1 = 0; +} else { +var1 = self->type->type_table[cltype] == idtype; +} +if (unlikely(!var1)) { +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1360); +fatal_exit(1); +} +{ +{ /* Inline array#NativeArray#length (self) on */ +var4 = ((struct instance_core__NativeArray*)self)->length; +var2 = var4; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +} +var_l = var2; +var_na = self; +var_i = 0l; +var_sl = 0l; +var_mypos = 0l; +for(;;) { +{ +{ /* Inline kernel#Int#< (var_i,var_l) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var7 = 1; /* easy isa OTHER*/ +if (unlikely(!var7)) { +var_class_name = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var10 = var_i < var_l; +var5 = var10; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +if (var5){ +{ +{ /* Inline array#NativeArray#[] (var_na,var_i) on */ +var13 = ((struct instance_core__NativeArray*)var_na)->values[var_i]; +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; +} +} +{ +var14 = ((long(*)(val* self))(var11->class->vft[COLOR_core__abstract_text__Text__bytelen]))(var11); /* bytelen on */ +} +{ +{ /* Inline kernel#Int#+ (var_sl,var14) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var17 = 1; /* easy isa OTHER*/ +if (unlikely(!var17)) { +var_class_name20 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var21 = var_sl + var14; +var15 = var21; +goto RET_LABEL16; +RET_LABEL16:(void)0; +} +} +var_sl = var15; +{ +{ /* Inline kernel#Int#+ (var_i,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_name27 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var28 = var_i + 1l; +var22 = var28; +goto RET_LABEL23; +RET_LABEL23:(void)0; +} +} +var_i = var22; +{ +{ /* Inline kernel#Int#+ (var_mypos,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var31 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var31)) { +var_class_name34 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var35 = var_mypos + 1l; +var29 = var35; +goto RET_LABEL30; +RET_LABEL30:(void)0; +} +} +var_mypos = var29; +} else { +goto BREAK_label; +} +} +BREAK_label: (void)0; +var36 = NULL/*special!*/; +{ +{ /* Inline kernel#Int#+ (var_sl,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var39 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var39)) { +var_class_name42 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var43 = var_sl + 1l; +var37 = var43; +goto RET_LABEL38; +RET_LABEL38:(void)0; +} +} +{ +{ /* Inline native#NativeString#new (var36,var37) on */ +var46 = (char*)nit_alloc(var37); +var44 = var46; +goto RET_LABEL45; +RET_LABEL45:(void)0; +} +} +var_ns = var44; +{ +{ /* Inline native#NativeString#[]= (var_ns,var_sl,((unsigned char)0x00)) on */ +var_ns[var_sl]=(unsigned char)((unsigned char)0x00); +RET_LABEL47:(void)0; +} +} +var_i = 0l; +var_off = 0l; +for(;;) { +{ +{ /* Inline kernel#Int#< (var_i,var_mypos) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var50 = 1; /* easy isa OTHER*/ +if (unlikely(!var50)) { +var_class_name53 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); +fatal_exit(1); +} +var54 = var_i < var_mypos; +var48 = var54; +goto RET_LABEL49; +RET_LABEL49:(void)0; +} +} +if (var48){ +{ +{ /* Inline array#NativeArray#[] (var_na,var_i) on */ +var57 = ((struct instance_core__NativeArray*)var_na)->values[var_i]; +var55 = var57; +goto RET_LABEL56; +RET_LABEL56:(void)0; +} +} +var_tmp = var55; +/* isa FlatString */ +cltype59 = type_core__FlatString.color; +idtype60 = type_core__FlatString.id; +if(cltype59 >= var_tmp->type->table_size) { +var58 = 0; +} else { +var58 = var_tmp->type->type_table[cltype59] == idtype60; +} +if (var58){ +var61 = var_tmp->attrs[COLOR_core__abstract_text__FlatText___bytelen].l; /* _bytelen on */ +var_tpl = var61; +var62 = var_tmp->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on */ +var63 = var_tmp->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on */ +{ +{ /* Inline native#NativeString#copy_to (var62,var_ns,var_tpl,var63,var_off) on */ +memmove(var_ns+var_off,var62+var63,var_tpl); +RET_LABEL64:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_off,var_tpl) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var67 = 1; /* easy isa OTHER*/ +if (unlikely(!var67)) { +var_class_name70 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var71 = var_off + var_tpl; +var65 = var71; +goto RET_LABEL66; +RET_LABEL66:(void)0; +} +} +var_off = var65; +} else { +{ +var72 = ((val*(*)(val* self))(var_tmp->class->vft[COLOR_core__abstract_text__Text__substrings]))(var_tmp); /* substrings on */ +} +var_ = var72; +{ +var73 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Iterator__iterator]))(var_); /* iterator on */ +} +var_74 = var73; +for(;;) { +{ +var75 = ((short int(*)(val* self))((((long)var_74&3)?class_info[((long)var_74&3)]:var_74->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_74); /* is_ok on */ +} +if (var75){ +} else { +goto BREAK_label76; +} +{ +var77 = ((val*(*)(val* self))((((long)var_74&3)?class_info[((long)var_74&3)]:var_74->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_74); /* item on */ +} +var_j = var77; +/* isa FlatString */ +cltype79 = type_core__FlatString.color; +idtype80 = type_core__FlatString.id; +if(cltype79 >= var_j->type->table_size) { +var78 = 0; +} else { +var78 = var_j->type->type_table[cltype79] == idtype80; +} +if (unlikely(!var78)) { +var_class_name81 = var_j == NULL ? "null" : var_j->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "FlatString", var_class_name81); +PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1383); +fatal_exit(1); +} +var_s = var_j; +var82 = var_s->attrs[COLOR_core__abstract_text__FlatText___bytelen].l; /* _bytelen on */ +var_slen = var82; +var83 = var_s->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on */ +var84 = var_s->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on */ +{ +{ /* Inline native#NativeString#copy_to (var83,var_ns,var_slen,var84,var_off) on */ +memmove(var_ns+var_off,var83+var84,var_slen); +RET_LABEL85:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_off,var_slen) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var88 = 1; /* easy isa OTHER*/ +if (unlikely(!var88)) { +var_class_name91 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name91); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var92 = var_off + var_slen; +var86 = var92; +goto RET_LABEL87; +RET_LABEL87:(void)0; +} +} +var_off = var86; +{ +((void(*)(val* self))((((long)var_74&3)?class_info[((long)var_74&3)]:var_74->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_74); /* next on */ +} +} +BREAK_label76: (void)0; +{ +((void(*)(val* self))((((long)var_74&3)?class_info[((long)var_74&3)]:var_74->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_74); /* finish on */ +} +} +{ +{ /* Inline kernel#Int#+ (var_i,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var95 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var95)) { +var_class_name98 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name98); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var99 = var_i + 1l; +var93 = var99; +goto RET_LABEL94; +RET_LABEL94:(void)0; +} +} +var_i = var93; +} else { +goto BREAK_label100; +} +} +BREAK_label100: (void)0; +var101 = NEW_core__FlatString(&type_core__FlatString); +{ +core___core__FlatString___with_infos(var101, var_ns, var_sl, 0l); /* Direct call flat#FlatString#with_infos on */ +} +var = var101; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method flat#Map#join for (self: Map[nullable Object, nullable Object], String, String): String */ +val* core__flat___Map___join(val* self, val* p0, val* p1) { +val* var /* : String */; +val* var_sep /* var sep: String */; +val* var_couple_sep /* var couple_sep: String */; +short int var1 /* : Bool */; +static val* varonce; +val* var2 /* : String */; +char* var3 /* : NativeString */; +val* var4 /* : String */; +val* var5 /* : Buffer */; +val* var6 /* : Buffer */; +val* var_s /* var s: Buffer */; +val* var7 /* : MapIterator[nullable Object, nullable Object] */; +val* var_i /* var i: MapIterator[nullable Object, nullable Object] */; +val* var8 /* : nullable Object */; +val* var_k /* var k: nullable Object */; +val* var9 /* : nullable Object */; +val* var_e /* var e: nullable Object */; +val* var11 /* : NativeArray[String] */; +static val* varonce10; +val* var12 /* : Object */; +static val* varonce13; +val* var14 /* : String */; +char* var15 /* : NativeString */; +val* var16 /* : String */; +val* var17 /* : String */; +val* var18 /* : Object */; +static val* varonce19; +val* var20 /* : String */; +char* var21 /* : NativeString */; +val* var22 /* : String */; +val* var23 /* : String */; +val* var24 /* : String */; +short int var25 /* : Bool */; +val* var26 /* : nullable Object */; +val* var27 /* : nullable Object */; +val* var29 /* : NativeArray[String] */; +static val* varonce28; +val* var30 /* : Object */; +static val* varonce31; +val* var32 /* : String */; +char* var33 /* : NativeString */; +val* var34 /* : String */; +val* var35 /* : String */; +val* var36 /* : Object */; +static val* varonce37; +val* var38 /* : String */; +char* var39 /* : NativeString */; +val* var40 /* : String */; +val* var41 /* : String */; +val* var42 /* : String */; +val* var43 /* : String */; +var_sep = p0; +var_couple_sep = p1; +{ +var1 = ((short int(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__MapRead__is_empty]))(self); /* is_empty on */ +} +if (var1){ +if (likely(varonce!=NULL)) { +var2 = varonce; +} else { +var3 = ""; +var4 = core__flat___NativeString___to_s_full(var3, 0l, 0l); +var2 = var4; +varonce = var2; +} +var = var2; +goto RET_LABEL; +} else { +} +var5 = NEW_core__Buffer(&type_core__Buffer); +{ +var6 = core__flat___Buffer___new(var5); +} +var_s = var6; +{ +var7 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__MapRead__iterator]))(self); /* iterator on */ +} +var_i = var7; +{ +var8 = ((val*(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__MapIterator__key]))(var_i); /* key on */ +} +var_k = var8; +{ +var9 = ((val*(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__MapIterator__item]))(var_i); /* item on */ +} +var_e = var9; +if (unlikely(varonce10==NULL)) { +var11 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +} else { +var11 = varonce10; +varonce10 = NULL; +} +if (var_k!=NULL) { +var12 = var_k; +} else { +if (likely(varonce13!=NULL)) { +var14 = varonce13; +} else { +var15 = ""; +var16 = core__flat___NativeString___to_s_full(var15, 6l, 6l); +var14 = var16; +varonce13 = var14; +} +var12 = var14; +} +{ +var17 = ((val*(*)(val* self))((((long)var12&3)?class_info[((long)var12&3)]:var12->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var12); /* to_s on */ +} +((struct instance_core__NativeArray*)var11)->values[0]=var17; +((struct instance_core__NativeArray*)var11)->values[1]=var_couple_sep; +if (var_e!=NULL) { +var18 = var_e; +} else { +if (likely(varonce19!=NULL)) { +var20 = varonce19; +} else { +var21 = ""; +var22 = core__flat___NativeString___to_s_full(var21, 6l, 6l); +var20 = var22; +varonce19 = var20; +} +var18 = var20; +} +{ +var23 = ((val*(*)(val* self))((((long)var18&3)?class_info[((long)var18&3)]:var18->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var18); /* to_s on */ +} +((struct instance_core__NativeArray*)var11)->values[2]=var23; +{ +var24 = ((val*(*)(val* self))(var11->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var11); /* native_to_s on */ +} +varonce10 = var11; +{ +((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var24); /* append on */ +} +{ +((void(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__MapIterator__next]))(var_i); /* next on */ +} +for(;;) { +{ +var25 = ((short int(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__MapIterator__is_ok]))(var_i); /* is_ok on */ +} +if (var25){ +{ +((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var_sep); /* append on */ +} +{ +var26 = ((val*(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__MapIterator__key]))(var_i); /* key on */ +} +var_k = var26; +{ +var27 = ((val*(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__MapIterator__item]))(var_i); /* item on */ +} +var_e = var27; +if (unlikely(varonce28==NULL)) { +var29 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +} else { +var29 = varonce28; +varonce28 = NULL; +} +if (var_k!=NULL) { +var30 = var_k; +} else { +if (likely(varonce31!=NULL)) { +var32 = varonce31; +} else { +var33 = ""; +var34 = core__flat___NativeString___to_s_full(var33, 6l, 6l); +var32 = var34; +varonce31 = var32; +} +var30 = var32; +} +{ +var35 = ((val*(*)(val* self))((((long)var30&3)?class_info[((long)var30&3)]:var30->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var30); /* to_s on */ +} +((struct instance_core__NativeArray*)var29)->values[0]=var35; +((struct instance_core__NativeArray*)var29)->values[1]=var_couple_sep; +if (var_e!=NULL) { +var36 = var_e; +} else { +if (likely(varonce37!=NULL)) { +var38 = varonce37; +} else { +var39 = ""; +var40 = core__flat___NativeString___to_s_full(var39, 6l, 6l); +var38 = var40; +varonce37 = var38; +} +var36 = var38; +} +{ +var41 = ((val*(*)(val* self))((((long)var36&3)?class_info[((long)var36&3)]:var36->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var36); /* to_s on */ +} +((struct instance_core__NativeArray*)var29)->values[2]=var41; +{ +var42 = ((val*(*)(val* self))(var29->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var29); /* native_to_s on */ +} +varonce28 = var29; +{ +((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var42); /* append on */ +} +{ +((void(*)(val* self))((((long)var_i&3)?class_info[((long)var_i&3)]:var_i->class)->vft[COLOR_core__abstract_collection__MapIterator__next]))(var_i); /* next on */ +} +} else { +goto BREAK_label; +} +} +BREAK_label: (void)0; +{ +var43 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_s); /* to_s on */ +} +var = var43; +goto RET_LABEL; +RET_LABEL:; +return var; +}