Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / core__flat.sep.2.c
1 #include "core__flat.sep.0.h"
2 /* method flat$FlatBufferCharIterator$target for (self: FlatBufferCharIterator): FlatBuffer */
3 val* core__flat___core__flat__FlatBufferCharIterator___target(val* self) {
4 val* var /* : FlatBuffer */;
5 val* var1 /* : FlatBuffer */;
6 var1 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___target].val; /* _target on <self:FlatBufferCharIterator> */
7 if (unlikely(var1 == NULL)) {
8 if(catchStack.cursor >= 0){
9 longjmp(catchStack.envs[catchStack.cursor], 1);
10 }
11 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
12 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1292);
13 fatal_exit(1);
14 }
15 var = var1;
16 RET_LABEL:;
17 return var;
18 }
19 /* method flat$FlatBufferCharIterator$target= for (self: FlatBufferCharIterator, FlatBuffer) */
20 void core__flat___core__flat__FlatBufferCharIterator___target_61d(val* self, val* p0) {
21 self->attrs[COLOR_core__flat__FlatBufferCharIterator___target].val = p0; /* _target on <self:FlatBufferCharIterator> */
22 RET_LABEL:;
23 }
24 /* method flat$FlatBufferCharIterator$max for (self: FlatBufferCharIterator): Int */
25 long core__flat___core__flat__FlatBufferCharIterator___max(val* self) {
26 long var /* : Int */;
27 long var1 /* : Int */;
28 var1 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___max].l; /* _max on <self:FlatBufferCharIterator> */
29 var = var1;
30 RET_LABEL:;
31 return var;
32 }
33 /* method flat$FlatBufferCharIterator$max= for (self: FlatBufferCharIterator, Int) */
34 void core__flat___core__flat__FlatBufferCharIterator___max_61d(val* self, long p0) {
35 self->attrs[COLOR_core__flat__FlatBufferCharIterator___max].l = p0; /* _max on <self:FlatBufferCharIterator> */
36 RET_LABEL:;
37 }
38 /* method flat$FlatBufferCharIterator$curr_pos for (self: FlatBufferCharIterator): Int */
39 long core__flat___core__flat__FlatBufferCharIterator___curr_pos(val* self) {
40 long var /* : Int */;
41 long var1 /* : Int */;
42 var1 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharIterator> */
43 var = var1;
44 RET_LABEL:;
45 return var;
46 }
47 /* method flat$FlatBufferCharIterator$curr_pos= for (self: FlatBufferCharIterator, Int) */
48 void core__flat___core__flat__FlatBufferCharIterator___curr_pos_61d(val* self, long p0) {
49 self->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l = p0; /* _curr_pos on <self:FlatBufferCharIterator> */
50 RET_LABEL:;
51 }
52 /* method flat$FlatBufferCharIterator$init for (self: FlatBufferCharIterator) */
53 void core__flat___core__flat__FlatBufferCharIterator___core__kernel__Object__init(val* self) {
54 val* var /* : FlatBuffer */;
55 val* var2 /* : FlatBuffer */;
56 long var3 /* : Int */;
57 long var4 /* : Int */;
58 short int var6 /* : Bool */;
59 int cltype;
60 int idtype;
61 const char* var_class_name;
62 long var7 /* : Int */;
63 {
64 ((void(*)(val* self))(self->class->vft[COLOR_core__flat___core__flat__FlatBufferCharIterator___core__kernel__Object__init]))(self); /* init on <self:FlatBufferCharIterator>*/
65 }
66 {
67 { /* Inline flat$FlatBufferCharIterator$target (self) on <self:FlatBufferCharIterator> */
68 var2 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___target].val; /* _target on <self:FlatBufferCharIterator> */
69 if (unlikely(var2 == NULL)) {
70 if(catchStack.cursor >= 0){
71 longjmp(catchStack.envs[catchStack.cursor], 1);
72 }
73 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
74 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1292);
75 fatal_exit(1);
76 }
77 var = var2;
78 RET_LABEL1:(void)0;
79 }
80 }
81 var3 = var->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <var:FlatBuffer> */
82 {
83 { /* Inline kernel$Int$- (var3,1l) on <var3:Int> */
84 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
85 /* <1l:Int> isa OTHER */
86 var6 = 1; /* easy <1l:Int> isa OTHER*/
87 if (unlikely(!var6)) {
88 var_class_name = type_core__Int.name;
89 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
90 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
91 fatal_exit(1);
92 }
93 var7 = var3 - 1l;
94 var4 = var7;
95 goto RET_LABEL5;
96 RET_LABEL5:(void)0;
97 }
98 }
99 {
100 { /* Inline flat$FlatBufferCharIterator$max= (self,var4) on <self:FlatBufferCharIterator> */
101 self->attrs[COLOR_core__flat__FlatBufferCharIterator___max].l = var4; /* _max on <self:FlatBufferCharIterator> */
102 RET_LABEL8:(void)0;
103 }
104 }
105 RET_LABEL:;
106 }
107 /* method flat$FlatBufferCharIterator$index for (self: FlatBufferCharIterator): Int */
108 long core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__IndexedIterator__index(val* self) {
109 long var /* : Int */;
110 long var1 /* : Int */;
111 long var3 /* : Int */;
112 {
113 { /* Inline flat$FlatBufferCharIterator$curr_pos (self) on <self:FlatBufferCharIterator> */
114 var3 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharIterator> */
115 var1 = var3;
116 RET_LABEL2:(void)0;
117 }
118 }
119 var = var1;
120 goto RET_LABEL;
121 RET_LABEL:;
122 return var;
123 }
124 /* method flat$FlatBufferCharIterator$is_ok for (self: FlatBufferCharIterator): Bool */
125 short int core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__Iterator__is_ok(val* self) {
126 short int var /* : Bool */;
127 long var1 /* : Int */;
128 long var3 /* : Int */;
129 long var4 /* : Int */;
130 long var6 /* : Int */;
131 short int var7 /* : Bool */;
132 short int var9 /* : Bool */;
133 int cltype;
134 int idtype;
135 const char* var_class_name;
136 short int var10 /* : Bool */;
137 {
138 { /* Inline flat$FlatBufferCharIterator$curr_pos (self) on <self:FlatBufferCharIterator> */
139 var3 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharIterator> */
140 var1 = var3;
141 RET_LABEL2:(void)0;
142 }
143 }
144 {
145 { /* Inline flat$FlatBufferCharIterator$max (self) on <self:FlatBufferCharIterator> */
146 var6 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___max].l; /* _max on <self:FlatBufferCharIterator> */
147 var4 = var6;
148 RET_LABEL5:(void)0;
149 }
150 }
151 {
152 { /* Inline kernel$Int$<= (var1,var4) on <var1:Int> */
153 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
154 /* <var4:Int> isa OTHER */
155 var9 = 1; /* easy <var4:Int> isa OTHER*/
156 if (unlikely(!var9)) {
157 var_class_name = type_core__Int.name;
158 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
159 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
160 fatal_exit(1);
161 }
162 var10 = var1 <= var4;
163 var7 = var10;
164 goto RET_LABEL8;
165 RET_LABEL8:(void)0;
166 }
167 }
168 var = var7;
169 goto RET_LABEL;
170 RET_LABEL:;
171 return var;
172 }
173 /* method flat$FlatBufferCharIterator$item for (self: FlatBufferCharIterator): Char */
174 uint32_t core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__Iterator__item(val* self) {
175 uint32_t var /* : Char */;
176 val* var1 /* : FlatBuffer */;
177 val* var3 /* : FlatBuffer */;
178 long var4 /* : Int */;
179 long var6 /* : Int */;
180 uint32_t var7 /* : Char */;
181 {
182 { /* Inline flat$FlatBufferCharIterator$target (self) on <self:FlatBufferCharIterator> */
183 var3 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___target].val; /* _target on <self:FlatBufferCharIterator> */
184 if (unlikely(var3 == NULL)) {
185 if(catchStack.cursor >= 0){
186 longjmp(catchStack.envs[catchStack.cursor], 1);
187 }
188 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
189 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1292);
190 fatal_exit(1);
191 }
192 var1 = var3;
193 RET_LABEL2:(void)0;
194 }
195 }
196 {
197 { /* Inline flat$FlatBufferCharIterator$curr_pos (self) on <self:FlatBufferCharIterator> */
198 var6 = self->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharIterator> */
199 var4 = var6;
200 RET_LABEL5:(void)0;
201 }
202 }
203 {
204 var7 = core__flat___FlatText___core__abstract_text__Text___91d_93d(var1, var4);
205 }
206 var = var7;
207 goto RET_LABEL;
208 RET_LABEL:;
209 return var;
210 }
211 /* method flat$FlatBufferCharIterator$item for (self: Iterator[nullable Object]): nullable Object */
212 val* VIRTUAL_core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__Iterator__item(val* self) {
213 val* var /* : nullable Object */;
214 uint32_t var1 /* : Char */;
215 val* var2 /* : nullable Object */;
216 var1 = core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__Iterator__item(self);
217 var2 = (val*)((long)(var1)<<2|2);
218 var = var2;
219 RET_LABEL:;
220 return var;
221 }
222 /* method flat$FlatBufferCharIterator$next for (self: FlatBufferCharIterator) */
223 void core__flat___core__flat__FlatBufferCharIterator___core__abstract_collection__Iterator__next(val* self) {
224 val* var_ /* var : FlatBufferCharIterator */;
225 long var /* : Int */;
226 long var2 /* : Int */;
227 long var3 /* : Int */;
228 short int var5 /* : Bool */;
229 int cltype;
230 int idtype;
231 const char* var_class_name;
232 long var6 /* : Int */;
233 var_ = self;
234 {
235 { /* Inline flat$FlatBufferCharIterator$curr_pos (var_) on <var_:FlatBufferCharIterator> */
236 var2 = var_->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l; /* _curr_pos on <var_:FlatBufferCharIterator> */
237 var = var2;
238 RET_LABEL1:(void)0;
239 }
240 }
241 {
242 { /* Inline kernel$Int$+ (var,1l) on <var:Int> */
243 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
244 /* <1l:Int> isa OTHER */
245 var5 = 1; /* easy <1l:Int> isa OTHER*/
246 if (unlikely(!var5)) {
247 var_class_name = type_core__Int.name;
248 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
249 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
250 fatal_exit(1);
251 }
252 var6 = var + 1l;
253 var3 = var6;
254 goto RET_LABEL4;
255 RET_LABEL4:(void)0;
256 }
257 }
258 {
259 { /* Inline flat$FlatBufferCharIterator$curr_pos= (var_,var3) on <var_:FlatBufferCharIterator> */
260 var_->attrs[COLOR_core__flat__FlatBufferCharIterator___curr_pos].l = var3; /* _curr_pos on <var_:FlatBufferCharIterator> */
261 RET_LABEL7:(void)0;
262 }
263 }
264 RET_LABEL:;
265 }
266 /* method flat$CString$to_s for (self: CString): String */
267 val* core__flat___CString___core__abstract_text__Object__to_s(char* self) {
268 val* var /* : String */;
269 val* var1 /* : String */;
270 {
271 var1 = core__flat___CString___to_s_unsafe(self, ((val*)NULL), ((val*)NULL), ((val*)NULL), ((val*)NULL));
272 }
273 var = var1;
274 goto RET_LABEL;
275 RET_LABEL:;
276 return var;
277 }
278 /* method flat$CString$to_s for (self: Object): String */
279 val* VIRTUAL_core__flat___CString___core__abstract_text__Object__to_s(val* self) {
280 val* var /* : String */;
281 val* var1 /* : String */;
282 char* var2 /* : CString */;
283 var2 = ((struct instance_core__CString*)self)->value; /* autounbox from Object to CString */;
284 var1 = core__flat___CString___core__abstract_text__Object__to_s(var2);
285 var = var1;
286 RET_LABEL:;
287 return var;
288 }
289 /* method flat$CString$to_s_unsafe for (self: CString, nullable Int, nullable Int, nullable Bool, nullable Bool): String */
290 val* core__flat___CString___to_s_unsafe(char* self, val* p0, val* p1, val* p2, val* p3) {
291 val* var /* : String */;
292 val* var_byte_length /* var byte_length: nullable Int */;
293 val* var_char_length /* var char_length: nullable Int */;
294 val* var_copy /* var copy: nullable Bool */;
295 val* var_clean /* var clean: nullable Bool */;
296 long var1 /* : Int */;
297 long var2 /* : Int */;
298 long var3 /* : Int */;
299 val* var4 /* : nullable Int */;
300 short int var5 /* : Bool */;
301 short int var6 /* : Bool */;
302 val* var7 /* : nullable Bool */;
303 short int var8 /* : Bool */;
304 short int var9 /* : Bool */;
305 val* var10 /* : nullable Bool */;
306 val* var_str /* var str: nullable Object */;
307 short int var11 /* : Bool */;
308 val* var12 /* : FlatString */;
309 long var13 /* : Int */;
310 long var14 /* : Int */;
311 long var16 /* : Int */;
312 val* var17 /* : nullable Int */;
313 long var18 /* : Int */;
314 long var19 /* : Int */;
315 long var20 /* : Int */;
316 long var22 /* : Int */;
317 long var_from /* var from: Int */;
318 long var_byte_length23 /* var byte_length: Int */;
319 long var_st /* var st: Int */;
320 long var_ln /* var ln: Int */;
321 short int var24 /* : Bool */;
322 short int var26 /* : Bool */;
323 int cltype;
324 int idtype;
325 const char* var_class_name;
326 short int var27 /* : Bool */;
327 short int var28 /* : Bool */;
328 short int var30 /* : Bool */;
329 int cltype31;
330 int idtype32;
331 const char* var_class_name33;
332 short int var34 /* : Bool */;
333 uint32_t var35 /* : UInt32 */;
334 uint32_t var37 /* : UInt32 */;
335 uint32_t var_i /* var i: UInt32 */;
336 uint32_t var38 /* : UInt32 */;
337 uint32_t var40 /* : UInt32 */;
338 short int var41 /* : Bool */;
339 short int var43 /* : Bool */;
340 short int var44 /* : Bool */;
341 long var45 /* : Int */;
342 short int var47 /* : Bool */;
343 int cltype48;
344 int idtype49;
345 const char* var_class_name50;
346 long var51 /* : Int */;
347 long var52 /* : Int */;
348 short int var54 /* : Bool */;
349 int cltype55;
350 int idtype56;
351 const char* var_class_name57;
352 long var58 /* : Int */;
353 long var59 /* : Int */;
354 short int var61 /* : Bool */;
355 int cltype62;
356 int idtype63;
357 const char* var_class_name64;
358 long var65 /* : Int */;
359 short int var66 /* : Bool */;
360 short int var68 /* : Bool */;
361 long var70 /* : Int */;
362 long var_cln /* var cln: Int */;
363 long var71 /* : Int */;
364 short int var73 /* : Bool */;
365 int cltype74;
366 int idtype75;
367 const char* var_class_name76;
368 long var77 /* : Int */;
369 long var78 /* : Int */;
370 short int var80 /* : Bool */;
371 int cltype81;
372 int idtype82;
373 const char* var_class_name83;
374 long var84 /* : Int */;
375 long var85 /* : Int */;
376 short int var87 /* : Bool */;
377 int cltype88;
378 int idtype89;
379 const char* var_class_name90;
380 long var91 /* : Int */;
381 val* var92 /* : nullable Int */;
382 short int var93 /* : Bool */;
383 short int var94 /* : Bool */;
384 short int var_ /* var : Bool */;
385 short int var95 /* : Bool */;
386 short int var96 /* : Bool */;
387 short int var97 /* : Bool */;
388 short int var_98 /* var : Bool */;
389 char* var99 /* : CString */;
390 char* var101 /* : CString */;
391 short int var102 /* : Bool */;
392 short int var104 /* : Bool */;
393 static char* varoncenew;
394 static int varoncenew_guard;
395 char* var105 /* : CString */;
396 char* var106 /* : CString */;
397 long var107 /* : Int */;
398 short int var109 /* : Bool */;
399 int cltype110;
400 int idtype111;
401 const char* var_class_name112;
402 long var113 /* : Int */;
403 long var114 /* : Int */;
404 char* var115 /* : CString */;
405 char* var117 /* : CString */;
406 char* var_new_cstr /* var new_cstr: CString */;
407 long var119 /* : Int */;
408 long var121 /* : Int */;
409 static val* varoncenew122;
410 static int varoncenew122_guard;
411 val* var123 /* : FlatString */;
412 val* var124 /* : FlatString */;
413 val* var125 /* : FlatString */;
414 long var126 /* : Int */;
415 long var127 /* : Int */;
416 short int var128 /* : Bool */;
417 short int var129 /* : Bool */;
418 static val* varoncenew130;
419 static int varoncenew130_guard;
420 val* var131 /* : FlatString */;
421 val* var132 /* : FlatString */;
422 val* var133 /* : FlatString */;
423 long var134 /* : Int */;
424 long var135 /* : Int */;
425 var_byte_length = p0;
426 var_char_length = p1;
427 var_copy = p2;
428 var_clean = p3;
429 if (var_byte_length!=NULL) {
430 var2 = (long)(var_byte_length)>>2;
431 var1 = var2;
432 } else {
433 {
434 var3 = core___core__CString___cstring_length(self);
435 }
436 var1 = var3;
437 }
438 var4 = (val*)(var1<<2|1);
439 var_byte_length = var4;
440 if (var_clean!=NULL) {
441 var6 = (short int)((long)(var_clean)>>2);
442 var5 = var6;
443 } else {
444 var5 = 1;
445 }
446 var7 = (val*)((long)(var5)<<2|3);
447 var_clean = var7;
448 if (var_copy!=NULL) {
449 var9 = (short int)((long)(var_copy)>>2);
450 var8 = var9;
451 } else {
452 var8 = 1;
453 }
454 var10 = (val*)((long)(var8)<<2|3);
455 var_copy = var10;
456 var_str = ((val*)NULL);
457 var11 = (short int)((long)(var_clean)>>2);
458 if (var11){
459 {
460 var13 = (long)(var_byte_length)>>2;
461 var12 = core__flat___CString___clean_utf8(self, var13);
462 }
463 var_str = var12;
464 {
465 { /* Inline abstract_text$FlatText$length (var_str) on <var_str:nullable Object(FlatString)> */
466 var16 = var_str->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <var_str:nullable Object(FlatString)> */
467 var14 = var16;
468 RET_LABEL15:(void)0;
469 }
470 }
471 var17 = (val*)(var14<<2|1);
472 var_char_length = var17;
473 } else {
474 if (var_char_length!=NULL) {
475 var19 = (long)(var_char_length)>>2;
476 var18 = var19;
477 } else {
478 {
479 { /* Inline native$CString$utf8_length (self,0l,var_byte_length) on <self:CString> */
480 var22 = (long)(var_byte_length)>>2;
481 var_from = 0l;
482 var_byte_length23 = var22;
483 var_st = var_from;
484 var_ln = 0l;
485 for(;;) {
486 {
487 { /* Inline kernel$Int$> (var_byte_length23,0l) on <var_byte_length23:Int> */
488 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
489 /* <0l:Int> isa OTHER */
490 var26 = 1; /* easy <0l:Int> isa OTHER*/
491 if (unlikely(!var26)) {
492 var_class_name = type_core__Int.name;
493 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
494 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
495 fatal_exit(1);
496 }
497 var27 = var_byte_length23 > 0l;
498 var24 = var27;
499 goto RET_LABEL25;
500 RET_LABEL25:(void)0;
501 }
502 }
503 if (var24){
504 for(;;) {
505 {
506 { /* Inline kernel$Int$>= (var_byte_length23,4l) on <var_byte_length23:Int> */
507 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
508 /* <4l:Int> isa OTHER */
509 var30 = 1; /* easy <4l:Int> isa OTHER*/
510 if (unlikely(!var30)) {
511 var_class_name33 = type_core__Int.name;
512 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
513 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
514 fatal_exit(1);
515 }
516 var34 = var_byte_length23 >= 4l;
517 var28 = var34;
518 goto RET_LABEL29;
519 RET_LABEL29:(void)0;
520 }
521 }
522 if (var28){
523 {
524 { /* Inline native$CString$fetch_4_chars (self,var_st) on <self:CString> */
525 var37 = *((uint32_t*)(self + var_st));
526 var35 = var37;
527 goto RET_LABEL36;
528 RET_LABEL36:(void)0;
529 }
530 }
531 var_i = var35;
532 {
533 { /* Inline fixed_ints$UInt32$& (var_i,UINT32_C(2155905152)) on <var_i:UInt32> */
534 var40 = var_i & UINT32_C(2155905152);
535 var38 = var40;
536 goto RET_LABEL39;
537 RET_LABEL39:(void)0;
538 }
539 }
540 {
541 { /* Inline fixed_ints$UInt32$!= (var38,UINT32_C(0)) on <var38:UInt32> */
542 var43 = var38 == UINT32_C(0);
543 var44 = !var43;
544 var41 = var44;
545 goto RET_LABEL42;
546 RET_LABEL42:(void)0;
547 }
548 }
549 if (var41){
550 goto BREAK_label;
551 } else {
552 }
553 {
554 { /* Inline kernel$Int$- (var_byte_length23,4l) on <var_byte_length23:Int> */
555 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
556 /* <4l:Int> isa OTHER */
557 var47 = 1; /* easy <4l:Int> isa OTHER*/
558 if (unlikely(!var47)) {
559 var_class_name50 = type_core__Int.name;
560 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50);
561 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
562 fatal_exit(1);
563 }
564 var51 = var_byte_length23 - 4l;
565 var45 = var51;
566 goto RET_LABEL46;
567 RET_LABEL46:(void)0;
568 }
569 }
570 var_byte_length23 = var45;
571 {
572 { /* Inline kernel$Int$+ (var_st,4l) on <var_st:Int> */
573 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
574 /* <4l:Int> isa OTHER */
575 var54 = 1; /* easy <4l:Int> isa OTHER*/
576 if (unlikely(!var54)) {
577 var_class_name57 = type_core__Int.name;
578 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57);
579 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
580 fatal_exit(1);
581 }
582 var58 = var_st + 4l;
583 var52 = var58;
584 goto RET_LABEL53;
585 RET_LABEL53:(void)0;
586 }
587 }
588 var_st = var52;
589 {
590 { /* Inline kernel$Int$+ (var_ln,4l) on <var_ln:Int> */
591 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
592 /* <4l:Int> isa OTHER */
593 var61 = 1; /* easy <4l:Int> isa OTHER*/
594 if (unlikely(!var61)) {
595 var_class_name64 = type_core__Int.name;
596 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64);
597 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
598 fatal_exit(1);
599 }
600 var65 = var_ln + 4l;
601 var59 = var65;
602 goto RET_LABEL60;
603 RET_LABEL60:(void)0;
604 }
605 }
606 var_ln = var59;
607 } else {
608 goto BREAK_label;
609 }
610 }
611 BREAK_label: (void)0;
612 {
613 { /* Inline kernel$Int$== (var_byte_length23,0l) on <var_byte_length23:Int> */
614 var68 = var_byte_length23 == 0l;
615 var66 = var68;
616 goto RET_LABEL67;
617 RET_LABEL67:(void)0;
618 }
619 }
620 if (var66){
621 goto BREAK_label69;
622 } else {
623 }
624 {
625 var70 = core___core__CString___length_of_char_at(self, var_st);
626 }
627 var_cln = var70;
628 {
629 { /* Inline kernel$Int$+ (var_st,var_cln) on <var_st:Int> */
630 /* Covariant cast for argument 0 (i) <var_cln:Int> isa OTHER */
631 /* <var_cln:Int> isa OTHER */
632 var73 = 1; /* easy <var_cln:Int> isa OTHER*/
633 if (unlikely(!var73)) {
634 var_class_name76 = type_core__Int.name;
635 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76);
636 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
637 fatal_exit(1);
638 }
639 var77 = var_st + var_cln;
640 var71 = var77;
641 goto RET_LABEL72;
642 RET_LABEL72:(void)0;
643 }
644 }
645 var_st = var71;
646 {
647 { /* Inline kernel$Int$+ (var_ln,1l) on <var_ln:Int> */
648 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
649 /* <1l:Int> isa OTHER */
650 var80 = 1; /* easy <1l:Int> isa OTHER*/
651 if (unlikely(!var80)) {
652 var_class_name83 = type_core__Int.name;
653 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name83);
654 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
655 fatal_exit(1);
656 }
657 var84 = var_ln + 1l;
658 var78 = var84;
659 goto RET_LABEL79;
660 RET_LABEL79:(void)0;
661 }
662 }
663 var_ln = var78;
664 {
665 { /* Inline kernel$Int$- (var_byte_length23,var_cln) on <var_byte_length23:Int> */
666 /* Covariant cast for argument 0 (i) <var_cln:Int> isa OTHER */
667 /* <var_cln:Int> isa OTHER */
668 var87 = 1; /* easy <var_cln:Int> isa OTHER*/
669 if (unlikely(!var87)) {
670 var_class_name90 = type_core__Int.name;
671 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90);
672 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
673 fatal_exit(1);
674 }
675 var91 = var_byte_length23 - var_cln;
676 var85 = var91;
677 goto RET_LABEL86;
678 RET_LABEL86:(void)0;
679 }
680 }
681 var_byte_length23 = var85;
682 } else {
683 goto BREAK_label69;
684 }
685 }
686 BREAK_label69: (void)0;
687 var20 = var_ln;
688 goto RET_LABEL21;
689 RET_LABEL21:(void)0;
690 }
691 }
692 var18 = var20;
693 }
694 var92 = (val*)(var18<<2|1);
695 var_char_length = var92;
696 }
697 var94 = (short int)((long)(var_copy)>>2);
698 var_ = var94;
699 if (var94){
700 if (var_str == NULL) {
701 var96 = 1; /* is null */
702 } else {
703 var96 = 0; /* arg is null but recv is not */
704 }
705 if (0) {
706 var97 = core___core__FlatString___core__kernel__Object___61d_61d(var_str, ((val*)NULL));
707 var96 = var97;
708 }
709 var_98 = var96;
710 if (var96){
711 var95 = var_98;
712 } else {
713 {
714 { /* Inline abstract_text$FlatText$items (var_str) on <var_str:nullable Object(FlatString)> */
715 var101 = var_str->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_str:nullable Object(FlatString)> */
716 var99 = var101;
717 RET_LABEL100:(void)0;
718 }
719 }
720 {
721 { /* Inline native$CString$== (var99,self) on <var99:CString> */
722 var104 = var99 == self;
723 var102 = var104;
724 goto RET_LABEL103;
725 RET_LABEL103:(void)0;
726 }
727 }
728 var95 = var102;
729 }
730 var93 = var95;
731 } else {
732 var93 = var_;
733 }
734 if (var93){
735 if (likely(varoncenew_guard)) {
736 var105 = varoncenew;
737 } else {
738 var106 = NULL/*special!*/;
739 var105 = var106;
740 varoncenew = var105;
741 varoncenew_guard = 1;
742 }
743 {
744 { /* Inline kernel$Int$+ (var_byte_length,1l) on <var_byte_length:nullable Int(Int)> */
745 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
746 /* <1l:Int> isa OTHER */
747 var109 = 1; /* easy <1l:Int> isa OTHER*/
748 if (unlikely(!var109)) {
749 var_class_name112 = type_core__Int.name;
750 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name112);
751 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
752 fatal_exit(1);
753 }
754 var113 = (long)(var_byte_length)>>2;
755 var114 = var113 + 1l;
756 var107 = var114;
757 goto RET_LABEL108;
758 RET_LABEL108:(void)0;
759 }
760 }
761 {
762 { /* Inline native$CString$new (var105,var107) on <var105:CString> */
763 var117 = (char*)nit_alloc(var107);
764 var115 = var117;
765 goto RET_LABEL116;
766 RET_LABEL116:(void)0;
767 }
768 }
769 var_new_cstr = var115;
770 {
771 { /* Inline native$CString$copy_to (self,var_new_cstr,var_byte_length,0l,0l) on <self:CString> */
772 var119 = (long)(var_byte_length)>>2;
773 memmove(var_new_cstr+0l,self+0l,var119);
774 RET_LABEL118:(void)0;
775 }
776 }
777 {
778 { /* Inline native$CString$[]= (var_new_cstr,var_byte_length,((unsigned char)0x00)) on <var_new_cstr:CString> */
779 var121 = (long)(var_byte_length)>>2;
780 var_new_cstr[var121]=(unsigned char)((unsigned char)0x00);
781 RET_LABEL120:(void)0;
782 }
783 }
784 if (likely(varoncenew122_guard)) {
785 var123 = varoncenew122;
786 } else {
787 var124 = NEW_core__FlatString(&type_core__FlatString);
788 var123 = var124;
789 varoncenew122 = var123;
790 varoncenew122_guard = 1;
791 }
792 {
793 var126 = (long)(var_byte_length)>>2;
794 var127 = (long)(var_char_length)>>2;
795 var125 = core___core__FlatString___full(var123, var_new_cstr, var126, 0l, var127);
796 }
797 var_str = var125;
798 } else {
799 }
800 if (var_str == NULL) {
801 var128 = 1; /* is null */
802 } else {
803 var128 = 0; /* arg is null but recv is not */
804 }
805 if (0) {
806 var129 = core___core__FlatString___core__kernel__Object___61d_61d(var_str, ((val*)NULL));
807 var128 = var129;
808 }
809 if (var128){
810 if (likely(varoncenew130_guard)) {
811 var131 = varoncenew130;
812 } else {
813 var132 = NEW_core__FlatString(&type_core__FlatString);
814 var131 = var132;
815 varoncenew130 = var131;
816 varoncenew130_guard = 1;
817 }
818 {
819 var134 = (long)(var_byte_length)>>2;
820 var135 = (long)(var_char_length)>>2;
821 var133 = core___core__FlatString___full(var131, self, var134, 0l, var135);
822 }
823 var_str = var133;
824 } else {
825 }
826 var = var_str;
827 goto RET_LABEL;
828 RET_LABEL:;
829 return var;
830 }
831 /* method flat$CString$clean_utf8 for (self: CString, Int): FlatString */
832 val* core__flat___CString___clean_utf8(char* self, long p0) {
833 val* var /* : FlatString */;
834 long var_len /* var len: Int */;
835 val* var_replacements /* var replacements: nullable Array[Int] */;
836 long var_end_length /* var end_length: Int */;
837 long var_pos /* var pos: Int */;
838 long var_chr_ln /* var chr_ln: Int */;
839 long var_rem /* var rem: Int */;
840 short int var1 /* : Bool */;
841 short int var3 /* : Bool */;
842 int cltype;
843 int idtype;
844 const char* var_class_name;
845 short int var4 /* : Bool */;
846 short int var5 /* : Bool */;
847 short int var7 /* : Bool */;
848 int cltype8;
849 int idtype9;
850 const char* var_class_name10;
851 short int var11 /* : Bool */;
852 uint32_t var12 /* : UInt32 */;
853 uint32_t var14 /* : UInt32 */;
854 uint32_t var_i /* var i: UInt32 */;
855 uint32_t var15 /* : UInt32 */;
856 uint32_t var17 /* : UInt32 */;
857 short int var18 /* : Bool */;
858 short int var20 /* : Bool */;
859 short int var21 /* : Bool */;
860 long var22 /* : Int */;
861 short int var24 /* : Bool */;
862 int cltype25;
863 int idtype26;
864 const char* var_class_name27;
865 long var28 /* : Int */;
866 long var29 /* : Int */;
867 short int var31 /* : Bool */;
868 int cltype32;
869 int idtype33;
870 const char* var_class_name34;
871 long var35 /* : Int */;
872 long var36 /* : Int */;
873 short int var38 /* : Bool */;
874 int cltype39;
875 int idtype40;
876 const char* var_class_name41;
877 long var42 /* : Int */;
878 short int var43 /* : Bool */;
879 short int var45 /* : Bool */;
880 unsigned char var47 /* : Byte */;
881 unsigned char var49 /* : Byte */;
882 unsigned char var_b /* var b: Byte */;
883 unsigned char var50 /* : Byte */;
884 unsigned char var52 /* : Byte */;
885 short int var53 /* : Bool */;
886 short int var55 /* : Bool */;
887 long var56 /* : Int */;
888 short int var58 /* : Bool */;
889 int cltype59;
890 int idtype60;
891 const char* var_class_name61;
892 long var62 /* : Int */;
893 long var63 /* : Int */;
894 short int var65 /* : Bool */;
895 int cltype66;
896 int idtype67;
897 const char* var_class_name68;
898 long var69 /* : Int */;
899 long var70 /* : Int */;
900 short int var72 /* : Bool */;
901 int cltype73;
902 int idtype74;
903 const char* var_class_name75;
904 long var76 /* : Int */;
905 long var78 /* : Int */;
906 long var_nxst /* var nxst: Int */;
907 short int var79 /* : Bool */;
908 short int var81 /* : Bool */;
909 unsigned char var82 /* : Byte */;
910 unsigned char var84 /* : Byte */;
911 short int var85 /* : Bool */;
912 short int var87 /* : Bool */;
913 short int var_ok_st /* var ok_st: Bool */;
914 short int var88 /* : Bool */;
915 short int var90 /* : Bool */;
916 unsigned char var91 /* : Byte */;
917 unsigned char var93 /* : Byte */;
918 short int var94 /* : Bool */;
919 short int var96 /* : Bool */;
920 short int var97 /* : Bool */;
921 short int var99 /* : Bool */;
922 unsigned char var100 /* : Byte */;
923 unsigned char var102 /* : Byte */;
924 short int var103 /* : Bool */;
925 short int var105 /* : Bool */;
926 unsigned char var106 /* : Byte */;
927 unsigned char var108 /* : Byte */;
928 short int var109 /* : Bool */;
929 short int var111 /* : Bool */;
930 short int var112 /* : Bool */;
931 short int var113 /* : Bool */;
932 short int var114 /* : Bool */;
933 val* var115 /* : Array[Int] */;
934 val* var116 /* : nullable Object */;
935 long var117 /* : Int */;
936 short int var119 /* : Bool */;
937 int cltype120;
938 int idtype121;
939 const char* var_class_name122;
940 long var123 /* : Int */;
941 long var124 /* : Int */;
942 short int var126 /* : Bool */;
943 int cltype127;
944 int idtype128;
945 const char* var_class_name129;
946 long var130 /* : Int */;
947 long var131 /* : Int */;
948 short int var133 /* : Bool */;
949 int cltype134;
950 int idtype135;
951 const char* var_class_name136;
952 long var137 /* : Int */;
953 long var138 /* : Int */;
954 short int var140 /* : Bool */;
955 int cltype141;
956 int idtype142;
957 const char* var_class_name143;
958 long var144 /* : Int */;
959 uint32_t var145 /* : Char */;
960 uint32_t var_c /* var c: Char */;
961 long var146 /* : Int */;
962 long var148 /* : Int */;
963 long var_cp /* var cp: Int */;
964 short int var149 /* : Bool */;
965 short int var151 /* : Bool */;
966 short int var152 /* : Bool */;
967 short int var153 /* : Bool */;
968 short int var155 /* : Bool */;
969 int cltype156;
970 int idtype157;
971 const char* var_class_name158;
972 short int var159 /* : Bool */;
973 short int var_ /* var : Bool */;
974 short int var160 /* : Bool */;
975 short int var162 /* : Bool */;
976 int cltype163;
977 int idtype164;
978 const char* var_class_name165;
979 short int var166 /* : Bool */;
980 short int var_ok_c /* var ok_c: Bool */;
981 short int var167 /* : Bool */;
982 short int var169 /* : Bool */;
983 short int var170 /* : Bool */;
984 short int var171 /* : Bool */;
985 short int var173 /* : Bool */;
986 int cltype174;
987 int idtype175;
988 const char* var_class_name176;
989 short int var177 /* : Bool */;
990 short int var_178 /* var : Bool */;
991 short int var179 /* : Bool */;
992 short int var181 /* : Bool */;
993 int cltype182;
994 int idtype183;
995 const char* var_class_name184;
996 short int var185 /* : Bool */;
997 short int var186 /* : Bool */;
998 short int var188 /* : Bool */;
999 short int var189 /* : Bool */;
1000 short int var190 /* : Bool */;
1001 short int var192 /* : Bool */;
1002 int cltype193;
1003 int idtype194;
1004 const char* var_class_name195;
1005 short int var196 /* : Bool */;
1006 short int var_197 /* var : Bool */;
1007 short int var198 /* : Bool */;
1008 short int var200 /* : Bool */;
1009 int cltype201;
1010 int idtype202;
1011 const char* var_class_name203;
1012 short int var204 /* : Bool */;
1013 short int var205 /* : Bool */;
1014 short int var206 /* : Bool */;
1015 short int var207 /* : Bool */;
1016 short int var_208 /* var : Bool */;
1017 short int var209 /* : Bool */;
1018 short int var210 /* : Bool */;
1019 short int var212 /* : Bool */;
1020 int cltype213;
1021 int idtype214;
1022 const char* var_class_name215;
1023 short int var216 /* : Bool */;
1024 short int var_217 /* var : Bool */;
1025 short int var218 /* : Bool */;
1026 short int var220 /* : Bool */;
1027 int cltype221;
1028 int idtype222;
1029 const char* var_class_name223;
1030 short int var224 /* : Bool */;
1031 short int var225 /* : Bool */;
1032 short int var_226 /* var : Bool */;
1033 short int var227 /* : Bool */;
1034 short int var229 /* : Bool */;
1035 short int var230 /* : Bool */;
1036 short int var_231 /* var : Bool */;
1037 short int var232 /* : Bool */;
1038 short int var234 /* : Bool */;
1039 short int var235 /* : Bool */;
1040 short int var236 /* : Bool */;
1041 short int var237 /* : Bool */;
1042 short int var239 /* : Bool */;
1043 int cltype240;
1044 int idtype241;
1045 const char* var_class_name242;
1046 short int var243 /* : Bool */;
1047 short int var_244 /* var : Bool */;
1048 short int var245 /* : Bool */;
1049 short int var247 /* : Bool */;
1050 int cltype248;
1051 int idtype249;
1052 const char* var_class_name250;
1053 short int var251 /* : Bool */;
1054 short int var252 /* : Bool */;
1055 short int var253 /* : Bool */;
1056 short int var254 /* : Bool */;
1057 val* var255 /* : Array[Int] */;
1058 val* var256 /* : nullable Object */;
1059 long var257 /* : Int */;
1060 short int var259 /* : Bool */;
1061 int cltype260;
1062 int idtype261;
1063 const char* var_class_name262;
1064 long var263 /* : Int */;
1065 long var264 /* : Int */;
1066 short int var266 /* : Bool */;
1067 int cltype267;
1068 int idtype268;
1069 const char* var_class_name269;
1070 long var270 /* : Int */;
1071 long var271 /* : Int */;
1072 short int var273 /* : Bool */;
1073 int cltype274;
1074 int idtype275;
1075 const char* var_class_name276;
1076 long var277 /* : Int */;
1077 long var278 /* : Int */;
1078 short int var280 /* : Bool */;
1079 int cltype281;
1080 int idtype282;
1081 const char* var_class_name283;
1082 long var284 /* : Int */;
1083 long var285 /* : Int */;
1084 long var_clen /* var clen: Int */;
1085 long var286 /* : Int */;
1086 short int var288 /* : Bool */;
1087 int cltype289;
1088 int idtype290;
1089 const char* var_class_name291;
1090 long var292 /* : Int */;
1091 long var293 /* : Int */;
1092 short int var295 /* : Bool */;
1093 int cltype296;
1094 int idtype297;
1095 const char* var_class_name298;
1096 long var299 /* : Int */;
1097 long var300 /* : Int */;
1098 short int var302 /* : Bool */;
1099 int cltype303;
1100 int idtype304;
1101 const char* var_class_name305;
1102 long var306 /* : Int */;
1103 char* var_ret /* var ret: CString */;
1104 short int var307 /* : Bool */;
1105 short int var309 /* : Bool */;
1106 short int var310 /* : Bool */;
1107 static char* varoncenew;
1108 static int varoncenew_guard;
1109 char* var311 /* : CString */;
1110 char* var312 /* : CString */;
1111 char* var313 /* : CString */;
1112 char* var315 /* : CString */;
1113 long var_old_repl /* var old_repl: Int */;
1114 long var_off /* var off: Int */;
1115 val* var_repls /* var repls: Array[Int] */;
1116 val* var316 /* : nullable NativeArray[nullable Object] */;
1117 val* var318 /* : nullable NativeArray[nullable Object] */;
1118 val* var_r /* var r: NativeArray[Int] */;
1119 long var319 /* : Int */;
1120 long var321 /* : Int */;
1121 long var_imax /* var imax: Int */;
1122 long var_i322 /* var i: Int */;
1123 long var_323 /* var : Int */;
1124 short int var324 /* : Bool */;
1125 short int var326 /* : Bool */;
1126 int cltype327;
1127 int idtype328;
1128 const char* var_class_name329;
1129 short int var330 /* : Bool */;
1130 val* var332 /* : nullable Object */;
1131 val* var334 /* : Object */;
1132 long var335 /* : Int */;
1133 long var_repl_pos /* var repl_pos: Int */;
1134 long var336 /* : Int */;
1135 short int var338 /* : Bool */;
1136 int cltype339;
1137 int idtype340;
1138 const char* var_class_name341;
1139 long var342 /* : Int */;
1140 long var_chkln /* var chkln: Int */;
1141 long var344 /* : Int */;
1142 short int var346 /* : Bool */;
1143 int cltype347;
1144 int idtype348;
1145 const char* var_class_name349;
1146 long var350 /* : Int */;
1147 long var352 /* : Int */;
1148 short int var354 /* : Bool */;
1149 int cltype355;
1150 int idtype356;
1151 const char* var_class_name357;
1152 long var358 /* : Int */;
1153 long var360 /* : Int */;
1154 short int var362 /* : Bool */;
1155 int cltype363;
1156 int idtype364;
1157 const char* var_class_name365;
1158 long var366 /* : Int */;
1159 long var368 /* : Int */;
1160 short int var370 /* : Bool */;
1161 int cltype371;
1162 int idtype372;
1163 const char* var_class_name373;
1164 long var374 /* : Int */;
1165 long var375 /* : Int */;
1166 short int var377 /* : Bool */;
1167 int cltype378;
1168 int idtype379;
1169 const char* var_class_name380;
1170 long var381 /* : Int */;
1171 long var382 /* : Int */;
1172 long var383 /* : Int */;
1173 short int var385 /* : Bool */;
1174 int cltype386;
1175 int idtype387;
1176 const char* var_class_name388;
1177 long var389 /* : Int */;
1178 static val* varoncenew391;
1179 static int varoncenew391_guard;
1180 val* var392 /* : FlatString */;
1181 val* var393 /* : FlatString */;
1182 val* var394 /* : FlatString */;
1183 var_len = p0;
1184 var_replacements = ((val*)NULL);
1185 var_end_length = var_len;
1186 var_pos = 0l;
1187 var_chr_ln = 0l;
1188 var_rem = var_len;
1189 for(;;) {
1190 {
1191 { /* Inline kernel$Int$> (var_rem,0l) on <var_rem:Int> */
1192 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1193 /* <0l:Int> isa OTHER */
1194 var3 = 1; /* easy <0l:Int> isa OTHER*/
1195 if (unlikely(!var3)) {
1196 var_class_name = type_core__Int.name;
1197 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1198 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
1199 fatal_exit(1);
1200 }
1201 var4 = var_rem > 0l;
1202 var1 = var4;
1203 goto RET_LABEL2;
1204 RET_LABEL2:(void)0;
1205 }
1206 }
1207 if (var1){
1208 for(;;) {
1209 {
1210 { /* Inline kernel$Int$>= (var_rem,4l) on <var_rem:Int> */
1211 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1212 /* <4l:Int> isa OTHER */
1213 var7 = 1; /* easy <4l:Int> isa OTHER*/
1214 if (unlikely(!var7)) {
1215 var_class_name10 = type_core__Int.name;
1216 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10);
1217 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
1218 fatal_exit(1);
1219 }
1220 var11 = var_rem >= 4l;
1221 var5 = var11;
1222 goto RET_LABEL6;
1223 RET_LABEL6:(void)0;
1224 }
1225 }
1226 if (var5){
1227 {
1228 { /* Inline native$CString$fetch_4_chars (self,var_pos) on <self:CString> */
1229 var14 = *((uint32_t*)(self + var_pos));
1230 var12 = var14;
1231 goto RET_LABEL13;
1232 RET_LABEL13:(void)0;
1233 }
1234 }
1235 var_i = var12;
1236 {
1237 { /* Inline fixed_ints$UInt32$& (var_i,UINT32_C(2155905152)) on <var_i:UInt32> */
1238 var17 = var_i & UINT32_C(2155905152);
1239 var15 = var17;
1240 goto RET_LABEL16;
1241 RET_LABEL16:(void)0;
1242 }
1243 }
1244 {
1245 { /* Inline fixed_ints$UInt32$!= (var15,UINT32_C(0)) on <var15:UInt32> */
1246 var20 = var15 == UINT32_C(0);
1247 var21 = !var20;
1248 var18 = var21;
1249 goto RET_LABEL19;
1250 RET_LABEL19:(void)0;
1251 }
1252 }
1253 if (var18){
1254 goto BREAK_label;
1255 } else {
1256 }
1257 {
1258 { /* Inline kernel$Int$+ (var_pos,4l) on <var_pos:Int> */
1259 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1260 /* <4l:Int> isa OTHER */
1261 var24 = 1; /* easy <4l:Int> isa OTHER*/
1262 if (unlikely(!var24)) {
1263 var_class_name27 = type_core__Int.name;
1264 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
1265 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1266 fatal_exit(1);
1267 }
1268 var28 = var_pos + 4l;
1269 var22 = var28;
1270 goto RET_LABEL23;
1271 RET_LABEL23:(void)0;
1272 }
1273 }
1274 var_pos = var22;
1275 {
1276 { /* Inline kernel$Int$+ (var_chr_ln,4l) on <var_chr_ln:Int> */
1277 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1278 /* <4l:Int> isa OTHER */
1279 var31 = 1; /* easy <4l:Int> isa OTHER*/
1280 if (unlikely(!var31)) {
1281 var_class_name34 = type_core__Int.name;
1282 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
1283 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1284 fatal_exit(1);
1285 }
1286 var35 = var_chr_ln + 4l;
1287 var29 = var35;
1288 goto RET_LABEL30;
1289 RET_LABEL30:(void)0;
1290 }
1291 }
1292 var_chr_ln = var29;
1293 {
1294 { /* Inline kernel$Int$- (var_rem,4l) on <var_rem:Int> */
1295 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1296 /* <4l:Int> isa OTHER */
1297 var38 = 1; /* easy <4l:Int> isa OTHER*/
1298 if (unlikely(!var38)) {
1299 var_class_name41 = type_core__Int.name;
1300 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
1301 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1302 fatal_exit(1);
1303 }
1304 var42 = var_rem - 4l;
1305 var36 = var42;
1306 goto RET_LABEL37;
1307 RET_LABEL37:(void)0;
1308 }
1309 }
1310 var_rem = var36;
1311 } else {
1312 goto BREAK_label;
1313 }
1314 }
1315 BREAK_label: (void)0;
1316 {
1317 { /* Inline kernel$Int$== (var_rem,0l) on <var_rem:Int> */
1318 var45 = var_rem == 0l;
1319 var43 = var45;
1320 goto RET_LABEL44;
1321 RET_LABEL44:(void)0;
1322 }
1323 }
1324 if (var43){
1325 goto BREAK_label46;
1326 } else {
1327 }
1328 {
1329 { /* Inline native$CString$[] (self,var_pos) on <self:CString> */
1330 var49 = (unsigned char)((int)self[var_pos]);
1331 var47 = var49;
1332 goto RET_LABEL48;
1333 RET_LABEL48:(void)0;
1334 }
1335 }
1336 var_b = var47;
1337 {
1338 { /* Inline math$Byte$& (var_b,((unsigned char)0x80)) on <var_b:Byte> */
1339 var52 = var_b & ((unsigned char)0x80);
1340 var50 = var52;
1341 goto RET_LABEL51;
1342 RET_LABEL51:(void)0;
1343 }
1344 }
1345 {
1346 { /* Inline kernel$Byte$== (var50,((unsigned char)0x00)) on <var50:Byte> */
1347 var55 = var50 == ((unsigned char)0x00);
1348 var53 = var55;
1349 goto RET_LABEL54;
1350 RET_LABEL54:(void)0;
1351 }
1352 }
1353 if (var53){
1354 {
1355 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
1356 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1357 /* <1l:Int> isa OTHER */
1358 var58 = 1; /* easy <1l:Int> isa OTHER*/
1359 if (unlikely(!var58)) {
1360 var_class_name61 = type_core__Int.name;
1361 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61);
1362 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1363 fatal_exit(1);
1364 }
1365 var62 = var_pos + 1l;
1366 var56 = var62;
1367 goto RET_LABEL57;
1368 RET_LABEL57:(void)0;
1369 }
1370 }
1371 var_pos = var56;
1372 {
1373 { /* Inline kernel$Int$+ (var_chr_ln,1l) on <var_chr_ln:Int> */
1374 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1375 /* <1l:Int> isa OTHER */
1376 var65 = 1; /* easy <1l:Int> isa OTHER*/
1377 if (unlikely(!var65)) {
1378 var_class_name68 = type_core__Int.name;
1379 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68);
1380 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1381 fatal_exit(1);
1382 }
1383 var69 = var_chr_ln + 1l;
1384 var63 = var69;
1385 goto RET_LABEL64;
1386 RET_LABEL64:(void)0;
1387 }
1388 }
1389 var_chr_ln = var63;
1390 {
1391 { /* Inline kernel$Int$- (var_rem,1l) on <var_rem:Int> */
1392 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1393 /* <1l:Int> isa OTHER */
1394 var72 = 1; /* easy <1l:Int> isa OTHER*/
1395 if (unlikely(!var72)) {
1396 var_class_name75 = type_core__Int.name;
1397 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75);
1398 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1399 fatal_exit(1);
1400 }
1401 var76 = var_rem - 1l;
1402 var70 = var76;
1403 goto RET_LABEL71;
1404 RET_LABEL71:(void)0;
1405 }
1406 }
1407 var_rem = var70;
1408 goto BREAK_label77;
1409 } else {
1410 }
1411 {
1412 var78 = core___core__CString___length_of_char_at(self, var_pos);
1413 }
1414 var_nxst = var78;
1415 {
1416 { /* Inline kernel$Int$== (var_nxst,1l) on <var_nxst:Int> */
1417 var81 = var_nxst == 1l;
1418 var79 = var81;
1419 goto RET_LABEL80;
1420 RET_LABEL80:(void)0;
1421 }
1422 }
1423 if (var79){
1424 {
1425 { /* Inline math$Byte$& (var_b,((unsigned char)0x80)) on <var_b:Byte> */
1426 var84 = var_b & ((unsigned char)0x80);
1427 var82 = var84;
1428 goto RET_LABEL83;
1429 RET_LABEL83:(void)0;
1430 }
1431 }
1432 {
1433 { /* Inline kernel$Byte$== (var82,((unsigned char)0x00)) on <var82:Byte> */
1434 var87 = var82 == ((unsigned char)0x00);
1435 var85 = var87;
1436 goto RET_LABEL86;
1437 RET_LABEL86:(void)0;
1438 }
1439 }
1440 var_ok_st = var85;
1441 } else {
1442 {
1443 { /* Inline kernel$Int$== (var_nxst,2l) on <var_nxst:Int> */
1444 var90 = var_nxst == 2l;
1445 var88 = var90;
1446 goto RET_LABEL89;
1447 RET_LABEL89:(void)0;
1448 }
1449 }
1450 if (var88){
1451 {
1452 { /* Inline math$Byte$& (var_b,((unsigned char)0xe0)) on <var_b:Byte> */
1453 var93 = var_b & ((unsigned char)0xe0);
1454 var91 = var93;
1455 goto RET_LABEL92;
1456 RET_LABEL92:(void)0;
1457 }
1458 }
1459 {
1460 { /* Inline kernel$Byte$== (var91,((unsigned char)0xc0)) on <var91:Byte> */
1461 var96 = var91 == ((unsigned char)0xc0);
1462 var94 = var96;
1463 goto RET_LABEL95;
1464 RET_LABEL95:(void)0;
1465 }
1466 }
1467 var_ok_st = var94;
1468 } else {
1469 {
1470 { /* Inline kernel$Int$== (var_nxst,3l) on <var_nxst:Int> */
1471 var99 = var_nxst == 3l;
1472 var97 = var99;
1473 goto RET_LABEL98;
1474 RET_LABEL98:(void)0;
1475 }
1476 }
1477 if (var97){
1478 {
1479 { /* Inline math$Byte$& (var_b,((unsigned char)0xf0)) on <var_b:Byte> */
1480 var102 = var_b & ((unsigned char)0xf0);
1481 var100 = var102;
1482 goto RET_LABEL101;
1483 RET_LABEL101:(void)0;
1484 }
1485 }
1486 {
1487 { /* Inline kernel$Byte$== (var100,((unsigned char)0xe0)) on <var100:Byte> */
1488 var105 = var100 == ((unsigned char)0xe0);
1489 var103 = var105;
1490 goto RET_LABEL104;
1491 RET_LABEL104:(void)0;
1492 }
1493 }
1494 var_ok_st = var103;
1495 } else {
1496 {
1497 { /* Inline math$Byte$& (var_b,((unsigned char)0xf8)) on <var_b:Byte> */
1498 var108 = var_b & ((unsigned char)0xf8);
1499 var106 = var108;
1500 goto RET_LABEL107;
1501 RET_LABEL107:(void)0;
1502 }
1503 }
1504 {
1505 { /* Inline kernel$Byte$== (var106,((unsigned char)0xf0)) on <var106:Byte> */
1506 var111 = var106 == ((unsigned char)0xf0);
1507 var109 = var111;
1508 goto RET_LABEL110;
1509 RET_LABEL110:(void)0;
1510 }
1511 }
1512 var_ok_st = var109;
1513 }
1514 }
1515 }
1516 var112 = !var_ok_st;
1517 if (var112){
1518 if (var_replacements == NULL) {
1519 var113 = 1; /* is null */
1520 } else {
1521 var113 = 0; /* arg is null but recv is not */
1522 }
1523 if (0) {
1524 var114 = core___core__Array___core__kernel__Object___61d_61d(var_replacements, ((val*)NULL));
1525 var113 = var114;
1526 }
1527 if (var113){
1528 var115 = NEW_core__Array(&type_core__Array__core__Int);
1529 {
1530 core___core__Array___core__kernel__Object__init(var115); /* Direct call array$Array$init on <var115:Array[Int]>*/
1531 }
1532 var_replacements = var115;
1533 } else {
1534 }
1535 {
1536 var116 = (val*)(var_pos<<2|1);
1537 core___core__Array___core__abstract_collection__SimpleCollection__add(var_replacements, var116); /* Direct call array$Array$add on <var_replacements:nullable Array[Int](Array[Int])>*/
1538 }
1539 {
1540 { /* Inline kernel$Int$+ (var_end_length,2l) on <var_end_length:Int> */
1541 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1542 /* <2l:Int> isa OTHER */
1543 var119 = 1; /* easy <2l:Int> isa OTHER*/
1544 if (unlikely(!var119)) {
1545 var_class_name122 = type_core__Int.name;
1546 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name122);
1547 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1548 fatal_exit(1);
1549 }
1550 var123 = var_end_length + 2l;
1551 var117 = var123;
1552 goto RET_LABEL118;
1553 RET_LABEL118:(void)0;
1554 }
1555 }
1556 var_end_length = var117;
1557 {
1558 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
1559 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1560 /* <1l:Int> isa OTHER */
1561 var126 = 1; /* easy <1l:Int> isa OTHER*/
1562 if (unlikely(!var126)) {
1563 var_class_name129 = type_core__Int.name;
1564 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name129);
1565 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1566 fatal_exit(1);
1567 }
1568 var130 = var_pos + 1l;
1569 var124 = var130;
1570 goto RET_LABEL125;
1571 RET_LABEL125:(void)0;
1572 }
1573 }
1574 var_pos = var124;
1575 {
1576 { /* Inline kernel$Int$- (var_rem,1l) on <var_rem:Int> */
1577 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1578 /* <1l:Int> isa OTHER */
1579 var133 = 1; /* easy <1l:Int> isa OTHER*/
1580 if (unlikely(!var133)) {
1581 var_class_name136 = type_core__Int.name;
1582 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name136);
1583 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1584 fatal_exit(1);
1585 }
1586 var137 = var_rem - 1l;
1587 var131 = var137;
1588 goto RET_LABEL132;
1589 RET_LABEL132:(void)0;
1590 }
1591 }
1592 var_rem = var131;
1593 {
1594 { /* Inline kernel$Int$+ (var_chr_ln,1l) on <var_chr_ln:Int> */
1595 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1596 /* <1l:Int> isa OTHER */
1597 var140 = 1; /* easy <1l:Int> isa OTHER*/
1598 if (unlikely(!var140)) {
1599 var_class_name143 = type_core__Int.name;
1600 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name143);
1601 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1602 fatal_exit(1);
1603 }
1604 var144 = var_chr_ln + 1l;
1605 var138 = var144;
1606 goto RET_LABEL139;
1607 RET_LABEL139:(void)0;
1608 }
1609 }
1610 var_chr_ln = var138;
1611 goto BREAK_label77;
1612 } else {
1613 }
1614 {
1615 var145 = core___core__CString___char_at(self, var_pos);
1616 }
1617 var_c = var145;
1618 {
1619 { /* Inline kernel$Char$code_point (var_c) on <var_c:Char> */
1620 var148 = (long)var_c;
1621 var146 = var148;
1622 goto RET_LABEL147;
1623 RET_LABEL147:(void)0;
1624 }
1625 }
1626 var_cp = var146;
1627 {
1628 { /* Inline kernel$Int$== (var_nxst,1l) on <var_nxst:Int> */
1629 var151 = var_nxst == 1l;
1630 var149 = var151;
1631 goto RET_LABEL150;
1632 RET_LABEL150:(void)0;
1633 }
1634 }
1635 if (var149){
1636 {
1637 { /* Inline kernel$Int$>= (var_cp,0l) on <var_cp:Int> */
1638 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1639 /* <0l:Int> isa OTHER */
1640 var155 = 1; /* easy <0l:Int> isa OTHER*/
1641 if (unlikely(!var155)) {
1642 var_class_name158 = type_core__Int.name;
1643 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name158);
1644 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
1645 fatal_exit(1);
1646 }
1647 var159 = var_cp >= 0l;
1648 var153 = var159;
1649 goto RET_LABEL154;
1650 RET_LABEL154:(void)0;
1651 }
1652 }
1653 var_ = var153;
1654 if (var153){
1655 {
1656 { /* Inline kernel$Int$<= (var_cp,127l) on <var_cp:Int> */
1657 /* Covariant cast for argument 0 (i) <127l:Int> isa OTHER */
1658 /* <127l:Int> isa OTHER */
1659 var162 = 1; /* easy <127l:Int> isa OTHER*/
1660 if (unlikely(!var162)) {
1661 var_class_name165 = type_core__Int.name;
1662 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name165);
1663 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
1664 fatal_exit(1);
1665 }
1666 var166 = var_cp <= 127l;
1667 var160 = var166;
1668 goto RET_LABEL161;
1669 RET_LABEL161:(void)0;
1670 }
1671 }
1672 var152 = var160;
1673 } else {
1674 var152 = var_;
1675 }
1676 var_ok_c = var152;
1677 } else {
1678 {
1679 { /* Inline kernel$Int$== (var_nxst,2l) on <var_nxst:Int> */
1680 var169 = var_nxst == 2l;
1681 var167 = var169;
1682 goto RET_LABEL168;
1683 RET_LABEL168:(void)0;
1684 }
1685 }
1686 if (var167){
1687 {
1688 { /* Inline kernel$Int$>= (var_cp,128l) on <var_cp:Int> */
1689 /* Covariant cast for argument 0 (i) <128l:Int> isa OTHER */
1690 /* <128l:Int> isa OTHER */
1691 var173 = 1; /* easy <128l:Int> isa OTHER*/
1692 if (unlikely(!var173)) {
1693 var_class_name176 = type_core__Int.name;
1694 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name176);
1695 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
1696 fatal_exit(1);
1697 }
1698 var177 = var_cp >= 128l;
1699 var171 = var177;
1700 goto RET_LABEL172;
1701 RET_LABEL172:(void)0;
1702 }
1703 }
1704 var_178 = var171;
1705 if (var171){
1706 {
1707 { /* Inline kernel$Int$<= (var_cp,2047l) on <var_cp:Int> */
1708 /* Covariant cast for argument 0 (i) <2047l:Int> isa OTHER */
1709 /* <2047l:Int> isa OTHER */
1710 var181 = 1; /* easy <2047l:Int> isa OTHER*/
1711 if (unlikely(!var181)) {
1712 var_class_name184 = type_core__Int.name;
1713 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name184);
1714 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
1715 fatal_exit(1);
1716 }
1717 var185 = var_cp <= 2047l;
1718 var179 = var185;
1719 goto RET_LABEL180;
1720 RET_LABEL180:(void)0;
1721 }
1722 }
1723 var170 = var179;
1724 } else {
1725 var170 = var_178;
1726 }
1727 var_ok_c = var170;
1728 } else {
1729 {
1730 { /* Inline kernel$Int$== (var_nxst,3l) on <var_nxst:Int> */
1731 var188 = var_nxst == 3l;
1732 var186 = var188;
1733 goto RET_LABEL187;
1734 RET_LABEL187:(void)0;
1735 }
1736 }
1737 if (var186){
1738 {
1739 { /* Inline kernel$Int$>= (var_cp,2048l) on <var_cp:Int> */
1740 /* Covariant cast for argument 0 (i) <2048l:Int> isa OTHER */
1741 /* <2048l:Int> isa OTHER */
1742 var192 = 1; /* easy <2048l:Int> isa OTHER*/
1743 if (unlikely(!var192)) {
1744 var_class_name195 = type_core__Int.name;
1745 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name195);
1746 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
1747 fatal_exit(1);
1748 }
1749 var196 = var_cp >= 2048l;
1750 var190 = var196;
1751 goto RET_LABEL191;
1752 RET_LABEL191:(void)0;
1753 }
1754 }
1755 var_197 = var190;
1756 if (var190){
1757 {
1758 { /* Inline kernel$Int$<= (var_cp,65535l) on <var_cp:Int> */
1759 /* Covariant cast for argument 0 (i) <65535l:Int> isa OTHER */
1760 /* <65535l:Int> isa OTHER */
1761 var200 = 1; /* easy <65535l:Int> isa OTHER*/
1762 if (unlikely(!var200)) {
1763 var_class_name203 = type_core__Int.name;
1764 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name203);
1765 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
1766 fatal_exit(1);
1767 }
1768 var204 = var_cp <= 65535l;
1769 var198 = var204;
1770 goto RET_LABEL199;
1771 RET_LABEL199:(void)0;
1772 }
1773 }
1774 var189 = var198;
1775 } else {
1776 var189 = var_197;
1777 }
1778 var_ok_c = var189;
1779 var_208 = var_ok_c;
1780 if (var_ok_c){
1781 {
1782 { /* Inline kernel$Int$>= (var_cp,55296l) on <var_cp:Int> */
1783 /* Covariant cast for argument 0 (i) <55296l:Int> isa OTHER */
1784 /* <55296l:Int> isa OTHER */
1785 var212 = 1; /* easy <55296l:Int> isa OTHER*/
1786 if (unlikely(!var212)) {
1787 var_class_name215 = type_core__Int.name;
1788 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name215);
1789 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
1790 fatal_exit(1);
1791 }
1792 var216 = var_cp >= 55296l;
1793 var210 = var216;
1794 goto RET_LABEL211;
1795 RET_LABEL211:(void)0;
1796 }
1797 }
1798 var_217 = var210;
1799 if (var210){
1800 {
1801 { /* Inline kernel$Int$<= (var_cp,57343l) on <var_cp:Int> */
1802 /* Covariant cast for argument 0 (i) <57343l:Int> isa OTHER */
1803 /* <57343l:Int> isa OTHER */
1804 var220 = 1; /* easy <57343l:Int> isa OTHER*/
1805 if (unlikely(!var220)) {
1806 var_class_name223 = type_core__Int.name;
1807 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name223);
1808 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
1809 fatal_exit(1);
1810 }
1811 var224 = var_cp <= 57343l;
1812 var218 = var224;
1813 goto RET_LABEL219;
1814 RET_LABEL219:(void)0;
1815 }
1816 }
1817 var209 = var218;
1818 } else {
1819 var209 = var_217;
1820 }
1821 var225 = !var209;
1822 var207 = var225;
1823 } else {
1824 var207 = var_208;
1825 }
1826 var_226 = var207;
1827 if (var207){
1828 {
1829 { /* Inline kernel$Int$!= (var_cp,65534l) on <var_cp:Int> */
1830 var229 = var_cp == 65534l;
1831 var230 = !var229;
1832 var227 = var230;
1833 goto RET_LABEL228;
1834 RET_LABEL228:(void)0;
1835 }
1836 }
1837 var206 = var227;
1838 } else {
1839 var206 = var_226;
1840 }
1841 var_231 = var206;
1842 if (var206){
1843 {
1844 { /* Inline kernel$Int$!= (var_cp,65535l) on <var_cp:Int> */
1845 var234 = var_cp == 65535l;
1846 var235 = !var234;
1847 var232 = var235;
1848 goto RET_LABEL233;
1849 RET_LABEL233:(void)0;
1850 }
1851 }
1852 var205 = var232;
1853 } else {
1854 var205 = var_231;
1855 }
1856 var_ok_c = var205;
1857 } else {
1858 {
1859 { /* Inline kernel$Int$>= (var_cp,65536l) on <var_cp:Int> */
1860 /* Covariant cast for argument 0 (i) <65536l:Int> isa OTHER */
1861 /* <65536l:Int> isa OTHER */
1862 var239 = 1; /* easy <65536l:Int> isa OTHER*/
1863 if (unlikely(!var239)) {
1864 var_class_name242 = type_core__Int.name;
1865 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name242);
1866 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
1867 fatal_exit(1);
1868 }
1869 var243 = var_cp >= 65536l;
1870 var237 = var243;
1871 goto RET_LABEL238;
1872 RET_LABEL238:(void)0;
1873 }
1874 }
1875 var_244 = var237;
1876 if (var237){
1877 {
1878 { /* Inline kernel$Int$<= (var_cp,1114111l) on <var_cp:Int> */
1879 /* Covariant cast for argument 0 (i) <1114111l:Int> isa OTHER */
1880 /* <1114111l:Int> isa OTHER */
1881 var247 = 1; /* easy <1114111l:Int> isa OTHER*/
1882 if (unlikely(!var247)) {
1883 var_class_name250 = type_core__Int.name;
1884 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name250);
1885 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
1886 fatal_exit(1);
1887 }
1888 var251 = var_cp <= 1114111l;
1889 var245 = var251;
1890 goto RET_LABEL246;
1891 RET_LABEL246:(void)0;
1892 }
1893 }
1894 var236 = var245;
1895 } else {
1896 var236 = var_244;
1897 }
1898 var_ok_c = var236;
1899 }
1900 }
1901 }
1902 var252 = !var_ok_c;
1903 if (var252){
1904 if (var_replacements == NULL) {
1905 var253 = 1; /* is null */
1906 } else {
1907 var253 = 0; /* arg is null but recv is not */
1908 }
1909 if (0) {
1910 var254 = core___core__Array___core__kernel__Object___61d_61d(var_replacements, ((val*)NULL));
1911 var253 = var254;
1912 }
1913 if (var253){
1914 var255 = NEW_core__Array(&type_core__Array__core__Int);
1915 {
1916 core___core__Array___core__kernel__Object__init(var255); /* Direct call array$Array$init on <var255:Array[Int]>*/
1917 }
1918 var_replacements = var255;
1919 } else {
1920 }
1921 {
1922 var256 = (val*)(var_pos<<2|1);
1923 core___core__Array___core__abstract_collection__SimpleCollection__add(var_replacements, var256); /* Direct call array$Array$add on <var_replacements:nullable Array[Int](Array[Int])>*/
1924 }
1925 {
1926 { /* Inline kernel$Int$+ (var_end_length,2l) on <var_end_length:Int> */
1927 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1928 /* <2l:Int> isa OTHER */
1929 var259 = 1; /* easy <2l:Int> isa OTHER*/
1930 if (unlikely(!var259)) {
1931 var_class_name262 = type_core__Int.name;
1932 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name262);
1933 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1934 fatal_exit(1);
1935 }
1936 var263 = var_end_length + 2l;
1937 var257 = var263;
1938 goto RET_LABEL258;
1939 RET_LABEL258:(void)0;
1940 }
1941 }
1942 var_end_length = var257;
1943 {
1944 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
1945 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1946 /* <1l:Int> isa OTHER */
1947 var266 = 1; /* easy <1l:Int> isa OTHER*/
1948 if (unlikely(!var266)) {
1949 var_class_name269 = type_core__Int.name;
1950 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name269);
1951 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1952 fatal_exit(1);
1953 }
1954 var270 = var_pos + 1l;
1955 var264 = var270;
1956 goto RET_LABEL265;
1957 RET_LABEL265:(void)0;
1958 }
1959 }
1960 var_pos = var264;
1961 {
1962 { /* Inline kernel$Int$+ (var_chr_ln,1l) on <var_chr_ln:Int> */
1963 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1964 /* <1l:Int> isa OTHER */
1965 var273 = 1; /* easy <1l:Int> isa OTHER*/
1966 if (unlikely(!var273)) {
1967 var_class_name276 = type_core__Int.name;
1968 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name276);
1969 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1970 fatal_exit(1);
1971 }
1972 var277 = var_chr_ln + 1l;
1973 var271 = var277;
1974 goto RET_LABEL272;
1975 RET_LABEL272:(void)0;
1976 }
1977 }
1978 var_chr_ln = var271;
1979 {
1980 { /* Inline kernel$Int$- (var_rem,1l) on <var_rem:Int> */
1981 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1982 /* <1l:Int> isa OTHER */
1983 var280 = 1; /* easy <1l:Int> isa OTHER*/
1984 if (unlikely(!var280)) {
1985 var_class_name283 = type_core__Int.name;
1986 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name283);
1987 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1988 fatal_exit(1);
1989 }
1990 var284 = var_rem - 1l;
1991 var278 = var284;
1992 goto RET_LABEL279;
1993 RET_LABEL279:(void)0;
1994 }
1995 }
1996 var_rem = var278;
1997 goto BREAK_label77;
1998 } else {
1999 }
2000 {
2001 var285 = core__abstract_text___Char___u8char_len(var_c);
2002 }
2003 var_clen = var285;
2004 {
2005 { /* Inline kernel$Int$+ (var_pos,var_clen) on <var_pos:Int> */
2006 /* Covariant cast for argument 0 (i) <var_clen:Int> isa OTHER */
2007 /* <var_clen:Int> isa OTHER */
2008 var288 = 1; /* easy <var_clen:Int> isa OTHER*/
2009 if (unlikely(!var288)) {
2010 var_class_name291 = type_core__Int.name;
2011 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name291);
2012 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2013 fatal_exit(1);
2014 }
2015 var292 = var_pos + var_clen;
2016 var286 = var292;
2017 goto RET_LABEL287;
2018 RET_LABEL287:(void)0;
2019 }
2020 }
2021 var_pos = var286;
2022 {
2023 { /* Inline kernel$Int$- (var_rem,var_clen) on <var_rem:Int> */
2024 /* Covariant cast for argument 0 (i) <var_clen:Int> isa OTHER */
2025 /* <var_clen:Int> isa OTHER */
2026 var295 = 1; /* easy <var_clen:Int> isa OTHER*/
2027 if (unlikely(!var295)) {
2028 var_class_name298 = type_core__Int.name;
2029 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name298);
2030 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
2031 fatal_exit(1);
2032 }
2033 var299 = var_rem - var_clen;
2034 var293 = var299;
2035 goto RET_LABEL294;
2036 RET_LABEL294:(void)0;
2037 }
2038 }
2039 var_rem = var293;
2040 {
2041 { /* Inline kernel$Int$+ (var_chr_ln,1l) on <var_chr_ln:Int> */
2042 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2043 /* <1l:Int> isa OTHER */
2044 var302 = 1; /* easy <1l:Int> isa OTHER*/
2045 if (unlikely(!var302)) {
2046 var_class_name305 = type_core__Int.name;
2047 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name305);
2048 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2049 fatal_exit(1);
2050 }
2051 var306 = var_chr_ln + 1l;
2052 var300 = var306;
2053 goto RET_LABEL301;
2054 RET_LABEL301:(void)0;
2055 }
2056 }
2057 var_chr_ln = var300;
2058 } else {
2059 goto BREAK_label46;
2060 }
2061 BREAK_label77: (void)0;
2062 }
2063 BREAK_label46: (void)0;
2064 var_ret = self;
2065 {
2066 { /* Inline kernel$Int$!= (var_end_length,var_len) on <var_end_length:Int> */
2067 var309 = var_end_length == var_len;
2068 var310 = !var309;
2069 var307 = var310;
2070 goto RET_LABEL308;
2071 RET_LABEL308:(void)0;
2072 }
2073 }
2074 if (var307){
2075 if (likely(varoncenew_guard)) {
2076 var311 = varoncenew;
2077 } else {
2078 var312 = NULL/*special!*/;
2079 var311 = var312;
2080 varoncenew = var311;
2081 varoncenew_guard = 1;
2082 }
2083 {
2084 { /* Inline native$CString$new (var311,var_end_length) on <var311:CString> */
2085 var315 = (char*)nit_alloc(var_end_length);
2086 var313 = var315;
2087 goto RET_LABEL314;
2088 RET_LABEL314:(void)0;
2089 }
2090 }
2091 var_ret = var313;
2092 var_old_repl = 0l;
2093 var_off = 0l;
2094 if (unlikely(var_replacements == NULL)) {
2095 if(catchStack.cursor >= 0){
2096 longjmp(catchStack.envs[catchStack.cursor], 1);
2097 }
2098 PRINT_ERROR("Runtime error: %s", "Cast failed");
2099 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1427);
2100 fatal_exit(1);
2101 }
2102 var_repls = var_replacements;
2103 {
2104 { /* Inline array$Array$items (var_repls) on <var_repls:Array[Int]> */
2105 var318 = var_repls->attrs[COLOR_core__array__Array___items].val; /* _items on <var_repls:Array[Int]> */
2106 var316 = var318;
2107 RET_LABEL317:(void)0;
2108 }
2109 }
2110 if (unlikely(var316 == NULL)) {
2111 if(catchStack.cursor >= 0){
2112 longjmp(catchStack.envs[catchStack.cursor], 1);
2113 }
2114 PRINT_ERROR("Runtime error: %s", "Cast failed");
2115 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1428);
2116 fatal_exit(1);
2117 }
2118 var_r = var316;
2119 {
2120 { /* Inline array$AbstractArrayRead$length (var_repls) on <var_repls:Array[Int]> */
2121 var321 = var_repls->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <var_repls:Array[Int]> */
2122 var319 = var321;
2123 RET_LABEL320:(void)0;
2124 }
2125 }
2126 var_imax = var319;
2127 var_i322 = 0l;
2128 var_323 = var_imax;
2129 for(;;) {
2130 {
2131 { /* Inline kernel$Int$< (var_i322,var_323) on <var_i322:Int> */
2132 /* Covariant cast for argument 0 (i) <var_323:Int> isa OTHER */
2133 /* <var_323:Int> isa OTHER */
2134 var326 = 1; /* easy <var_323:Int> isa OTHER*/
2135 if (unlikely(!var326)) {
2136 var_class_name329 = type_core__Int.name;
2137 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name329);
2138 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
2139 fatal_exit(1);
2140 }
2141 var330 = var_i322 < var_323;
2142 var324 = var330;
2143 goto RET_LABEL325;
2144 RET_LABEL325:(void)0;
2145 }
2146 }
2147 if (var324){
2148 } else {
2149 goto BREAK_label331;
2150 }
2151 {
2152 { /* Inline array$NativeArray$[] (var_r,var_i322) on <var_r:NativeArray[Int]> */
2153 var334 = ((struct instance_core__NativeArray*)var_r)->values[var_i322];
2154 var332 = var334;
2155 goto RET_LABEL333;
2156 RET_LABEL333:(void)0;
2157 }
2158 }
2159 var335 = (long)(var332)>>2;
2160 var_repl_pos = var335;
2161 {
2162 { /* Inline kernel$Int$- (var_repl_pos,var_old_repl) on <var_repl_pos:Int> */
2163 /* Covariant cast for argument 0 (i) <var_old_repl:Int> isa OTHER */
2164 /* <var_old_repl:Int> isa OTHER */
2165 var338 = 1; /* easy <var_old_repl:Int> isa OTHER*/
2166 if (unlikely(!var338)) {
2167 var_class_name341 = type_core__Int.name;
2168 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name341);
2169 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
2170 fatal_exit(1);
2171 }
2172 var342 = var_repl_pos - var_old_repl;
2173 var336 = var342;
2174 goto RET_LABEL337;
2175 RET_LABEL337:(void)0;
2176 }
2177 }
2178 var_chkln = var336;
2179 {
2180 { /* Inline native$CString$copy_to (self,var_ret,var_chkln,var_old_repl,var_off) on <self:CString> */
2181 memmove(var_ret+var_off,self+var_old_repl,var_chkln);
2182 RET_LABEL343:(void)0;
2183 }
2184 }
2185 {
2186 { /* Inline kernel$Int$+ (var_off,var_chkln) on <var_off:Int> */
2187 /* Covariant cast for argument 0 (i) <var_chkln:Int> isa OTHER */
2188 /* <var_chkln:Int> isa OTHER */
2189 var346 = 1; /* easy <var_chkln:Int> isa OTHER*/
2190 if (unlikely(!var346)) {
2191 var_class_name349 = type_core__Int.name;
2192 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name349);
2193 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2194 fatal_exit(1);
2195 }
2196 var350 = var_off + var_chkln;
2197 var344 = var350;
2198 goto RET_LABEL345;
2199 RET_LABEL345:(void)0;
2200 }
2201 }
2202 var_off = var344;
2203 {
2204 { /* Inline native$CString$[]= (var_ret,var_off,((unsigned char)0xef)) on <var_ret:CString> */
2205 var_ret[var_off]=(unsigned char)((unsigned char)0xef);
2206 RET_LABEL351:(void)0;
2207 }
2208 }
2209 {
2210 { /* Inline kernel$Int$+ (var_off,1l) on <var_off:Int> */
2211 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2212 /* <1l:Int> isa OTHER */
2213 var354 = 1; /* easy <1l:Int> isa OTHER*/
2214 if (unlikely(!var354)) {
2215 var_class_name357 = type_core__Int.name;
2216 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name357);
2217 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2218 fatal_exit(1);
2219 }
2220 var358 = var_off + 1l;
2221 var352 = var358;
2222 goto RET_LABEL353;
2223 RET_LABEL353:(void)0;
2224 }
2225 }
2226 {
2227 { /* Inline native$CString$[]= (var_ret,var352,((unsigned char)0xbf)) on <var_ret:CString> */
2228 var_ret[var352]=(unsigned char)((unsigned char)0xbf);
2229 RET_LABEL359:(void)0;
2230 }
2231 }
2232 {
2233 { /* Inline kernel$Int$+ (var_off,2l) on <var_off:Int> */
2234 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
2235 /* <2l:Int> isa OTHER */
2236 var362 = 1; /* easy <2l:Int> isa OTHER*/
2237 if (unlikely(!var362)) {
2238 var_class_name365 = type_core__Int.name;
2239 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name365);
2240 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2241 fatal_exit(1);
2242 }
2243 var366 = var_off + 2l;
2244 var360 = var366;
2245 goto RET_LABEL361;
2246 RET_LABEL361:(void)0;
2247 }
2248 }
2249 {
2250 { /* Inline native$CString$[]= (var_ret,var360,((unsigned char)0xbd)) on <var_ret:CString> */
2251 var_ret[var360]=(unsigned char)((unsigned char)0xbd);
2252 RET_LABEL367:(void)0;
2253 }
2254 }
2255 {
2256 { /* Inline kernel$Int$+ (var_repl_pos,1l) on <var_repl_pos:Int> */
2257 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2258 /* <1l:Int> isa OTHER */
2259 var370 = 1; /* easy <1l:Int> isa OTHER*/
2260 if (unlikely(!var370)) {
2261 var_class_name373 = type_core__Int.name;
2262 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name373);
2263 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2264 fatal_exit(1);
2265 }
2266 var374 = var_repl_pos + 1l;
2267 var368 = var374;
2268 goto RET_LABEL369;
2269 RET_LABEL369:(void)0;
2270 }
2271 }
2272 var_old_repl = var368;
2273 {
2274 { /* Inline kernel$Int$+ (var_off,3l) on <var_off:Int> */
2275 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
2276 /* <3l:Int> isa OTHER */
2277 var377 = 1; /* easy <3l:Int> isa OTHER*/
2278 if (unlikely(!var377)) {
2279 var_class_name380 = type_core__Int.name;
2280 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name380);
2281 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2282 fatal_exit(1);
2283 }
2284 var381 = var_off + 3l;
2285 var375 = var381;
2286 goto RET_LABEL376;
2287 RET_LABEL376:(void)0;
2288 }
2289 }
2290 var_off = var375;
2291 {
2292 var382 = core___core__Int___Discrete__successor(var_i322, 1l);
2293 }
2294 var_i322 = var382;
2295 }
2296 BREAK_label331: (void)0;
2297 {
2298 { /* Inline kernel$Int$- (var_len,var_old_repl) on <var_len:Int> */
2299 /* Covariant cast for argument 0 (i) <var_old_repl:Int> isa OTHER */
2300 /* <var_old_repl:Int> isa OTHER */
2301 var385 = 1; /* easy <var_old_repl:Int> isa OTHER*/
2302 if (unlikely(!var385)) {
2303 var_class_name388 = type_core__Int.name;
2304 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name388);
2305 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
2306 fatal_exit(1);
2307 }
2308 var389 = var_len - var_old_repl;
2309 var383 = var389;
2310 goto RET_LABEL384;
2311 RET_LABEL384:(void)0;
2312 }
2313 }
2314 {
2315 { /* Inline native$CString$copy_to (self,var_ret,var383,var_old_repl,var_off) on <self:CString> */
2316 memmove(var_ret+var_off,self+var_old_repl,var383);
2317 RET_LABEL390:(void)0;
2318 }
2319 }
2320 } else {
2321 }
2322 if (likely(varoncenew391_guard)) {
2323 var392 = varoncenew391;
2324 } else {
2325 var393 = NEW_core__FlatString(&type_core__FlatString);
2326 var392 = var393;
2327 varoncenew391 = var392;
2328 varoncenew391_guard = 1;
2329 }
2330 {
2331 var394 = core___core__FlatString___full(var392, var_ret, var_end_length, 0l, var_chr_ln);
2332 }
2333 var = var394;
2334 goto RET_LABEL;
2335 RET_LABEL:;
2336 return var;
2337 }
2338 /* method flat$CString$set_char_at for (self: CString, Int, Char) */
2339 void core__flat___CString___set_char_at(char* self, long p0, uint32_t p1) {
2340 long var_pos /* var pos: Int */;
2341 uint32_t var_c /* var c: Char */;
2342 long var /* : Int */;
2343 long var2 /* : Int */;
2344 long var_cp /* var cp: Int */;
2345 short int var3 /* : Bool */;
2346 short int var5 /* : Bool */;
2347 int cltype;
2348 int idtype;
2349 const char* var_class_name;
2350 short int var6 /* : Bool */;
2351 unsigned char var7 /* : Byte */;
2352 unsigned char var9 /* : Byte */;
2353 long var11 /* : Int */;
2354 long var_ln /* var ln: Int */;
2355 short int var12 /* : Bool */;
2356 short int var14 /* : Bool */;
2357 long var15 /* : Int */;
2358 long var17 /* : Int */;
2359 long var18 /* : Int */;
2360 long var20 /* : Int */;
2361 long var21 /* : Int */;
2362 long var23 /* : Int */;
2363 unsigned char var24 /* : Byte */;
2364 unsigned char var26 /* : Byte */;
2365 long var28 /* : Int */;
2366 short int var30 /* : Bool */;
2367 int cltype31;
2368 int idtype32;
2369 const char* var_class_name33;
2370 long var34 /* : Int */;
2371 long var35 /* : Int */;
2372 long var37 /* : Int */;
2373 long var38 /* : Int */;
2374 long var40 /* : Int */;
2375 unsigned char var41 /* : Byte */;
2376 unsigned char var43 /* : Byte */;
2377 short int var45 /* : Bool */;
2378 short int var47 /* : Bool */;
2379 long var48 /* : Int */;
2380 long var50 /* : Int */;
2381 long var51 /* : Int */;
2382 long var53 /* : Int */;
2383 long var54 /* : Int */;
2384 long var56 /* : Int */;
2385 unsigned char var57 /* : Byte */;
2386 unsigned char var59 /* : Byte */;
2387 long var61 /* : Int */;
2388 short int var63 /* : Bool */;
2389 int cltype64;
2390 int idtype65;
2391 const char* var_class_name66;
2392 long var67 /* : Int */;
2393 long var68 /* : Int */;
2394 long var70 /* : Int */;
2395 long var71 /* : Int */;
2396 long var73 /* : Int */;
2397 long var74 /* : Int */;
2398 long var76 /* : Int */;
2399 unsigned char var77 /* : Byte */;
2400 unsigned char var79 /* : Byte */;
2401 long var81 /* : Int */;
2402 short int var83 /* : Bool */;
2403 int cltype84;
2404 int idtype85;
2405 const char* var_class_name86;
2406 long var87 /* : Int */;
2407 long var88 /* : Int */;
2408 long var90 /* : Int */;
2409 long var91 /* : Int */;
2410 long var93 /* : Int */;
2411 unsigned char var94 /* : Byte */;
2412 unsigned char var96 /* : Byte */;
2413 short int var98 /* : Bool */;
2414 short int var100 /* : Bool */;
2415 long var101 /* : Int */;
2416 long var103 /* : Int */;
2417 long var104 /* : Int */;
2418 long var106 /* : Int */;
2419 long var107 /* : Int */;
2420 long var109 /* : Int */;
2421 unsigned char var110 /* : Byte */;
2422 unsigned char var112 /* : Byte */;
2423 long var114 /* : Int */;
2424 short int var116 /* : Bool */;
2425 int cltype117;
2426 int idtype118;
2427 const char* var_class_name119;
2428 long var120 /* : Int */;
2429 long var121 /* : Int */;
2430 long var123 /* : Int */;
2431 long var124 /* : Int */;
2432 long var126 /* : Int */;
2433 long var127 /* : Int */;
2434 long var129 /* : Int */;
2435 unsigned char var130 /* : Byte */;
2436 unsigned char var132 /* : Byte */;
2437 long var134 /* : Int */;
2438 short int var136 /* : Bool */;
2439 int cltype137;
2440 int idtype138;
2441 const char* var_class_name139;
2442 long var140 /* : Int */;
2443 long var141 /* : Int */;
2444 long var143 /* : Int */;
2445 long var144 /* : Int */;
2446 long var146 /* : Int */;
2447 long var147 /* : Int */;
2448 long var149 /* : Int */;
2449 unsigned char var150 /* : Byte */;
2450 unsigned char var152 /* : Byte */;
2451 long var154 /* : Int */;
2452 short int var156 /* : Bool */;
2453 int cltype157;
2454 int idtype158;
2455 const char* var_class_name159;
2456 long var160 /* : Int */;
2457 long var161 /* : Int */;
2458 long var163 /* : Int */;
2459 long var164 /* : Int */;
2460 long var166 /* : Int */;
2461 unsigned char var167 /* : Byte */;
2462 unsigned char var169 /* : Byte */;
2463 var_pos = p0;
2464 var_c = p1;
2465 {
2466 { /* Inline kernel$Char$code_point (var_c) on <var_c:Char> */
2467 var2 = (long)var_c;
2468 var = var2;
2469 goto RET_LABEL1;
2470 RET_LABEL1:(void)0;
2471 }
2472 }
2473 var_cp = var;
2474 {
2475 { /* Inline kernel$Int$< (var_cp,128l) on <var_cp:Int> */
2476 /* Covariant cast for argument 0 (i) <128l:Int> isa OTHER */
2477 /* <128l:Int> isa OTHER */
2478 var5 = 1; /* easy <128l:Int> isa OTHER*/
2479 if (unlikely(!var5)) {
2480 var_class_name = type_core__Int.name;
2481 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2482 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
2483 fatal_exit(1);
2484 }
2485 var6 = var_cp < 128l;
2486 var3 = var6;
2487 goto RET_LABEL4;
2488 RET_LABEL4:(void)0;
2489 }
2490 }
2491 if (var3){
2492 {
2493 { /* Inline kernel$Int$to_b (var_cp) on <var_cp:Int> */
2494 var9 = (unsigned char)var_cp;
2495 var7 = var9;
2496 goto RET_LABEL8;
2497 RET_LABEL8:(void)0;
2498 }
2499 }
2500 {
2501 { /* Inline native$CString$[]= (self,var_pos,var7) on <self:CString> */
2502 self[var_pos]=(unsigned char)var7;
2503 RET_LABEL10:(void)0;
2504 }
2505 }
2506 goto RET_LABEL;
2507 } else {
2508 }
2509 {
2510 var11 = core__abstract_text___Char___u8char_len(var_c);
2511 }
2512 var_ln = var11;
2513 {
2514 { /* Inline kernel$Int$== (var_ln,2l) on <var_ln:Int> */
2515 var14 = var_ln == 2l;
2516 var12 = var14;
2517 goto RET_LABEL13;
2518 RET_LABEL13:(void)0;
2519 }
2520 }
2521 if (var12){
2522 {
2523 { /* Inline math$Int$& (var_cp,1984l) on <var_cp:Int> */
2524 var17 = var_cp & 1984l;
2525 var15 = var17;
2526 goto RET_LABEL16;
2527 RET_LABEL16:(void)0;
2528 }
2529 }
2530 {
2531 { /* Inline kernel$Int$>> (var15,6l) on <var15:Int> */
2532 var20 = var15 >> 6l;
2533 var18 = var20;
2534 goto RET_LABEL19;
2535 RET_LABEL19:(void)0;
2536 }
2537 }
2538 {
2539 { /* Inline math$Int$| (192l,var18) on <192l:Int> */
2540 var23 = 192l | var18;
2541 var21 = var23;
2542 goto RET_LABEL22;
2543 RET_LABEL22:(void)0;
2544 }
2545 }
2546 {
2547 { /* Inline kernel$Int$to_b (var21) on <var21:Int> */
2548 var26 = (unsigned char)var21;
2549 var24 = var26;
2550 goto RET_LABEL25;
2551 RET_LABEL25:(void)0;
2552 }
2553 }
2554 {
2555 { /* Inline native$CString$[]= (self,var_pos,var24) on <self:CString> */
2556 self[var_pos]=(unsigned char)var24;
2557 RET_LABEL27:(void)0;
2558 }
2559 }
2560 {
2561 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
2562 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2563 /* <1l:Int> isa OTHER */
2564 var30 = 1; /* easy <1l:Int> isa OTHER*/
2565 if (unlikely(!var30)) {
2566 var_class_name33 = type_core__Int.name;
2567 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
2568 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2569 fatal_exit(1);
2570 }
2571 var34 = var_pos + 1l;
2572 var28 = var34;
2573 goto RET_LABEL29;
2574 RET_LABEL29:(void)0;
2575 }
2576 }
2577 {
2578 { /* Inline math$Int$& (var_cp,63l) on <var_cp:Int> */
2579 var37 = var_cp & 63l;
2580 var35 = var37;
2581 goto RET_LABEL36;
2582 RET_LABEL36:(void)0;
2583 }
2584 }
2585 {
2586 { /* Inline math$Int$| (128l,var35) on <128l:Int> */
2587 var40 = 128l | var35;
2588 var38 = var40;
2589 goto RET_LABEL39;
2590 RET_LABEL39:(void)0;
2591 }
2592 }
2593 {
2594 { /* Inline kernel$Int$to_b (var38) on <var38:Int> */
2595 var43 = (unsigned char)var38;
2596 var41 = var43;
2597 goto RET_LABEL42;
2598 RET_LABEL42:(void)0;
2599 }
2600 }
2601 {
2602 { /* Inline native$CString$[]= (self,var28,var41) on <self:CString> */
2603 self[var28]=(unsigned char)var41;
2604 RET_LABEL44:(void)0;
2605 }
2606 }
2607 } else {
2608 {
2609 { /* Inline kernel$Int$== (var_ln,3l) on <var_ln:Int> */
2610 var47 = var_ln == 3l;
2611 var45 = var47;
2612 goto RET_LABEL46;
2613 RET_LABEL46:(void)0;
2614 }
2615 }
2616 if (var45){
2617 {
2618 { /* Inline math$Int$& (var_cp,61440l) on <var_cp:Int> */
2619 var50 = var_cp & 61440l;
2620 var48 = var50;
2621 goto RET_LABEL49;
2622 RET_LABEL49:(void)0;
2623 }
2624 }
2625 {
2626 { /* Inline kernel$Int$>> (var48,12l) on <var48:Int> */
2627 var53 = var48 >> 12l;
2628 var51 = var53;
2629 goto RET_LABEL52;
2630 RET_LABEL52:(void)0;
2631 }
2632 }
2633 {
2634 { /* Inline math$Int$| (224l,var51) on <224l:Int> */
2635 var56 = 224l | var51;
2636 var54 = var56;
2637 goto RET_LABEL55;
2638 RET_LABEL55:(void)0;
2639 }
2640 }
2641 {
2642 { /* Inline kernel$Int$to_b (var54) on <var54:Int> */
2643 var59 = (unsigned char)var54;
2644 var57 = var59;
2645 goto RET_LABEL58;
2646 RET_LABEL58:(void)0;
2647 }
2648 }
2649 {
2650 { /* Inline native$CString$[]= (self,var_pos,var57) on <self:CString> */
2651 self[var_pos]=(unsigned char)var57;
2652 RET_LABEL60:(void)0;
2653 }
2654 }
2655 {
2656 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
2657 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2658 /* <1l:Int> isa OTHER */
2659 var63 = 1; /* easy <1l:Int> isa OTHER*/
2660 if (unlikely(!var63)) {
2661 var_class_name66 = type_core__Int.name;
2662 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66);
2663 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2664 fatal_exit(1);
2665 }
2666 var67 = var_pos + 1l;
2667 var61 = var67;
2668 goto RET_LABEL62;
2669 RET_LABEL62:(void)0;
2670 }
2671 }
2672 {
2673 { /* Inline math$Int$& (var_cp,4032l) on <var_cp:Int> */
2674 var70 = var_cp & 4032l;
2675 var68 = var70;
2676 goto RET_LABEL69;
2677 RET_LABEL69:(void)0;
2678 }
2679 }
2680 {
2681 { /* Inline kernel$Int$>> (var68,6l) on <var68:Int> */
2682 var73 = var68 >> 6l;
2683 var71 = var73;
2684 goto RET_LABEL72;
2685 RET_LABEL72:(void)0;
2686 }
2687 }
2688 {
2689 { /* Inline math$Int$| (128l,var71) on <128l:Int> */
2690 var76 = 128l | var71;
2691 var74 = var76;
2692 goto RET_LABEL75;
2693 RET_LABEL75:(void)0;
2694 }
2695 }
2696 {
2697 { /* Inline kernel$Int$to_b (var74) on <var74:Int> */
2698 var79 = (unsigned char)var74;
2699 var77 = var79;
2700 goto RET_LABEL78;
2701 RET_LABEL78:(void)0;
2702 }
2703 }
2704 {
2705 { /* Inline native$CString$[]= (self,var61,var77) on <self:CString> */
2706 self[var61]=(unsigned char)var77;
2707 RET_LABEL80:(void)0;
2708 }
2709 }
2710 {
2711 { /* Inline kernel$Int$+ (var_pos,2l) on <var_pos:Int> */
2712 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
2713 /* <2l:Int> isa OTHER */
2714 var83 = 1; /* easy <2l:Int> isa OTHER*/
2715 if (unlikely(!var83)) {
2716 var_class_name86 = type_core__Int.name;
2717 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86);
2718 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2719 fatal_exit(1);
2720 }
2721 var87 = var_pos + 2l;
2722 var81 = var87;
2723 goto RET_LABEL82;
2724 RET_LABEL82:(void)0;
2725 }
2726 }
2727 {
2728 { /* Inline math$Int$& (var_cp,63l) on <var_cp:Int> */
2729 var90 = var_cp & 63l;
2730 var88 = var90;
2731 goto RET_LABEL89;
2732 RET_LABEL89:(void)0;
2733 }
2734 }
2735 {
2736 { /* Inline math$Int$| (128l,var88) on <128l:Int> */
2737 var93 = 128l | var88;
2738 var91 = var93;
2739 goto RET_LABEL92;
2740 RET_LABEL92:(void)0;
2741 }
2742 }
2743 {
2744 { /* Inline kernel$Int$to_b (var91) on <var91:Int> */
2745 var96 = (unsigned char)var91;
2746 var94 = var96;
2747 goto RET_LABEL95;
2748 RET_LABEL95:(void)0;
2749 }
2750 }
2751 {
2752 { /* Inline native$CString$[]= (self,var81,var94) on <self:CString> */
2753 self[var81]=(unsigned char)var94;
2754 RET_LABEL97:(void)0;
2755 }
2756 }
2757 } else {
2758 {
2759 { /* Inline kernel$Int$== (var_ln,4l) on <var_ln:Int> */
2760 var100 = var_ln == 4l;
2761 var98 = var100;
2762 goto RET_LABEL99;
2763 RET_LABEL99:(void)0;
2764 }
2765 }
2766 if (var98){
2767 {
2768 { /* Inline math$Int$& (var_cp,1835008l) on <var_cp:Int> */
2769 var103 = var_cp & 1835008l;
2770 var101 = var103;
2771 goto RET_LABEL102;
2772 RET_LABEL102:(void)0;
2773 }
2774 }
2775 {
2776 { /* Inline kernel$Int$>> (var101,18l) on <var101:Int> */
2777 var106 = var101 >> 18l;
2778 var104 = var106;
2779 goto RET_LABEL105;
2780 RET_LABEL105:(void)0;
2781 }
2782 }
2783 {
2784 { /* Inline math$Int$| (240l,var104) on <240l:Int> */
2785 var109 = 240l | var104;
2786 var107 = var109;
2787 goto RET_LABEL108;
2788 RET_LABEL108:(void)0;
2789 }
2790 }
2791 {
2792 { /* Inline kernel$Int$to_b (var107) on <var107:Int> */
2793 var112 = (unsigned char)var107;
2794 var110 = var112;
2795 goto RET_LABEL111;
2796 RET_LABEL111:(void)0;
2797 }
2798 }
2799 {
2800 { /* Inline native$CString$[]= (self,var_pos,var110) on <self:CString> */
2801 self[var_pos]=(unsigned char)var110;
2802 RET_LABEL113:(void)0;
2803 }
2804 }
2805 {
2806 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
2807 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2808 /* <1l:Int> isa OTHER */
2809 var116 = 1; /* easy <1l:Int> isa OTHER*/
2810 if (unlikely(!var116)) {
2811 var_class_name119 = type_core__Int.name;
2812 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name119);
2813 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2814 fatal_exit(1);
2815 }
2816 var120 = var_pos + 1l;
2817 var114 = var120;
2818 goto RET_LABEL115;
2819 RET_LABEL115:(void)0;
2820 }
2821 }
2822 {
2823 { /* Inline math$Int$& (var_cp,258048l) on <var_cp:Int> */
2824 var123 = var_cp & 258048l;
2825 var121 = var123;
2826 goto RET_LABEL122;
2827 RET_LABEL122:(void)0;
2828 }
2829 }
2830 {
2831 { /* Inline kernel$Int$>> (var121,12l) on <var121:Int> */
2832 var126 = var121 >> 12l;
2833 var124 = var126;
2834 goto RET_LABEL125;
2835 RET_LABEL125:(void)0;
2836 }
2837 }
2838 {
2839 { /* Inline math$Int$| (128l,var124) on <128l:Int> */
2840 var129 = 128l | var124;
2841 var127 = var129;
2842 goto RET_LABEL128;
2843 RET_LABEL128:(void)0;
2844 }
2845 }
2846 {
2847 { /* Inline kernel$Int$to_b (var127) on <var127:Int> */
2848 var132 = (unsigned char)var127;
2849 var130 = var132;
2850 goto RET_LABEL131;
2851 RET_LABEL131:(void)0;
2852 }
2853 }
2854 {
2855 { /* Inline native$CString$[]= (self,var114,var130) on <self:CString> */
2856 self[var114]=(unsigned char)var130;
2857 RET_LABEL133:(void)0;
2858 }
2859 }
2860 {
2861 { /* Inline kernel$Int$+ (var_pos,2l) on <var_pos:Int> */
2862 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
2863 /* <2l:Int> isa OTHER */
2864 var136 = 1; /* easy <2l:Int> isa OTHER*/
2865 if (unlikely(!var136)) {
2866 var_class_name139 = type_core__Int.name;
2867 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name139);
2868 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2869 fatal_exit(1);
2870 }
2871 var140 = var_pos + 2l;
2872 var134 = var140;
2873 goto RET_LABEL135;
2874 RET_LABEL135:(void)0;
2875 }
2876 }
2877 {
2878 { /* Inline math$Int$& (var_cp,4032l) on <var_cp:Int> */
2879 var143 = var_cp & 4032l;
2880 var141 = var143;
2881 goto RET_LABEL142;
2882 RET_LABEL142:(void)0;
2883 }
2884 }
2885 {
2886 { /* Inline kernel$Int$>> (var141,6l) on <var141:Int> */
2887 var146 = var141 >> 6l;
2888 var144 = var146;
2889 goto RET_LABEL145;
2890 RET_LABEL145:(void)0;
2891 }
2892 }
2893 {
2894 { /* Inline math$Int$| (128l,var144) on <128l:Int> */
2895 var149 = 128l | var144;
2896 var147 = var149;
2897 goto RET_LABEL148;
2898 RET_LABEL148:(void)0;
2899 }
2900 }
2901 {
2902 { /* Inline kernel$Int$to_b (var147) on <var147:Int> */
2903 var152 = (unsigned char)var147;
2904 var150 = var152;
2905 goto RET_LABEL151;
2906 RET_LABEL151:(void)0;
2907 }
2908 }
2909 {
2910 { /* Inline native$CString$[]= (self,var134,var150) on <self:CString> */
2911 self[var134]=(unsigned char)var150;
2912 RET_LABEL153:(void)0;
2913 }
2914 }
2915 {
2916 { /* Inline kernel$Int$+ (var_pos,3l) on <var_pos:Int> */
2917 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
2918 /* <3l:Int> isa OTHER */
2919 var156 = 1; /* easy <3l:Int> isa OTHER*/
2920 if (unlikely(!var156)) {
2921 var_class_name159 = type_core__Int.name;
2922 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name159);
2923 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2924 fatal_exit(1);
2925 }
2926 var160 = var_pos + 3l;
2927 var154 = var160;
2928 goto RET_LABEL155;
2929 RET_LABEL155:(void)0;
2930 }
2931 }
2932 {
2933 { /* Inline math$Int$& (var_cp,63l) on <var_cp:Int> */
2934 var163 = var_cp & 63l;
2935 var161 = var163;
2936 goto RET_LABEL162;
2937 RET_LABEL162:(void)0;
2938 }
2939 }
2940 {
2941 { /* Inline math$Int$| (128l,var161) on <128l:Int> */
2942 var166 = 128l | var161;
2943 var164 = var166;
2944 goto RET_LABEL165;
2945 RET_LABEL165:(void)0;
2946 }
2947 }
2948 {
2949 { /* Inline kernel$Int$to_b (var164) on <var164:Int> */
2950 var169 = (unsigned char)var164;
2951 var167 = var169;
2952 goto RET_LABEL168;
2953 RET_LABEL168:(void)0;
2954 }
2955 }
2956 {
2957 { /* Inline native$CString$[]= (self,var154,var167) on <self:CString> */
2958 self[var154]=(unsigned char)var167;
2959 RET_LABEL170:(void)0;
2960 }
2961 }
2962 } else {
2963 }
2964 }
2965 }
2966 RET_LABEL:;
2967 }
2968 /* method flat$Int$to_s for (self: Int): String */
2969 val* core__flat___Int___core__abstract_text__Object__to_s(long self) {
2970 val* var /* : String */;
2971 short int var1 /* : Bool */;
2972 short int var3 /* : Bool */;
2973 static val* varonce;
2974 val* var4 /* : String */;
2975 char* var5 /* : CString */;
2976 val* var6 /* : String */;
2977 val* var7 /* : nullable Int */;
2978 val* var8 /* : nullable Int */;
2979 val* var9 /* : nullable Bool */;
2980 val* var10 /* : nullable Bool */;
2981 short int var11 /* : Bool */;
2982 short int var13 /* : Bool */;
2983 static val* varonce14;
2984 val* var15 /* : String */;
2985 char* var16 /* : CString */;
2986 val* var17 /* : String */;
2987 val* var18 /* : nullable Int */;
2988 val* var19 /* : nullable Int */;
2989 val* var20 /* : nullable Bool */;
2990 val* var21 /* : nullable Bool */;
2991 long var22 /* : Int */;
2992 long var24 /* : Int */;
2993 long var_nslen /* var nslen: Int */;
2994 static char* varoncenew;
2995 static int varoncenew_guard;
2996 char* var25 /* : CString */;
2997 char* var26 /* : CString */;
2998 long var27 /* : Int */;
2999 short int var29 /* : Bool */;
3000 int cltype;
3001 int idtype;
3002 const char* var_class_name;
3003 long var30 /* : Int */;
3004 char* var31 /* : CString */;
3005 char* var33 /* : CString */;
3006 char* var_ns /* var ns: CString */;
3007 long var35 /* : Int */;
3008 short int var37 /* : Bool */;
3009 int cltype38;
3010 int idtype39;
3011 const char* var_class_name40;
3012 long var41 /* : Int */;
3013 static val* varoncenew43;
3014 static int varoncenew43_guard;
3015 val* var44 /* : FlatString */;
3016 val* var45 /* : FlatString */;
3017 val* var46 /* : FlatString */;
3018 {
3019 { /* Inline kernel$Int$== (self,0l) on <self:Int> */
3020 var3 = self == 0l;
3021 var1 = var3;
3022 goto RET_LABEL2;
3023 RET_LABEL2:(void)0;
3024 }
3025 }
3026 if (var1){
3027 if (likely(varonce!=NULL)) {
3028 var4 = varonce;
3029 } else {
3030 var5 = "0";
3031 var7 = (val*)(1l<<2|1);
3032 var8 = (val*)(1l<<2|1);
3033 var9 = (val*)((long)(0)<<2|3);
3034 var10 = (val*)((long)(0)<<2|3);
3035 var6 = core__flat___CString___to_s_unsafe(var5, var7, var8, var9, var10);
3036 var4 = var6;
3037 varonce = var4;
3038 }
3039 var = var4;
3040 goto RET_LABEL;
3041 } else {
3042 }
3043 {
3044 { /* Inline kernel$Int$== (self,1l) on <self:Int> */
3045 var13 = self == 1l;
3046 var11 = var13;
3047 goto RET_LABEL12;
3048 RET_LABEL12:(void)0;
3049 }
3050 }
3051 if (var11){
3052 if (likely(varonce14!=NULL)) {
3053 var15 = varonce14;
3054 } else {
3055 var16 = "1";
3056 var18 = (val*)(1l<<2|1);
3057 var19 = (val*)(1l<<2|1);
3058 var20 = (val*)((long)(0)<<2|3);
3059 var21 = (val*)((long)(0)<<2|3);
3060 var17 = core__flat___CString___to_s_unsafe(var16, var18, var19, var20, var21);
3061 var15 = var17;
3062 varonce14 = var15;
3063 }
3064 var = var15;
3065 goto RET_LABEL;
3066 } else {
3067 }
3068 {
3069 { /* Inline abstract_text$Int$int_to_s_len (self) on <self:Int> */
3070 var24 = core__abstract_text___Int_int_to_s_len___impl(self);
3071 var22 = var24;
3072 goto RET_LABEL23;
3073 RET_LABEL23:(void)0;
3074 }
3075 }
3076 var_nslen = var22;
3077 if (likely(varoncenew_guard)) {
3078 var25 = varoncenew;
3079 } else {
3080 var26 = NULL/*special!*/;
3081 var25 = var26;
3082 varoncenew = var25;
3083 varoncenew_guard = 1;
3084 }
3085 {
3086 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
3087 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3088 /* <1l:Int> isa OTHER */
3089 var29 = 1; /* easy <1l:Int> isa OTHER*/
3090 if (unlikely(!var29)) {
3091 var_class_name = type_core__Int.name;
3092 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3093 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3094 fatal_exit(1);
3095 }
3096 var30 = var_nslen + 1l;
3097 var27 = var30;
3098 goto RET_LABEL28;
3099 RET_LABEL28:(void)0;
3100 }
3101 }
3102 {
3103 { /* Inline native$CString$new (var25,var27) on <var25:CString> */
3104 var33 = (char*)nit_alloc(var27);
3105 var31 = var33;
3106 goto RET_LABEL32;
3107 RET_LABEL32:(void)0;
3108 }
3109 }
3110 var_ns = var31;
3111 {
3112 { /* Inline native$CString$[]= (var_ns,var_nslen,((unsigned char)0x00)) on <var_ns:CString> */
3113 var_ns[var_nslen]=(unsigned char)((unsigned char)0x00);
3114 RET_LABEL34:(void)0;
3115 }
3116 }
3117 {
3118 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
3119 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3120 /* <1l:Int> isa OTHER */
3121 var37 = 1; /* easy <1l:Int> isa OTHER*/
3122 if (unlikely(!var37)) {
3123 var_class_name40 = type_core__Int.name;
3124 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40);
3125 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3126 fatal_exit(1);
3127 }
3128 var41 = var_nslen + 1l;
3129 var35 = var41;
3130 goto RET_LABEL36;
3131 RET_LABEL36:(void)0;
3132 }
3133 }
3134 {
3135 { /* Inline abstract_text$Int$native_int_to_s (self,var_ns,var35) on <self:Int> */
3136 core__abstract_text___Int_native_int_to_s___impl(self, var_ns, var35);
3137 RET_LABEL42:(void)0;
3138 }
3139 }
3140 if (likely(varoncenew43_guard)) {
3141 var44 = varoncenew43;
3142 } else {
3143 var45 = NEW_core__FlatString(&type_core__FlatString);
3144 var44 = var45;
3145 varoncenew43 = var44;
3146 varoncenew43_guard = 1;
3147 }
3148 {
3149 var46 = core___core__FlatString___full(var44, var_ns, var_nslen, 0l, var_nslen);
3150 }
3151 var = var46;
3152 goto RET_LABEL;
3153 RET_LABEL:;
3154 return var;
3155 }
3156 /* method flat$Int$to_s for (self: Object): String */
3157 val* VIRTUAL_core__flat___Int___core__abstract_text__Object__to_s(val* self) {
3158 val* var /* : String */;
3159 val* var1 /* : String */;
3160 long var2 /* : Int */;
3161 var2 = (long)(self)>>2;
3162 var1 = core__flat___Int___core__abstract_text__Object__to_s(var2);
3163 var = var1;
3164 RET_LABEL:;
3165 return var;
3166 }
3167 /* method flat$Array$plain_to_s for (self: Array[nullable Object]): String */
3168 val* core__flat___Array___core__abstract_text__Collection__plain_to_s(val* self) {
3169 val* var /* : String */;
3170 long var1 /* : Int */;
3171 long var_l /* var l: Int */;
3172 short int var2 /* : Bool */;
3173 short int var4 /* : Bool */;
3174 static val* varonce;
3175 val* var5 /* : String */;
3176 char* var6 /* : CString */;
3177 val* var7 /* : String */;
3178 val* var8 /* : nullable Int */;
3179 val* var9 /* : nullable Int */;
3180 val* var10 /* : nullable Bool */;
3181 val* var11 /* : nullable Bool */;
3182 val* var12 /* : nullable NativeArray[nullable Object] */;
3183 val* var_its /* var its: NativeArray[nullable Object] */;
3184 val* var13 /* : nullable Object */;
3185 val* var15 /* : Object */;
3186 val* var_first /* var first: nullable Object */;
3187 short int var16 /* : Bool */;
3188 short int var18 /* : Bool */;
3189 short int var19 /* : Bool */;
3190 short int var20 /* : Bool */;
3191 static val* varonce21;
3192 val* var22 /* : String */;
3193 char* var23 /* : CString */;
3194 val* var24 /* : String */;
3195 val* var25 /* : nullable Int */;
3196 val* var26 /* : nullable Int */;
3197 val* var27 /* : nullable Bool */;
3198 val* var28 /* : nullable Bool */;
3199 val* var29 /* : String */;
3200 val* var30 /* : NativeArray[String] */;
3201 val* var_na /* var na: NativeArray[String] */;
3202 long var_i /* var i: Int */;
3203 long var_sl /* var sl: Int */;
3204 long var_mypos /* var mypos: Int */;
3205 short int var31 /* : Bool */;
3206 short int var33 /* : Bool */;
3207 int cltype;
3208 int idtype;
3209 const char* var_class_name;
3210 short int var34 /* : Bool */;
3211 val* var35 /* : nullable Object */;
3212 val* var37 /* : Object */;
3213 val* var_itsi /* var itsi: nullable Object */;
3214 short int var38 /* : Bool */;
3215 short int var39 /* : Bool */;
3216 long var40 /* : Int */;
3217 short int var42 /* : Bool */;
3218 int cltype43;
3219 int idtype44;
3220 const char* var_class_name45;
3221 long var46 /* : Int */;
3222 val* var47 /* : String */;
3223 val* var_tmp /* var tmp: String */;
3224 long var48 /* : Int */;
3225 long var49 /* : Int */;
3226 short int var51 /* : Bool */;
3227 int cltype52;
3228 int idtype53;
3229 const char* var_class_name54;
3230 long var55 /* : Int */;
3231 short int var57 /* : Bool */;
3232 int cltype58;
3233 int idtype59;
3234 const struct type* type_struct;
3235 const char* var_class_name60;
3236 long var61 /* : Int */;
3237 short int var63 /* : Bool */;
3238 int cltype64;
3239 int idtype65;
3240 const char* var_class_name66;
3241 long var67 /* : Int */;
3242 long var68 /* : Int */;
3243 short int var70 /* : Bool */;
3244 int cltype71;
3245 int idtype72;
3246 const char* var_class_name73;
3247 long var74 /* : Int */;
3248 static char* varoncenew;
3249 static int varoncenew_guard;
3250 char* var76 /* : CString */;
3251 char* var77 /* : CString */;
3252 long var78 /* : Int */;
3253 short int var80 /* : Bool */;
3254 int cltype81;
3255 int idtype82;
3256 const char* var_class_name83;
3257 long var84 /* : Int */;
3258 char* var85 /* : CString */;
3259 char* var87 /* : CString */;
3260 char* var_ns /* var ns: CString */;
3261 long var_off /* var off: Int */;
3262 short int var89 /* : Bool */;
3263 short int var91 /* : Bool */;
3264 int cltype92;
3265 int idtype93;
3266 const char* var_class_name94;
3267 short int var95 /* : Bool */;
3268 val* var96 /* : nullable Object */;
3269 val* var98 /* : Object */;
3270 val* var_tmp99 /* var tmp: String */;
3271 short int var100 /* : Bool */;
3272 int cltype101;
3273 int idtype102;
3274 long var103 /* : Int */;
3275 long var_tpl /* var tpl: Int */;
3276 char* var104 /* : CString */;
3277 long var105 /* : Int */;
3278 long var107 /* : Int */;
3279 short int var109 /* : Bool */;
3280 int cltype110;
3281 int idtype111;
3282 const char* var_class_name112;
3283 long var113 /* : Int */;
3284 val* var114 /* : Iterator[FlatText] */;
3285 val* var_ /* var : Iterator[FlatText] */;
3286 val* var115 /* : Iterator[nullable Object] */;
3287 val* var_116 /* var : Iterator[FlatText] */;
3288 short int var117 /* : Bool */;
3289 val* var119 /* : nullable Object */;
3290 val* var_j /* var j: FlatText */;
3291 short int var120 /* : Bool */;
3292 int cltype121;
3293 int idtype122;
3294 const char* var_class_name123;
3295 val* var_s /* var s: FlatString */;
3296 long var124 /* : Int */;
3297 long var_slen /* var slen: Int */;
3298 char* var125 /* : CString */;
3299 long var126 /* : Int */;
3300 long var128 /* : Int */;
3301 short int var130 /* : Bool */;
3302 int cltype131;
3303 int idtype132;
3304 const char* var_class_name133;
3305 long var134 /* : Int */;
3306 long var135 /* : Int */;
3307 short int var137 /* : Bool */;
3308 int cltype138;
3309 int idtype139;
3310 const char* var_class_name140;
3311 long var141 /* : Int */;
3312 static val* varoncenew143;
3313 static int varoncenew143_guard;
3314 val* var144 /* : FlatString */;
3315 val* var145 /* : FlatString */;
3316 val* var146 /* : FlatString */;
3317 var1 = self->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on <self:Array[nullable Object]> */
3318 var_l = var1;
3319 {
3320 { /* Inline kernel$Int$== (var_l,0l) on <var_l:Int> */
3321 var4 = var_l == 0l;
3322 var2 = var4;
3323 goto RET_LABEL3;
3324 RET_LABEL3:(void)0;
3325 }
3326 }
3327 if (var2){
3328 if (likely(varonce!=NULL)) {
3329 var5 = varonce;
3330 } else {
3331 var6 = "";
3332 var8 = (val*)(0l<<2|1);
3333 var9 = (val*)(0l<<2|1);
3334 var10 = (val*)((long)(0)<<2|3);
3335 var11 = (val*)((long)(0)<<2|3);
3336 var7 = core__flat___CString___to_s_unsafe(var6, var8, var9, var10, var11);
3337 var5 = var7;
3338 varonce = var5;
3339 }
3340 var = var5;
3341 goto RET_LABEL;
3342 } else {
3343 }
3344 var12 = self->attrs[COLOR_core__array__Array___items].val; /* _items on <self:Array[nullable Object]> */
3345 if (unlikely(var12 == NULL)) {
3346 if(catchStack.cursor >= 0){
3347 longjmp(catchStack.envs[catchStack.cursor], 1);
3348 }
3349 PRINT_ERROR("Runtime error: %s", "Cast failed");
3350 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1497);
3351 fatal_exit(1);
3352 }
3353 var_its = var12;
3354 {
3355 { /* Inline array$NativeArray$[] (var_its,0l) on <var_its:NativeArray[nullable Object]> */
3356 var15 = ((struct instance_core__NativeArray*)var_its)->values[0l];
3357 var13 = var15;
3358 goto RET_LABEL14;
3359 RET_LABEL14:(void)0;
3360 }
3361 }
3362 var_first = var13;
3363 {
3364 { /* Inline kernel$Int$== (var_l,1l) on <var_l:Int> */
3365 var18 = var_l == 1l;
3366 var16 = var18;
3367 goto RET_LABEL17;
3368 RET_LABEL17:(void)0;
3369 }
3370 }
3371 if (var16){
3372 if (var_first == NULL) {
3373 var19 = 1; /* is null */
3374 } else {
3375 var19 = 0; /* arg is null but recv is not */
3376 }
3377 if (0) {
3378 var20 = ((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 <var_first:nullable Object>*/
3379 var19 = var20;
3380 }
3381 if (var19){
3382 if (likely(varonce21!=NULL)) {
3383 var22 = varonce21;
3384 } else {
3385 var23 = "";
3386 var25 = (val*)(0l<<2|1);
3387 var26 = (val*)(0l<<2|1);
3388 var27 = (val*)((long)(0)<<2|3);
3389 var28 = (val*)((long)(0)<<2|3);
3390 var24 = core__flat___CString___to_s_unsafe(var23, var25, var26, var27, var28);
3391 var22 = var24;
3392 varonce21 = var22;
3393 }
3394 var = var22;
3395 goto RET_LABEL;
3396 } else {
3397 {
3398 var29 = ((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_first:nullable Object(Object)>*/
3399 }
3400 var = var29;
3401 goto RET_LABEL;
3402 }
3403 } else {
3404 }
3405 var30 = NEW_core__NativeArray((int)var_l, &type_core__NativeArray__core__String);
3406 var_na = var30;
3407 var_i = 0l;
3408 var_sl = 0l;
3409 var_mypos = 0l;
3410 for(;;) {
3411 {
3412 { /* Inline kernel$Int$< (var_i,var_l) on <var_i:Int> */
3413 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
3414 /* <var_l:Int> isa OTHER */
3415 var33 = 1; /* easy <var_l:Int> isa OTHER*/
3416 if (unlikely(!var33)) {
3417 var_class_name = type_core__Int.name;
3418 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3419 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
3420 fatal_exit(1);
3421 }
3422 var34 = var_i < var_l;
3423 var31 = var34;
3424 goto RET_LABEL32;
3425 RET_LABEL32:(void)0;
3426 }
3427 }
3428 if (var31){
3429 {
3430 { /* Inline array$NativeArray$[] (var_its,var_i) on <var_its:NativeArray[nullable Object]> */
3431 var37 = ((struct instance_core__NativeArray*)var_its)->values[var_i];
3432 var35 = var37;
3433 goto RET_LABEL36;
3434 RET_LABEL36:(void)0;
3435 }
3436 }
3437 var_itsi = var35;
3438 if (var_itsi == NULL) {
3439 var38 = 1; /* is null */
3440 } else {
3441 var38 = 0; /* arg is null but recv is not */
3442 }
3443 if (0) {
3444 var39 = ((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 <var_itsi:nullable Object>*/
3445 var38 = var39;
3446 }
3447 if (var38){
3448 {
3449 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
3450 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3451 /* <1l:Int> isa OTHER */
3452 var42 = 1; /* easy <1l:Int> isa OTHER*/
3453 if (unlikely(!var42)) {
3454 var_class_name45 = type_core__Int.name;
3455 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45);
3456 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3457 fatal_exit(1);
3458 }
3459 var46 = var_i + 1l;
3460 var40 = var46;
3461 goto RET_LABEL41;
3462 RET_LABEL41:(void)0;
3463 }
3464 }
3465 var_i = var40;
3466 goto BREAK_label;
3467 } else {
3468 }
3469 {
3470 var47 = ((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_itsi:nullable Object(Object)>*/
3471 }
3472 var_tmp = var47;
3473 {
3474 var48 = ((long(*)(val* self))(var_tmp->class->vft[COLOR_core__abstract_text__Text__byte_length]))(var_tmp); /* byte_length on <var_tmp:String>*/
3475 }
3476 {
3477 { /* Inline kernel$Int$+ (var_sl,var48) on <var_sl:Int> */
3478 /* Covariant cast for argument 0 (i) <var48:Int> isa OTHER */
3479 /* <var48:Int> isa OTHER */
3480 var51 = 1; /* easy <var48:Int> isa OTHER*/
3481 if (unlikely(!var51)) {
3482 var_class_name54 = type_core__Int.name;
3483 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54);
3484 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3485 fatal_exit(1);
3486 }
3487 var55 = var_sl + var48;
3488 var49 = var55;
3489 goto RET_LABEL50;
3490 RET_LABEL50:(void)0;
3491 }
3492 }
3493 var_sl = var49;
3494 {
3495 { /* Inline array$NativeArray$[]= (var_na,var_mypos,var_tmp) on <var_na:NativeArray[String]> */
3496 /* Covariant cast for argument 1 (item) <var_tmp:String> isa E */
3497 /* <var_tmp:String> isa E */
3498 type_struct = var_na->type->resolution_table->types[COLOR_core__NativeArray___35dE];
3499 cltype58 = type_struct->color;
3500 idtype59 = type_struct->id;
3501 if(cltype58 >= var_tmp->type->table_size) {
3502 var57 = 0;
3503 } else {
3504 var57 = var_tmp->type->type_table[cltype58] == idtype59;
3505 }
3506 if (unlikely(!var57)) {
3507 var_class_name60 = var_tmp == NULL ? "null" : var_tmp->type->name;
3508 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name60);
3509 PRINT_ERROR(" (%s:%d)\n", FILE_core__array, 991);
3510 fatal_exit(1);
3511 }
3512 ((struct instance_core__NativeArray*)var_na)->values[var_mypos]=var_tmp;
3513 RET_LABEL56:(void)0;
3514 }
3515 }
3516 {
3517 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
3518 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3519 /* <1l:Int> isa OTHER */
3520 var63 = 1; /* easy <1l:Int> isa OTHER*/
3521 if (unlikely(!var63)) {
3522 var_class_name66 = type_core__Int.name;
3523 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66);
3524 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3525 fatal_exit(1);
3526 }
3527 var67 = var_i + 1l;
3528 var61 = var67;
3529 goto RET_LABEL62;
3530 RET_LABEL62:(void)0;
3531 }
3532 }
3533 var_i = var61;
3534 {
3535 { /* Inline kernel$Int$+ (var_mypos,1l) on <var_mypos:Int> */
3536 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3537 /* <1l:Int> isa OTHER */
3538 var70 = 1; /* easy <1l:Int> isa OTHER*/
3539 if (unlikely(!var70)) {
3540 var_class_name73 = type_core__Int.name;
3541 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73);
3542 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3543 fatal_exit(1);
3544 }
3545 var74 = var_mypos + 1l;
3546 var68 = var74;
3547 goto RET_LABEL69;
3548 RET_LABEL69:(void)0;
3549 }
3550 }
3551 var_mypos = var68;
3552 } else {
3553 goto BREAK_label75;
3554 }
3555 BREAK_label: (void)0;
3556 }
3557 BREAK_label75: (void)0;
3558 if (likely(varoncenew_guard)) {
3559 var76 = varoncenew;
3560 } else {
3561 var77 = NULL/*special!*/;
3562 var76 = var77;
3563 varoncenew = var76;
3564 varoncenew_guard = 1;
3565 }
3566 {
3567 { /* Inline kernel$Int$+ (var_sl,1l) on <var_sl:Int> */
3568 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3569 /* <1l:Int> isa OTHER */
3570 var80 = 1; /* easy <1l:Int> isa OTHER*/
3571 if (unlikely(!var80)) {
3572 var_class_name83 = type_core__Int.name;
3573 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name83);
3574 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3575 fatal_exit(1);
3576 }
3577 var84 = var_sl + 1l;
3578 var78 = var84;
3579 goto RET_LABEL79;
3580 RET_LABEL79:(void)0;
3581 }
3582 }
3583 {
3584 { /* Inline native$CString$new (var76,var78) on <var76:CString> */
3585 var87 = (char*)nit_alloc(var78);
3586 var85 = var87;
3587 goto RET_LABEL86;
3588 RET_LABEL86:(void)0;
3589 }
3590 }
3591 var_ns = var85;
3592 {
3593 { /* Inline native$CString$[]= (var_ns,var_sl,((unsigned char)0x00)) on <var_ns:CString> */
3594 var_ns[var_sl]=(unsigned char)((unsigned char)0x00);
3595 RET_LABEL88:(void)0;
3596 }
3597 }
3598 var_i = 0l;
3599 var_off = 0l;
3600 for(;;) {
3601 {
3602 { /* Inline kernel$Int$< (var_i,var_mypos) on <var_i:Int> */
3603 /* Covariant cast for argument 0 (i) <var_mypos:Int> isa OTHER */
3604 /* <var_mypos:Int> isa OTHER */
3605 var91 = 1; /* easy <var_mypos:Int> isa OTHER*/
3606 if (unlikely(!var91)) {
3607 var_class_name94 = type_core__Int.name;
3608 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name94);
3609 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
3610 fatal_exit(1);
3611 }
3612 var95 = var_i < var_mypos;
3613 var89 = var95;
3614 goto RET_LABEL90;
3615 RET_LABEL90:(void)0;
3616 }
3617 }
3618 if (var89){
3619 {
3620 { /* Inline array$NativeArray$[] (var_na,var_i) on <var_na:NativeArray[String]> */
3621 var98 = ((struct instance_core__NativeArray*)var_na)->values[var_i];
3622 var96 = var98;
3623 goto RET_LABEL97;
3624 RET_LABEL97:(void)0;
3625 }
3626 }
3627 var_tmp99 = var96;
3628 /* <var_tmp99:String> isa FlatString */
3629 cltype101 = type_core__FlatString.color;
3630 idtype102 = type_core__FlatString.id;
3631 if(cltype101 >= var_tmp99->type->table_size) {
3632 var100 = 0;
3633 } else {
3634 var100 = var_tmp99->type->type_table[cltype101] == idtype102;
3635 }
3636 if (var100){
3637 var103 = var_tmp99->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_tmp99:String(FlatString)> */
3638 var_tpl = var103;
3639 var104 = var_tmp99->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_tmp99:String(FlatString)> */
3640 var105 = var_tmp99->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <var_tmp99:String(FlatString)> */
3641 {
3642 { /* Inline native$CString$copy_to (var104,var_ns,var_tpl,var105,var_off) on <var104:CString> */
3643 memmove(var_ns+var_off,var104+var105,var_tpl);
3644 RET_LABEL106:(void)0;
3645 }
3646 }
3647 {
3648 { /* Inline kernel$Int$+ (var_off,var_tpl) on <var_off:Int> */
3649 /* Covariant cast for argument 0 (i) <var_tpl:Int> isa OTHER */
3650 /* <var_tpl:Int> isa OTHER */
3651 var109 = 1; /* easy <var_tpl:Int> isa OTHER*/
3652 if (unlikely(!var109)) {
3653 var_class_name112 = type_core__Int.name;
3654 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name112);
3655 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3656 fatal_exit(1);
3657 }
3658 var113 = var_off + var_tpl;
3659 var107 = var113;
3660 goto RET_LABEL108;
3661 RET_LABEL108:(void)0;
3662 }
3663 }
3664 var_off = var107;
3665 } else {
3666 {
3667 var114 = ((val*(*)(val* self))(var_tmp99->class->vft[COLOR_core__abstract_text__Text__substrings]))(var_tmp99); /* substrings on <var_tmp99:String>*/
3668 }
3669 var_ = var114;
3670 {
3671 var115 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Iterator__iterator]))(var_); /* iterator on <var_:Iterator[FlatText]>*/
3672 }
3673 var_116 = var115;
3674 for(;;) {
3675 {
3676 var117 = ((short int(*)(val* self))((((long)var_116&3)?class_info[((long)var_116&3)]:var_116->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_116); /* is_ok on <var_116:Iterator[FlatText]>*/
3677 }
3678 if (var117){
3679 } else {
3680 goto BREAK_label118;
3681 }
3682 {
3683 var119 = ((val*(*)(val* self))((((long)var_116&3)?class_info[((long)var_116&3)]:var_116->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_116); /* item on <var_116:Iterator[FlatText]>*/
3684 }
3685 var_j = var119;
3686 /* <var_j:FlatText> isa FlatString */
3687 cltype121 = type_core__FlatString.color;
3688 idtype122 = type_core__FlatString.id;
3689 if(cltype121 >= var_j->type->table_size) {
3690 var120 = 0;
3691 } else {
3692 var120 = var_j->type->type_table[cltype121] == idtype122;
3693 }
3694 if (unlikely(!var120)) {
3695 var_class_name123 = var_j == NULL ? "null" : var_j->type->name;
3696 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "FlatString", var_class_name123);
3697 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1528);
3698 fatal_exit(1);
3699 }
3700 var_s = var_j;
3701 var124 = var_s->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_s:FlatString> */
3702 var_slen = var124;
3703 var125 = var_s->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_s:FlatString> */
3704 var126 = var_s->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <var_s:FlatString> */
3705 {
3706 { /* Inline native$CString$copy_to (var125,var_ns,var_slen,var126,var_off) on <var125:CString> */
3707 memmove(var_ns+var_off,var125+var126,var_slen);
3708 RET_LABEL127:(void)0;
3709 }
3710 }
3711 {
3712 { /* Inline kernel$Int$+ (var_off,var_slen) on <var_off:Int> */
3713 /* Covariant cast for argument 0 (i) <var_slen:Int> isa OTHER */
3714 /* <var_slen:Int> isa OTHER */
3715 var130 = 1; /* easy <var_slen:Int> isa OTHER*/
3716 if (unlikely(!var130)) {
3717 var_class_name133 = type_core__Int.name;
3718 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name133);
3719 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3720 fatal_exit(1);
3721 }
3722 var134 = var_off + var_slen;
3723 var128 = var134;
3724 goto RET_LABEL129;
3725 RET_LABEL129:(void)0;
3726 }
3727 }
3728 var_off = var128;
3729 {
3730 ((void(*)(val* self))((((long)var_116&3)?class_info[((long)var_116&3)]:var_116->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_116); /* next on <var_116:Iterator[FlatText]>*/
3731 }
3732 }
3733 BREAK_label118: (void)0;
3734 {
3735 ((void(*)(val* self))((((long)var_116&3)?class_info[((long)var_116&3)]:var_116->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_116); /* finish on <var_116:Iterator[FlatText]>*/
3736 }
3737 }
3738 {
3739 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
3740 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3741 /* <1l:Int> isa OTHER */
3742 var137 = 1; /* easy <1l:Int> isa OTHER*/
3743 if (unlikely(!var137)) {
3744 var_class_name140 = type_core__Int.name;
3745 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name140);
3746 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3747 fatal_exit(1);
3748 }
3749 var141 = var_i + 1l;
3750 var135 = var141;
3751 goto RET_LABEL136;
3752 RET_LABEL136:(void)0;
3753 }
3754 }
3755 var_i = var135;
3756 } else {
3757 goto BREAK_label142;
3758 }
3759 }
3760 BREAK_label142: (void)0;
3761 if (likely(varoncenew143_guard)) {
3762 var144 = varoncenew143;
3763 } else {
3764 var145 = NEW_core__FlatString(&type_core__FlatString);
3765 var144 = var145;
3766 varoncenew143 = var144;
3767 varoncenew143_guard = 1;
3768 }
3769 {
3770 var146 = core___core__FlatString___with_infos(var144, var_ns, var_sl, 0l);
3771 }
3772 var = var146;
3773 goto RET_LABEL;
3774 RET_LABEL:;
3775 return var;
3776 }
3777 /* method flat$NativeArray$native_to_s for (self: NativeArray[nullable Object]): String */
3778 val* core__flat___NativeArray___native_to_s(val* self) {
3779 val* var /* : String */;
3780 short int var1 /* : Bool */;
3781 int cltype;
3782 int idtype;
3783 long var2 /* : Int */;
3784 long var4 /* : Int */;
3785 long var_l /* var l: Int */;
3786 val* var_na /* var na: NativeArray[String] */;
3787 long var_i /* var i: Int */;
3788 long var_sl /* var sl: Int */;
3789 long var_mypos /* var mypos: Int */;
3790 short int var5 /* : Bool */;
3791 short int var7 /* : Bool */;
3792 int cltype8;
3793 int idtype9;
3794 const char* var_class_name;
3795 short int var10 /* : Bool */;
3796 val* var11 /* : nullable Object */;
3797 val* var13 /* : Object */;
3798 long var14 /* : Int */;
3799 long var15 /* : Int */;
3800 short int var17 /* : Bool */;
3801 int cltype18;
3802 int idtype19;
3803 const char* var_class_name20;
3804 long var21 /* : Int */;
3805 long var22 /* : Int */;
3806 short int var24 /* : Bool */;
3807 int cltype25;
3808 int idtype26;
3809 const char* var_class_name27;
3810 long var28 /* : Int */;
3811 long var29 /* : Int */;
3812 short int var31 /* : Bool */;
3813 int cltype32;
3814 int idtype33;
3815 const char* var_class_name34;
3816 long var35 /* : Int */;
3817 static char* varoncenew;
3818 static int varoncenew_guard;
3819 char* var36 /* : CString */;
3820 char* var37 /* : CString */;
3821 long var38 /* : Int */;
3822 short int var40 /* : Bool */;
3823 int cltype41;
3824 int idtype42;
3825 const char* var_class_name43;
3826 long var44 /* : Int */;
3827 char* var45 /* : CString */;
3828 char* var47 /* : CString */;
3829 char* var_ns /* var ns: CString */;
3830 long var_off /* var off: Int */;
3831 short int var49 /* : Bool */;
3832 short int var51 /* : Bool */;
3833 int cltype52;
3834 int idtype53;
3835 const char* var_class_name54;
3836 short int var55 /* : Bool */;
3837 val* var56 /* : nullable Object */;
3838 val* var58 /* : Object */;
3839 val* var_tmp /* var tmp: String */;
3840 short int var59 /* : Bool */;
3841 int cltype60;
3842 int idtype61;
3843 long var62 /* : Int */;
3844 long var_tpl /* var tpl: Int */;
3845 char* var63 /* : CString */;
3846 long var64 /* : Int */;
3847 long var66 /* : Int */;
3848 short int var68 /* : Bool */;
3849 int cltype69;
3850 int idtype70;
3851 const char* var_class_name71;
3852 long var72 /* : Int */;
3853 val* var73 /* : Iterator[FlatText] */;
3854 val* var_ /* var : Iterator[FlatText] */;
3855 val* var74 /* : Iterator[nullable Object] */;
3856 val* var_75 /* var : Iterator[FlatText] */;
3857 short int var76 /* : Bool */;
3858 val* var78 /* : nullable Object */;
3859 val* var_j /* var j: FlatText */;
3860 short int var79 /* : Bool */;
3861 int cltype80;
3862 int idtype81;
3863 const char* var_class_name82;
3864 val* var_s /* var s: FlatString */;
3865 long var83 /* : Int */;
3866 long var_slen /* var slen: Int */;
3867 char* var84 /* : CString */;
3868 long var85 /* : Int */;
3869 long var87 /* : Int */;
3870 short int var89 /* : Bool */;
3871 int cltype90;
3872 int idtype91;
3873 const char* var_class_name92;
3874 long var93 /* : Int */;
3875 long var94 /* : Int */;
3876 short int var96 /* : Bool */;
3877 int cltype97;
3878 int idtype98;
3879 const char* var_class_name99;
3880 long var100 /* : Int */;
3881 static val* varoncenew102;
3882 static int varoncenew102_guard;
3883 val* var103 /* : FlatString */;
3884 val* var104 /* : FlatString */;
3885 val* var105 /* : FlatString */;
3886 /* <self:NativeArray[nullable Object]> isa NativeArray[String] */
3887 cltype = type_core__NativeArray__core__String.color;
3888 idtype = type_core__NativeArray__core__String.id;
3889 if(cltype >= self->type->table_size) {
3890 var1 = 0;
3891 } else {
3892 var1 = self->type->type_table[cltype] == idtype;
3893 }
3894 if (unlikely(!var1)) {
3895 if(catchStack.cursor >= 0){
3896 longjmp(catchStack.envs[catchStack.cursor], 1);
3897 }
3898 PRINT_ERROR("Runtime error: %s", "Assert failed");
3899 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1542);
3900 fatal_exit(1);
3901 }
3902 {
3903 { /* Inline array$NativeArray$length (self) on <self:NativeArray[nullable Object](NativeArray[String])> */
3904 var4 = ((struct instance_core__NativeArray*)self)->length;
3905 var2 = var4;
3906 goto RET_LABEL3;
3907 RET_LABEL3:(void)0;
3908 }
3909 }
3910 var_l = var2;
3911 var_na = self;
3912 var_i = 0l;
3913 var_sl = 0l;
3914 var_mypos = 0l;
3915 for(;;) {
3916 {
3917 { /* Inline kernel$Int$< (var_i,var_l) on <var_i:Int> */
3918 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
3919 /* <var_l:Int> isa OTHER */
3920 var7 = 1; /* easy <var_l:Int> isa OTHER*/
3921 if (unlikely(!var7)) {
3922 var_class_name = type_core__Int.name;
3923 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3924 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
3925 fatal_exit(1);
3926 }
3927 var10 = var_i < var_l;
3928 var5 = var10;
3929 goto RET_LABEL6;
3930 RET_LABEL6:(void)0;
3931 }
3932 }
3933 if (var5){
3934 {
3935 { /* Inline array$NativeArray$[] (var_na,var_i) on <var_na:NativeArray[String]> */
3936 var13 = ((struct instance_core__NativeArray*)var_na)->values[var_i];
3937 var11 = var13;
3938 goto RET_LABEL12;
3939 RET_LABEL12:(void)0;
3940 }
3941 }
3942 {
3943 var14 = ((long(*)(val* self))(var11->class->vft[COLOR_core__abstract_text__Text__byte_length]))(var11); /* byte_length on <var11:nullable Object(String)>*/
3944 }
3945 {
3946 { /* Inline kernel$Int$+ (var_sl,var14) on <var_sl:Int> */
3947 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
3948 /* <var14:Int> isa OTHER */
3949 var17 = 1; /* easy <var14:Int> isa OTHER*/
3950 if (unlikely(!var17)) {
3951 var_class_name20 = type_core__Int.name;
3952 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
3953 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3954 fatal_exit(1);
3955 }
3956 var21 = var_sl + var14;
3957 var15 = var21;
3958 goto RET_LABEL16;
3959 RET_LABEL16:(void)0;
3960 }
3961 }
3962 var_sl = var15;
3963 {
3964 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
3965 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3966 /* <1l:Int> isa OTHER */
3967 var24 = 1; /* easy <1l:Int> isa OTHER*/
3968 if (unlikely(!var24)) {
3969 var_class_name27 = type_core__Int.name;
3970 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
3971 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3972 fatal_exit(1);
3973 }
3974 var28 = var_i + 1l;
3975 var22 = var28;
3976 goto RET_LABEL23;
3977 RET_LABEL23:(void)0;
3978 }
3979 }
3980 var_i = var22;
3981 {
3982 { /* Inline kernel$Int$+ (var_mypos,1l) on <var_mypos:Int> */
3983 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3984 /* <1l:Int> isa OTHER */
3985 var31 = 1; /* easy <1l:Int> isa OTHER*/
3986 if (unlikely(!var31)) {
3987 var_class_name34 = type_core__Int.name;
3988 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
3989 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3990 fatal_exit(1);
3991 }
3992 var35 = var_mypos + 1l;
3993 var29 = var35;
3994 goto RET_LABEL30;
3995 RET_LABEL30:(void)0;
3996 }
3997 }
3998 var_mypos = var29;
3999 } else {
4000 goto BREAK_label;
4001 }
4002 }
4003 BREAK_label: (void)0;
4004 if (likely(varoncenew_guard)) {
4005 var36 = varoncenew;
4006 } else {
4007 var37 = NULL/*special!*/;
4008 var36 = var37;
4009 varoncenew = var36;
4010 varoncenew_guard = 1;
4011 }
4012 {
4013 { /* Inline kernel$Int$+ (var_sl,1l) on <var_sl:Int> */
4014 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4015 /* <1l:Int> isa OTHER */
4016 var40 = 1; /* easy <1l:Int> isa OTHER*/
4017 if (unlikely(!var40)) {
4018 var_class_name43 = type_core__Int.name;
4019 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43);
4020 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4021 fatal_exit(1);
4022 }
4023 var44 = var_sl + 1l;
4024 var38 = var44;
4025 goto RET_LABEL39;
4026 RET_LABEL39:(void)0;
4027 }
4028 }
4029 {
4030 { /* Inline native$CString$new (var36,var38) on <var36:CString> */
4031 var47 = (char*)nit_alloc(var38);
4032 var45 = var47;
4033 goto RET_LABEL46;
4034 RET_LABEL46:(void)0;
4035 }
4036 }
4037 var_ns = var45;
4038 {
4039 { /* Inline native$CString$[]= (var_ns,var_sl,((unsigned char)0x00)) on <var_ns:CString> */
4040 var_ns[var_sl]=(unsigned char)((unsigned char)0x00);
4041 RET_LABEL48:(void)0;
4042 }
4043 }
4044 var_i = 0l;
4045 var_off = 0l;
4046 for(;;) {
4047 {
4048 { /* Inline kernel$Int$< (var_i,var_mypos) on <var_i:Int> */
4049 /* Covariant cast for argument 0 (i) <var_mypos:Int> isa OTHER */
4050 /* <var_mypos:Int> isa OTHER */
4051 var51 = 1; /* easy <var_mypos:Int> isa OTHER*/
4052 if (unlikely(!var51)) {
4053 var_class_name54 = type_core__Int.name;
4054 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54);
4055 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
4056 fatal_exit(1);
4057 }
4058 var55 = var_i < var_mypos;
4059 var49 = var55;
4060 goto RET_LABEL50;
4061 RET_LABEL50:(void)0;
4062 }
4063 }
4064 if (var49){
4065 {
4066 { /* Inline array$NativeArray$[] (var_na,var_i) on <var_na:NativeArray[String]> */
4067 var58 = ((struct instance_core__NativeArray*)var_na)->values[var_i];
4068 var56 = var58;
4069 goto RET_LABEL57;
4070 RET_LABEL57:(void)0;
4071 }
4072 }
4073 var_tmp = var56;
4074 /* <var_tmp:String> isa FlatString */
4075 cltype60 = type_core__FlatString.color;
4076 idtype61 = type_core__FlatString.id;
4077 if(cltype60 >= var_tmp->type->table_size) {
4078 var59 = 0;
4079 } else {
4080 var59 = var_tmp->type->type_table[cltype60] == idtype61;
4081 }
4082 if (var59){
4083 var62 = var_tmp->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_tmp:String(FlatString)> */
4084 var_tpl = var62;
4085 var63 = var_tmp->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_tmp:String(FlatString)> */
4086 var64 = var_tmp->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <var_tmp:String(FlatString)> */
4087 {
4088 { /* Inline native$CString$copy_to (var63,var_ns,var_tpl,var64,var_off) on <var63:CString> */
4089 memmove(var_ns+var_off,var63+var64,var_tpl);
4090 RET_LABEL65:(void)0;
4091 }
4092 }
4093 {
4094 { /* Inline kernel$Int$+ (var_off,var_tpl) on <var_off:Int> */
4095 /* Covariant cast for argument 0 (i) <var_tpl:Int> isa OTHER */
4096 /* <var_tpl:Int> isa OTHER */
4097 var68 = 1; /* easy <var_tpl:Int> isa OTHER*/
4098 if (unlikely(!var68)) {
4099 var_class_name71 = type_core__Int.name;
4100 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name71);
4101 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4102 fatal_exit(1);
4103 }
4104 var72 = var_off + var_tpl;
4105 var66 = var72;
4106 goto RET_LABEL67;
4107 RET_LABEL67:(void)0;
4108 }
4109 }
4110 var_off = var66;
4111 } else {
4112 {
4113 var73 = ((val*(*)(val* self))(var_tmp->class->vft[COLOR_core__abstract_text__Text__substrings]))(var_tmp); /* substrings on <var_tmp:String>*/
4114 }
4115 var_ = var73;
4116 {
4117 var74 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Iterator__iterator]))(var_); /* iterator on <var_:Iterator[FlatText]>*/
4118 }
4119 var_75 = var74;
4120 for(;;) {
4121 {
4122 var76 = ((short int(*)(val* self))((((long)var_75&3)?class_info[((long)var_75&3)]:var_75->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_75); /* is_ok on <var_75:Iterator[FlatText]>*/
4123 }
4124 if (var76){
4125 } else {
4126 goto BREAK_label77;
4127 }
4128 {
4129 var78 = ((val*(*)(val* self))((((long)var_75&3)?class_info[((long)var_75&3)]:var_75->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_75); /* item on <var_75:Iterator[FlatText]>*/
4130 }
4131 var_j = var78;
4132 /* <var_j:FlatText> isa FlatString */
4133 cltype80 = type_core__FlatString.color;
4134 idtype81 = type_core__FlatString.id;
4135 if(cltype80 >= var_j->type->table_size) {
4136 var79 = 0;
4137 } else {
4138 var79 = var_j->type->type_table[cltype80] == idtype81;
4139 }
4140 if (unlikely(!var79)) {
4141 var_class_name82 = var_j == NULL ? "null" : var_j->type->name;
4142 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "FlatString", var_class_name82);
4143 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1565);
4144 fatal_exit(1);
4145 }
4146 var_s = var_j;
4147 var83 = var_s->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_s:FlatString> */
4148 var_slen = var83;
4149 var84 = var_s->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_s:FlatString> */
4150 var85 = var_s->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <var_s:FlatString> */
4151 {
4152 { /* Inline native$CString$copy_to (var84,var_ns,var_slen,var85,var_off) on <var84:CString> */
4153 memmove(var_ns+var_off,var84+var85,var_slen);
4154 RET_LABEL86:(void)0;
4155 }
4156 }
4157 {
4158 { /* Inline kernel$Int$+ (var_off,var_slen) on <var_off:Int> */
4159 /* Covariant cast for argument 0 (i) <var_slen:Int> isa OTHER */
4160 /* <var_slen:Int> isa OTHER */
4161 var89 = 1; /* easy <var_slen:Int> isa OTHER*/
4162 if (unlikely(!var89)) {
4163 var_class_name92 = type_core__Int.name;
4164 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name92);
4165 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4166 fatal_exit(1);
4167 }
4168 var93 = var_off + var_slen;
4169 var87 = var93;
4170 goto RET_LABEL88;
4171 RET_LABEL88:(void)0;
4172 }
4173 }
4174 var_off = var87;
4175 {
4176 ((void(*)(val* self))((((long)var_75&3)?class_info[((long)var_75&3)]:var_75->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_75); /* next on <var_75:Iterator[FlatText]>*/
4177 }
4178 }
4179 BREAK_label77: (void)0;
4180 {
4181 ((void(*)(val* self))((((long)var_75&3)?class_info[((long)var_75&3)]:var_75->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_75); /* finish on <var_75:Iterator[FlatText]>*/
4182 }
4183 }
4184 {
4185 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
4186 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4187 /* <1l:Int> isa OTHER */
4188 var96 = 1; /* easy <1l:Int> isa OTHER*/
4189 if (unlikely(!var96)) {
4190 var_class_name99 = type_core__Int.name;
4191 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name99);
4192 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4193 fatal_exit(1);
4194 }
4195 var100 = var_i + 1l;
4196 var94 = var100;
4197 goto RET_LABEL95;
4198 RET_LABEL95:(void)0;
4199 }
4200 }
4201 var_i = var94;
4202 } else {
4203 goto BREAK_label101;
4204 }
4205 }
4206 BREAK_label101: (void)0;
4207 if (likely(varoncenew102_guard)) {
4208 var103 = varoncenew102;
4209 } else {
4210 var104 = NEW_core__FlatString(&type_core__FlatString);
4211 var103 = var104;
4212 varoncenew102 = var103;
4213 varoncenew102_guard = 1;
4214 }
4215 {
4216 var105 = core___core__FlatString___with_infos(var103, var_ns, var_sl, 0l);
4217 }
4218 var = var105;
4219 goto RET_LABEL;
4220 RET_LABEL:;
4221 return var;
4222 }
4223 /* method flat$Map$join for (self: Map[nullable Object, nullable Object], String, String): String */
4224 val* core__flat___Map___join(val* self, val* p0, val* p1) {
4225 val* var /* : String */;
4226 val* var_sep /* var sep: String */;
4227 val* var_couple_sep /* var couple_sep: String */;
4228 short int var1 /* : Bool */;
4229 static val* varonce;
4230 val* var2 /* : String */;
4231 char* var3 /* : CString */;
4232 val* var4 /* : String */;
4233 val* var5 /* : nullable Int */;
4234 val* var6 /* : nullable Int */;
4235 val* var7 /* : nullable Bool */;
4236 val* var8 /* : nullable Bool */;
4237 static val* varoncenew;
4238 static int varoncenew_guard;
4239 val* var9 /* : Buffer */;
4240 val* var10 /* : Buffer */;
4241 val* var11 /* : Buffer */;
4242 val* var_s /* var s: Buffer */;
4243 val* var12 /* : MapIterator[nullable Object, nullable Object] */;
4244 val* var_i /* var i: MapIterator[nullable Object, nullable Object] */;
4245 val* var13 /* : nullable Object */;
4246 val* var_k /* var k: nullable Object */;
4247 val* var14 /* : nullable Object */;
4248 val* var_e /* var e: nullable Object */;
4249 val* var16 /* : NativeArray[String] */;
4250 static val* varonce15;
4251 val* var17 /* : Object */;
4252 static val* varonce18;
4253 val* var19 /* : String */;
4254 char* var20 /* : CString */;
4255 val* var21 /* : String */;
4256 val* var22 /* : nullable Int */;
4257 val* var23 /* : nullable Int */;
4258 val* var24 /* : nullable Bool */;
4259 val* var25 /* : nullable Bool */;
4260 val* var26 /* : String */;
4261 val* var27 /* : Object */;
4262 static val* varonce28;
4263 val* var29 /* : String */;
4264 char* var30 /* : CString */;
4265 val* var31 /* : String */;
4266 val* var32 /* : nullable Int */;
4267 val* var33 /* : nullable Int */;
4268 val* var34 /* : nullable Bool */;
4269 val* var35 /* : nullable Bool */;
4270 val* var36 /* : String */;
4271 val* var37 /* : String */;
4272 short int var38 /* : Bool */;
4273 val* var39 /* : nullable Object */;
4274 val* var40 /* : nullable Object */;
4275 val* var42 /* : NativeArray[String] */;
4276 static val* varonce41;
4277 val* var43 /* : Object */;
4278 static val* varonce44;
4279 val* var45 /* : String */;
4280 char* var46 /* : CString */;
4281 val* var47 /* : String */;
4282 val* var48 /* : nullable Int */;
4283 val* var49 /* : nullable Int */;
4284 val* var50 /* : nullable Bool */;
4285 val* var51 /* : nullable Bool */;
4286 val* var52 /* : String */;
4287 val* var53 /* : Object */;
4288 static val* varonce54;
4289 val* var55 /* : String */;
4290 char* var56 /* : CString */;
4291 val* var57 /* : String */;
4292 val* var58 /* : nullable Int */;
4293 val* var59 /* : nullable Int */;
4294 val* var60 /* : nullable Bool */;
4295 val* var61 /* : nullable Bool */;
4296 val* var62 /* : String */;
4297 val* var63 /* : String */;
4298 val* var64 /* : String */;
4299 var_sep = p0;
4300 var_couple_sep = p1;
4301 {
4302 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 <self:Map[nullable Object, nullable Object]>*/
4303 }
4304 if (var1){
4305 if (likely(varonce!=NULL)) {
4306 var2 = varonce;
4307 } else {
4308 var3 = "";
4309 var5 = (val*)(0l<<2|1);
4310 var6 = (val*)(0l<<2|1);
4311 var7 = (val*)((long)(0)<<2|3);
4312 var8 = (val*)((long)(0)<<2|3);
4313 var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8);
4314 var2 = var4;
4315 varonce = var2;
4316 }
4317 var = var2;
4318 goto RET_LABEL;
4319 } else {
4320 }
4321 if (likely(varoncenew_guard)) {
4322 var9 = varoncenew;
4323 } else {
4324 var10 = NEW_core__Buffer(&type_core__Buffer);
4325 var9 = var10;
4326 varoncenew = var9;
4327 varoncenew_guard = 1;
4328 }
4329 {
4330 var11 = core__flat___Buffer___new(var9);
4331 }
4332 var_s = var11;
4333 {
4334 var12 = ((val*(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_core__abstract_collection__MapRead__iterator]))(self); /* iterator on <self:Map[nullable Object, nullable Object]>*/
4335 }
4336 var_i = var12;
4337 {
4338 var13 = ((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_i:MapIterator[nullable Object, nullable Object]>*/
4339 }
4340 var_k = var13;
4341 {
4342 var14 = ((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_i:MapIterator[nullable Object, nullable Object]>*/
4343 }
4344 var_e = var14;
4345 if (unlikely(varonce15==NULL)) {
4346 var16 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
4347 } else {
4348 var16 = varonce15;
4349 varonce15 = NULL;
4350 }
4351 if (var_k!=NULL) {
4352 var17 = var_k;
4353 } else {
4354 if (likely(varonce18!=NULL)) {
4355 var19 = varonce18;
4356 } else {
4357 var20 = "<null>";
4358 var22 = (val*)(6l<<2|1);
4359 var23 = (val*)(6l<<2|1);
4360 var24 = (val*)((long)(0)<<2|3);
4361 var25 = (val*)((long)(0)<<2|3);
4362 var21 = core__flat___CString___to_s_unsafe(var20, var22, var23, var24, var25);
4363 var19 = var21;
4364 varonce18 = var19;
4365 }
4366 var17 = var19;
4367 }
4368 {
4369 var26 = ((val*(*)(val* self))((((long)var17&3)?class_info[((long)var17&3)]:var17->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var17); /* to_s on <var17:Object>*/
4370 }
4371 ((struct instance_core__NativeArray*)var16)->values[0]=var26;
4372 ((struct instance_core__NativeArray*)var16)->values[1]=var_couple_sep;
4373 if (var_e!=NULL) {
4374 var27 = var_e;
4375 } else {
4376 if (likely(varonce28!=NULL)) {
4377 var29 = varonce28;
4378 } else {
4379 var30 = "<null>";
4380 var32 = (val*)(6l<<2|1);
4381 var33 = (val*)(6l<<2|1);
4382 var34 = (val*)((long)(0)<<2|3);
4383 var35 = (val*)((long)(0)<<2|3);
4384 var31 = core__flat___CString___to_s_unsafe(var30, var32, var33, var34, var35);
4385 var29 = var31;
4386 varonce28 = var29;
4387 }
4388 var27 = var29;
4389 }
4390 {
4391 var36 = ((val*(*)(val* self))((((long)var27&3)?class_info[((long)var27&3)]:var27->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var27); /* to_s on <var27:Object>*/
4392 }
4393 ((struct instance_core__NativeArray*)var16)->values[2]=var36;
4394 {
4395 var37 = ((val*(*)(val* self))(var16->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var16); /* native_to_s on <var16:NativeArray[String]>*/
4396 }
4397 varonce15 = var16;
4398 {
4399 ((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var37); /* append on <var_s:Buffer>*/
4400 }
4401 {
4402 ((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 <var_i:MapIterator[nullable Object, nullable Object]>*/
4403 }
4404 for(;;) {
4405 {
4406 var38 = ((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 <var_i:MapIterator[nullable Object, nullable Object]>*/
4407 }
4408 if (var38){
4409 {
4410 ((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var_sep); /* append on <var_s:Buffer>*/
4411 }
4412 {
4413 var39 = ((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_i:MapIterator[nullable Object, nullable Object]>*/
4414 }
4415 var_k = var39;
4416 {
4417 var40 = ((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_i:MapIterator[nullable Object, nullable Object]>*/
4418 }
4419 var_e = var40;
4420 if (unlikely(varonce41==NULL)) {
4421 var42 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String);
4422 } else {
4423 var42 = varonce41;
4424 varonce41 = NULL;
4425 }
4426 if (var_k!=NULL) {
4427 var43 = var_k;
4428 } else {
4429 if (likely(varonce44!=NULL)) {
4430 var45 = varonce44;
4431 } else {
4432 var46 = "<null>";
4433 var48 = (val*)(6l<<2|1);
4434 var49 = (val*)(6l<<2|1);
4435 var50 = (val*)((long)(0)<<2|3);
4436 var51 = (val*)((long)(0)<<2|3);
4437 var47 = core__flat___CString___to_s_unsafe(var46, var48, var49, var50, var51);
4438 var45 = var47;
4439 varonce44 = var45;
4440 }
4441 var43 = var45;
4442 }
4443 {
4444 var52 = ((val*(*)(val* self))((((long)var43&3)?class_info[((long)var43&3)]:var43->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var43); /* to_s on <var43:Object>*/
4445 }
4446 ((struct instance_core__NativeArray*)var42)->values[0]=var52;
4447 ((struct instance_core__NativeArray*)var42)->values[1]=var_couple_sep;
4448 if (var_e!=NULL) {
4449 var53 = var_e;
4450 } else {
4451 if (likely(varonce54!=NULL)) {
4452 var55 = varonce54;
4453 } else {
4454 var56 = "<null>";
4455 var58 = (val*)(6l<<2|1);
4456 var59 = (val*)(6l<<2|1);
4457 var60 = (val*)((long)(0)<<2|3);
4458 var61 = (val*)((long)(0)<<2|3);
4459 var57 = core__flat___CString___to_s_unsafe(var56, var58, var59, var60, var61);
4460 var55 = var57;
4461 varonce54 = var55;
4462 }
4463 var53 = var55;
4464 }
4465 {
4466 var62 = ((val*(*)(val* self))((((long)var53&3)?class_info[((long)var53&3)]:var53->class)->vft[COLOR_core__abstract_text__Object__to_s]))(var53); /* to_s on <var53:Object>*/
4467 }
4468 ((struct instance_core__NativeArray*)var42)->values[2]=var62;
4469 {
4470 var63 = ((val*(*)(val* self))(var42->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var42); /* native_to_s on <var42:NativeArray[String]>*/
4471 }
4472 varonce41 = var42;
4473 {
4474 ((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var63); /* append on <var_s:Buffer>*/
4475 }
4476 {
4477 ((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 <var_i:MapIterator[nullable Object, nullable Object]>*/
4478 }
4479 } else {
4480 goto BREAK_label;
4481 }
4482 }
4483 BREAK_label: (void)0;
4484 {
4485 var64 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Object__to_s]))(var_s); /* to_s on <var_s:Buffer>*/
4486 }
4487 var = var64;
4488 goto RET_LABEL;
4489 RET_LABEL:;
4490 return var;
4491 }