Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / core__flat.sep.1.c
1 #include "core__flat.sep.0.h"
2 /* method flat$FlatSubstringsIter$tgt for (self: FlatSubstringsIter): nullable FlatText */
3 val* core__flat___core__flat__FlatSubstringsIter___tgt(val* self) {
4 val* var /* : nullable FlatText */;
5 val* var1 /* : nullable FlatText */;
6 var1 = self->attrs[COLOR_core__flat__FlatSubstringsIter___tgt].val; /* _tgt on <self:FlatSubstringsIter> */
7 var = var1;
8 RET_LABEL:;
9 return var;
10 }
11 /* method flat$FlatSubstringsIter$tgt= for (self: FlatSubstringsIter, nullable FlatText) */
12 void core__flat___core__flat__FlatSubstringsIter___tgt_61d(val* self, val* p0) {
13 self->attrs[COLOR_core__flat__FlatSubstringsIter___tgt].val = p0; /* _tgt on <self:FlatSubstringsIter> */
14 RET_LABEL:;
15 }
16 /* method flat$FlatSubstringsIter$item for (self: FlatSubstringsIter): FlatText */
17 val* core__flat___core__flat__FlatSubstringsIter___core__abstract_collection__Iterator__item(val* self) {
18 val* var /* : FlatText */;
19 short int var1 /* : Bool */;
20 val* var2 /* : nullable FlatText */;
21 val* var4 /* : nullable FlatText */;
22 {
23 var1 = core__flat___core__flat__FlatSubstringsIter___core__abstract_collection__Iterator__is_ok(self);
24 }
25 if (unlikely(!var1)) {
26 if(catchStack.cursor >= 0){
27 longjmp(catchStack.envs[catchStack.cursor], 1);
28 }
29 PRINT_ERROR("Runtime error: %s", "Assert failed");
30 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 28);
31 fatal_exit(1);
32 }
33 {
34 { /* Inline flat$FlatSubstringsIter$tgt (self) on <self:FlatSubstringsIter> */
35 var4 = self->attrs[COLOR_core__flat__FlatSubstringsIter___tgt].val; /* _tgt on <self:FlatSubstringsIter> */
36 var2 = var4;
37 RET_LABEL3:(void)0;
38 }
39 }
40 if (unlikely(var2 == NULL)) {
41 if(catchStack.cursor >= 0){
42 longjmp(catchStack.envs[catchStack.cursor], 1);
43 }
44 PRINT_ERROR("Runtime error: %s", "Cast failed");
45 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 29);
46 fatal_exit(1);
47 }
48 var = var2;
49 goto RET_LABEL;
50 RET_LABEL:;
51 return var;
52 }
53 /* method flat$FlatSubstringsIter$is_ok for (self: FlatSubstringsIter): Bool */
54 short int core__flat___core__flat__FlatSubstringsIter___core__abstract_collection__Iterator__is_ok(val* self) {
55 short int var /* : Bool */;
56 val* var1 /* : nullable FlatText */;
57 val* var3 /* : nullable FlatText */;
58 short int var4 /* : Bool */;
59 short int var5 /* : Bool */;
60 val* var_other /* var other: nullable Object */;
61 short int var7 /* : Bool */;
62 short int var8 /* : Bool */;
63 {
64 { /* Inline flat$FlatSubstringsIter$tgt (self) on <self:FlatSubstringsIter> */
65 var3 = self->attrs[COLOR_core__flat__FlatSubstringsIter___tgt].val; /* _tgt on <self:FlatSubstringsIter> */
66 var1 = var3;
67 RET_LABEL2:(void)0;
68 }
69 }
70 if (var1 == NULL) {
71 var4 = 0; /* is null */
72 } else {
73 var4 = 1; /* arg is null and recv is not */
74 }
75 if (0) {
76 { /* Inline kernel$Object$!= (var1,((val*)NULL)) on <var1:nullable FlatText> */
77 var_other = ((val*)NULL);
78 {
79 var7 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var_other); /* == on <var1:nullable FlatText(FlatText)>*/
80 }
81 var8 = !var7;
82 var5 = var8;
83 goto RET_LABEL6;
84 RET_LABEL6:(void)0;
85 }
86 var4 = var5;
87 }
88 var = var4;
89 goto RET_LABEL;
90 RET_LABEL:;
91 return var;
92 }
93 /* method flat$FlatSubstringsIter$next for (self: FlatSubstringsIter) */
94 void core__flat___core__flat__FlatSubstringsIter___core__abstract_collection__Iterator__next(val* self) {
95 {
96 { /* Inline flat$FlatSubstringsIter$tgt= (self,((val*)NULL)) on <self:FlatSubstringsIter> */
97 self->attrs[COLOR_core__flat__FlatSubstringsIter___tgt].val = ((val*)NULL); /* _tgt on <self:FlatSubstringsIter> */
98 RET_LABEL1:(void)0;
99 }
100 }
101 RET_LABEL:;
102 }
103 /* method flat$FlatSubstringsIter$init for (self: FlatSubstringsIter) */
104 void core__flat___core__flat__FlatSubstringsIter___core__kernel__Object__init(val* self) {
105 {
106 ((void(*)(val* self))(self->class->vft[COLOR_core__flat___core__flat__FlatSubstringsIter___core__kernel__Object__init]))(self); /* init on <self:FlatSubstringsIter>*/
107 }
108 RET_LABEL:;
109 }
110 /* method flat$FlatText$first_byte for (self: FlatText): Int */
111 long core__flat___FlatText___first_byte(val* self) {
112 long var /* : Int */;
113 var = 0l;
114 goto RET_LABEL;
115 RET_LABEL:;
116 return var;
117 }
118 /* method flat$FlatText$last_byte for (self: FlatText): Int */
119 long core__flat___FlatText___last_byte(val* self) {
120 long var /* : Int */;
121 long var1 /* : Int */;
122 long var2 /* : Int */;
123 long var3 /* : Int */;
124 short int var5 /* : Bool */;
125 int cltype;
126 int idtype;
127 const char* var_class_name;
128 long var6 /* : Int */;
129 long var7 /* : Int */;
130 short int var9 /* : Bool */;
131 int cltype10;
132 int idtype11;
133 const char* var_class_name12;
134 long var13 /* : Int */;
135 {
136 var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__flat__FlatText__first_byte]))(self); /* first_byte on <self:FlatText>*/
137 }
138 var2 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatText> */
139 {
140 { /* Inline kernel$Int$+ (var1,var2) on <var1:Int> */
141 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
142 /* <var2:Int> isa OTHER */
143 var5 = 1; /* easy <var2:Int> isa OTHER*/
144 if (unlikely(!var5)) {
145 var_class_name = type_core__Int.name;
146 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
147 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
148 fatal_exit(1);
149 }
150 var6 = var1 + var2;
151 var3 = var6;
152 goto RET_LABEL4;
153 RET_LABEL4:(void)0;
154 }
155 }
156 {
157 { /* Inline kernel$Int$- (var3,1l) on <var3:Int> */
158 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
159 /* <1l:Int> isa OTHER */
160 var9 = 1; /* easy <1l:Int> isa OTHER*/
161 if (unlikely(!var9)) {
162 var_class_name12 = type_core__Int.name;
163 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12);
164 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
165 fatal_exit(1);
166 }
167 var13 = var3 - 1l;
168 var7 = var13;
169 goto RET_LABEL8;
170 RET_LABEL8:(void)0;
171 }
172 }
173 var = var7;
174 goto RET_LABEL;
175 RET_LABEL:;
176 return var;
177 }
178 /* method flat$FlatText$char_to_byte_index for (self: FlatText, Int): Int */
179 long core__flat___FlatText___char_to_byte_index(val* self, long p0) {
180 long var /* : Int */;
181 long var_index /* var index: Int */;
182 long var1 /* : Int */;
183 long var2 /* : Int */;
184 short int var4 /* : Bool */;
185 int cltype;
186 int idtype;
187 const char* var_class_name;
188 long var5 /* : Int */;
189 long var_dpos /* var dpos: Int */;
190 long var6 /* : Int */;
191 long var_b /* var b: Int */;
192 char* var7 /* : CString */;
193 char* var_its /* var its: CString */;
194 short int var8 /* : Bool */;
195 short int var10 /* : Bool */;
196 unsigned char var11 /* : Byte */;
197 unsigned char var13 /* : Byte */;
198 unsigned char var14 /* : Byte */;
199 unsigned char var16 /* : Byte */;
200 short int var17 /* : Bool */;
201 short int var19 /* : Bool */;
202 long var20 /* : Int */;
203 short int var22 /* : Bool */;
204 int cltype23;
205 int idtype24;
206 const char* var_class_name25;
207 long var26 /* : Int */;
208 long var27 /* : Int */;
209 long var28 /* : Int */;
210 short int var30 /* : Bool */;
211 int cltype31;
212 int idtype32;
213 const char* var_class_name33;
214 long var34 /* : Int */;
215 long var35 /* : Int */;
216 long var37 /* : Int */;
217 short int var38 /* : Bool */;
218 short int var40 /* : Bool */;
219 long var41 /* : Int */;
220 short int var43 /* : Bool */;
221 int cltype44;
222 int idtype45;
223 const char* var_class_name46;
224 long var47 /* : Int */;
225 long var48 /* : Int */;
226 short int var49 /* : Bool */;
227 short int var51 /* : Bool */;
228 long var52 /* : Int */;
229 long var_ln /* var ln: Int */;
230 long var53 /* : Int */;
231 long var_pos /* var pos: Int */;
232 long var_delta_begin /* var delta_begin: Int */;
233 long var54 /* : Int */;
234 short int var56 /* : Bool */;
235 int cltype57;
236 int idtype58;
237 const char* var_class_name59;
238 long var60 /* : Int */;
239 long var61 /* : Int */;
240 short int var63 /* : Bool */;
241 int cltype64;
242 int idtype65;
243 const char* var_class_name66;
244 long var67 /* : Int */;
245 long var_delta_end /* var delta_end: Int */;
246 long var68 /* : Int */;
247 short int var70 /* : Bool */;
248 int cltype71;
249 int idtype72;
250 const char* var_class_name73;
251 long var74 /* : Int */;
252 long var75 /* : Int */;
253 long var_delta_cache /* var delta_cache: Int */;
254 long var_min /* var min: Int */;
255 short int var76 /* : Bool */;
256 short int var78 /* : Bool */;
257 int cltype79;
258 int idtype80;
259 const char* var_class_name81;
260 short int var82 /* : Bool */;
261 short int var83 /* : Bool */;
262 short int var85 /* : Bool */;
263 int cltype86;
264 int idtype87;
265 const char* var_class_name88;
266 short int var89 /* : Bool */;
267 short int var90 /* : Bool */;
268 short int var92 /* : Bool */;
269 long var93 /* : Int */;
270 long var_ns_i /* var ns_i: Int */;
271 long var_my_i /* var my_i: Int */;
272 short int var94 /* : Bool */;
273 short int var96 /* : Bool */;
274 long var97 /* : Int */;
275 long var98 /* : Int */;
276 long var99 /* : Int */;
277 long var100 /* : Int */;
278 long var101 /* : Int */;
279 short int var103 /* : Bool */;
280 int cltype104;
281 int idtype105;
282 const char* var_class_name106;
283 long var107 /* : Int */;
284 long var108 /* : Int */;
285 var_index = p0;
286 var1 = self->attrs[COLOR_core__flat__FlatText___position].l; /* _position on <self:FlatText> */
287 {
288 { /* Inline kernel$Int$- (var_index,var1) on <var_index:Int> */
289 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
290 /* <var1:Int> isa OTHER */
291 var4 = 1; /* easy <var1:Int> isa OTHER*/
292 if (unlikely(!var4)) {
293 var_class_name = type_core__Int.name;
294 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
295 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
296 fatal_exit(1);
297 }
298 var5 = var_index - var1;
299 var2 = var5;
300 goto RET_LABEL3;
301 RET_LABEL3:(void)0;
302 }
303 }
304 var_dpos = var2;
305 var6 = self->attrs[COLOR_core__flat__FlatText___bytepos].l; /* _bytepos on <self:FlatText> */
306 var_b = var6;
307 var7 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatText> */
308 var_its = var7;
309 {
310 { /* Inline kernel$Int$== (var_dpos,1l) on <var_dpos:Int> */
311 var10 = var_dpos == 1l;
312 var8 = var10;
313 goto RET_LABEL9;
314 RET_LABEL9:(void)0;
315 }
316 }
317 if (var8){
318 {
319 { /* Inline native$CString$[] (var_its,var_b) on <var_its:CString> */
320 var13 = (unsigned char)((int)var_its[var_b]);
321 var11 = var13;
322 goto RET_LABEL12;
323 RET_LABEL12:(void)0;
324 }
325 }
326 {
327 { /* Inline math$Byte$& (var11,((unsigned char)0x80)) on <var11:Byte> */
328 var16 = var11 & ((unsigned char)0x80);
329 var14 = var16;
330 goto RET_LABEL15;
331 RET_LABEL15:(void)0;
332 }
333 }
334 {
335 { /* Inline kernel$Byte$== (var14,((unsigned char)0x00)) on <var14:Byte> */
336 var19 = var14 == ((unsigned char)0x00);
337 var17 = var19;
338 goto RET_LABEL18;
339 RET_LABEL18:(void)0;
340 }
341 }
342 if (var17){
343 {
344 { /* Inline kernel$Int$+ (var_b,1l) on <var_b:Int> */
345 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
346 /* <1l:Int> isa OTHER */
347 var22 = 1; /* easy <1l:Int> isa OTHER*/
348 if (unlikely(!var22)) {
349 var_class_name25 = type_core__Int.name;
350 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25);
351 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
352 fatal_exit(1);
353 }
354 var26 = var_b + 1l;
355 var20 = var26;
356 goto RET_LABEL21;
357 RET_LABEL21:(void)0;
358 }
359 }
360 var_b = var20;
361 } else {
362 {
363 var27 = core___core__CString___length_of_char_at(var_its, var_b);
364 }
365 {
366 { /* Inline kernel$Int$+ (var_b,var27) on <var_b:Int> */
367 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
368 /* <var27:Int> isa OTHER */
369 var30 = 1; /* easy <var27:Int> isa OTHER*/
370 if (unlikely(!var30)) {
371 var_class_name33 = type_core__Int.name;
372 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
373 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
374 fatal_exit(1);
375 }
376 var34 = var_b + var27;
377 var28 = var34;
378 goto RET_LABEL29;
379 RET_LABEL29:(void)0;
380 }
381 }
382 var_b = var28;
383 }
384 self->attrs[COLOR_core__flat__FlatText___bytepos].l = var_b; /* _bytepos on <self:FlatText> */
385 self->attrs[COLOR_core__flat__FlatText___position].l = var_index; /* _position on <self:FlatText> */
386 var = var_b;
387 goto RET_LABEL;
388 } else {
389 }
390 {
391 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
392 var37 = -1l;
393 var35 = var37;
394 goto RET_LABEL36;
395 RET_LABEL36:(void)0;
396 }
397 }
398 {
399 { /* Inline kernel$Int$== (var_dpos,var35) on <var_dpos:Int> */
400 var40 = var_dpos == var35;
401 var38 = var40;
402 goto RET_LABEL39;
403 RET_LABEL39:(void)0;
404 }
405 }
406 if (var38){
407 {
408 { /* Inline kernel$Int$- (var_b,1l) on <var_b:Int> */
409 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
410 /* <1l:Int> isa OTHER */
411 var43 = 1; /* easy <1l:Int> isa OTHER*/
412 if (unlikely(!var43)) {
413 var_class_name46 = type_core__Int.name;
414 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46);
415 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
416 fatal_exit(1);
417 }
418 var47 = var_b - 1l;
419 var41 = var47;
420 goto RET_LABEL42;
421 RET_LABEL42:(void)0;
422 }
423 }
424 {
425 var48 = core___core__CString___find_beginning_of_char_at(var_its, var41);
426 }
427 var_b = var48;
428 self->attrs[COLOR_core__flat__FlatText___bytepos].l = var_b; /* _bytepos on <self:FlatText> */
429 self->attrs[COLOR_core__flat__FlatText___position].l = var_index; /* _position on <self:FlatText> */
430 var = var_b;
431 goto RET_LABEL;
432 } else {
433 }
434 {
435 { /* Inline kernel$Int$== (var_dpos,0l) on <var_dpos:Int> */
436 var51 = var_dpos == 0l;
437 var49 = var51;
438 goto RET_LABEL50;
439 RET_LABEL50:(void)0;
440 }
441 }
442 if (var49){
443 var = var_b;
444 goto RET_LABEL;
445 } else {
446 }
447 var52 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatText> */
448 var_ln = var52;
449 var53 = self->attrs[COLOR_core__flat__FlatText___position].l; /* _position on <self:FlatText> */
450 var_pos = var53;
451 var_delta_begin = var_index;
452 {
453 { /* Inline kernel$Int$- (var_ln,1l) on <var_ln:Int> */
454 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
455 /* <1l:Int> isa OTHER */
456 var56 = 1; /* easy <1l:Int> isa OTHER*/
457 if (unlikely(!var56)) {
458 var_class_name59 = type_core__Int.name;
459 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
460 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
461 fatal_exit(1);
462 }
463 var60 = var_ln - 1l;
464 var54 = var60;
465 goto RET_LABEL55;
466 RET_LABEL55:(void)0;
467 }
468 }
469 {
470 { /* Inline kernel$Int$- (var54,var_index) on <var54:Int> */
471 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
472 /* <var_index:Int> isa OTHER */
473 var63 = 1; /* easy <var_index:Int> isa OTHER*/
474 if (unlikely(!var63)) {
475 var_class_name66 = type_core__Int.name;
476 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66);
477 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
478 fatal_exit(1);
479 }
480 var67 = var54 - var_index;
481 var61 = var67;
482 goto RET_LABEL62;
483 RET_LABEL62:(void)0;
484 }
485 }
486 var_delta_end = var61;
487 {
488 { /* Inline kernel$Int$- (var_pos,var_index) on <var_pos:Int> */
489 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
490 /* <var_index:Int> isa OTHER */
491 var70 = 1; /* easy <var_index:Int> isa OTHER*/
492 if (unlikely(!var70)) {
493 var_class_name73 = type_core__Int.name;
494 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73);
495 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
496 fatal_exit(1);
497 }
498 var74 = var_pos - var_index;
499 var68 = var74;
500 goto RET_LABEL69;
501 RET_LABEL69:(void)0;
502 }
503 }
504 {
505 var75 = core___core__Int___abs(var68);
506 }
507 var_delta_cache = var75;
508 var_min = var_delta_begin;
509 {
510 { /* Inline kernel$Int$< (var_delta_cache,var_min) on <var_delta_cache:Int> */
511 /* Covariant cast for argument 0 (i) <var_min:Int> isa OTHER */
512 /* <var_min:Int> isa OTHER */
513 var78 = 1; /* easy <var_min:Int> isa OTHER*/
514 if (unlikely(!var78)) {
515 var_class_name81 = type_core__Int.name;
516 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81);
517 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
518 fatal_exit(1);
519 }
520 var82 = var_delta_cache < var_min;
521 var76 = var82;
522 goto RET_LABEL77;
523 RET_LABEL77:(void)0;
524 }
525 }
526 if (var76){
527 var_min = var_delta_cache;
528 } else {
529 }
530 {
531 { /* Inline kernel$Int$< (var_delta_end,var_min) on <var_delta_end:Int> */
532 /* Covariant cast for argument 0 (i) <var_min:Int> isa OTHER */
533 /* <var_min:Int> isa OTHER */
534 var85 = 1; /* easy <var_min:Int> isa OTHER*/
535 if (unlikely(!var85)) {
536 var_class_name88 = type_core__Int.name;
537 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name88);
538 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
539 fatal_exit(1);
540 }
541 var89 = var_delta_end < var_min;
542 var83 = var89;
543 goto RET_LABEL84;
544 RET_LABEL84:(void)0;
545 }
546 }
547 if (var83){
548 var_min = var_delta_end;
549 } else {
550 }
551 {
552 { /* Inline kernel$Int$== (var_min,var_delta_cache) on <var_min:Int> */
553 var92 = var_min == var_delta_cache;
554 var90 = var92;
555 goto RET_LABEL91;
556 RET_LABEL91:(void)0;
557 }
558 }
559 if (var90){
560 var93 = self->attrs[COLOR_core__flat__FlatText___bytepos].l; /* _bytepos on <self:FlatText> */
561 var_ns_i = var93;
562 var_my_i = var_pos;
563 } else {
564 {
565 { /* Inline kernel$Int$== (var_min,var_delta_begin) on <var_min:Int> */
566 var96 = var_min == var_delta_begin;
567 var94 = var96;
568 goto RET_LABEL95;
569 RET_LABEL95:(void)0;
570 }
571 }
572 if (var94){
573 {
574 var97 = ((long(*)(val* self))(self->class->vft[COLOR_core__flat__FlatText__first_byte]))(self); /* first_byte on <self:FlatText>*/
575 }
576 var_ns_i = var97;
577 var_my_i = 0l;
578 } else {
579 {
580 var98 = core__flat___FlatText___last_byte(self);
581 }
582 {
583 var99 = core___core__CString___find_beginning_of_char_at(var_its, var98);
584 }
585 var_ns_i = var99;
586 var100 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatText> */
587 {
588 { /* Inline kernel$Int$- (var100,1l) on <var100:Int> */
589 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
590 /* <1l:Int> isa OTHER */
591 var103 = 1; /* easy <1l:Int> isa OTHER*/
592 if (unlikely(!var103)) {
593 var_class_name106 = type_core__Int.name;
594 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name106);
595 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
596 fatal_exit(1);
597 }
598 var107 = var100 - 1l;
599 var101 = var107;
600 goto RET_LABEL102;
601 RET_LABEL102:(void)0;
602 }
603 }
604 var_my_i = var101;
605 }
606 }
607 {
608 var108 = core___core__CString___char_to_byte_index_cached(var_its, var_index, var_my_i, var_ns_i);
609 }
610 var_ns_i = var108;
611 self->attrs[COLOR_core__flat__FlatText___position].l = var_index; /* _position on <self:FlatText> */
612 self->attrs[COLOR_core__flat__FlatText___bytepos].l = var_ns_i; /* _bytepos on <self:FlatText> */
613 var = var_ns_i;
614 goto RET_LABEL;
615 RET_LABEL:;
616 return var;
617 }
618 /* method flat$FlatText$chars_to_escape_to_c for (self: FlatText): Int */
619 long core__flat___FlatText___chars_to_escape_to_c(val* self) {
620 long var /* : Int */;
621 char* var1 /* : CString */;
622 char* var_its /* var its: CString */;
623 long var2 /* : Int */;
624 long var_max /* var max: Int */;
625 long var3 /* : Int */;
626 long var_pos /* var pos: Int */;
627 long var_req_esc /* var req_esc: Int */;
628 short int var4 /* : Bool */;
629 short int var6 /* : Bool */;
630 int cltype;
631 int idtype;
632 const char* var_class_name;
633 short int var7 /* : Bool */;
634 unsigned char var8 /* : Byte */;
635 unsigned char var10 /* : Byte */;
636 unsigned char var_c /* var c: Byte */;
637 short int var11 /* : Bool */;
638 short int var13 /* : Bool */;
639 long var14 /* : Int */;
640 short int var16 /* : Bool */;
641 int cltype17;
642 int idtype18;
643 const char* var_class_name19;
644 long var20 /* : Int */;
645 short int var21 /* : Bool */;
646 short int var23 /* : Bool */;
647 long var24 /* : Int */;
648 short int var26 /* : Bool */;
649 int cltype27;
650 int idtype28;
651 const char* var_class_name29;
652 long var30 /* : Int */;
653 short int var31 /* : Bool */;
654 short int var33 /* : Bool */;
655 long var34 /* : Int */;
656 short int var36 /* : Bool */;
657 int cltype37;
658 int idtype38;
659 const char* var_class_name39;
660 long var40 /* : Int */;
661 short int var41 /* : Bool */;
662 short int var43 /* : Bool */;
663 long var44 /* : Int */;
664 short int var46 /* : Bool */;
665 int cltype47;
666 int idtype48;
667 const char* var_class_name49;
668 long var50 /* : Int */;
669 short int var51 /* : Bool */;
670 short int var53 /* : Bool */;
671 long var54 /* : Int */;
672 short int var56 /* : Bool */;
673 int cltype57;
674 int idtype58;
675 const char* var_class_name59;
676 long var60 /* : Int */;
677 short int var61 /* : Bool */;
678 short int var63 /* : Bool */;
679 long var64 /* : Int */;
680 short int var66 /* : Bool */;
681 int cltype67;
682 int idtype68;
683 const char* var_class_name69;
684 long var70 /* : Int */;
685 long var_j /* var j: Int */;
686 long var71 /* : Int */;
687 long var73 /* : Int */;
688 short int var74 /* : Bool */;
689 short int var76 /* : Bool */;
690 int cltype77;
691 int idtype78;
692 const char* var_class_name79;
693 short int var80 /* : Bool */;
694 unsigned char var81 /* : Byte */;
695 unsigned char var83 /* : Byte */;
696 unsigned char var_next /* var next: Byte */;
697 short int var84 /* : Bool */;
698 short int var85 /* : Bool */;
699 short int var86 /* : Bool */;
700 short int var87 /* : Bool */;
701 short int var88 /* : Bool */;
702 short int var89 /* : Bool */;
703 short int var90 /* : Bool */;
704 short int var91 /* : Bool */;
705 short int var93 /* : Bool */;
706 short int var_ /* var : Bool */;
707 short int var94 /* : Bool */;
708 short int var96 /* : Bool */;
709 short int var_97 /* var : Bool */;
710 short int var98 /* : Bool */;
711 short int var100 /* : Bool */;
712 short int var_101 /* var : Bool */;
713 short int var102 /* : Bool */;
714 short int var104 /* : Bool */;
715 short int var_105 /* var : Bool */;
716 short int var106 /* : Bool */;
717 short int var108 /* : Bool */;
718 short int var_109 /* var : Bool */;
719 short int var110 /* : Bool */;
720 short int var112 /* : Bool */;
721 short int var_113 /* var : Bool */;
722 short int var114 /* : Bool */;
723 short int var116 /* : Bool */;
724 short int var_117 /* var : Bool */;
725 short int var118 /* : Bool */;
726 short int var120 /* : Bool */;
727 long var121 /* : Int */;
728 short int var123 /* : Bool */;
729 int cltype124;
730 int idtype125;
731 const char* var_class_name126;
732 long var127 /* : Int */;
733 short int var128 /* : Bool */;
734 short int var130 /* : Bool */;
735 int cltype131;
736 int idtype132;
737 const char* var_class_name133;
738 short int var134 /* : Bool */;
739 long var135 /* : Int */;
740 short int var137 /* : Bool */;
741 int cltype138;
742 int idtype139;
743 const char* var_class_name140;
744 long var141 /* : Int */;
745 long var142 /* : Int */;
746 short int var144 /* : Bool */;
747 int cltype145;
748 int idtype146;
749 const char* var_class_name147;
750 long var148 /* : Int */;
751 var1 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatText> */
752 var_its = var1;
753 {
754 var2 = core__flat___FlatText___last_byte(self);
755 }
756 var_max = var2;
757 {
758 var3 = ((long(*)(val* self))(self->class->vft[COLOR_core__flat__FlatText__first_byte]))(self); /* first_byte on <self:FlatText>*/
759 }
760 var_pos = var3;
761 var_req_esc = 0l;
762 for(;;) {
763 {
764 { /* Inline kernel$Int$<= (var_pos,var_max) on <var_pos:Int> */
765 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
766 /* <var_max:Int> isa OTHER */
767 var6 = 1; /* easy <var_max:Int> isa OTHER*/
768 if (unlikely(!var6)) {
769 var_class_name = type_core__Int.name;
770 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
771 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
772 fatal_exit(1);
773 }
774 var7 = var_pos <= var_max;
775 var4 = var7;
776 goto RET_LABEL5;
777 RET_LABEL5:(void)0;
778 }
779 }
780 if (var4){
781 {
782 { /* Inline native$CString$[] (var_its,var_pos) on <var_its:CString> */
783 var10 = (unsigned char)((int)var_its[var_pos]);
784 var8 = var10;
785 goto RET_LABEL9;
786 RET_LABEL9:(void)0;
787 }
788 }
789 var_c = var8;
790 {
791 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x0a)) on <var_c:Byte> */
792 var13 = var_c == ((unsigned char)0x0a);
793 var11 = var13;
794 goto RET_LABEL12;
795 RET_LABEL12:(void)0;
796 }
797 }
798 if (var11){
799 {
800 { /* Inline kernel$Int$+ (var_req_esc,1l) on <var_req_esc:Int> */
801 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
802 /* <1l:Int> isa OTHER */
803 var16 = 1; /* easy <1l:Int> isa OTHER*/
804 if (unlikely(!var16)) {
805 var_class_name19 = type_core__Int.name;
806 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
807 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
808 fatal_exit(1);
809 }
810 var20 = var_req_esc + 1l;
811 var14 = var20;
812 goto RET_LABEL15;
813 RET_LABEL15:(void)0;
814 }
815 }
816 var_req_esc = var14;
817 } else {
818 {
819 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x09)) on <var_c:Byte> */
820 var23 = var_c == ((unsigned char)0x09);
821 var21 = var23;
822 goto RET_LABEL22;
823 RET_LABEL22:(void)0;
824 }
825 }
826 if (var21){
827 {
828 { /* Inline kernel$Int$+ (var_req_esc,1l) on <var_req_esc:Int> */
829 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
830 /* <1l:Int> isa OTHER */
831 var26 = 1; /* easy <1l:Int> isa OTHER*/
832 if (unlikely(!var26)) {
833 var_class_name29 = type_core__Int.name;
834 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29);
835 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
836 fatal_exit(1);
837 }
838 var30 = var_req_esc + 1l;
839 var24 = var30;
840 goto RET_LABEL25;
841 RET_LABEL25:(void)0;
842 }
843 }
844 var_req_esc = var24;
845 } else {
846 {
847 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x22)) on <var_c:Byte> */
848 var33 = var_c == ((unsigned char)0x22);
849 var31 = var33;
850 goto RET_LABEL32;
851 RET_LABEL32:(void)0;
852 }
853 }
854 if (var31){
855 {
856 { /* Inline kernel$Int$+ (var_req_esc,1l) on <var_req_esc:Int> */
857 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
858 /* <1l:Int> isa OTHER */
859 var36 = 1; /* easy <1l:Int> isa OTHER*/
860 if (unlikely(!var36)) {
861 var_class_name39 = type_core__Int.name;
862 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39);
863 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
864 fatal_exit(1);
865 }
866 var40 = var_req_esc + 1l;
867 var34 = var40;
868 goto RET_LABEL35;
869 RET_LABEL35:(void)0;
870 }
871 }
872 var_req_esc = var34;
873 } else {
874 {
875 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x27)) on <var_c:Byte> */
876 var43 = var_c == ((unsigned char)0x27);
877 var41 = var43;
878 goto RET_LABEL42;
879 RET_LABEL42:(void)0;
880 }
881 }
882 if (var41){
883 {
884 { /* Inline kernel$Int$+ (var_req_esc,1l) on <var_req_esc:Int> */
885 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
886 /* <1l:Int> isa OTHER */
887 var46 = 1; /* easy <1l:Int> isa OTHER*/
888 if (unlikely(!var46)) {
889 var_class_name49 = type_core__Int.name;
890 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49);
891 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
892 fatal_exit(1);
893 }
894 var50 = var_req_esc + 1l;
895 var44 = var50;
896 goto RET_LABEL45;
897 RET_LABEL45:(void)0;
898 }
899 }
900 var_req_esc = var44;
901 } else {
902 {
903 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x5c)) on <var_c:Byte> */
904 var53 = var_c == ((unsigned char)0x5c);
905 var51 = var53;
906 goto RET_LABEL52;
907 RET_LABEL52:(void)0;
908 }
909 }
910 if (var51){
911 {
912 { /* Inline kernel$Int$+ (var_req_esc,1l) on <var_req_esc:Int> */
913 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
914 /* <1l:Int> isa OTHER */
915 var56 = 1; /* easy <1l:Int> isa OTHER*/
916 if (unlikely(!var56)) {
917 var_class_name59 = type_core__Int.name;
918 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
919 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
920 fatal_exit(1);
921 }
922 var60 = var_req_esc + 1l;
923 var54 = var60;
924 goto RET_LABEL55;
925 RET_LABEL55:(void)0;
926 }
927 }
928 var_req_esc = var54;
929 } else {
930 {
931 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x3f)) on <var_c:Byte> */
932 var63 = var_c == ((unsigned char)0x3f);
933 var61 = var63;
934 goto RET_LABEL62;
935 RET_LABEL62:(void)0;
936 }
937 }
938 if (var61){
939 {
940 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
941 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
942 /* <1l:Int> isa OTHER */
943 var66 = 1; /* easy <1l:Int> isa OTHER*/
944 if (unlikely(!var66)) {
945 var_class_name69 = type_core__Int.name;
946 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name69);
947 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
948 fatal_exit(1);
949 }
950 var70 = var_pos + 1l;
951 var64 = var70;
952 goto RET_LABEL65;
953 RET_LABEL65:(void)0;
954 }
955 }
956 var_j = var64;
957 {
958 { /* Inline abstract_text$FlatText$length (self) on <self:FlatText> */
959 var73 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatText> */
960 var71 = var73;
961 RET_LABEL72:(void)0;
962 }
963 }
964 {
965 { /* Inline kernel$Int$< (var_j,var71) on <var_j:Int> */
966 /* Covariant cast for argument 0 (i) <var71:Int> isa OTHER */
967 /* <var71:Int> isa OTHER */
968 var76 = 1; /* easy <var71:Int> isa OTHER*/
969 if (unlikely(!var76)) {
970 var_class_name79 = type_core__Int.name;
971 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79);
972 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
973 fatal_exit(1);
974 }
975 var80 = var_j < var71;
976 var74 = var80;
977 goto RET_LABEL75;
978 RET_LABEL75:(void)0;
979 }
980 }
981 if (var74){
982 {
983 { /* Inline native$CString$[] (var_its,var_j) on <var_its:CString> */
984 var83 = (unsigned char)((int)var_its[var_j]);
985 var81 = var83;
986 goto RET_LABEL82;
987 RET_LABEL82:(void)0;
988 }
989 }
990 var_next = var81;
991 {
992 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x21)) on <var_next:Byte> */
993 var93 = var_next == ((unsigned char)0x21);
994 var91 = var93;
995 goto RET_LABEL92;
996 RET_LABEL92:(void)0;
997 }
998 }
999 var_ = var91;
1000 if (var91){
1001 var90 = var_;
1002 } else {
1003 {
1004 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x28)) on <var_next:Byte> */
1005 var96 = var_next == ((unsigned char)0x28);
1006 var94 = var96;
1007 goto RET_LABEL95;
1008 RET_LABEL95:(void)0;
1009 }
1010 }
1011 var90 = var94;
1012 }
1013 var_97 = var90;
1014 if (var90){
1015 var89 = var_97;
1016 } else {
1017 {
1018 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x29)) on <var_next:Byte> */
1019 var100 = var_next == ((unsigned char)0x29);
1020 var98 = var100;
1021 goto RET_LABEL99;
1022 RET_LABEL99:(void)0;
1023 }
1024 }
1025 var89 = var98;
1026 }
1027 var_101 = var89;
1028 if (var89){
1029 var88 = var_101;
1030 } else {
1031 {
1032 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x2d)) on <var_next:Byte> */
1033 var104 = var_next == ((unsigned char)0x2d);
1034 var102 = var104;
1035 goto RET_LABEL103;
1036 RET_LABEL103:(void)0;
1037 }
1038 }
1039 var88 = var102;
1040 }
1041 var_105 = var88;
1042 if (var88){
1043 var87 = var_105;
1044 } else {
1045 {
1046 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x2f)) on <var_next:Byte> */
1047 var108 = var_next == ((unsigned char)0x2f);
1048 var106 = var108;
1049 goto RET_LABEL107;
1050 RET_LABEL107:(void)0;
1051 }
1052 }
1053 var87 = var106;
1054 }
1055 var_109 = var87;
1056 if (var87){
1057 var86 = var_109;
1058 } else {
1059 {
1060 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x3c)) on <var_next:Byte> */
1061 var112 = var_next == ((unsigned char)0x3c);
1062 var110 = var112;
1063 goto RET_LABEL111;
1064 RET_LABEL111:(void)0;
1065 }
1066 }
1067 var86 = var110;
1068 }
1069 var_113 = var86;
1070 if (var86){
1071 var85 = var_113;
1072 } else {
1073 {
1074 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x3d)) on <var_next:Byte> */
1075 var116 = var_next == ((unsigned char)0x3d);
1076 var114 = var116;
1077 goto RET_LABEL115;
1078 RET_LABEL115:(void)0;
1079 }
1080 }
1081 var85 = var114;
1082 }
1083 var_117 = var85;
1084 if (var85){
1085 var84 = var_117;
1086 } else {
1087 {
1088 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x3e)) on <var_next:Byte> */
1089 var120 = var_next == ((unsigned char)0x3e);
1090 var118 = var120;
1091 goto RET_LABEL119;
1092 RET_LABEL119:(void)0;
1093 }
1094 }
1095 var84 = var118;
1096 }
1097 if (var84){
1098 {
1099 { /* Inline kernel$Int$+ (var_req_esc,1l) on <var_req_esc:Int> */
1100 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1101 /* <1l:Int> isa OTHER */
1102 var123 = 1; /* easy <1l:Int> isa OTHER*/
1103 if (unlikely(!var123)) {
1104 var_class_name126 = type_core__Int.name;
1105 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name126);
1106 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1107 fatal_exit(1);
1108 }
1109 var127 = var_req_esc + 1l;
1110 var121 = var127;
1111 goto RET_LABEL122;
1112 RET_LABEL122:(void)0;
1113 }
1114 }
1115 var_req_esc = var121;
1116 } else {
1117 }
1118 } else {
1119 }
1120 } else {
1121 {
1122 { /* Inline kernel$Byte$< (var_c,((unsigned char)0x20)) on <var_c:Byte> */
1123 /* Covariant cast for argument 0 (i) <((unsigned char)0x20):Byte> isa OTHER */
1124 /* <((unsigned char)0x20):Byte> isa OTHER */
1125 var130 = 1; /* easy <((unsigned char)0x20):Byte> isa OTHER*/
1126 if (unlikely(!var130)) {
1127 var_class_name133 = type_core__Byte.name;
1128 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name133);
1129 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 619);
1130 fatal_exit(1);
1131 }
1132 var134 = var_c < ((unsigned char)0x20);
1133 var128 = var134;
1134 goto RET_LABEL129;
1135 RET_LABEL129:(void)0;
1136 }
1137 }
1138 if (var128){
1139 {
1140 { /* Inline kernel$Int$+ (var_req_esc,3l) on <var_req_esc:Int> */
1141 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
1142 /* <3l:Int> isa OTHER */
1143 var137 = 1; /* easy <3l:Int> isa OTHER*/
1144 if (unlikely(!var137)) {
1145 var_class_name140 = type_core__Int.name;
1146 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name140);
1147 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1148 fatal_exit(1);
1149 }
1150 var141 = var_req_esc + 3l;
1151 var135 = var141;
1152 goto RET_LABEL136;
1153 RET_LABEL136:(void)0;
1154 }
1155 }
1156 var_req_esc = var135;
1157 } else {
1158 }
1159 }
1160 }
1161 }
1162 }
1163 }
1164 }
1165 {
1166 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
1167 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1168 /* <1l:Int> isa OTHER */
1169 var144 = 1; /* easy <1l:Int> isa OTHER*/
1170 if (unlikely(!var144)) {
1171 var_class_name147 = type_core__Int.name;
1172 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name147);
1173 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1174 fatal_exit(1);
1175 }
1176 var148 = var_pos + 1l;
1177 var142 = var148;
1178 goto RET_LABEL143;
1179 RET_LABEL143:(void)0;
1180 }
1181 }
1182 var_pos = var142;
1183 } else {
1184 goto BREAK_label;
1185 }
1186 }
1187 BREAK_label: (void)0;
1188 var = var_req_esc;
1189 goto RET_LABEL;
1190 RET_LABEL:;
1191 return var;
1192 }
1193 /* method flat$FlatText$escape_to_c for (self: FlatText): String */
1194 val* core__flat___FlatText___core__abstract_text__Text__escape_to_c(val* self) {
1195 val* var /* : String */;
1196 long var1 /* : Int */;
1197 long var_ln_extra /* var ln_extra: Int */;
1198 short int var2 /* : Bool */;
1199 short int var4 /* : Bool */;
1200 val* var5 /* : String */;
1201 char* var6 /* : CString */;
1202 char* var_its /* var its: CString */;
1203 long var7 /* : Int */;
1204 long var_max /* var max: Int */;
1205 long var8 /* : Int */;
1206 long var9 /* : Int */;
1207 short int var11 /* : Bool */;
1208 int cltype;
1209 int idtype;
1210 const char* var_class_name;
1211 long var12 /* : Int */;
1212 long var_nlen /* var nlen: Int */;
1213 static char* varoncenew;
1214 static int varoncenew_guard;
1215 char* var13 /* : CString */;
1216 char* var14 /* : CString */;
1217 char* var15 /* : CString */;
1218 char* var17 /* : CString */;
1219 char* var_nns /* var nns: CString */;
1220 long var18 /* : Int */;
1221 long var_pos /* var pos: Int */;
1222 long var_opos /* var opos: Int */;
1223 short int var19 /* : Bool */;
1224 short int var21 /* : Bool */;
1225 int cltype22;
1226 int idtype23;
1227 const char* var_class_name24;
1228 short int var25 /* : Bool */;
1229 unsigned char var26 /* : Byte */;
1230 unsigned char var28 /* : Byte */;
1231 unsigned char var_c /* var c: Byte */;
1232 short int var29 /* : Bool */;
1233 short int var31 /* : Bool */;
1234 long var33 /* : Int */;
1235 short int var35 /* : Bool */;
1236 int cltype36;
1237 int idtype37;
1238 const char* var_class_name38;
1239 long var39 /* : Int */;
1240 long var41 /* : Int */;
1241 short int var43 /* : Bool */;
1242 int cltype44;
1243 int idtype45;
1244 const char* var_class_name46;
1245 long var47 /* : Int */;
1246 short int var48 /* : Bool */;
1247 short int var50 /* : Bool */;
1248 long var52 /* : Int */;
1249 short int var54 /* : Bool */;
1250 int cltype55;
1251 int idtype56;
1252 const char* var_class_name57;
1253 long var58 /* : Int */;
1254 long var60 /* : Int */;
1255 short int var62 /* : Bool */;
1256 int cltype63;
1257 int idtype64;
1258 const char* var_class_name65;
1259 long var66 /* : Int */;
1260 short int var67 /* : Bool */;
1261 short int var69 /* : Bool */;
1262 long var71 /* : Int */;
1263 short int var73 /* : Bool */;
1264 int cltype74;
1265 int idtype75;
1266 const char* var_class_name76;
1267 long var77 /* : Int */;
1268 long var79 /* : Int */;
1269 short int var81 /* : Bool */;
1270 int cltype82;
1271 int idtype83;
1272 const char* var_class_name84;
1273 long var85 /* : Int */;
1274 short int var86 /* : Bool */;
1275 short int var88 /* : Bool */;
1276 long var90 /* : Int */;
1277 short int var92 /* : Bool */;
1278 int cltype93;
1279 int idtype94;
1280 const char* var_class_name95;
1281 long var96 /* : Int */;
1282 long var98 /* : Int */;
1283 short int var100 /* : Bool */;
1284 int cltype101;
1285 int idtype102;
1286 const char* var_class_name103;
1287 long var104 /* : Int */;
1288 short int var105 /* : Bool */;
1289 short int var107 /* : Bool */;
1290 long var109 /* : Int */;
1291 short int var111 /* : Bool */;
1292 int cltype112;
1293 int idtype113;
1294 const char* var_class_name114;
1295 long var115 /* : Int */;
1296 long var117 /* : Int */;
1297 short int var119 /* : Bool */;
1298 int cltype120;
1299 int idtype121;
1300 const char* var_class_name122;
1301 long var123 /* : Int */;
1302 short int var124 /* : Bool */;
1303 short int var126 /* : Bool */;
1304 long var127 /* : Int */;
1305 short int var129 /* : Bool */;
1306 int cltype130;
1307 int idtype131;
1308 const char* var_class_name132;
1309 long var133 /* : Int */;
1310 long var_j /* var j: Int */;
1311 long var134 /* : Int */;
1312 long var136 /* : Int */;
1313 short int var137 /* : Bool */;
1314 short int var139 /* : Bool */;
1315 int cltype140;
1316 int idtype141;
1317 const char* var_class_name142;
1318 short int var143 /* : Bool */;
1319 unsigned char var144 /* : Byte */;
1320 unsigned char var146 /* : Byte */;
1321 unsigned char var_next /* var next: Byte */;
1322 short int var147 /* : Bool */;
1323 short int var148 /* : Bool */;
1324 short int var149 /* : Bool */;
1325 short int var150 /* : Bool */;
1326 short int var151 /* : Bool */;
1327 short int var152 /* : Bool */;
1328 short int var153 /* : Bool */;
1329 short int var154 /* : Bool */;
1330 short int var156 /* : Bool */;
1331 short int var_ /* var : Bool */;
1332 short int var157 /* : Bool */;
1333 short int var159 /* : Bool */;
1334 short int var_160 /* var : Bool */;
1335 short int var161 /* : Bool */;
1336 short int var163 /* : Bool */;
1337 short int var_164 /* var : Bool */;
1338 short int var165 /* : Bool */;
1339 short int var167 /* : Bool */;
1340 short int var_168 /* var : Bool */;
1341 short int var169 /* : Bool */;
1342 short int var171 /* : Bool */;
1343 short int var_172 /* var : Bool */;
1344 short int var173 /* : Bool */;
1345 short int var175 /* : Bool */;
1346 short int var_176 /* var : Bool */;
1347 short int var177 /* : Bool */;
1348 short int var179 /* : Bool */;
1349 short int var_180 /* var : Bool */;
1350 short int var181 /* : Bool */;
1351 short int var183 /* : Bool */;
1352 long var185 /* : Int */;
1353 short int var187 /* : Bool */;
1354 int cltype188;
1355 int idtype189;
1356 const char* var_class_name190;
1357 long var191 /* : Int */;
1358 long var193 /* : Int */;
1359 short int var195 /* : Bool */;
1360 int cltype196;
1361 int idtype197;
1362 const char* var_class_name198;
1363 long var199 /* : Int */;
1364 short int var200 /* : Bool */;
1365 short int var202 /* : Bool */;
1366 int cltype203;
1367 int idtype204;
1368 const char* var_class_name205;
1369 short int var206 /* : Bool */;
1370 long var208 /* : Int */;
1371 short int var210 /* : Bool */;
1372 int cltype211;
1373 int idtype212;
1374 const char* var_class_name213;
1375 long var214 /* : Int */;
1376 long var216 /* : Int */;
1377 short int var218 /* : Bool */;
1378 int cltype219;
1379 int idtype220;
1380 const char* var_class_name221;
1381 long var222 /* : Int */;
1382 unsigned char var223 /* : Byte */;
1383 unsigned char var225 /* : Byte */;
1384 unsigned char var226 /* : Byte */;
1385 unsigned char var228 /* : Byte */;
1386 unsigned char var229 /* : Byte */;
1387 short int var231 /* : Bool */;
1388 int cltype232;
1389 int idtype233;
1390 const char* var_class_name234;
1391 unsigned char var235 /* : Byte */;
1392 long var237 /* : Int */;
1393 short int var239 /* : Bool */;
1394 int cltype240;
1395 int idtype241;
1396 const char* var_class_name242;
1397 long var243 /* : Int */;
1398 unsigned char var244 /* : Byte */;
1399 unsigned char var246 /* : Byte */;
1400 unsigned char var247 /* : Byte */;
1401 short int var249 /* : Bool */;
1402 int cltype250;
1403 int idtype251;
1404 const char* var_class_name252;
1405 unsigned char var253 /* : Byte */;
1406 long var255 /* : Int */;
1407 short int var257 /* : Bool */;
1408 int cltype258;
1409 int idtype259;
1410 const char* var_class_name260;
1411 long var261 /* : Int */;
1412 long var263 /* : Int */;
1413 short int var265 /* : Bool */;
1414 int cltype266;
1415 int idtype267;
1416 const char* var_class_name268;
1417 long var269 /* : Int */;
1418 long var270 /* : Int */;
1419 short int var272 /* : Bool */;
1420 int cltype273;
1421 int idtype274;
1422 const char* var_class_name275;
1423 long var276 /* : Int */;
1424 val* var277 /* : String */;
1425 val* var278 /* : nullable Int */;
1426 val* var279 /* : nullable Bool */;
1427 val* var280 /* : nullable Bool */;
1428 {
1429 var1 = core__flat___FlatText___chars_to_escape_to_c(self);
1430 }
1431 var_ln_extra = var1;
1432 {
1433 { /* Inline kernel$Int$== (var_ln_extra,0l) on <var_ln_extra:Int> */
1434 var4 = var_ln_extra == 0l;
1435 var2 = var4;
1436 goto RET_LABEL3;
1437 RET_LABEL3:(void)0;
1438 }
1439 }
1440 if (var2){
1441 {
1442 var5 = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Object__to_s]))(self); /* to_s on <self:FlatText>*/
1443 }
1444 var = var5;
1445 goto RET_LABEL;
1446 } else {
1447 }
1448 var6 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatText> */
1449 var_its = var6;
1450 {
1451 var7 = core__flat___FlatText___last_byte(self);
1452 }
1453 var_max = var7;
1454 var8 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatText> */
1455 {
1456 { /* Inline kernel$Int$+ (var8,var_ln_extra) on <var8:Int> */
1457 /* Covariant cast for argument 0 (i) <var_ln_extra:Int> isa OTHER */
1458 /* <var_ln_extra:Int> isa OTHER */
1459 var11 = 1; /* easy <var_ln_extra:Int> isa OTHER*/
1460 if (unlikely(!var11)) {
1461 var_class_name = type_core__Int.name;
1462 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1463 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1464 fatal_exit(1);
1465 }
1466 var12 = var8 + var_ln_extra;
1467 var9 = var12;
1468 goto RET_LABEL10;
1469 RET_LABEL10:(void)0;
1470 }
1471 }
1472 var_nlen = var9;
1473 if (likely(varoncenew_guard)) {
1474 var13 = varoncenew;
1475 } else {
1476 var14 = NULL/*special!*/;
1477 var13 = var14;
1478 varoncenew = var13;
1479 varoncenew_guard = 1;
1480 }
1481 {
1482 { /* Inline native$CString$new (var13,var_nlen) on <var13:CString> */
1483 var17 = (char*)nit_alloc(var_nlen);
1484 var15 = var17;
1485 goto RET_LABEL16;
1486 RET_LABEL16:(void)0;
1487 }
1488 }
1489 var_nns = var15;
1490 {
1491 var18 = ((long(*)(val* self))(self->class->vft[COLOR_core__flat__FlatText__first_byte]))(self); /* first_byte on <self:FlatText>*/
1492 }
1493 var_pos = var18;
1494 var_opos = 0l;
1495 for(;;) {
1496 {
1497 { /* Inline kernel$Int$<= (var_pos,var_max) on <var_pos:Int> */
1498 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
1499 /* <var_max:Int> isa OTHER */
1500 var21 = 1; /* easy <var_max:Int> isa OTHER*/
1501 if (unlikely(!var21)) {
1502 var_class_name24 = type_core__Int.name;
1503 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
1504 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
1505 fatal_exit(1);
1506 }
1507 var25 = var_pos <= var_max;
1508 var19 = var25;
1509 goto RET_LABEL20;
1510 RET_LABEL20:(void)0;
1511 }
1512 }
1513 if (var19){
1514 {
1515 { /* Inline native$CString$[] (var_its,var_pos) on <var_its:CString> */
1516 var28 = (unsigned char)((int)var_its[var_pos]);
1517 var26 = var28;
1518 goto RET_LABEL27;
1519 RET_LABEL27:(void)0;
1520 }
1521 }
1522 var_c = var26;
1523 {
1524 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x09)) on <var_c:Byte> */
1525 var31 = var_c == ((unsigned char)0x09);
1526 var29 = var31;
1527 goto RET_LABEL30;
1528 RET_LABEL30:(void)0;
1529 }
1530 }
1531 if (var29){
1532 {
1533 { /* Inline native$CString$[]= (var_nns,var_opos,((unsigned char)0x5c)) on <var_nns:CString> */
1534 var_nns[var_opos]=(unsigned char)((unsigned char)0x5c);
1535 RET_LABEL32:(void)0;
1536 }
1537 }
1538 {
1539 { /* Inline kernel$Int$+ (var_opos,1l) on <var_opos:Int> */
1540 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1541 /* <1l:Int> isa OTHER */
1542 var35 = 1; /* easy <1l:Int> isa OTHER*/
1543 if (unlikely(!var35)) {
1544 var_class_name38 = type_core__Int.name;
1545 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38);
1546 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1547 fatal_exit(1);
1548 }
1549 var39 = var_opos + 1l;
1550 var33 = var39;
1551 goto RET_LABEL34;
1552 RET_LABEL34:(void)0;
1553 }
1554 }
1555 {
1556 { /* Inline native$CString$[]= (var_nns,var33,((unsigned char)0x74)) on <var_nns:CString> */
1557 var_nns[var33]=(unsigned char)((unsigned char)0x74);
1558 RET_LABEL40:(void)0;
1559 }
1560 }
1561 {
1562 { /* Inline kernel$Int$+ (var_opos,2l) on <var_opos:Int> */
1563 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1564 /* <2l:Int> isa OTHER */
1565 var43 = 1; /* easy <2l:Int> isa OTHER*/
1566 if (unlikely(!var43)) {
1567 var_class_name46 = type_core__Int.name;
1568 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46);
1569 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1570 fatal_exit(1);
1571 }
1572 var47 = var_opos + 2l;
1573 var41 = var47;
1574 goto RET_LABEL42;
1575 RET_LABEL42:(void)0;
1576 }
1577 }
1578 var_opos = var41;
1579 } else {
1580 {
1581 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x0a)) on <var_c:Byte> */
1582 var50 = var_c == ((unsigned char)0x0a);
1583 var48 = var50;
1584 goto RET_LABEL49;
1585 RET_LABEL49:(void)0;
1586 }
1587 }
1588 if (var48){
1589 {
1590 { /* Inline native$CString$[]= (var_nns,var_opos,((unsigned char)0x5c)) on <var_nns:CString> */
1591 var_nns[var_opos]=(unsigned char)((unsigned char)0x5c);
1592 RET_LABEL51:(void)0;
1593 }
1594 }
1595 {
1596 { /* Inline kernel$Int$+ (var_opos,1l) on <var_opos:Int> */
1597 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1598 /* <1l:Int> isa OTHER */
1599 var54 = 1; /* easy <1l:Int> isa OTHER*/
1600 if (unlikely(!var54)) {
1601 var_class_name57 = type_core__Int.name;
1602 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57);
1603 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1604 fatal_exit(1);
1605 }
1606 var58 = var_opos + 1l;
1607 var52 = var58;
1608 goto RET_LABEL53;
1609 RET_LABEL53:(void)0;
1610 }
1611 }
1612 {
1613 { /* Inline native$CString$[]= (var_nns,var52,((unsigned char)0x6e)) on <var_nns:CString> */
1614 var_nns[var52]=(unsigned char)((unsigned char)0x6e);
1615 RET_LABEL59:(void)0;
1616 }
1617 }
1618 {
1619 { /* Inline kernel$Int$+ (var_opos,2l) on <var_opos:Int> */
1620 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1621 /* <2l:Int> isa OTHER */
1622 var62 = 1; /* easy <2l:Int> isa OTHER*/
1623 if (unlikely(!var62)) {
1624 var_class_name65 = type_core__Int.name;
1625 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65);
1626 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1627 fatal_exit(1);
1628 }
1629 var66 = var_opos + 2l;
1630 var60 = var66;
1631 goto RET_LABEL61;
1632 RET_LABEL61:(void)0;
1633 }
1634 }
1635 var_opos = var60;
1636 } else {
1637 {
1638 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x22)) on <var_c:Byte> */
1639 var69 = var_c == ((unsigned char)0x22);
1640 var67 = var69;
1641 goto RET_LABEL68;
1642 RET_LABEL68:(void)0;
1643 }
1644 }
1645 if (var67){
1646 {
1647 { /* Inline native$CString$[]= (var_nns,var_opos,((unsigned char)0x5c)) on <var_nns:CString> */
1648 var_nns[var_opos]=(unsigned char)((unsigned char)0x5c);
1649 RET_LABEL70:(void)0;
1650 }
1651 }
1652 {
1653 { /* Inline kernel$Int$+ (var_opos,1l) on <var_opos:Int> */
1654 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1655 /* <1l:Int> isa OTHER */
1656 var73 = 1; /* easy <1l:Int> isa OTHER*/
1657 if (unlikely(!var73)) {
1658 var_class_name76 = type_core__Int.name;
1659 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76);
1660 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1661 fatal_exit(1);
1662 }
1663 var77 = var_opos + 1l;
1664 var71 = var77;
1665 goto RET_LABEL72;
1666 RET_LABEL72:(void)0;
1667 }
1668 }
1669 {
1670 { /* Inline native$CString$[]= (var_nns,var71,((unsigned char)0x22)) on <var_nns:CString> */
1671 var_nns[var71]=(unsigned char)((unsigned char)0x22);
1672 RET_LABEL78:(void)0;
1673 }
1674 }
1675 {
1676 { /* Inline kernel$Int$+ (var_opos,2l) on <var_opos:Int> */
1677 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1678 /* <2l:Int> isa OTHER */
1679 var81 = 1; /* easy <2l:Int> isa OTHER*/
1680 if (unlikely(!var81)) {
1681 var_class_name84 = type_core__Int.name;
1682 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84);
1683 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1684 fatal_exit(1);
1685 }
1686 var85 = var_opos + 2l;
1687 var79 = var85;
1688 goto RET_LABEL80;
1689 RET_LABEL80:(void)0;
1690 }
1691 }
1692 var_opos = var79;
1693 } else {
1694 {
1695 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x27)) on <var_c:Byte> */
1696 var88 = var_c == ((unsigned char)0x27);
1697 var86 = var88;
1698 goto RET_LABEL87;
1699 RET_LABEL87:(void)0;
1700 }
1701 }
1702 if (var86){
1703 {
1704 { /* Inline native$CString$[]= (var_nns,var_opos,((unsigned char)0x5c)) on <var_nns:CString> */
1705 var_nns[var_opos]=(unsigned char)((unsigned char)0x5c);
1706 RET_LABEL89:(void)0;
1707 }
1708 }
1709 {
1710 { /* Inline kernel$Int$+ (var_opos,1l) on <var_opos:Int> */
1711 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1712 /* <1l:Int> isa OTHER */
1713 var92 = 1; /* easy <1l:Int> isa OTHER*/
1714 if (unlikely(!var92)) {
1715 var_class_name95 = type_core__Int.name;
1716 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name95);
1717 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1718 fatal_exit(1);
1719 }
1720 var96 = var_opos + 1l;
1721 var90 = var96;
1722 goto RET_LABEL91;
1723 RET_LABEL91:(void)0;
1724 }
1725 }
1726 {
1727 { /* Inline native$CString$[]= (var_nns,var90,((unsigned char)0x27)) on <var_nns:CString> */
1728 var_nns[var90]=(unsigned char)((unsigned char)0x27);
1729 RET_LABEL97:(void)0;
1730 }
1731 }
1732 {
1733 { /* Inline kernel$Int$+ (var_opos,2l) on <var_opos:Int> */
1734 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1735 /* <2l:Int> isa OTHER */
1736 var100 = 1; /* easy <2l:Int> isa OTHER*/
1737 if (unlikely(!var100)) {
1738 var_class_name103 = type_core__Int.name;
1739 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name103);
1740 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1741 fatal_exit(1);
1742 }
1743 var104 = var_opos + 2l;
1744 var98 = var104;
1745 goto RET_LABEL99;
1746 RET_LABEL99:(void)0;
1747 }
1748 }
1749 var_opos = var98;
1750 } else {
1751 {
1752 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x5c)) on <var_c:Byte> */
1753 var107 = var_c == ((unsigned char)0x5c);
1754 var105 = var107;
1755 goto RET_LABEL106;
1756 RET_LABEL106:(void)0;
1757 }
1758 }
1759 if (var105){
1760 {
1761 { /* Inline native$CString$[]= (var_nns,var_opos,((unsigned char)0x5c)) on <var_nns:CString> */
1762 var_nns[var_opos]=(unsigned char)((unsigned char)0x5c);
1763 RET_LABEL108:(void)0;
1764 }
1765 }
1766 {
1767 { /* Inline kernel$Int$+ (var_opos,1l) on <var_opos:Int> */
1768 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1769 /* <1l:Int> isa OTHER */
1770 var111 = 1; /* easy <1l:Int> isa OTHER*/
1771 if (unlikely(!var111)) {
1772 var_class_name114 = type_core__Int.name;
1773 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name114);
1774 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1775 fatal_exit(1);
1776 }
1777 var115 = var_opos + 1l;
1778 var109 = var115;
1779 goto RET_LABEL110;
1780 RET_LABEL110:(void)0;
1781 }
1782 }
1783 {
1784 { /* Inline native$CString$[]= (var_nns,var109,((unsigned char)0x5c)) on <var_nns:CString> */
1785 var_nns[var109]=(unsigned char)((unsigned char)0x5c);
1786 RET_LABEL116:(void)0;
1787 }
1788 }
1789 {
1790 { /* Inline kernel$Int$+ (var_opos,2l) on <var_opos:Int> */
1791 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1792 /* <2l:Int> isa OTHER */
1793 var119 = 1; /* easy <2l:Int> isa OTHER*/
1794 if (unlikely(!var119)) {
1795 var_class_name122 = type_core__Int.name;
1796 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name122);
1797 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1798 fatal_exit(1);
1799 }
1800 var123 = var_opos + 2l;
1801 var117 = var123;
1802 goto RET_LABEL118;
1803 RET_LABEL118:(void)0;
1804 }
1805 }
1806 var_opos = var117;
1807 } else {
1808 {
1809 { /* Inline kernel$Byte$== (var_c,((unsigned char)0x3f)) on <var_c:Byte> */
1810 var126 = var_c == ((unsigned char)0x3f);
1811 var124 = var126;
1812 goto RET_LABEL125;
1813 RET_LABEL125:(void)0;
1814 }
1815 }
1816 if (var124){
1817 {
1818 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
1819 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1820 /* <1l:Int> isa OTHER */
1821 var129 = 1; /* easy <1l:Int> isa OTHER*/
1822 if (unlikely(!var129)) {
1823 var_class_name132 = type_core__Int.name;
1824 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name132);
1825 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1826 fatal_exit(1);
1827 }
1828 var133 = var_pos + 1l;
1829 var127 = var133;
1830 goto RET_LABEL128;
1831 RET_LABEL128:(void)0;
1832 }
1833 }
1834 var_j = var127;
1835 {
1836 { /* Inline abstract_text$FlatText$length (self) on <self:FlatText> */
1837 var136 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatText> */
1838 var134 = var136;
1839 RET_LABEL135:(void)0;
1840 }
1841 }
1842 {
1843 { /* Inline kernel$Int$< (var_j,var134) on <var_j:Int> */
1844 /* Covariant cast for argument 0 (i) <var134:Int> isa OTHER */
1845 /* <var134:Int> isa OTHER */
1846 var139 = 1; /* easy <var134:Int> isa OTHER*/
1847 if (unlikely(!var139)) {
1848 var_class_name142 = type_core__Int.name;
1849 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name142);
1850 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
1851 fatal_exit(1);
1852 }
1853 var143 = var_j < var134;
1854 var137 = var143;
1855 goto RET_LABEL138;
1856 RET_LABEL138:(void)0;
1857 }
1858 }
1859 if (var137){
1860 {
1861 { /* Inline native$CString$[] (var_its,var_j) on <var_its:CString> */
1862 var146 = (unsigned char)((int)var_its[var_j]);
1863 var144 = var146;
1864 goto RET_LABEL145;
1865 RET_LABEL145:(void)0;
1866 }
1867 }
1868 var_next = var144;
1869 {
1870 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x21)) on <var_next:Byte> */
1871 var156 = var_next == ((unsigned char)0x21);
1872 var154 = var156;
1873 goto RET_LABEL155;
1874 RET_LABEL155:(void)0;
1875 }
1876 }
1877 var_ = var154;
1878 if (var154){
1879 var153 = var_;
1880 } else {
1881 {
1882 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x28)) on <var_next:Byte> */
1883 var159 = var_next == ((unsigned char)0x28);
1884 var157 = var159;
1885 goto RET_LABEL158;
1886 RET_LABEL158:(void)0;
1887 }
1888 }
1889 var153 = var157;
1890 }
1891 var_160 = var153;
1892 if (var153){
1893 var152 = var_160;
1894 } else {
1895 {
1896 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x29)) on <var_next:Byte> */
1897 var163 = var_next == ((unsigned char)0x29);
1898 var161 = var163;
1899 goto RET_LABEL162;
1900 RET_LABEL162:(void)0;
1901 }
1902 }
1903 var152 = var161;
1904 }
1905 var_164 = var152;
1906 if (var152){
1907 var151 = var_164;
1908 } else {
1909 {
1910 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x2d)) on <var_next:Byte> */
1911 var167 = var_next == ((unsigned char)0x2d);
1912 var165 = var167;
1913 goto RET_LABEL166;
1914 RET_LABEL166:(void)0;
1915 }
1916 }
1917 var151 = var165;
1918 }
1919 var_168 = var151;
1920 if (var151){
1921 var150 = var_168;
1922 } else {
1923 {
1924 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x2f)) on <var_next:Byte> */
1925 var171 = var_next == ((unsigned char)0x2f);
1926 var169 = var171;
1927 goto RET_LABEL170;
1928 RET_LABEL170:(void)0;
1929 }
1930 }
1931 var150 = var169;
1932 }
1933 var_172 = var150;
1934 if (var150){
1935 var149 = var_172;
1936 } else {
1937 {
1938 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x3c)) on <var_next:Byte> */
1939 var175 = var_next == ((unsigned char)0x3c);
1940 var173 = var175;
1941 goto RET_LABEL174;
1942 RET_LABEL174:(void)0;
1943 }
1944 }
1945 var149 = var173;
1946 }
1947 var_176 = var149;
1948 if (var149){
1949 var148 = var_176;
1950 } else {
1951 {
1952 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x3d)) on <var_next:Byte> */
1953 var179 = var_next == ((unsigned char)0x3d);
1954 var177 = var179;
1955 goto RET_LABEL178;
1956 RET_LABEL178:(void)0;
1957 }
1958 }
1959 var148 = var177;
1960 }
1961 var_180 = var148;
1962 if (var148){
1963 var147 = var_180;
1964 } else {
1965 {
1966 { /* Inline kernel$Byte$== (var_next,((unsigned char)0x3e)) on <var_next:Byte> */
1967 var183 = var_next == ((unsigned char)0x3e);
1968 var181 = var183;
1969 goto RET_LABEL182;
1970 RET_LABEL182:(void)0;
1971 }
1972 }
1973 var147 = var181;
1974 }
1975 if (var147){
1976 {
1977 { /* Inline native$CString$[]= (var_nns,var_opos,((unsigned char)0x5c)) on <var_nns:CString> */
1978 var_nns[var_opos]=(unsigned char)((unsigned char)0x5c);
1979 RET_LABEL184:(void)0;
1980 }
1981 }
1982 {
1983 { /* Inline kernel$Int$+ (var_opos,1l) on <var_opos:Int> */
1984 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1985 /* <1l:Int> isa OTHER */
1986 var187 = 1; /* easy <1l:Int> isa OTHER*/
1987 if (unlikely(!var187)) {
1988 var_class_name190 = type_core__Int.name;
1989 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name190);
1990 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1991 fatal_exit(1);
1992 }
1993 var191 = var_opos + 1l;
1994 var185 = var191;
1995 goto RET_LABEL186;
1996 RET_LABEL186:(void)0;
1997 }
1998 }
1999 var_opos = var185;
2000 } else {
2001 }
2002 } else {
2003 }
2004 {
2005 { /* Inline native$CString$[]= (var_nns,var_opos,((unsigned char)0x3f)) on <var_nns:CString> */
2006 var_nns[var_opos]=(unsigned char)((unsigned char)0x3f);
2007 RET_LABEL192:(void)0;
2008 }
2009 }
2010 {
2011 { /* Inline kernel$Int$+ (var_opos,1l) on <var_opos:Int> */
2012 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2013 /* <1l:Int> isa OTHER */
2014 var195 = 1; /* easy <1l:Int> isa OTHER*/
2015 if (unlikely(!var195)) {
2016 var_class_name198 = type_core__Int.name;
2017 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name198);
2018 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2019 fatal_exit(1);
2020 }
2021 var199 = var_opos + 1l;
2022 var193 = var199;
2023 goto RET_LABEL194;
2024 RET_LABEL194:(void)0;
2025 }
2026 }
2027 var_opos = var193;
2028 } else {
2029 {
2030 { /* Inline kernel$Byte$< (var_c,((unsigned char)0x20)) on <var_c:Byte> */
2031 /* Covariant cast for argument 0 (i) <((unsigned char)0x20):Byte> isa OTHER */
2032 /* <((unsigned char)0x20):Byte> isa OTHER */
2033 var202 = 1; /* easy <((unsigned char)0x20):Byte> isa OTHER*/
2034 if (unlikely(!var202)) {
2035 var_class_name205 = type_core__Byte.name;
2036 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name205);
2037 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 619);
2038 fatal_exit(1);
2039 }
2040 var206 = var_c < ((unsigned char)0x20);
2041 var200 = var206;
2042 goto RET_LABEL201;
2043 RET_LABEL201:(void)0;
2044 }
2045 }
2046 if (var200){
2047 {
2048 { /* Inline native$CString$[]= (var_nns,var_opos,((unsigned char)0x5c)) on <var_nns:CString> */
2049 var_nns[var_opos]=(unsigned char)((unsigned char)0x5c);
2050 RET_LABEL207:(void)0;
2051 }
2052 }
2053 {
2054 { /* Inline kernel$Int$+ (var_opos,1l) on <var_opos:Int> */
2055 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2056 /* <1l:Int> isa OTHER */
2057 var210 = 1; /* easy <1l:Int> isa OTHER*/
2058 if (unlikely(!var210)) {
2059 var_class_name213 = type_core__Int.name;
2060 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name213);
2061 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2062 fatal_exit(1);
2063 }
2064 var214 = var_opos + 1l;
2065 var208 = var214;
2066 goto RET_LABEL209;
2067 RET_LABEL209:(void)0;
2068 }
2069 }
2070 {
2071 { /* Inline native$CString$[]= (var_nns,var208,((unsigned char)0x30)) on <var_nns:CString> */
2072 var_nns[var208]=(unsigned char)((unsigned char)0x30);
2073 RET_LABEL215:(void)0;
2074 }
2075 }
2076 {
2077 { /* Inline kernel$Int$+ (var_opos,2l) on <var_opos:Int> */
2078 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
2079 /* <2l:Int> isa OTHER */
2080 var218 = 1; /* easy <2l:Int> isa OTHER*/
2081 if (unlikely(!var218)) {
2082 var_class_name221 = type_core__Int.name;
2083 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name221);
2084 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2085 fatal_exit(1);
2086 }
2087 var222 = var_opos + 2l;
2088 var216 = var222;
2089 goto RET_LABEL217;
2090 RET_LABEL217:(void)0;
2091 }
2092 }
2093 {
2094 { /* Inline math$Byte$& (var_c,((unsigned char)0x38)) on <var_c:Byte> */
2095 var225 = var_c & ((unsigned char)0x38);
2096 var223 = var225;
2097 goto RET_LABEL224;
2098 RET_LABEL224:(void)0;
2099 }
2100 }
2101 {
2102 { /* Inline kernel$Byte$>> (var223,3l) on <var223:Byte> */
2103 var228 = var223 >> 3l;
2104 var226 = var228;
2105 goto RET_LABEL227;
2106 RET_LABEL227:(void)0;
2107 }
2108 }
2109 {
2110 { /* Inline kernel$Byte$+ (var226,((unsigned char)0x30)) on <var226:Byte> */
2111 /* Covariant cast for argument 0 (i) <((unsigned char)0x30):Byte> isa OTHER */
2112 /* <((unsigned char)0x30):Byte> isa OTHER */
2113 var231 = 1; /* easy <((unsigned char)0x30):Byte> isa OTHER*/
2114 if (unlikely(!var231)) {
2115 var_class_name234 = type_core__Byte.name;
2116 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name234);
2117 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 622);
2118 fatal_exit(1);
2119 }
2120 var235 = var226 + ((unsigned char)0x30);
2121 var229 = var235;
2122 goto RET_LABEL230;
2123 RET_LABEL230:(void)0;
2124 }
2125 }
2126 {
2127 { /* Inline native$CString$[]= (var_nns,var216,var229) on <var_nns:CString> */
2128 var_nns[var216]=(unsigned char)var229;
2129 RET_LABEL236:(void)0;
2130 }
2131 }
2132 {
2133 { /* Inline kernel$Int$+ (var_opos,3l) on <var_opos:Int> */
2134 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
2135 /* <3l:Int> isa OTHER */
2136 var239 = 1; /* easy <3l:Int> isa OTHER*/
2137 if (unlikely(!var239)) {
2138 var_class_name242 = type_core__Int.name;
2139 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name242);
2140 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2141 fatal_exit(1);
2142 }
2143 var243 = var_opos + 3l;
2144 var237 = var243;
2145 goto RET_LABEL238;
2146 RET_LABEL238:(void)0;
2147 }
2148 }
2149 {
2150 { /* Inline math$Byte$& (var_c,((unsigned char)0x07)) on <var_c:Byte> */
2151 var246 = var_c & ((unsigned char)0x07);
2152 var244 = var246;
2153 goto RET_LABEL245;
2154 RET_LABEL245:(void)0;
2155 }
2156 }
2157 {
2158 { /* Inline kernel$Byte$+ (var244,((unsigned char)0x30)) on <var244:Byte> */
2159 /* Covariant cast for argument 0 (i) <((unsigned char)0x30):Byte> isa OTHER */
2160 /* <((unsigned char)0x30):Byte> isa OTHER */
2161 var249 = 1; /* easy <((unsigned char)0x30):Byte> isa OTHER*/
2162 if (unlikely(!var249)) {
2163 var_class_name252 = type_core__Byte.name;
2164 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name252);
2165 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 622);
2166 fatal_exit(1);
2167 }
2168 var253 = var244 + ((unsigned char)0x30);
2169 var247 = var253;
2170 goto RET_LABEL248;
2171 RET_LABEL248:(void)0;
2172 }
2173 }
2174 {
2175 { /* Inline native$CString$[]= (var_nns,var237,var247) on <var_nns:CString> */
2176 var_nns[var237]=(unsigned char)var247;
2177 RET_LABEL254:(void)0;
2178 }
2179 }
2180 {
2181 { /* Inline kernel$Int$+ (var_opos,4l) on <var_opos:Int> */
2182 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
2183 /* <4l:Int> isa OTHER */
2184 var257 = 1; /* easy <4l:Int> isa OTHER*/
2185 if (unlikely(!var257)) {
2186 var_class_name260 = type_core__Int.name;
2187 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name260);
2188 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2189 fatal_exit(1);
2190 }
2191 var261 = var_opos + 4l;
2192 var255 = var261;
2193 goto RET_LABEL256;
2194 RET_LABEL256:(void)0;
2195 }
2196 }
2197 var_opos = var255;
2198 } else {
2199 {
2200 { /* Inline native$CString$[]= (var_nns,var_opos,var_c) on <var_nns:CString> */
2201 var_nns[var_opos]=(unsigned char)var_c;
2202 RET_LABEL262:(void)0;
2203 }
2204 }
2205 {
2206 { /* Inline kernel$Int$+ (var_opos,1l) on <var_opos:Int> */
2207 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2208 /* <1l:Int> isa OTHER */
2209 var265 = 1; /* easy <1l:Int> isa OTHER*/
2210 if (unlikely(!var265)) {
2211 var_class_name268 = type_core__Int.name;
2212 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name268);
2213 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2214 fatal_exit(1);
2215 }
2216 var269 = var_opos + 1l;
2217 var263 = var269;
2218 goto RET_LABEL264;
2219 RET_LABEL264:(void)0;
2220 }
2221 }
2222 var_opos = var263;
2223 }
2224 }
2225 }
2226 }
2227 }
2228 }
2229 }
2230 {
2231 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
2232 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2233 /* <1l:Int> isa OTHER */
2234 var272 = 1; /* easy <1l:Int> isa OTHER*/
2235 if (unlikely(!var272)) {
2236 var_class_name275 = type_core__Int.name;
2237 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name275);
2238 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2239 fatal_exit(1);
2240 }
2241 var276 = var_pos + 1l;
2242 var270 = var276;
2243 goto RET_LABEL271;
2244 RET_LABEL271:(void)0;
2245 }
2246 }
2247 var_pos = var270;
2248 } else {
2249 goto BREAK_label;
2250 }
2251 }
2252 BREAK_label: (void)0;
2253 {
2254 var278 = (val*)(var_nlen<<2|1);
2255 var279 = (val*)((long)(0)<<2|3);
2256 var280 = (val*)((long)(0)<<2|3);
2257 var277 = core__flat___CString___to_s_unsafe(var_nns, var278, ((val*)NULL), var279, var280);
2258 }
2259 var = var277;
2260 goto RET_LABEL;
2261 RET_LABEL:;
2262 return var;
2263 }
2264 /* method flat$FlatText$[] for (self: FlatText, Int): Char */
2265 uint32_t core__flat___FlatText___core__abstract_text__Text___91d_93d(val* self, long p0) {
2266 uint32_t var /* : Char */;
2267 long var_index /* var index: Int */;
2268 long var1 /* : Int */;
2269 long var_len /* var len: Int */;
2270 long var2 /* : Int */;
2271 long var3 /* : Int */;
2272 short int var5 /* : Bool */;
2273 int cltype;
2274 int idtype;
2275 const char* var_class_name;
2276 long var6 /* : Int */;
2277 long var_dpos /* var dpos: Int */;
2278 long var7 /* : Int */;
2279 long var_b /* var b: Int */;
2280 short int var8 /* : Bool */;
2281 short int var9 /* : Bool */;
2282 short int var11 /* : Bool */;
2283 short int var_ /* var : Bool */;
2284 long var12 /* : Int */;
2285 short int var14 /* : Bool */;
2286 int cltype15;
2287 int idtype16;
2288 const char* var_class_name17;
2289 long var18 /* : Int */;
2290 short int var19 /* : Bool */;
2291 short int var21 /* : Bool */;
2292 int cltype22;
2293 int idtype23;
2294 const char* var_class_name24;
2295 short int var25 /* : Bool */;
2296 char* var26 /* : CString */;
2297 char* var_its /* var its: CString */;
2298 unsigned char var27 /* : Byte */;
2299 unsigned char var29 /* : Byte */;
2300 unsigned char var_c /* var c: Byte */;
2301 unsigned char var30 /* : Byte */;
2302 unsigned char var32 /* : Byte */;
2303 short int var33 /* : Bool */;
2304 short int var35 /* : Bool */;
2305 long var36 /* : Int */;
2306 short int var38 /* : Bool */;
2307 int cltype39;
2308 int idtype40;
2309 const char* var_class_name41;
2310 long var42 /* : Int */;
2311 short int var43 /* : Bool */;
2312 long var44 /* : Int */;
2313 long var46 /* : Int */;
2314 short int var47 /* : Bool */;
2315 short int var49 /* : Bool */;
2316 short int var_50 /* var : Bool */;
2317 short int var51 /* : Bool */;
2318 short int var53 /* : Bool */;
2319 int cltype54;
2320 int idtype55;
2321 const char* var_class_name56;
2322 short int var57 /* : Bool */;
2323 char* var58 /* : CString */;
2324 char* var_its59 /* var its: CString */;
2325 long var60 /* : Int */;
2326 short int var62 /* : Bool */;
2327 int cltype63;
2328 int idtype64;
2329 const char* var_class_name65;
2330 long var66 /* : Int */;
2331 unsigned char var67 /* : Byte */;
2332 unsigned char var69 /* : Byte */;
2333 unsigned char var_c70 /* var c: Byte */;
2334 unsigned char var71 /* : Byte */;
2335 unsigned char var73 /* : Byte */;
2336 short int var74 /* : Bool */;
2337 short int var76 /* : Bool */;
2338 long var77 /* : Int */;
2339 short int var79 /* : Bool */;
2340 int cltype80;
2341 int idtype81;
2342 const char* var_class_name82;
2343 long var83 /* : Int */;
2344 uint32_t var84 /* : Char */;
2345 uint32_t var86 /* : Char */;
2346 short int var87 /* : Bool */;
2347 short int var89 /* : Bool */;
2348 char* var90 /* : CString */;
2349 char* var_its91 /* var its: CString */;
2350 unsigned char var92 /* : Byte */;
2351 unsigned char var94 /* : Byte */;
2352 unsigned char var_c95 /* var c: Byte */;
2353 unsigned char var96 /* : Byte */;
2354 unsigned char var98 /* : Byte */;
2355 short int var99 /* : Bool */;
2356 short int var101 /* : Bool */;
2357 uint32_t var102 /* : Char */;
2358 uint32_t var104 /* : Char */;
2359 char* var105 /* : CString */;
2360 char* var107 /* : CString */;
2361 uint32_t var108 /* : Char */;
2362 short int var109 /* : Bool */;
2363 short int var110 /* : Bool */;
2364 short int var112 /* : Bool */;
2365 int cltype113;
2366 int idtype114;
2367 const char* var_class_name115;
2368 short int var116 /* : Bool */;
2369 short int var_117 /* var : Bool */;
2370 short int var118 /* : Bool */;
2371 short int var120 /* : Bool */;
2372 int cltype121;
2373 int idtype122;
2374 const char* var_class_name123;
2375 short int var124 /* : Bool */;
2376 uint32_t var125 /* : Char */;
2377 var_index = p0;
2378 var1 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatText> */
2379 var_len = var1;
2380 var2 = self->attrs[COLOR_core__flat__FlatText___position].l; /* _position on <self:FlatText> */
2381 {
2382 { /* Inline kernel$Int$- (var_index,var2) on <var_index:Int> */
2383 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
2384 /* <var2:Int> isa OTHER */
2385 var5 = 1; /* easy <var2:Int> isa OTHER*/
2386 if (unlikely(!var5)) {
2387 var_class_name = type_core__Int.name;
2388 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2389 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
2390 fatal_exit(1);
2391 }
2392 var6 = var_index - var2;
2393 var3 = var6;
2394 goto RET_LABEL4;
2395 RET_LABEL4:(void)0;
2396 }
2397 }
2398 var_dpos = var3;
2399 var7 = self->attrs[COLOR_core__flat__FlatText___bytepos].l; /* _bytepos on <self:FlatText> */
2400 var_b = var7;
2401 {
2402 { /* Inline kernel$Int$== (var_dpos,1l) on <var_dpos:Int> */
2403 var11 = var_dpos == 1l;
2404 var9 = var11;
2405 goto RET_LABEL10;
2406 RET_LABEL10:(void)0;
2407 }
2408 }
2409 var_ = var9;
2410 if (var9){
2411 {
2412 { /* Inline kernel$Int$- (var_len,1l) on <var_len:Int> */
2413 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2414 /* <1l:Int> isa OTHER */
2415 var14 = 1; /* easy <1l:Int> isa OTHER*/
2416 if (unlikely(!var14)) {
2417 var_class_name17 = type_core__Int.name;
2418 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
2419 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
2420 fatal_exit(1);
2421 }
2422 var18 = var_len - 1l;
2423 var12 = var18;
2424 goto RET_LABEL13;
2425 RET_LABEL13:(void)0;
2426 }
2427 }
2428 {
2429 { /* Inline kernel$Int$< (var_index,var12) on <var_index:Int> */
2430 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2431 /* <var12:Int> isa OTHER */
2432 var21 = 1; /* easy <var12:Int> isa OTHER*/
2433 if (unlikely(!var21)) {
2434 var_class_name24 = type_core__Int.name;
2435 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
2436 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
2437 fatal_exit(1);
2438 }
2439 var25 = var_index < var12;
2440 var19 = var25;
2441 goto RET_LABEL20;
2442 RET_LABEL20:(void)0;
2443 }
2444 }
2445 var8 = var19;
2446 } else {
2447 var8 = var_;
2448 }
2449 if (var8){
2450 var26 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatText> */
2451 var_its = var26;
2452 {
2453 { /* Inline native$CString$[] (var_its,var_b) on <var_its:CString> */
2454 var29 = (unsigned char)((int)var_its[var_b]);
2455 var27 = var29;
2456 goto RET_LABEL28;
2457 RET_LABEL28:(void)0;
2458 }
2459 }
2460 var_c = var27;
2461 {
2462 { /* Inline math$Byte$& (var_c,((unsigned char)0x80)) on <var_c:Byte> */
2463 var32 = var_c & ((unsigned char)0x80);
2464 var30 = var32;
2465 goto RET_LABEL31;
2466 RET_LABEL31:(void)0;
2467 }
2468 }
2469 {
2470 { /* Inline kernel$Byte$== (var30,((unsigned char)0x00)) on <var30:Byte> */
2471 var35 = var30 == ((unsigned char)0x00);
2472 var33 = var35;
2473 goto RET_LABEL34;
2474 RET_LABEL34:(void)0;
2475 }
2476 }
2477 if (var33){
2478 {
2479 { /* Inline kernel$Int$+ (var_b,1l) on <var_b:Int> */
2480 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2481 /* <1l:Int> isa OTHER */
2482 var38 = 1; /* easy <1l:Int> isa OTHER*/
2483 if (unlikely(!var38)) {
2484 var_class_name41 = type_core__Int.name;
2485 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
2486 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2487 fatal_exit(1);
2488 }
2489 var42 = var_b + 1l;
2490 var36 = var42;
2491 goto RET_LABEL37;
2492 RET_LABEL37:(void)0;
2493 }
2494 }
2495 var_b = var36;
2496 self->attrs[COLOR_core__flat__FlatText___position].l = var_index; /* _position on <self:FlatText> */
2497 self->attrs[COLOR_core__flat__FlatText___bytepos].l = var_b; /* _bytepos on <self:FlatText> */
2498 var_dpos = 0l;
2499 } else {
2500 }
2501 } else {
2502 {
2503 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
2504 var46 = -1l;
2505 var44 = var46;
2506 goto RET_LABEL45;
2507 RET_LABEL45:(void)0;
2508 }
2509 }
2510 {
2511 { /* Inline kernel$Int$== (var_dpos,var44) on <var_dpos:Int> */
2512 var49 = var_dpos == var44;
2513 var47 = var49;
2514 goto RET_LABEL48;
2515 RET_LABEL48:(void)0;
2516 }
2517 }
2518 var_50 = var47;
2519 if (var47){
2520 {
2521 { /* Inline kernel$Int$> (var_index,1l) on <var_index:Int> */
2522 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2523 /* <1l:Int> isa OTHER */
2524 var53 = 1; /* easy <1l:Int> isa OTHER*/
2525 if (unlikely(!var53)) {
2526 var_class_name56 = type_core__Int.name;
2527 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56);
2528 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
2529 fatal_exit(1);
2530 }
2531 var57 = var_index > 1l;
2532 var51 = var57;
2533 goto RET_LABEL52;
2534 RET_LABEL52:(void)0;
2535 }
2536 }
2537 var43 = var51;
2538 } else {
2539 var43 = var_50;
2540 }
2541 if (var43){
2542 var58 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatText> */
2543 var_its59 = var58;
2544 {
2545 { /* Inline kernel$Int$- (var_b,1l) on <var_b:Int> */
2546 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2547 /* <1l:Int> isa OTHER */
2548 var62 = 1; /* easy <1l:Int> isa OTHER*/
2549 if (unlikely(!var62)) {
2550 var_class_name65 = type_core__Int.name;
2551 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65);
2552 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
2553 fatal_exit(1);
2554 }
2555 var66 = var_b - 1l;
2556 var60 = var66;
2557 goto RET_LABEL61;
2558 RET_LABEL61:(void)0;
2559 }
2560 }
2561 {
2562 { /* Inline native$CString$[] (var_its59,var60) on <var_its59:CString> */
2563 var69 = (unsigned char)((int)var_its59[var60]);
2564 var67 = var69;
2565 goto RET_LABEL68;
2566 RET_LABEL68:(void)0;
2567 }
2568 }
2569 var_c70 = var67;
2570 {
2571 { /* Inline math$Byte$& (var_c70,((unsigned char)0x80)) on <var_c70:Byte> */
2572 var73 = var_c70 & ((unsigned char)0x80);
2573 var71 = var73;
2574 goto RET_LABEL72;
2575 RET_LABEL72:(void)0;
2576 }
2577 }
2578 {
2579 { /* Inline kernel$Byte$== (var71,((unsigned char)0x00)) on <var71:Byte> */
2580 var76 = var71 == ((unsigned char)0x00);
2581 var74 = var76;
2582 goto RET_LABEL75;
2583 RET_LABEL75:(void)0;
2584 }
2585 }
2586 if (var74){
2587 {
2588 { /* Inline kernel$Int$- (var_b,1l) on <var_b:Int> */
2589 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2590 /* <1l:Int> isa OTHER */
2591 var79 = 1; /* easy <1l:Int> isa OTHER*/
2592 if (unlikely(!var79)) {
2593 var_class_name82 = type_core__Int.name;
2594 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82);
2595 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
2596 fatal_exit(1);
2597 }
2598 var83 = var_b - 1l;
2599 var77 = var83;
2600 goto RET_LABEL78;
2601 RET_LABEL78:(void)0;
2602 }
2603 }
2604 var_b = var77;
2605 var_dpos = 0l;
2606 self->attrs[COLOR_core__flat__FlatText___position].l = var_index; /* _position on <self:FlatText> */
2607 self->attrs[COLOR_core__flat__FlatText___bytepos].l = var_b; /* _bytepos on <self:FlatText> */
2608 {
2609 { /* Inline kernel$Byte$ascii (var_c70) on <var_c70:Byte> */
2610 var86 = (uint32_t)var_c70;
2611 var84 = var86;
2612 goto RET_LABEL85;
2613 RET_LABEL85:(void)0;
2614 }
2615 }
2616 var = var84;
2617 goto RET_LABEL;
2618 } else {
2619 }
2620 } else {
2621 }
2622 }
2623 {
2624 { /* Inline kernel$Int$== (var_dpos,0l) on <var_dpos:Int> */
2625 var89 = var_dpos == 0l;
2626 var87 = var89;
2627 goto RET_LABEL88;
2628 RET_LABEL88:(void)0;
2629 }
2630 }
2631 if (var87){
2632 var90 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatText> */
2633 var_its91 = var90;
2634 {
2635 { /* Inline native$CString$[] (var_its91,var_b) on <var_its91:CString> */
2636 var94 = (unsigned char)((int)var_its91[var_b]);
2637 var92 = var94;
2638 goto RET_LABEL93;
2639 RET_LABEL93:(void)0;
2640 }
2641 }
2642 var_c95 = var92;
2643 {
2644 { /* Inline math$Byte$& (var_c95,((unsigned char)0x80)) on <var_c95:Byte> */
2645 var98 = var_c95 & ((unsigned char)0x80);
2646 var96 = var98;
2647 goto RET_LABEL97;
2648 RET_LABEL97:(void)0;
2649 }
2650 }
2651 {
2652 { /* Inline kernel$Byte$== (var96,((unsigned char)0x00)) on <var96:Byte> */
2653 var101 = var96 == ((unsigned char)0x00);
2654 var99 = var101;
2655 goto RET_LABEL100;
2656 RET_LABEL100:(void)0;
2657 }
2658 }
2659 if (var99){
2660 {
2661 { /* Inline kernel$Byte$ascii (var_c95) on <var_c95:Byte> */
2662 var104 = (uint32_t)var_c95;
2663 var102 = var104;
2664 goto RET_LABEL103;
2665 RET_LABEL103:(void)0;
2666 }
2667 }
2668 var = var102;
2669 goto RET_LABEL;
2670 } else {
2671 }
2672 {
2673 { /* Inline abstract_text$FlatText$items (self) on <self:FlatText> */
2674 var107 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatText> */
2675 var105 = var107;
2676 RET_LABEL106:(void)0;
2677 }
2678 }
2679 {
2680 var108 = core___core__CString___char_at(var105, var_b);
2681 }
2682 var = var108;
2683 goto RET_LABEL;
2684 } else {
2685 }
2686 {
2687 { /* Inline kernel$Int$>= (var_index,0l) on <var_index:Int> */
2688 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2689 /* <0l:Int> isa OTHER */
2690 var112 = 1; /* easy <0l:Int> isa OTHER*/
2691 if (unlikely(!var112)) {
2692 var_class_name115 = type_core__Int.name;
2693 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name115);
2694 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
2695 fatal_exit(1);
2696 }
2697 var116 = var_index >= 0l;
2698 var110 = var116;
2699 goto RET_LABEL111;
2700 RET_LABEL111:(void)0;
2701 }
2702 }
2703 var_117 = var110;
2704 if (var110){
2705 {
2706 { /* Inline kernel$Int$< (var_index,var_len) on <var_index:Int> */
2707 /* Covariant cast for argument 0 (i) <var_len:Int> isa OTHER */
2708 /* <var_len:Int> isa OTHER */
2709 var120 = 1; /* easy <var_len:Int> isa OTHER*/
2710 if (unlikely(!var120)) {
2711 var_class_name123 = type_core__Int.name;
2712 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name123);
2713 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
2714 fatal_exit(1);
2715 }
2716 var124 = var_index < var_len;
2717 var118 = var124;
2718 goto RET_LABEL119;
2719 RET_LABEL119:(void)0;
2720 }
2721 }
2722 var109 = var118;
2723 } else {
2724 var109 = var_117;
2725 }
2726 if (unlikely(!var109)) {
2727 if(catchStack.cursor >= 0){
2728 longjmp(catchStack.envs[catchStack.cursor], 1);
2729 }
2730 PRINT_ERROR("Runtime error: %s", "Assert failed");
2731 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 378);
2732 fatal_exit(1);
2733 }
2734 {
2735 var125 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__flat__FlatText__fetch_char_at]))(self, var_index); /* fetch_char_at on <self:FlatText>*/
2736 }
2737 var = var125;
2738 goto RET_LABEL;
2739 RET_LABEL:;
2740 return var;
2741 }
2742 /* method flat$FlatText$fetch_char_at for (self: FlatText, Int): Char */
2743 uint32_t core__flat___FlatText___fetch_char_at(val* self, long p0) {
2744 uint32_t var /* : Char */;
2745 long var_index /* var index: Int */;
2746 long var1 /* : Int */;
2747 long var_i /* var i: Int */;
2748 char* var2 /* : CString */;
2749 char* var_items /* var items: CString */;
2750 unsigned char var3 /* : Byte */;
2751 unsigned char var5 /* : Byte */;
2752 unsigned char var_b /* var b: Byte */;
2753 unsigned char var6 /* : Byte */;
2754 unsigned char var8 /* : Byte */;
2755 short int var9 /* : Bool */;
2756 short int var11 /* : Bool */;
2757 uint32_t var12 /* : Char */;
2758 uint32_t var14 /* : Char */;
2759 uint32_t var15 /* : Char */;
2760 var_index = p0;
2761 {
2762 var1 = ((long(*)(val* self, long p0))(self->class->vft[COLOR_core__flat__FlatText__char_to_byte_index]))(self, var_index); /* char_to_byte_index on <self:FlatText>*/
2763 }
2764 var_i = var1;
2765 var2 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatText> */
2766 var_items = var2;
2767 {
2768 { /* Inline native$CString$[] (var_items,var_i) on <var_items:CString> */
2769 var5 = (unsigned char)((int)var_items[var_i]);
2770 var3 = var5;
2771 goto RET_LABEL4;
2772 RET_LABEL4:(void)0;
2773 }
2774 }
2775 var_b = var3;
2776 {
2777 { /* Inline math$Byte$& (var_b,((unsigned char)0x80)) on <var_b:Byte> */
2778 var8 = var_b & ((unsigned char)0x80);
2779 var6 = var8;
2780 goto RET_LABEL7;
2781 RET_LABEL7:(void)0;
2782 }
2783 }
2784 {
2785 { /* Inline kernel$Byte$== (var6,((unsigned char)0x00)) on <var6:Byte> */
2786 var11 = var6 == ((unsigned char)0x00);
2787 var9 = var11;
2788 goto RET_LABEL10;
2789 RET_LABEL10:(void)0;
2790 }
2791 }
2792 if (var9){
2793 {
2794 { /* Inline kernel$Byte$ascii (var_b) on <var_b:Byte> */
2795 var14 = (uint32_t)var_b;
2796 var12 = var14;
2797 goto RET_LABEL13;
2798 RET_LABEL13:(void)0;
2799 }
2800 }
2801 var = var12;
2802 goto RET_LABEL;
2803 } else {
2804 }
2805 {
2806 var15 = core___core__CString___char_at(var_items, var_i);
2807 }
2808 var = var15;
2809 goto RET_LABEL;
2810 RET_LABEL:;
2811 return var;
2812 }
2813 /* method flat$FlatText$to_hex for (self: FlatText, nullable Int, nullable Int): Int */
2814 long core__flat___FlatText___core__abstract_text__Text__to_hex(val* self, val* p0, val* p1) {
2815 long var /* : Int */;
2816 val* var_pos /* var pos: nullable Int */;
2817 val* var_ln /* var ln: nullable Int */;
2818 long var_res /* var res: Int */;
2819 short int var1 /* : Bool */;
2820 short int var2 /* : Bool */;
2821 short int var4 /* : Bool */;
2822 val* var5 /* : nullable Int */;
2823 short int var6 /* : Bool */;
2824 short int var7 /* : Bool */;
2825 short int var9 /* : Bool */;
2826 long var10 /* : Int */;
2827 long var12 /* : Int */;
2828 long var13 /* : Int */;
2829 short int var15 /* : Bool */;
2830 int cltype;
2831 int idtype;
2832 const char* var_class_name;
2833 long var16 /* : Int */;
2834 long var17 /* : Int */;
2835 val* var18 /* : nullable Int */;
2836 long var19 /* : Int */;
2837 long var20 /* : Int */;
2838 val* var21 /* : nullable Int */;
2839 char* var22 /* : CString */;
2840 char* var_its /* var its: CString */;
2841 long var23 /* : Int */;
2842 short int var25 /* : Bool */;
2843 int cltype26;
2844 int idtype27;
2845 const char* var_class_name28;
2846 long var29 /* : Int */;
2847 long var30 /* : Int */;
2848 long var31 /* : Int */;
2849 long var_max /* var max: Int */;
2850 long var32 /* : Int */;
2851 long var_i /* var i: Int */;
2852 long var_ /* var : Int */;
2853 short int var33 /* : Bool */;
2854 short int var35 /* : Bool */;
2855 int cltype36;
2856 int idtype37;
2857 const char* var_class_name38;
2858 short int var39 /* : Bool */;
2859 long var40 /* : Int */;
2860 long var42 /* : Int */;
2861 unsigned char var43 /* : Byte */;
2862 unsigned char var45 /* : Byte */;
2863 uint32_t var46 /* : Char */;
2864 uint32_t var48 /* : Char */;
2865 long var49 /* : Int */;
2866 long var50 /* : Int */;
2867 short int var52 /* : Bool */;
2868 int cltype53;
2869 int idtype54;
2870 const char* var_class_name55;
2871 long var56 /* : Int */;
2872 long var57 /* : Int */;
2873 var_pos = p0;
2874 var_ln = p1;
2875 var_res = 0l;
2876 if (var_pos == NULL) {
2877 var1 = 1; /* is null */
2878 } else {
2879 var1 = 0; /* arg is null but recv is not */
2880 }
2881 if (0) {
2882 { /* Inline kernel$Int$== (var_pos,((val*)NULL)) on <var_pos:nullable Int> */
2883 var4 = 0; /* incompatible types Int vs. null; cannot be NULL */
2884 var2 = var4;
2885 goto RET_LABEL3;
2886 RET_LABEL3:(void)0;
2887 }
2888 var1 = var2;
2889 }
2890 if (var1){
2891 var5 = (val*)(0l<<2|1);
2892 var_pos = var5;
2893 } else {
2894 }
2895 if (var_ln == NULL) {
2896 var6 = 1; /* is null */
2897 } else {
2898 var6 = 0; /* arg is null but recv is not */
2899 }
2900 if (0) {
2901 { /* Inline kernel$Int$== (var_ln,((val*)NULL)) on <var_ln:nullable Int> */
2902 var9 = 0; /* incompatible types Int vs. null; cannot be NULL */
2903 var7 = var9;
2904 goto RET_LABEL8;
2905 RET_LABEL8:(void)0;
2906 }
2907 var6 = var7;
2908 }
2909 if (var6){
2910 {
2911 { /* Inline abstract_text$FlatText$length (self) on <self:FlatText> */
2912 var12 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatText> */
2913 var10 = var12;
2914 RET_LABEL11:(void)0;
2915 }
2916 }
2917 {
2918 { /* Inline kernel$Int$- (var10,var_pos) on <var10:Int> */
2919 /* Covariant cast for argument 0 (i) <var_pos:nullable Int(Int)> isa OTHER */
2920 /* <var_pos:nullable Int(Int)> isa OTHER */
2921 var15 = 1; /* easy <var_pos:nullable Int(Int)> isa OTHER*/
2922 if (unlikely(!var15)) {
2923 var_class_name = var_pos == NULL ? "null" : (((long)var_pos&3)?type_info[((long)var_pos&3)]:var_pos->type)->name;
2924 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2925 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
2926 fatal_exit(1);
2927 }
2928 var16 = (long)(var_pos)>>2;
2929 var17 = var10 - var16;
2930 var13 = var17;
2931 goto RET_LABEL14;
2932 RET_LABEL14:(void)0;
2933 }
2934 }
2935 var18 = (val*)(var13<<2|1);
2936 var_ln = var18;
2937 } else {
2938 }
2939 {
2940 var19 = (long)(var_pos)>>2;
2941 var20 = ((long(*)(val* self, long p0))(self->class->vft[COLOR_core__flat__FlatText__char_to_byte_index]))(self, var19); /* char_to_byte_index on <self:FlatText>*/
2942 }
2943 var21 = (val*)(var20<<2|1);
2944 var_pos = var21;
2945 var22 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatText> */
2946 var_its = var22;
2947 {
2948 { /* Inline kernel$Int$+ (var_pos,var_ln) on <var_pos:nullable Int(Int)> */
2949 /* Covariant cast for argument 0 (i) <var_ln:nullable Int(Int)> isa OTHER */
2950 /* <var_ln:nullable Int(Int)> isa OTHER */
2951 var25 = 1; /* easy <var_ln:nullable Int(Int)> isa OTHER*/
2952 if (unlikely(!var25)) {
2953 var_class_name28 = var_ln == NULL ? "null" : (((long)var_ln&3)?type_info[((long)var_ln&3)]:var_ln->type)->name;
2954 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
2955 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2956 fatal_exit(1);
2957 }
2958 var29 = (long)(var_pos)>>2;
2959 var30 = (long)(var_ln)>>2;
2960 var31 = var29 + var30;
2961 var23 = var31;
2962 goto RET_LABEL24;
2963 RET_LABEL24:(void)0;
2964 }
2965 }
2966 var_max = var23;
2967 var32 = (long)(var_pos)>>2;
2968 var_i = var32;
2969 var_ = var_max;
2970 for(;;) {
2971 {
2972 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
2973 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
2974 /* <var_:Int> isa OTHER */
2975 var35 = 1; /* easy <var_:Int> isa OTHER*/
2976 if (unlikely(!var35)) {
2977 var_class_name38 = type_core__Int.name;
2978 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38);
2979 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
2980 fatal_exit(1);
2981 }
2982 var39 = var_i < var_;
2983 var33 = var39;
2984 goto RET_LABEL34;
2985 RET_LABEL34:(void)0;
2986 }
2987 }
2988 if (var33){
2989 } else {
2990 goto BREAK_label;
2991 }
2992 {
2993 { /* Inline kernel$Int$<< (var_res,4l) on <var_res:Int> */
2994 var42 = var_res << 4l;
2995 var40 = var42;
2996 goto RET_LABEL41;
2997 RET_LABEL41:(void)0;
2998 }
2999 }
3000 var_res = var40;
3001 {
3002 { /* Inline native$CString$[] (var_its,var_i) on <var_its:CString> */
3003 var45 = (unsigned char)((int)var_its[var_i]);
3004 var43 = var45;
3005 goto RET_LABEL44;
3006 RET_LABEL44:(void)0;
3007 }
3008 }
3009 {
3010 { /* Inline kernel$Byte$ascii (var43) on <var43:Byte> */
3011 var48 = (uint32_t)var43;
3012 var46 = var48;
3013 goto RET_LABEL47;
3014 RET_LABEL47:(void)0;
3015 }
3016 }
3017 {
3018 var49 = core__abstract_text___Char___from_hex(var46);
3019 }
3020 {
3021 { /* Inline kernel$Int$+ (var_res,var49) on <var_res:Int> */
3022 /* Covariant cast for argument 0 (i) <var49:Int> isa OTHER */
3023 /* <var49:Int> isa OTHER */
3024 var52 = 1; /* easy <var49:Int> isa OTHER*/
3025 if (unlikely(!var52)) {
3026 var_class_name55 = type_core__Int.name;
3027 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55);
3028 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3029 fatal_exit(1);
3030 }
3031 var56 = var_res + var49;
3032 var50 = var56;
3033 goto RET_LABEL51;
3034 RET_LABEL51:(void)0;
3035 }
3036 }
3037 var_res = var50;
3038 {
3039 var57 = core___core__Int___Discrete__successor(var_i, 1l);
3040 }
3041 var_i = var57;
3042 }
3043 BREAK_label: (void)0;
3044 var = var_res;
3045 goto RET_LABEL;
3046 RET_LABEL:;
3047 return var;
3048 }
3049 /* method flat$FlatString$first_byte for (self: FlatString): Int */
3050 long core___core__FlatString___FlatText__first_byte(val* self) {
3051 long var /* : Int */;
3052 long var1 /* : Int */;
3053 var1 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:FlatString> */
3054 var = var1;
3055 RET_LABEL:;
3056 return var;
3057 }
3058 /* method flat$FlatString$chars for (self: FlatString): SequenceRead[Char] */
3059 val* core___core__FlatString___core__abstract_text__Text__chars(val* self) {
3060 val* var /* : SequenceRead[Char] */;
3061 val* var1 /* : FlatStringCharView */;
3062 var1 = NEW_core__flat__FlatStringCharView(&type_core__flat__FlatStringCharView);
3063 {
3064 ((void(*)(val* self, val* p0))(var1->class->vft[COLOR_core__abstract_text__StringCharView__target_61d]))(var1, self); /* target= on <var1:FlatStringCharView>*/
3065 }
3066 {
3067 ((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on <var1:FlatStringCharView>*/
3068 }
3069 var = var1;
3070 goto RET_LABEL;
3071 RET_LABEL:;
3072 return var;
3073 }
3074 /* method flat$FlatString$to_cstring for (self: FlatString): CString */
3075 char* core___core__FlatString___core__abstract_text__Text__to_cstring(val* self) {
3076 char* var /* : CString */;
3077 long var1 /* : Int */;
3078 long var_blen /* var blen: Int */;
3079 static char* varoncenew;
3080 static int varoncenew_guard;
3081 char* var2 /* : CString */;
3082 char* var3 /* : CString */;
3083 long var4 /* : Int */;
3084 short int var6 /* : Bool */;
3085 int cltype;
3086 int idtype;
3087 const char* var_class_name;
3088 long var7 /* : Int */;
3089 char* var8 /* : CString */;
3090 char* var10 /* : CString */;
3091 char* var_new_items /* var new_items: CString */;
3092 char* var11 /* : CString */;
3093 long var12 /* : Int */;
3094 var1 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatString> */
3095 var_blen = var1;
3096 if (likely(varoncenew_guard)) {
3097 var2 = varoncenew;
3098 } else {
3099 var3 = NULL/*special!*/;
3100 var2 = var3;
3101 varoncenew = var2;
3102 varoncenew_guard = 1;
3103 }
3104 {
3105 { /* Inline kernel$Int$+ (var_blen,1l) on <var_blen:Int> */
3106 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3107 /* <1l:Int> isa OTHER */
3108 var6 = 1; /* easy <1l:Int> isa OTHER*/
3109 if (unlikely(!var6)) {
3110 var_class_name = type_core__Int.name;
3111 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3112 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3113 fatal_exit(1);
3114 }
3115 var7 = var_blen + 1l;
3116 var4 = var7;
3117 goto RET_LABEL5;
3118 RET_LABEL5:(void)0;
3119 }
3120 }
3121 {
3122 { /* Inline native$CString$new (var2,var4) on <var2:CString> */
3123 var10 = (char*)nit_alloc(var4);
3124 var8 = var10;
3125 goto RET_LABEL9;
3126 RET_LABEL9:(void)0;
3127 }
3128 }
3129 var_new_items = var8;
3130 var11 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatString> */
3131 var12 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:FlatString> */
3132 {
3133 { /* Inline native$CString$copy_to (var11,var_new_items,var_blen,var12,0l) on <var11:CString> */
3134 memmove(var_new_items+0l,var11+var12,var_blen);
3135 RET_LABEL13:(void)0;
3136 }
3137 }
3138 {
3139 { /* Inline native$CString$[]= (var_new_items,var_blen,((unsigned char)0x00)) on <var_new_items:CString> */
3140 var_new_items[var_blen]=(unsigned char)((unsigned char)0x00);
3141 RET_LABEL14:(void)0;
3142 }
3143 }
3144 var = var_new_items;
3145 goto RET_LABEL;
3146 RET_LABEL:;
3147 return var;
3148 }
3149 /* method flat$FlatString$substring for (self: FlatString, Int, Int): String */
3150 val* core___core__FlatString___core__abstract_text__Text__substring(val* self, long p0, long p1) {
3151 val* var /* : String */;
3152 long var_from /* var from: Int */;
3153 long var_count /* var count: Int */;
3154 short int var1 /* : Bool */;
3155 short int var3 /* : Bool */;
3156 int cltype;
3157 int idtype;
3158 const char* var_class_name;
3159 short int var4 /* : Bool */;
3160 static val* varonce;
3161 val* var5 /* : String */;
3162 char* var6 /* : CString */;
3163 val* var7 /* : String */;
3164 val* var8 /* : nullable Int */;
3165 val* var9 /* : nullable Int */;
3166 val* var10 /* : nullable Bool */;
3167 val* var11 /* : nullable Bool */;
3168 short int var12 /* : Bool */;
3169 short int var14 /* : Bool */;
3170 int cltype15;
3171 int idtype16;
3172 const char* var_class_name17;
3173 short int var18 /* : Bool */;
3174 long var19 /* : Int */;
3175 short int var21 /* : Bool */;
3176 int cltype22;
3177 int idtype23;
3178 const char* var_class_name24;
3179 long var25 /* : Int */;
3180 short int var26 /* : Bool */;
3181 short int var28 /* : Bool */;
3182 int cltype29;
3183 int idtype30;
3184 const char* var_class_name31;
3185 short int var32 /* : Bool */;
3186 static val* varonce33;
3187 val* var34 /* : String */;
3188 char* var35 /* : CString */;
3189 val* var36 /* : String */;
3190 val* var37 /* : nullable Int */;
3191 val* var38 /* : nullable Int */;
3192 val* var39 /* : nullable Bool */;
3193 val* var40 /* : nullable Bool */;
3194 long var41 /* : Int */;
3195 long var_ln /* var ln: Int */;
3196 long var42 /* : Int */;
3197 short int var44 /* : Bool */;
3198 int cltype45;
3199 int idtype46;
3200 const char* var_class_name47;
3201 long var48 /* : Int */;
3202 short int var49 /* : Bool */;
3203 short int var51 /* : Bool */;
3204 int cltype52;
3205 int idtype53;
3206 const char* var_class_name54;
3207 short int var55 /* : Bool */;
3208 long var56 /* : Int */;
3209 short int var58 /* : Bool */;
3210 int cltype59;
3211 int idtype60;
3212 const char* var_class_name61;
3213 long var62 /* : Int */;
3214 short int var63 /* : Bool */;
3215 short int var65 /* : Bool */;
3216 int cltype66;
3217 int idtype67;
3218 const char* var_class_name68;
3219 short int var69 /* : Bool */;
3220 static val* varonce70;
3221 val* var71 /* : String */;
3222 char* var72 /* : CString */;
3223 val* var73 /* : String */;
3224 val* var74 /* : nullable Int */;
3225 val* var75 /* : nullable Int */;
3226 val* var76 /* : nullable Bool */;
3227 val* var77 /* : nullable Bool */;
3228 long var78 /* : Int */;
3229 short int var80 /* : Bool */;
3230 int cltype81;
3231 int idtype82;
3232 const char* var_class_name83;
3233 long var84 /* : Int */;
3234 long var85 /* : Int */;
3235 short int var87 /* : Bool */;
3236 int cltype88;
3237 int idtype89;
3238 const char* var_class_name90;
3239 long var91 /* : Int */;
3240 long var_end_index /* var end_index: Int */;
3241 val* var92 /* : String */;
3242 var_from = p0;
3243 var_count = p1;
3244 {
3245 { /* Inline kernel$Int$<= (var_count,0l) on <var_count:Int> */
3246 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3247 /* <0l:Int> isa OTHER */
3248 var3 = 1; /* easy <0l:Int> isa OTHER*/
3249 if (unlikely(!var3)) {
3250 var_class_name = type_core__Int.name;
3251 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3252 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
3253 fatal_exit(1);
3254 }
3255 var4 = var_count <= 0l;
3256 var1 = var4;
3257 goto RET_LABEL2;
3258 RET_LABEL2:(void)0;
3259 }
3260 }
3261 if (var1){
3262 if (likely(varonce!=NULL)) {
3263 var5 = varonce;
3264 } else {
3265 var6 = "";
3266 var8 = (val*)(0l<<2|1);
3267 var9 = (val*)(0l<<2|1);
3268 var10 = (val*)((long)(0)<<2|3);
3269 var11 = (val*)((long)(0)<<2|3);
3270 var7 = core__flat___CString___to_s_unsafe(var6, var8, var9, var10, var11);
3271 var5 = var7;
3272 varonce = var5;
3273 }
3274 var = var5;
3275 goto RET_LABEL;
3276 } else {
3277 }
3278 {
3279 { /* Inline kernel$Int$< (var_from,0l) on <var_from:Int> */
3280 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3281 /* <0l:Int> isa OTHER */
3282 var14 = 1; /* easy <0l:Int> isa OTHER*/
3283 if (unlikely(!var14)) {
3284 var_class_name17 = type_core__Int.name;
3285 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
3286 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
3287 fatal_exit(1);
3288 }
3289 var18 = var_from < 0l;
3290 var12 = var18;
3291 goto RET_LABEL13;
3292 RET_LABEL13:(void)0;
3293 }
3294 }
3295 if (var12){
3296 {
3297 { /* Inline kernel$Int$+ (var_count,var_from) on <var_count:Int> */
3298 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
3299 /* <var_from:Int> isa OTHER */
3300 var21 = 1; /* easy <var_from:Int> isa OTHER*/
3301 if (unlikely(!var21)) {
3302 var_class_name24 = type_core__Int.name;
3303 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
3304 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3305 fatal_exit(1);
3306 }
3307 var25 = var_count + var_from;
3308 var19 = var25;
3309 goto RET_LABEL20;
3310 RET_LABEL20:(void)0;
3311 }
3312 }
3313 var_count = var19;
3314 {
3315 { /* Inline kernel$Int$<= (var_count,0l) on <var_count:Int> */
3316 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3317 /* <0l:Int> isa OTHER */
3318 var28 = 1; /* easy <0l:Int> isa OTHER*/
3319 if (unlikely(!var28)) {
3320 var_class_name31 = type_core__Int.name;
3321 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31);
3322 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
3323 fatal_exit(1);
3324 }
3325 var32 = var_count <= 0l;
3326 var26 = var32;
3327 goto RET_LABEL27;
3328 RET_LABEL27:(void)0;
3329 }
3330 }
3331 if (var26){
3332 if (likely(varonce33!=NULL)) {
3333 var34 = varonce33;
3334 } else {
3335 var35 = "";
3336 var37 = (val*)(0l<<2|1);
3337 var38 = (val*)(0l<<2|1);
3338 var39 = (val*)((long)(0)<<2|3);
3339 var40 = (val*)((long)(0)<<2|3);
3340 var36 = core__flat___CString___to_s_unsafe(var35, var37, var38, var39, var40);
3341 var34 = var36;
3342 varonce33 = var34;
3343 }
3344 var = var34;
3345 goto RET_LABEL;
3346 } else {
3347 }
3348 var_from = 0l;
3349 } else {
3350 }
3351 var41 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatString> */
3352 var_ln = var41;
3353 {
3354 { /* Inline kernel$Int$+ (var_count,var_from) on <var_count:Int> */
3355 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
3356 /* <var_from:Int> isa OTHER */
3357 var44 = 1; /* easy <var_from:Int> isa OTHER*/
3358 if (unlikely(!var44)) {
3359 var_class_name47 = type_core__Int.name;
3360 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47);
3361 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3362 fatal_exit(1);
3363 }
3364 var48 = var_count + var_from;
3365 var42 = var48;
3366 goto RET_LABEL43;
3367 RET_LABEL43:(void)0;
3368 }
3369 }
3370 {
3371 { /* Inline kernel$Int$> (var42,var_ln) on <var42:Int> */
3372 /* Covariant cast for argument 0 (i) <var_ln:Int> isa OTHER */
3373 /* <var_ln:Int> isa OTHER */
3374 var51 = 1; /* easy <var_ln:Int> isa OTHER*/
3375 if (unlikely(!var51)) {
3376 var_class_name54 = type_core__Int.name;
3377 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54);
3378 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
3379 fatal_exit(1);
3380 }
3381 var55 = var42 > var_ln;
3382 var49 = var55;
3383 goto RET_LABEL50;
3384 RET_LABEL50:(void)0;
3385 }
3386 }
3387 if (var49){
3388 {
3389 { /* Inline kernel$Int$- (var_ln,var_from) on <var_ln:Int> */
3390 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
3391 /* <var_from:Int> isa OTHER */
3392 var58 = 1; /* easy <var_from:Int> isa OTHER*/
3393 if (unlikely(!var58)) {
3394 var_class_name61 = type_core__Int.name;
3395 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61);
3396 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
3397 fatal_exit(1);
3398 }
3399 var62 = var_ln - var_from;
3400 var56 = var62;
3401 goto RET_LABEL57;
3402 RET_LABEL57:(void)0;
3403 }
3404 }
3405 var_count = var56;
3406 } else {
3407 }
3408 {
3409 { /* Inline kernel$Int$<= (var_count,0l) on <var_count:Int> */
3410 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3411 /* <0l:Int> isa OTHER */
3412 var65 = 1; /* easy <0l:Int> isa OTHER*/
3413 if (unlikely(!var65)) {
3414 var_class_name68 = type_core__Int.name;
3415 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68);
3416 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
3417 fatal_exit(1);
3418 }
3419 var69 = var_count <= 0l;
3420 var63 = var69;
3421 goto RET_LABEL64;
3422 RET_LABEL64:(void)0;
3423 }
3424 }
3425 if (var63){
3426 if (likely(varonce70!=NULL)) {
3427 var71 = varonce70;
3428 } else {
3429 var72 = "";
3430 var74 = (val*)(0l<<2|1);
3431 var75 = (val*)(0l<<2|1);
3432 var76 = (val*)((long)(0)<<2|3);
3433 var77 = (val*)((long)(0)<<2|3);
3434 var73 = core__flat___CString___to_s_unsafe(var72, var74, var75, var76, var77);
3435 var71 = var73;
3436 varonce70 = var71;
3437 }
3438 var = var71;
3439 goto RET_LABEL;
3440 } else {
3441 }
3442 {
3443 { /* Inline kernel$Int$+ (var_from,var_count) on <var_from:Int> */
3444 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
3445 /* <var_count:Int> isa OTHER */
3446 var80 = 1; /* easy <var_count:Int> isa OTHER*/
3447 if (unlikely(!var80)) {
3448 var_class_name83 = type_core__Int.name;
3449 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name83);
3450 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3451 fatal_exit(1);
3452 }
3453 var84 = var_from + var_count;
3454 var78 = var84;
3455 goto RET_LABEL79;
3456 RET_LABEL79:(void)0;
3457 }
3458 }
3459 {
3460 { /* Inline kernel$Int$- (var78,1l) on <var78:Int> */
3461 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3462 /* <1l:Int> isa OTHER */
3463 var87 = 1; /* easy <1l:Int> isa OTHER*/
3464 if (unlikely(!var87)) {
3465 var_class_name90 = type_core__Int.name;
3466 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90);
3467 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
3468 fatal_exit(1);
3469 }
3470 var91 = var78 - 1l;
3471 var85 = var91;
3472 goto RET_LABEL86;
3473 RET_LABEL86:(void)0;
3474 }
3475 }
3476 var_end_index = var85;
3477 {
3478 var92 = ((val*(*)(val* self, long p0, long p1, long p2))(self->class->vft[COLOR_core__flat__FlatString__substring_impl]))(self, var_from, var_count, var_end_index); /* substring_impl on <self:FlatString>*/
3479 }
3480 var = var92;
3481 goto RET_LABEL;
3482 RET_LABEL:;
3483 return var;
3484 }
3485 /* method flat$FlatString$substring_impl for (self: FlatString, Int, Int, Int): String */
3486 val* core___core__FlatString___substring_impl(val* self, long p0, long p1, long p2) {
3487 val* var /* : String */;
3488 long var_from /* var from: Int */;
3489 long var_count /* var count: Int */;
3490 long var_end_index /* var end_index: Int */;
3491 long var1 /* : Int */;
3492 long var_cache /* var cache: Int */;
3493 long var2 /* : Int */;
3494 short int var4 /* : Bool */;
3495 int cltype;
3496 int idtype;
3497 const char* var_class_name;
3498 long var5 /* : Int */;
3499 long var6 /* : Int */;
3500 long var_dfrom /* var dfrom: Int */;
3501 long var7 /* : Int */;
3502 short int var9 /* : Bool */;
3503 int cltype10;
3504 int idtype11;
3505 const char* var_class_name12;
3506 long var13 /* : Int */;
3507 long var14 /* : Int */;
3508 long var_dend /* var dend: Int */;
3509 short int var15 /* : Bool */;
3510 short int var17 /* : Bool */;
3511 int cltype18;
3512 int idtype19;
3513 const char* var_class_name20;
3514 short int var21 /* : Bool */;
3515 long var22 /* : Int */;
3516 long var_bytefrom /* var bytefrom: Int */;
3517 long var23 /* : Int */;
3518 long var_byteto /* var byteto: Int */;
3519 long var24 /* : Int */;
3520 long var25 /* : Int */;
3521 char* var26 /* : CString */;
3522 char* var_its /* var its: CString */;
3523 long var27 /* : Int */;
3524 long var28 /* : Int */;
3525 short int var30 /* : Bool */;
3526 int cltype31;
3527 int idtype32;
3528 const char* var_class_name33;
3529 long var34 /* : Int */;
3530 long var35 /* : Int */;
3531 short int var37 /* : Bool */;
3532 int cltype38;
3533 int idtype39;
3534 const char* var_class_name40;
3535 long var41 /* : Int */;
3536 static val* varoncenew;
3537 static int varoncenew_guard;
3538 val* var42 /* : FlatString */;
3539 val* var43 /* : FlatString */;
3540 long var44 /* : Int */;
3541 short int var46 /* : Bool */;
3542 int cltype47;
3543 int idtype48;
3544 const char* var_class_name49;
3545 long var50 /* : Int */;
3546 long var51 /* : Int */;
3547 short int var53 /* : Bool */;
3548 int cltype54;
3549 int idtype55;
3550 const char* var_class_name56;
3551 long var57 /* : Int */;
3552 val* var58 /* : FlatString */;
3553 val* var_s /* var s: FlatString */;
3554 var_from = p0;
3555 var_count = p1;
3556 var_end_index = p2;
3557 var1 = self->attrs[COLOR_core__flat__FlatText___position].l; /* _position on <self:FlatString> */
3558 var_cache = var1;
3559 {
3560 { /* Inline kernel$Int$- (var_cache,var_from) on <var_cache:Int> */
3561 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
3562 /* <var_from:Int> isa OTHER */
3563 var4 = 1; /* easy <var_from:Int> isa OTHER*/
3564 if (unlikely(!var4)) {
3565 var_class_name = type_core__Int.name;
3566 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3567 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
3568 fatal_exit(1);
3569 }
3570 var5 = var_cache - var_from;
3571 var2 = var5;
3572 goto RET_LABEL3;
3573 RET_LABEL3:(void)0;
3574 }
3575 }
3576 {
3577 var6 = core___core__Int___abs(var2);
3578 }
3579 var_dfrom = var6;
3580 {
3581 { /* Inline kernel$Int$- (var_end_index,var_from) on <var_end_index:Int> */
3582 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
3583 /* <var_from:Int> isa OTHER */
3584 var9 = 1; /* easy <var_from:Int> isa OTHER*/
3585 if (unlikely(!var9)) {
3586 var_class_name12 = type_core__Int.name;
3587 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12);
3588 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
3589 fatal_exit(1);
3590 }
3591 var13 = var_end_index - var_from;
3592 var7 = var13;
3593 goto RET_LABEL8;
3594 RET_LABEL8:(void)0;
3595 }
3596 }
3597 {
3598 var14 = core___core__Int___abs(var7);
3599 }
3600 var_dend = var14;
3601 {
3602 { /* Inline kernel$Int$< (var_dfrom,var_dend) on <var_dfrom:Int> */
3603 /* Covariant cast for argument 0 (i) <var_dend:Int> isa OTHER */
3604 /* <var_dend:Int> isa OTHER */
3605 var17 = 1; /* easy <var_dend:Int> isa OTHER*/
3606 if (unlikely(!var17)) {
3607 var_class_name20 = type_core__Int.name;
3608 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
3609 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
3610 fatal_exit(1);
3611 }
3612 var21 = var_dfrom < var_dend;
3613 var15 = var21;
3614 goto RET_LABEL16;
3615 RET_LABEL16:(void)0;
3616 }
3617 }
3618 if (var15){
3619 {
3620 var22 = ((long(*)(val* self, long p0))(self->class->vft[COLOR_core__flat__FlatText__char_to_byte_index]))(self, var_from); /* char_to_byte_index on <self:FlatString>*/
3621 }
3622 var_bytefrom = var22;
3623 {
3624 var23 = ((long(*)(val* self, long p0))(self->class->vft[COLOR_core__flat__FlatText__char_to_byte_index]))(self, var_end_index); /* char_to_byte_index on <self:FlatString>*/
3625 }
3626 var_byteto = var23;
3627 } else {
3628 {
3629 var24 = ((long(*)(val* self, long p0))(self->class->vft[COLOR_core__flat__FlatText__char_to_byte_index]))(self, var_end_index); /* char_to_byte_index on <self:FlatString>*/
3630 }
3631 var_byteto = var24;
3632 {
3633 var25 = ((long(*)(val* self, long p0))(self->class->vft[COLOR_core__flat__FlatText__char_to_byte_index]))(self, var_from); /* char_to_byte_index on <self:FlatString>*/
3634 }
3635 var_bytefrom = var25;
3636 }
3637 var26 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatString> */
3638 var_its = var26;
3639 {
3640 var27 = core___core__CString___length_of_char_at(var_its, var_byteto);
3641 }
3642 {
3643 { /* Inline kernel$Int$- (var27,1l) on <var27:Int> */
3644 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3645 /* <1l:Int> isa OTHER */
3646 var30 = 1; /* easy <1l:Int> isa OTHER*/
3647 if (unlikely(!var30)) {
3648 var_class_name33 = type_core__Int.name;
3649 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
3650 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
3651 fatal_exit(1);
3652 }
3653 var34 = var27 - 1l;
3654 var28 = var34;
3655 goto RET_LABEL29;
3656 RET_LABEL29:(void)0;
3657 }
3658 }
3659 {
3660 { /* Inline kernel$Int$+ (var_byteto,var28) on <var_byteto:Int> */
3661 /* Covariant cast for argument 0 (i) <var28:Int> isa OTHER */
3662 /* <var28:Int> isa OTHER */
3663 var37 = 1; /* easy <var28:Int> isa OTHER*/
3664 if (unlikely(!var37)) {
3665 var_class_name40 = type_core__Int.name;
3666 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40);
3667 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3668 fatal_exit(1);
3669 }
3670 var41 = var_byteto + var28;
3671 var35 = var41;
3672 goto RET_LABEL36;
3673 RET_LABEL36:(void)0;
3674 }
3675 }
3676 var_byteto = var35;
3677 if (likely(varoncenew_guard)) {
3678 var42 = varoncenew;
3679 } else {
3680 var43 = NEW_core__FlatString(&type_core__FlatString);
3681 var42 = var43;
3682 varoncenew = var42;
3683 varoncenew_guard = 1;
3684 }
3685 {
3686 { /* Inline kernel$Int$- (var_byteto,var_bytefrom) on <var_byteto:Int> */
3687 /* Covariant cast for argument 0 (i) <var_bytefrom:Int> isa OTHER */
3688 /* <var_bytefrom:Int> isa OTHER */
3689 var46 = 1; /* easy <var_bytefrom:Int> isa OTHER*/
3690 if (unlikely(!var46)) {
3691 var_class_name49 = type_core__Int.name;
3692 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49);
3693 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
3694 fatal_exit(1);
3695 }
3696 var50 = var_byteto - var_bytefrom;
3697 var44 = var50;
3698 goto RET_LABEL45;
3699 RET_LABEL45:(void)0;
3700 }
3701 }
3702 {
3703 { /* Inline kernel$Int$+ (var44,1l) on <var44:Int> */
3704 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3705 /* <1l:Int> isa OTHER */
3706 var53 = 1; /* easy <1l:Int> isa OTHER*/
3707 if (unlikely(!var53)) {
3708 var_class_name56 = type_core__Int.name;
3709 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56);
3710 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3711 fatal_exit(1);
3712 }
3713 var57 = var44 + 1l;
3714 var51 = var57;
3715 goto RET_LABEL52;
3716 RET_LABEL52:(void)0;
3717 }
3718 }
3719 {
3720 var58 = core___core__FlatString___full(var42, var_its, var51, var_bytefrom, var_count);
3721 }
3722 var_s = var58;
3723 var = var_s;
3724 goto RET_LABEL;
3725 RET_LABEL:;
3726 return var;
3727 }
3728 /* method flat$FlatString$empty for (self: FlatString): String */
3729 val* core___core__FlatString___core__abstract_text__Text__empty(val* self) {
3730 val* var /* : String */;
3731 static val* varonce;
3732 val* var1 /* : String */;
3733 char* var2 /* : CString */;
3734 val* var3 /* : String */;
3735 val* var4 /* : nullable Int */;
3736 val* var5 /* : nullable Int */;
3737 val* var6 /* : nullable Bool */;
3738 val* var7 /* : nullable Bool */;
3739 short int var8 /* : Bool */;
3740 int cltype;
3741 int idtype;
3742 const char* var_class_name;
3743 if (likely(varonce!=NULL)) {
3744 var1 = varonce;
3745 } else {
3746 var2 = "";
3747 var4 = (val*)(0l<<2|1);
3748 var5 = (val*)(0l<<2|1);
3749 var6 = (val*)((long)(0)<<2|3);
3750 var7 = (val*)((long)(0)<<2|3);
3751 var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7);
3752 var1 = var3;
3753 varonce = var1;
3754 }
3755 /* <var1:String> isa FlatString */
3756 cltype = type_core__FlatString.color;
3757 idtype = type_core__FlatString.id;
3758 if(cltype >= var1->type->table_size) {
3759 var8 = 0;
3760 } else {
3761 var8 = var1->type->type_table[cltype] == idtype;
3762 }
3763 if (unlikely(!var8)) {
3764 var_class_name = var1 == NULL ? "null" : var1->type->name;
3765 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "FlatString", var_class_name);
3766 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 488);
3767 fatal_exit(1);
3768 }
3769 var = var1;
3770 goto RET_LABEL;
3771 RET_LABEL:;
3772 return var;
3773 }
3774 /* method flat$FlatString$to_upper for (self: FlatString): String */
3775 val* core___core__FlatString___core__abstract_text__Text__to_upper(val* self) {
3776 val* var /* : String */;
3777 val* var1 /* : FlatBuffer */;
3778 long var2 /* : Int */;
3779 long var3 /* : Int */;
3780 short int var5 /* : Bool */;
3781 int cltype;
3782 int idtype;
3783 const char* var_class_name;
3784 long var6 /* : Int */;
3785 val* var_outstr /* var outstr: FlatBuffer */;
3786 long var7 /* : Int */;
3787 long var_mylen /* var mylen: Int */;
3788 long var_pos /* var pos: Int */;
3789 short int var8 /* : Bool */;
3790 short int var10 /* : Bool */;
3791 int cltype11;
3792 int idtype12;
3793 const char* var_class_name13;
3794 short int var14 /* : Bool */;
3795 val* var15 /* : SequenceRead[Char] */;
3796 val* var16 /* : nullable Object */;
3797 uint32_t var17 /* : Char */;
3798 uint32_t var18 /* : Char */;
3799 long var19 /* : Int */;
3800 short int var21 /* : Bool */;
3801 int cltype22;
3802 int idtype23;
3803 const char* var_class_name24;
3804 long var25 /* : Int */;
3805 val* var26 /* : String */;
3806 var1 = NEW_core__FlatBuffer(&type_core__FlatBuffer);
3807 var2 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatString> */
3808 {
3809 { /* Inline kernel$Int$+ (var2,1l) on <var2:Int> */
3810 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3811 /* <1l:Int> isa OTHER */
3812 var5 = 1; /* easy <1l:Int> isa OTHER*/
3813 if (unlikely(!var5)) {
3814 var_class_name = type_core__Int.name;
3815 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3816 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3817 fatal_exit(1);
3818 }
3819 var6 = var2 + 1l;
3820 var3 = var6;
3821 goto RET_LABEL4;
3822 RET_LABEL4:(void)0;
3823 }
3824 }
3825 {
3826 core___core__FlatBuffer___with_capacity(var1, var3); /* Direct call flat$FlatBuffer$with_capacity on <var1:FlatBuffer>*/
3827 }
3828 var_outstr = var1;
3829 var7 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatString> */
3830 var_mylen = var7;
3831 var_pos = 0l;
3832 for(;;) {
3833 {
3834 { /* Inline kernel$Int$< (var_pos,var_mylen) on <var_pos:Int> */
3835 /* Covariant cast for argument 0 (i) <var_mylen:Int> isa OTHER */
3836 /* <var_mylen:Int> isa OTHER */
3837 var10 = 1; /* easy <var_mylen:Int> isa OTHER*/
3838 if (unlikely(!var10)) {
3839 var_class_name13 = type_core__Int.name;
3840 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
3841 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
3842 fatal_exit(1);
3843 }
3844 var14 = var_pos < var_mylen;
3845 var8 = var14;
3846 goto RET_LABEL9;
3847 RET_LABEL9:(void)0;
3848 }
3849 }
3850 if (var8){
3851 {
3852 var15 = core___core__FlatString___core__abstract_text__Text__chars(self);
3853 }
3854 {
3855 var16 = ((val*(*)(val* self, long p0))((((long)var15&3)?class_info[((long)var15&3)]:var15->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var15, var_pos); /* [] on <var15:SequenceRead[Char]>*/
3856 }
3857 {
3858 var18 = (uint32_t)((long)(var16)>>2);
3859 var17 = core___core__Char___to_upper(var18);
3860 }
3861 {
3862 core___core__FlatBuffer___core__abstract_text__Buffer__add(var_outstr, var17); /* Direct call flat$FlatBuffer$add on <var_outstr:FlatBuffer>*/
3863 }
3864 {
3865 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
3866 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3867 /* <1l:Int> isa OTHER */
3868 var21 = 1; /* easy <1l:Int> isa OTHER*/
3869 if (unlikely(!var21)) {
3870 var_class_name24 = type_core__Int.name;
3871 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
3872 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3873 fatal_exit(1);
3874 }
3875 var25 = var_pos + 1l;
3876 var19 = var25;
3877 goto RET_LABEL20;
3878 RET_LABEL20:(void)0;
3879 }
3880 }
3881 var_pos = var19;
3882 } else {
3883 goto BREAK_label;
3884 }
3885 }
3886 BREAK_label: (void)0;
3887 {
3888 var26 = core___core__FlatBuffer___core__abstract_text__Object__to_s(var_outstr);
3889 }
3890 var = var26;
3891 goto RET_LABEL;
3892 RET_LABEL:;
3893 return var;
3894 }
3895 /* method flat$FlatString$to_lower for (self: FlatString): String */
3896 val* core___core__FlatString___core__abstract_text__Text__to_lower(val* self) {
3897 val* var /* : String */;
3898 val* var1 /* : FlatBuffer */;
3899 long var2 /* : Int */;
3900 long var3 /* : Int */;
3901 short int var5 /* : Bool */;
3902 int cltype;
3903 int idtype;
3904 const char* var_class_name;
3905 long var6 /* : Int */;
3906 val* var_outstr /* var outstr: FlatBuffer */;
3907 long var7 /* : Int */;
3908 long var_mylen /* var mylen: Int */;
3909 long var_pos /* var pos: Int */;
3910 short int var8 /* : Bool */;
3911 short int var10 /* : Bool */;
3912 int cltype11;
3913 int idtype12;
3914 const char* var_class_name13;
3915 short int var14 /* : Bool */;
3916 val* var15 /* : SequenceRead[Char] */;
3917 val* var16 /* : nullable Object */;
3918 uint32_t var17 /* : Char */;
3919 uint32_t var18 /* : Char */;
3920 long var19 /* : Int */;
3921 short int var21 /* : Bool */;
3922 int cltype22;
3923 int idtype23;
3924 const char* var_class_name24;
3925 long var25 /* : Int */;
3926 val* var26 /* : String */;
3927 var1 = NEW_core__FlatBuffer(&type_core__FlatBuffer);
3928 var2 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatString> */
3929 {
3930 { /* Inline kernel$Int$+ (var2,1l) on <var2:Int> */
3931 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3932 /* <1l:Int> isa OTHER */
3933 var5 = 1; /* easy <1l:Int> isa OTHER*/
3934 if (unlikely(!var5)) {
3935 var_class_name = type_core__Int.name;
3936 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3937 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3938 fatal_exit(1);
3939 }
3940 var6 = var2 + 1l;
3941 var3 = var6;
3942 goto RET_LABEL4;
3943 RET_LABEL4:(void)0;
3944 }
3945 }
3946 {
3947 core___core__FlatBuffer___with_capacity(var1, var3); /* Direct call flat$FlatBuffer$with_capacity on <var1:FlatBuffer>*/
3948 }
3949 var_outstr = var1;
3950 var7 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatString> */
3951 var_mylen = var7;
3952 var_pos = 0l;
3953 for(;;) {
3954 {
3955 { /* Inline kernel$Int$< (var_pos,var_mylen) on <var_pos:Int> */
3956 /* Covariant cast for argument 0 (i) <var_mylen:Int> isa OTHER */
3957 /* <var_mylen:Int> isa OTHER */
3958 var10 = 1; /* easy <var_mylen:Int> isa OTHER*/
3959 if (unlikely(!var10)) {
3960 var_class_name13 = type_core__Int.name;
3961 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
3962 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
3963 fatal_exit(1);
3964 }
3965 var14 = var_pos < var_mylen;
3966 var8 = var14;
3967 goto RET_LABEL9;
3968 RET_LABEL9:(void)0;
3969 }
3970 }
3971 if (var8){
3972 {
3973 var15 = core___core__FlatString___core__abstract_text__Text__chars(self);
3974 }
3975 {
3976 var16 = ((val*(*)(val* self, long p0))((((long)var15&3)?class_info[((long)var15&3)]:var15->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var15, var_pos); /* [] on <var15:SequenceRead[Char]>*/
3977 }
3978 {
3979 var18 = (uint32_t)((long)(var16)>>2);
3980 var17 = core___core__Char___to_lower(var18);
3981 }
3982 {
3983 core___core__FlatBuffer___core__abstract_text__Buffer__add(var_outstr, var17); /* Direct call flat$FlatBuffer$add on <var_outstr:FlatBuffer>*/
3984 }
3985 {
3986 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
3987 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3988 /* <1l:Int> isa OTHER */
3989 var21 = 1; /* easy <1l:Int> isa OTHER*/
3990 if (unlikely(!var21)) {
3991 var_class_name24 = type_core__Int.name;
3992 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
3993 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
3994 fatal_exit(1);
3995 }
3996 var25 = var_pos + 1l;
3997 var19 = var25;
3998 goto RET_LABEL20;
3999 RET_LABEL20:(void)0;
4000 }
4001 }
4002 var_pos = var19;
4003 } else {
4004 goto BREAK_label;
4005 }
4006 }
4007 BREAK_label: (void)0;
4008 {
4009 var26 = core___core__FlatBuffer___core__abstract_text__Object__to_s(var_outstr);
4010 }
4011 var = var26;
4012 goto RET_LABEL;
4013 RET_LABEL:;
4014 return var;
4015 }
4016 /* method flat$FlatString$with_infos for (self: FlatString, CString, Int, Int): FlatString */
4017 val* core___core__FlatString___with_infos(val* self, char* p0, long p1, long p2) {
4018 val* var /* : FlatString */;
4019 char* var_items /* var items: CString */;
4020 long var_byte_length /* var byte_length: Int */;
4021 long var_from /* var from: Int */;
4022 long var1 /* : Int */;
4023 long var_from3 /* var from: Int */;
4024 long var_byte_length4 /* var byte_length: Int */;
4025 long var_st /* var st: Int */;
4026 long var_ln /* var ln: Int */;
4027 short int var5 /* : Bool */;
4028 short int var7 /* : Bool */;
4029 int cltype;
4030 int idtype;
4031 const char* var_class_name;
4032 short int var8 /* : Bool */;
4033 short int var9 /* : Bool */;
4034 short int var11 /* : Bool */;
4035 int cltype12;
4036 int idtype13;
4037 const char* var_class_name14;
4038 short int var15 /* : Bool */;
4039 uint32_t var16 /* : UInt32 */;
4040 uint32_t var18 /* : UInt32 */;
4041 uint32_t var_i /* var i: UInt32 */;
4042 uint32_t var19 /* : UInt32 */;
4043 uint32_t var21 /* : UInt32 */;
4044 short int var22 /* : Bool */;
4045 short int var24 /* : Bool */;
4046 short int var25 /* : Bool */;
4047 long var26 /* : Int */;
4048 short int var28 /* : Bool */;
4049 int cltype29;
4050 int idtype30;
4051 const char* var_class_name31;
4052 long var32 /* : Int */;
4053 long var33 /* : Int */;
4054 short int var35 /* : Bool */;
4055 int cltype36;
4056 int idtype37;
4057 const char* var_class_name38;
4058 long var39 /* : Int */;
4059 long var40 /* : Int */;
4060 short int var42 /* : Bool */;
4061 int cltype43;
4062 int idtype44;
4063 const char* var_class_name45;
4064 long var46 /* : Int */;
4065 short int var47 /* : Bool */;
4066 short int var49 /* : Bool */;
4067 long var51 /* : Int */;
4068 long var_cln /* var cln: Int */;
4069 long var52 /* : Int */;
4070 short int var54 /* : Bool */;
4071 int cltype55;
4072 int idtype56;
4073 const char* var_class_name57;
4074 long var58 /* : Int */;
4075 long var59 /* : Int */;
4076 short int var61 /* : Bool */;
4077 int cltype62;
4078 int idtype63;
4079 const char* var_class_name64;
4080 long var65 /* : Int */;
4081 long var66 /* : Int */;
4082 short int var68 /* : Bool */;
4083 int cltype69;
4084 int idtype70;
4085 const char* var_class_name71;
4086 long var72 /* : Int */;
4087 long var_len /* var len: Int */;
4088 short int var73 /* : Bool */;
4089 short int var75 /* : Bool */;
4090 val* var76 /* : ASCIIFlatString */;
4091 val* var77 /* : UnicodeFlatString */;
4092 var_items = p0;
4093 var_byte_length = p1;
4094 var_from = p2;
4095 {
4096 { /* Inline native$CString$utf8_length (var_items,var_from,var_byte_length) on <var_items:CString> */
4097 var_from3 = var_from;
4098 var_byte_length4 = var_byte_length;
4099 var_st = var_from3;
4100 var_ln = 0l;
4101 for(;;) {
4102 {
4103 { /* Inline kernel$Int$> (var_byte_length4,0l) on <var_byte_length4:Int> */
4104 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
4105 /* <0l:Int> isa OTHER */
4106 var7 = 1; /* easy <0l:Int> isa OTHER*/
4107 if (unlikely(!var7)) {
4108 var_class_name = type_core__Int.name;
4109 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4110 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
4111 fatal_exit(1);
4112 }
4113 var8 = var_byte_length4 > 0l;
4114 var5 = var8;
4115 goto RET_LABEL6;
4116 RET_LABEL6:(void)0;
4117 }
4118 }
4119 if (var5){
4120 for(;;) {
4121 {
4122 { /* Inline kernel$Int$>= (var_byte_length4,4l) on <var_byte_length4:Int> */
4123 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
4124 /* <4l:Int> isa OTHER */
4125 var11 = 1; /* easy <4l:Int> isa OTHER*/
4126 if (unlikely(!var11)) {
4127 var_class_name14 = type_core__Int.name;
4128 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
4129 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
4130 fatal_exit(1);
4131 }
4132 var15 = var_byte_length4 >= 4l;
4133 var9 = var15;
4134 goto RET_LABEL10;
4135 RET_LABEL10:(void)0;
4136 }
4137 }
4138 if (var9){
4139 {
4140 { /* Inline native$CString$fetch_4_chars (var_items,var_st) on <var_items:CString> */
4141 var18 = *((uint32_t*)(var_items + var_st));
4142 var16 = var18;
4143 goto RET_LABEL17;
4144 RET_LABEL17:(void)0;
4145 }
4146 }
4147 var_i = var16;
4148 {
4149 { /* Inline fixed_ints$UInt32$& (var_i,UINT32_C(2155905152)) on <var_i:UInt32> */
4150 var21 = var_i & UINT32_C(2155905152);
4151 var19 = var21;
4152 goto RET_LABEL20;
4153 RET_LABEL20:(void)0;
4154 }
4155 }
4156 {
4157 { /* Inline fixed_ints$UInt32$!= (var19,UINT32_C(0)) on <var19:UInt32> */
4158 var24 = var19 == UINT32_C(0);
4159 var25 = !var24;
4160 var22 = var25;
4161 goto RET_LABEL23;
4162 RET_LABEL23:(void)0;
4163 }
4164 }
4165 if (var22){
4166 goto BREAK_label;
4167 } else {
4168 }
4169 {
4170 { /* Inline kernel$Int$- (var_byte_length4,4l) on <var_byte_length4:Int> */
4171 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
4172 /* <4l:Int> isa OTHER */
4173 var28 = 1; /* easy <4l:Int> isa OTHER*/
4174 if (unlikely(!var28)) {
4175 var_class_name31 = type_core__Int.name;
4176 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31);
4177 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
4178 fatal_exit(1);
4179 }
4180 var32 = var_byte_length4 - 4l;
4181 var26 = var32;
4182 goto RET_LABEL27;
4183 RET_LABEL27:(void)0;
4184 }
4185 }
4186 var_byte_length4 = var26;
4187 {
4188 { /* Inline kernel$Int$+ (var_st,4l) on <var_st:Int> */
4189 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
4190 /* <4l:Int> isa OTHER */
4191 var35 = 1; /* easy <4l:Int> isa OTHER*/
4192 if (unlikely(!var35)) {
4193 var_class_name38 = type_core__Int.name;
4194 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38);
4195 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4196 fatal_exit(1);
4197 }
4198 var39 = var_st + 4l;
4199 var33 = var39;
4200 goto RET_LABEL34;
4201 RET_LABEL34:(void)0;
4202 }
4203 }
4204 var_st = var33;
4205 {
4206 { /* Inline kernel$Int$+ (var_ln,4l) on <var_ln:Int> */
4207 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
4208 /* <4l:Int> isa OTHER */
4209 var42 = 1; /* easy <4l:Int> isa OTHER*/
4210 if (unlikely(!var42)) {
4211 var_class_name45 = type_core__Int.name;
4212 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45);
4213 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4214 fatal_exit(1);
4215 }
4216 var46 = var_ln + 4l;
4217 var40 = var46;
4218 goto RET_LABEL41;
4219 RET_LABEL41:(void)0;
4220 }
4221 }
4222 var_ln = var40;
4223 } else {
4224 goto BREAK_label;
4225 }
4226 }
4227 BREAK_label: (void)0;
4228 {
4229 { /* Inline kernel$Int$== (var_byte_length4,0l) on <var_byte_length4:Int> */
4230 var49 = var_byte_length4 == 0l;
4231 var47 = var49;
4232 goto RET_LABEL48;
4233 RET_LABEL48:(void)0;
4234 }
4235 }
4236 if (var47){
4237 goto BREAK_label50;
4238 } else {
4239 }
4240 {
4241 var51 = core___core__CString___length_of_char_at(var_items, var_st);
4242 }
4243 var_cln = var51;
4244 {
4245 { /* Inline kernel$Int$+ (var_st,var_cln) on <var_st:Int> */
4246 /* Covariant cast for argument 0 (i) <var_cln:Int> isa OTHER */
4247 /* <var_cln:Int> isa OTHER */
4248 var54 = 1; /* easy <var_cln:Int> isa OTHER*/
4249 if (unlikely(!var54)) {
4250 var_class_name57 = type_core__Int.name;
4251 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57);
4252 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4253 fatal_exit(1);
4254 }
4255 var58 = var_st + var_cln;
4256 var52 = var58;
4257 goto RET_LABEL53;
4258 RET_LABEL53:(void)0;
4259 }
4260 }
4261 var_st = var52;
4262 {
4263 { /* Inline kernel$Int$+ (var_ln,1l) on <var_ln:Int> */
4264 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4265 /* <1l:Int> isa OTHER */
4266 var61 = 1; /* easy <1l:Int> isa OTHER*/
4267 if (unlikely(!var61)) {
4268 var_class_name64 = type_core__Int.name;
4269 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64);
4270 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4271 fatal_exit(1);
4272 }
4273 var65 = var_ln + 1l;
4274 var59 = var65;
4275 goto RET_LABEL60;
4276 RET_LABEL60:(void)0;
4277 }
4278 }
4279 var_ln = var59;
4280 {
4281 { /* Inline kernel$Int$- (var_byte_length4,var_cln) on <var_byte_length4:Int> */
4282 /* Covariant cast for argument 0 (i) <var_cln:Int> isa OTHER */
4283 /* <var_cln:Int> isa OTHER */
4284 var68 = 1; /* easy <var_cln:Int> isa OTHER*/
4285 if (unlikely(!var68)) {
4286 var_class_name71 = type_core__Int.name;
4287 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name71);
4288 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
4289 fatal_exit(1);
4290 }
4291 var72 = var_byte_length4 - var_cln;
4292 var66 = var72;
4293 goto RET_LABEL67;
4294 RET_LABEL67:(void)0;
4295 }
4296 }
4297 var_byte_length4 = var66;
4298 } else {
4299 goto BREAK_label50;
4300 }
4301 }
4302 BREAK_label50: (void)0;
4303 var1 = var_ln;
4304 goto RET_LABEL2;
4305 RET_LABEL2:(void)0;
4306 }
4307 }
4308 var_len = var1;
4309 {
4310 { /* Inline kernel$Int$== (var_byte_length,var_len) on <var_byte_length:Int> */
4311 var75 = var_byte_length == var_len;
4312 var73 = var75;
4313 goto RET_LABEL74;
4314 RET_LABEL74:(void)0;
4315 }
4316 }
4317 if (var73){
4318 var76 = NEW_core__flat__ASCIIFlatString(&type_core__flat__ASCIIFlatString);
4319 {
4320 core__flat___core__flat__ASCIIFlatString___full_data(var76, var_items, var_byte_length, var_from, var_len); /* Direct call flat$ASCIIFlatString$full_data on <var76:ASCIIFlatString>*/
4321 }
4322 var = var76;
4323 goto RET_LABEL;
4324 } else {
4325 }
4326 var77 = NEW_core__flat__UnicodeFlatString(&type_core__flat__UnicodeFlatString);
4327 {
4328 core__flat___core__flat__UnicodeFlatString___full_data(var77, var_items, var_byte_length, var_from, var_len); /* Direct call flat$UnicodeFlatString$full_data on <var77:UnicodeFlatString>*/
4329 }
4330 var = var77;
4331 goto RET_LABEL;
4332 RET_LABEL:;
4333 return var;
4334 }
4335 /* method flat$FlatString$full for (self: FlatString, CString, Int, Int, Int): FlatString */
4336 val* core___core__FlatString___full(val* self, char* p0, long p1, long p2, long p3) {
4337 val* var /* : FlatString */;
4338 char* var_items /* var items: CString */;
4339 long var_byte_length /* var byte_length: Int */;
4340 long var_from /* var from: Int */;
4341 long var_length /* var length: Int */;
4342 short int var1 /* : Bool */;
4343 short int var3 /* : Bool */;
4344 val* var4 /* : ASCIIFlatString */;
4345 val* var5 /* : UnicodeFlatString */;
4346 var_items = p0;
4347 var_byte_length = p1;
4348 var_from = p2;
4349 var_length = p3;
4350 {
4351 { /* Inline kernel$Int$== (var_byte_length,var_length) on <var_byte_length:Int> */
4352 var3 = var_byte_length == var_length;
4353 var1 = var3;
4354 goto RET_LABEL2;
4355 RET_LABEL2:(void)0;
4356 }
4357 }
4358 if (var1){
4359 var4 = NEW_core__flat__ASCIIFlatString(&type_core__flat__ASCIIFlatString);
4360 {
4361 core__flat___core__flat__ASCIIFlatString___full_data(var4, var_items, var_byte_length, var_from, var_length); /* Direct call flat$ASCIIFlatString$full_data on <var4:ASCIIFlatString>*/
4362 }
4363 var = var4;
4364 goto RET_LABEL;
4365 } else {
4366 }
4367 var5 = NEW_core__flat__UnicodeFlatString(&type_core__flat__UnicodeFlatString);
4368 {
4369 core__flat___core__flat__UnicodeFlatString___full_data(var5, var_items, var_byte_length, var_from, var_length); /* Direct call flat$UnicodeFlatString$full_data on <var5:UnicodeFlatString>*/
4370 }
4371 var = var5;
4372 goto RET_LABEL;
4373 RET_LABEL:;
4374 return var;
4375 }
4376 /* method flat$FlatString$== for (self: FlatString, nullable Object): Bool */
4377 short int core___core__FlatString___core__kernel__Object___61d_61d(val* self, val* p0) {
4378 short int var /* : Bool */;
4379 val* var_other /* var other: nullable Object */;
4380 short int var1 /* : Bool */;
4381 int cltype;
4382 int idtype;
4383 short int var2 /* : Bool */;
4384 short int var3 /* : Bool */;
4385 long var4 /* : Int */;
4386 long var6 /* : Int */;
4387 long var7 /* : Int */;
4388 long var9 /* : Int */;
4389 short int var10 /* : Bool */;
4390 short int var12 /* : Bool */;
4391 long var13 /* : Int */;
4392 long var_my_length /* var my_length: Int */;
4393 long var14 /* : Int */;
4394 short int var15 /* : Bool */;
4395 short int var17 /* : Bool */;
4396 short int var18 /* : Bool */;
4397 long var19 /* : Int */;
4398 long var_my_index /* var my_index: Int */;
4399 long var20 /* : Int */;
4400 long var_its_index /* var its_index: Int */;
4401 long var21 /* : Int */;
4402 short int var23 /* : Bool */;
4403 int cltype24;
4404 int idtype25;
4405 const char* var_class_name;
4406 long var26 /* : Int */;
4407 long var_last_iteration /* var last_iteration: Int */;
4408 char* var27 /* : CString */;
4409 char* var_its_items /* var its_items: CString */;
4410 char* var28 /* : CString */;
4411 char* var_my_items /* var my_items: CString */;
4412 short int var29 /* : Bool */;
4413 short int var31 /* : Bool */;
4414 int cltype32;
4415 int idtype33;
4416 const char* var_class_name34;
4417 short int var35 /* : Bool */;
4418 unsigned char var36 /* : Byte */;
4419 unsigned char var38 /* : Byte */;
4420 unsigned char var39 /* : Byte */;
4421 unsigned char var41 /* : Byte */;
4422 short int var42 /* : Bool */;
4423 short int var44 /* : Bool */;
4424 short int var45 /* : Bool */;
4425 long var46 /* : Int */;
4426 short int var48 /* : Bool */;
4427 int cltype49;
4428 int idtype50;
4429 const char* var_class_name51;
4430 long var52 /* : Int */;
4431 long var53 /* : Int */;
4432 short int var55 /* : Bool */;
4433 int cltype56;
4434 int idtype57;
4435 const char* var_class_name58;
4436 long var59 /* : Int */;
4437 var_other = p0;
4438 /* <var_other:nullable Object> isa FlatText */
4439 cltype = type_core__FlatText.color;
4440 idtype = type_core__FlatText.id;
4441 if(var_other == NULL) {
4442 var1 = 0;
4443 } else {
4444 if(cltype >= (((long)var_other&3)?type_info[((long)var_other&3)]:var_other->type)->table_size) {
4445 var1 = 0;
4446 } else {
4447 var1 = (((long)var_other&3)?type_info[((long)var_other&3)]:var_other->type)->type_table[cltype] == idtype;
4448 }
4449 }
4450 var2 = !var1;
4451 if (var2){
4452 {
4453 var3 = ((short int(*)(val* self, val* p0))(self->class->vft[COLOR_core___core__FlatString___core__kernel__Object___61d_61d]))(self, p0); /* == on <self:FlatString>*/
4454 }
4455 var = var3;
4456 goto RET_LABEL;
4457 } else {
4458 }
4459 {
4460 { /* Inline kernel$Object$object_id (self) on <self:FlatString> */
4461 var6 = (long)self;
4462 var4 = var6;
4463 goto RET_LABEL5;
4464 RET_LABEL5:(void)0;
4465 }
4466 }
4467 {
4468 { /* Inline kernel$Object$object_id (var_other) on <var_other:nullable Object(FlatText)> */
4469 var9 = (long)var_other;
4470 var7 = var9;
4471 goto RET_LABEL8;
4472 RET_LABEL8:(void)0;
4473 }
4474 }
4475 {
4476 { /* Inline kernel$Int$== (var4,var7) on <var4:Int> */
4477 var12 = var4 == var7;
4478 var10 = var12;
4479 goto RET_LABEL11;
4480 RET_LABEL11:(void)0;
4481 }
4482 }
4483 if (var10){
4484 var = 1;
4485 goto RET_LABEL;
4486 } else {
4487 }
4488 var13 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatString> */
4489 var_my_length = var13;
4490 var14 = var_other->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_other:nullable Object(FlatText)> */
4491 {
4492 { /* Inline kernel$Int$!= (var14,var_my_length) on <var14:Int> */
4493 var17 = var14 == var_my_length;
4494 var18 = !var17;
4495 var15 = var18;
4496 goto RET_LABEL16;
4497 RET_LABEL16:(void)0;
4498 }
4499 }
4500 if (var15){
4501 var = 0;
4502 goto RET_LABEL;
4503 } else {
4504 }
4505 var19 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:FlatString> */
4506 var_my_index = var19;
4507 {
4508 var20 = ((long(*)(val* self))(var_other->class->vft[COLOR_core__flat__FlatText__first_byte]))(var_other); /* first_byte on <var_other:nullable Object(FlatText)>*/
4509 }
4510 var_its_index = var20;
4511 {
4512 { /* Inline kernel$Int$+ (var_my_index,var_my_length) on <var_my_index:Int> */
4513 /* Covariant cast for argument 0 (i) <var_my_length:Int> isa OTHER */
4514 /* <var_my_length:Int> isa OTHER */
4515 var23 = 1; /* easy <var_my_length:Int> isa OTHER*/
4516 if (unlikely(!var23)) {
4517 var_class_name = type_core__Int.name;
4518 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4519 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4520 fatal_exit(1);
4521 }
4522 var26 = var_my_index + var_my_length;
4523 var21 = var26;
4524 goto RET_LABEL22;
4525 RET_LABEL22:(void)0;
4526 }
4527 }
4528 var_last_iteration = var21;
4529 var27 = var_other->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_other:nullable Object(FlatText)> */
4530 var_its_items = var27;
4531 var28 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatString> */
4532 var_my_items = var28;
4533 for(;;) {
4534 {
4535 { /* Inline kernel$Int$< (var_my_index,var_last_iteration) on <var_my_index:Int> */
4536 /* Covariant cast for argument 0 (i) <var_last_iteration:Int> isa OTHER */
4537 /* <var_last_iteration:Int> isa OTHER */
4538 var31 = 1; /* easy <var_last_iteration:Int> isa OTHER*/
4539 if (unlikely(!var31)) {
4540 var_class_name34 = type_core__Int.name;
4541 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
4542 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
4543 fatal_exit(1);
4544 }
4545 var35 = var_my_index < var_last_iteration;
4546 var29 = var35;
4547 goto RET_LABEL30;
4548 RET_LABEL30:(void)0;
4549 }
4550 }
4551 if (var29){
4552 {
4553 { /* Inline native$CString$[] (var_my_items,var_my_index) on <var_my_items:CString> */
4554 var38 = (unsigned char)((int)var_my_items[var_my_index]);
4555 var36 = var38;
4556 goto RET_LABEL37;
4557 RET_LABEL37:(void)0;
4558 }
4559 }
4560 {
4561 { /* Inline native$CString$[] (var_its_items,var_its_index) on <var_its_items:CString> */
4562 var41 = (unsigned char)((int)var_its_items[var_its_index]);
4563 var39 = var41;
4564 goto RET_LABEL40;
4565 RET_LABEL40:(void)0;
4566 }
4567 }
4568 {
4569 { /* Inline kernel$Byte$!= (var36,var39) on <var36:Byte> */
4570 var44 = var36 == var39;
4571 var45 = !var44;
4572 var42 = var45;
4573 goto RET_LABEL43;
4574 RET_LABEL43:(void)0;
4575 }
4576 }
4577 if (var42){
4578 var = 0;
4579 goto RET_LABEL;
4580 } else {
4581 }
4582 {
4583 { /* Inline kernel$Int$+ (var_my_index,1l) on <var_my_index:Int> */
4584 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4585 /* <1l:Int> isa OTHER */
4586 var48 = 1; /* easy <1l:Int> isa OTHER*/
4587 if (unlikely(!var48)) {
4588 var_class_name51 = type_core__Int.name;
4589 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name51);
4590 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4591 fatal_exit(1);
4592 }
4593 var52 = var_my_index + 1l;
4594 var46 = var52;
4595 goto RET_LABEL47;
4596 RET_LABEL47:(void)0;
4597 }
4598 }
4599 var_my_index = var46;
4600 {
4601 { /* Inline kernel$Int$+ (var_its_index,1l) on <var_its_index:Int> */
4602 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4603 /* <1l:Int> isa OTHER */
4604 var55 = 1; /* easy <1l:Int> isa OTHER*/
4605 if (unlikely(!var55)) {
4606 var_class_name58 = type_core__Int.name;
4607 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58);
4608 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4609 fatal_exit(1);
4610 }
4611 var59 = var_its_index + 1l;
4612 var53 = var59;
4613 goto RET_LABEL54;
4614 RET_LABEL54:(void)0;
4615 }
4616 }
4617 var_its_index = var53;
4618 } else {
4619 goto BREAK_label;
4620 }
4621 }
4622 BREAK_label: (void)0;
4623 var = 1;
4624 goto RET_LABEL;
4625 RET_LABEL:;
4626 return var;
4627 }
4628 /* method flat$FlatString$< for (self: FlatString, Text): Bool */
4629 short int core___core__FlatString___core__kernel__Comparable___60d(val* self, val* p0) {
4630 short int var /* : Bool */;
4631 short int var1 /* : Bool */;
4632 int cltype;
4633 int idtype;
4634 const struct type* type_struct;
4635 const char* var_class_name;
4636 val* var_other /* var other: Text */;
4637 short int var2 /* : Bool */;
4638 int cltype3;
4639 int idtype4;
4640 short int var5 /* : Bool */;
4641 short int var6 /* : Bool */;
4642 long var7 /* : Int */;
4643 long var9 /* : Int */;
4644 long var10 /* : Int */;
4645 long var12 /* : Int */;
4646 short int var13 /* : Bool */;
4647 short int var15 /* : Bool */;
4648 char* var16 /* : CString */;
4649 char* var_myits /* var myits: CString */;
4650 char* var17 /* : CString */;
4651 char* var_itsits /* var itsits: CString */;
4652 long var18 /* : Int */;
4653 long var_mbt /* var mbt: Int */;
4654 long var19 /* : Int */;
4655 long var21 /* : Int */;
4656 long var_obt /* var obt: Int */;
4657 long var22 /* : Int */;
4658 short int var23 /* : Bool */;
4659 short int var25 /* : Bool */;
4660 int cltype26;
4661 int idtype27;
4662 const char* var_class_name28;
4663 short int var29 /* : Bool */;
4664 long var_minln /* var minln: Int */;
4665 long var30 /* : Int */;
4666 long var_mst /* var mst: Int */;
4667 long var31 /* : Int */;
4668 long var_ost /* var ost: Int */;
4669 long var_i /* var i: Int */;
4670 long var_ /* var : Int */;
4671 short int var32 /* : Bool */;
4672 short int var34 /* : Bool */;
4673 int cltype35;
4674 int idtype36;
4675 const char* var_class_name37;
4676 short int var38 /* : Bool */;
4677 unsigned char var39 /* : Byte */;
4678 unsigned char var41 /* : Byte */;
4679 unsigned char var_my_curr_char /* var my_curr_char: Byte */;
4680 unsigned char var42 /* : Byte */;
4681 unsigned char var44 /* : Byte */;
4682 unsigned char var_its_curr_char /* var its_curr_char: Byte */;
4683 short int var45 /* : Bool */;
4684 short int var47 /* : Bool */;
4685 int cltype48;
4686 int idtype49;
4687 const char* var_class_name50;
4688 short int var51 /* : Bool */;
4689 short int var52 /* : Bool */;
4690 short int var54 /* : Bool */;
4691 int cltype55;
4692 int idtype56;
4693 const char* var_class_name57;
4694 short int var58 /* : Bool */;
4695 long var59 /* : Int */;
4696 short int var61 /* : Bool */;
4697 int cltype62;
4698 int idtype63;
4699 const char* var_class_name64;
4700 long var65 /* : Int */;
4701 long var66 /* : Int */;
4702 short int var68 /* : Bool */;
4703 int cltype69;
4704 int idtype70;
4705 const char* var_class_name71;
4706 long var72 /* : Int */;
4707 long var73 /* : Int */;
4708 short int var74 /* : Bool */;
4709 short int var76 /* : Bool */;
4710 int cltype77;
4711 int idtype78;
4712 const char* var_class_name79;
4713 short int var80 /* : Bool */;
4714 /* Covariant cast for argument 0 (other) <p0:Text> isa OTHER */
4715 /* <p0:Text> isa OTHER */
4716 type_struct = self->type->resolution_table->types[COLOR_core__kernel__Comparable__OTHER];
4717 cltype = type_struct->color;
4718 idtype = type_struct->id;
4719 if(cltype >= p0->type->table_size) {
4720 var1 = 0;
4721 } else {
4722 var1 = p0->type->type_table[cltype] == idtype;
4723 }
4724 if (unlikely(!var1)) {
4725 var_class_name = p0 == NULL ? "null" : p0->type->name;
4726 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
4727 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 577);
4728 fatal_exit(1);
4729 }
4730 var_other = p0;
4731 /* <var_other:Text> isa FlatText */
4732 cltype3 = type_core__FlatText.color;
4733 idtype4 = type_core__FlatText.id;
4734 if(cltype3 >= var_other->type->table_size) {
4735 var2 = 0;
4736 } else {
4737 var2 = var_other->type->type_table[cltype3] == idtype4;
4738 }
4739 var5 = !var2;
4740 if (var5){
4741 {
4742 var6 = ((short int(*)(val* self, val* p0))(self->class->vft[COLOR_core___core__FlatString___core__kernel__Comparable___60d]))(self, p0); /* < on <self:FlatString>*/
4743 }
4744 var = var6;
4745 goto RET_LABEL;
4746 } else {
4747 }
4748 {
4749 { /* Inline kernel$Object$object_id (self) on <self:FlatString> */
4750 var9 = (long)self;
4751 var7 = var9;
4752 goto RET_LABEL8;
4753 RET_LABEL8:(void)0;
4754 }
4755 }
4756 {
4757 { /* Inline kernel$Object$object_id (var_other) on <var_other:Text(FlatText)> */
4758 var12 = (long)var_other;
4759 var10 = var12;
4760 goto RET_LABEL11;
4761 RET_LABEL11:(void)0;
4762 }
4763 }
4764 {
4765 { /* Inline kernel$Int$== (var7,var10) on <var7:Int> */
4766 var15 = var7 == var10;
4767 var13 = var15;
4768 goto RET_LABEL14;
4769 RET_LABEL14:(void)0;
4770 }
4771 }
4772 if (var13){
4773 var = 0;
4774 goto RET_LABEL;
4775 } else {
4776 }
4777 var16 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatString> */
4778 var_myits = var16;
4779 var17 = var_other->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_other:Text(FlatText)> */
4780 var_itsits = var17;
4781 var18 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatString> */
4782 var_mbt = var18;
4783 {
4784 { /* Inline abstract_text$FlatText$byte_length (var_other) on <var_other:Text(FlatText)> */
4785 var21 = var_other->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_other:Text(FlatText)> */
4786 var19 = var21;
4787 RET_LABEL20:(void)0;
4788 }
4789 }
4790 var_obt = var19;
4791 {
4792 { /* Inline kernel$Int$< (var_mbt,var_obt) on <var_mbt:Int> */
4793 /* Covariant cast for argument 0 (i) <var_obt:Int> isa OTHER */
4794 /* <var_obt:Int> isa OTHER */
4795 var25 = 1; /* easy <var_obt:Int> isa OTHER*/
4796 if (unlikely(!var25)) {
4797 var_class_name28 = type_core__Int.name;
4798 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
4799 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
4800 fatal_exit(1);
4801 }
4802 var29 = var_mbt < var_obt;
4803 var23 = var29;
4804 goto RET_LABEL24;
4805 RET_LABEL24:(void)0;
4806 }
4807 }
4808 if (var23){
4809 var22 = var_mbt;
4810 } else {
4811 var22 = var_obt;
4812 }
4813 var_minln = var22;
4814 var30 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:FlatString> */
4815 var_mst = var30;
4816 {
4817 var31 = ((long(*)(val* self))(var_other->class->vft[COLOR_core__flat__FlatText__first_byte]))(var_other); /* first_byte on <var_other:Text(FlatText)>*/
4818 }
4819 var_ost = var31;
4820 var_i = 0l;
4821 var_ = var_minln;
4822 for(;;) {
4823 {
4824 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
4825 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
4826 /* <var_:Int> isa OTHER */
4827 var34 = 1; /* easy <var_:Int> isa OTHER*/
4828 if (unlikely(!var34)) {
4829 var_class_name37 = type_core__Int.name;
4830 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
4831 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
4832 fatal_exit(1);
4833 }
4834 var38 = var_i < var_;
4835 var32 = var38;
4836 goto RET_LABEL33;
4837 RET_LABEL33:(void)0;
4838 }
4839 }
4840 if (var32){
4841 } else {
4842 goto BREAK_label;
4843 }
4844 {
4845 { /* Inline native$CString$[] (var_myits,var_mst) on <var_myits:CString> */
4846 var41 = (unsigned char)((int)var_myits[var_mst]);
4847 var39 = var41;
4848 goto RET_LABEL40;
4849 RET_LABEL40:(void)0;
4850 }
4851 }
4852 var_my_curr_char = var39;
4853 {
4854 { /* Inline native$CString$[] (var_itsits,var_ost) on <var_itsits:CString> */
4855 var44 = (unsigned char)((int)var_itsits[var_ost]);
4856 var42 = var44;
4857 goto RET_LABEL43;
4858 RET_LABEL43:(void)0;
4859 }
4860 }
4861 var_its_curr_char = var42;
4862 {
4863 { /* Inline kernel$Byte$> (var_my_curr_char,var_its_curr_char) on <var_my_curr_char:Byte> */
4864 /* Covariant cast for argument 0 (i) <var_its_curr_char:Byte> isa OTHER */
4865 /* <var_its_curr_char:Byte> isa OTHER */
4866 var47 = 1; /* easy <var_its_curr_char:Byte> isa OTHER*/
4867 if (unlikely(!var47)) {
4868 var_class_name50 = type_core__Byte.name;
4869 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50);
4870 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 621);
4871 fatal_exit(1);
4872 }
4873 var51 = var_my_curr_char > var_its_curr_char;
4874 var45 = var51;
4875 goto RET_LABEL46;
4876 RET_LABEL46:(void)0;
4877 }
4878 }
4879 if (var45){
4880 var = 0;
4881 goto RET_LABEL;
4882 } else {
4883 }
4884 {
4885 { /* Inline kernel$Byte$< (var_my_curr_char,var_its_curr_char) on <var_my_curr_char:Byte> */
4886 /* Covariant cast for argument 0 (i) <var_its_curr_char:Byte> isa OTHER */
4887 /* <var_its_curr_char:Byte> isa OTHER */
4888 var54 = 1; /* easy <var_its_curr_char:Byte> isa OTHER*/
4889 if (unlikely(!var54)) {
4890 var_class_name57 = type_core__Byte.name;
4891 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57);
4892 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 619);
4893 fatal_exit(1);
4894 }
4895 var58 = var_my_curr_char < var_its_curr_char;
4896 var52 = var58;
4897 goto RET_LABEL53;
4898 RET_LABEL53:(void)0;
4899 }
4900 }
4901 if (var52){
4902 var = 1;
4903 goto RET_LABEL;
4904 } else {
4905 }
4906 {
4907 { /* Inline kernel$Int$+ (var_mst,1l) on <var_mst:Int> */
4908 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4909 /* <1l:Int> isa OTHER */
4910 var61 = 1; /* easy <1l:Int> isa OTHER*/
4911 if (unlikely(!var61)) {
4912 var_class_name64 = type_core__Int.name;
4913 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64);
4914 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4915 fatal_exit(1);
4916 }
4917 var65 = var_mst + 1l;
4918 var59 = var65;
4919 goto RET_LABEL60;
4920 RET_LABEL60:(void)0;
4921 }
4922 }
4923 var_mst = var59;
4924 {
4925 { /* Inline kernel$Int$+ (var_ost,1l) on <var_ost:Int> */
4926 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4927 /* <1l:Int> isa OTHER */
4928 var68 = 1; /* easy <1l:Int> isa OTHER*/
4929 if (unlikely(!var68)) {
4930 var_class_name71 = type_core__Int.name;
4931 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name71);
4932 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
4933 fatal_exit(1);
4934 }
4935 var72 = var_ost + 1l;
4936 var66 = var72;
4937 goto RET_LABEL67;
4938 RET_LABEL67:(void)0;
4939 }
4940 }
4941 var_ost = var66;
4942 {
4943 var73 = core___core__Int___Discrete__successor(var_i, 1l);
4944 }
4945 var_i = var73;
4946 }
4947 BREAK_label: (void)0;
4948 {
4949 { /* Inline kernel$Int$< (var_mbt,var_obt) on <var_mbt:Int> */
4950 /* Covariant cast for argument 0 (i) <var_obt:Int> isa OTHER */
4951 /* <var_obt:Int> isa OTHER */
4952 var76 = 1; /* easy <var_obt:Int> isa OTHER*/
4953 if (unlikely(!var76)) {
4954 var_class_name79 = type_core__Int.name;
4955 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79);
4956 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
4957 fatal_exit(1);
4958 }
4959 var80 = var_mbt < var_obt;
4960 var74 = var80;
4961 goto RET_LABEL75;
4962 RET_LABEL75:(void)0;
4963 }
4964 }
4965 var = var74;
4966 goto RET_LABEL;
4967 RET_LABEL:;
4968 return var;
4969 }
4970 /* method flat$FlatString$* for (self: FlatString, Int): String */
4971 val* core___core__FlatString___core__abstract_text__Text___42d(val* self, long p0) {
4972 val* var /* : String */;
4973 long var_i /* var i: Int */;
4974 long var1 /* : Int */;
4975 long var_mybtlen /* var mybtlen: Int */;
4976 long var2 /* : Int */;
4977 short int var4 /* : Bool */;
4978 int cltype;
4979 int idtype;
4980 const char* var_class_name;
4981 long var5 /* : Int */;
4982 long var_new_byte_length /* var new_byte_length: Int */;
4983 long var6 /* : Int */;
4984 long var_mylen /* var mylen: Int */;
4985 long var7 /* : Int */;
4986 short int var9 /* : Bool */;
4987 int cltype10;
4988 int idtype11;
4989 const char* var_class_name12;
4990 long var13 /* : Int */;
4991 long var_newlen /* var newlen: Int */;
4992 char* var14 /* : CString */;
4993 char* var_its /* var its: CString */;
4994 long var15 /* : Int */;
4995 long var_fb /* var fb: Int */;
4996 static char* varoncenew;
4997 static int varoncenew_guard;
4998 char* var16 /* : CString */;
4999 char* var17 /* : CString */;
5000 long var18 /* : Int */;
5001 short int var20 /* : Bool */;
5002 int cltype21;
5003 int idtype22;
5004 const char* var_class_name23;
5005 long var24 /* : Int */;
5006 char* var25 /* : CString */;
5007 char* var27 /* : CString */;
5008 char* var_ns /* var ns: CString */;
5009 long var_offset /* var offset: Int */;
5010 short int var29 /* : Bool */;
5011 short int var31 /* : Bool */;
5012 int cltype32;
5013 int idtype33;
5014 const char* var_class_name34;
5015 short int var35 /* : Bool */;
5016 long var37 /* : Int */;
5017 short int var39 /* : Bool */;
5018 int cltype40;
5019 int idtype41;
5020 const char* var_class_name42;
5021 long var43 /* : Int */;
5022 long var44 /* : Int */;
5023 short int var46 /* : Bool */;
5024 int cltype47;
5025 int idtype48;
5026 const char* var_class_name49;
5027 long var50 /* : Int */;
5028 static val* varoncenew51;
5029 static int varoncenew51_guard;
5030 val* var52 /* : FlatString */;
5031 val* var53 /* : FlatString */;
5032 val* var54 /* : FlatString */;
5033 var_i = p0;
5034 var1 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatString> */
5035 var_mybtlen = var1;
5036 {
5037 { /* Inline kernel$Int$* (var_mybtlen,var_i) on <var_mybtlen:Int> */
5038 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
5039 /* <var_i:Int> isa OTHER */
5040 var4 = 1; /* easy <var_i:Int> isa OTHER*/
5041 if (unlikely(!var4)) {
5042 var_class_name = type_core__Int.name;
5043 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5044 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 732);
5045 fatal_exit(1);
5046 }
5047 var5 = var_mybtlen * var_i;
5048 var2 = var5;
5049 goto RET_LABEL3;
5050 RET_LABEL3:(void)0;
5051 }
5052 }
5053 var_new_byte_length = var2;
5054 var6 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatString> */
5055 var_mylen = var6;
5056 {
5057 { /* Inline kernel$Int$* (var_mylen,var_i) on <var_mylen:Int> */
5058 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
5059 /* <var_i:Int> isa OTHER */
5060 var9 = 1; /* easy <var_i:Int> isa OTHER*/
5061 if (unlikely(!var9)) {
5062 var_class_name12 = type_core__Int.name;
5063 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12);
5064 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 732);
5065 fatal_exit(1);
5066 }
5067 var13 = var_mylen * var_i;
5068 var7 = var13;
5069 goto RET_LABEL8;
5070 RET_LABEL8:(void)0;
5071 }
5072 }
5073 var_newlen = var7;
5074 var14 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatString> */
5075 var_its = var14;
5076 var15 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:FlatString> */
5077 var_fb = var15;
5078 if (likely(varoncenew_guard)) {
5079 var16 = varoncenew;
5080 } else {
5081 var17 = NULL/*special!*/;
5082 var16 = var17;
5083 varoncenew = var16;
5084 varoncenew_guard = 1;
5085 }
5086 {
5087 { /* Inline kernel$Int$+ (var_new_byte_length,1l) on <var_new_byte_length:Int> */
5088 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5089 /* <1l:Int> isa OTHER */
5090 var20 = 1; /* easy <1l:Int> isa OTHER*/
5091 if (unlikely(!var20)) {
5092 var_class_name23 = type_core__Int.name;
5093 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23);
5094 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
5095 fatal_exit(1);
5096 }
5097 var24 = var_new_byte_length + 1l;
5098 var18 = var24;
5099 goto RET_LABEL19;
5100 RET_LABEL19:(void)0;
5101 }
5102 }
5103 {
5104 { /* Inline native$CString$new (var16,var18) on <var16:CString> */
5105 var27 = (char*)nit_alloc(var18);
5106 var25 = var27;
5107 goto RET_LABEL26;
5108 RET_LABEL26:(void)0;
5109 }
5110 }
5111 var_ns = var25;
5112 {
5113 { /* Inline native$CString$[]= (var_ns,var_new_byte_length,((unsigned char)0x00)) on <var_ns:CString> */
5114 var_ns[var_new_byte_length]=(unsigned char)((unsigned char)0x00);
5115 RET_LABEL28:(void)0;
5116 }
5117 }
5118 var_offset = 0l;
5119 for(;;) {
5120 {
5121 { /* Inline kernel$Int$> (var_i,0l) on <var_i:Int> */
5122 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
5123 /* <0l:Int> isa OTHER */
5124 var31 = 1; /* easy <0l:Int> isa OTHER*/
5125 if (unlikely(!var31)) {
5126 var_class_name34 = type_core__Int.name;
5127 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
5128 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
5129 fatal_exit(1);
5130 }
5131 var35 = var_i > 0l;
5132 var29 = var35;
5133 goto RET_LABEL30;
5134 RET_LABEL30:(void)0;
5135 }
5136 }
5137 if (var29){
5138 {
5139 { /* Inline native$CString$copy_to (var_its,var_ns,var_mybtlen,var_fb,var_offset) on <var_its:CString> */
5140 memmove(var_ns+var_offset,var_its+var_fb,var_mybtlen);
5141 RET_LABEL36:(void)0;
5142 }
5143 }
5144 {
5145 { /* Inline kernel$Int$+ (var_offset,var_mybtlen) on <var_offset:Int> */
5146 /* Covariant cast for argument 0 (i) <var_mybtlen:Int> isa OTHER */
5147 /* <var_mybtlen:Int> isa OTHER */
5148 var39 = 1; /* easy <var_mybtlen:Int> isa OTHER*/
5149 if (unlikely(!var39)) {
5150 var_class_name42 = type_core__Int.name;
5151 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42);
5152 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
5153 fatal_exit(1);
5154 }
5155 var43 = var_offset + var_mybtlen;
5156 var37 = var43;
5157 goto RET_LABEL38;
5158 RET_LABEL38:(void)0;
5159 }
5160 }
5161 var_offset = var37;
5162 {
5163 { /* Inline kernel$Int$- (var_i,1l) on <var_i:Int> */
5164 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5165 /* <1l:Int> isa OTHER */
5166 var46 = 1; /* easy <1l:Int> isa OTHER*/
5167 if (unlikely(!var46)) {
5168 var_class_name49 = type_core__Int.name;
5169 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49);
5170 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
5171 fatal_exit(1);
5172 }
5173 var50 = var_i - 1l;
5174 var44 = var50;
5175 goto RET_LABEL45;
5176 RET_LABEL45:(void)0;
5177 }
5178 }
5179 var_i = var44;
5180 } else {
5181 goto BREAK_label;
5182 }
5183 }
5184 BREAK_label: (void)0;
5185 if (likely(varoncenew51_guard)) {
5186 var52 = varoncenew51;
5187 } else {
5188 var53 = NEW_core__FlatString(&type_core__FlatString);
5189 var52 = var53;
5190 varoncenew51 = var52;
5191 varoncenew51_guard = 1;
5192 }
5193 {
5194 var54 = core___core__FlatString___full(var52, var_ns, var_new_byte_length, 0l, var_newlen);
5195 }
5196 var = var54;
5197 goto RET_LABEL;
5198 RET_LABEL:;
5199 return var;
5200 }
5201 /* method flat$FlatString$hash for (self: FlatString): Int */
5202 long core___core__FlatString___core__kernel__Object__hash(val* self) {
5203 long var /* : Int */;
5204 val* var1 /* : nullable Int */;
5205 val* var3 /* : nullable Int */;
5206 short int var4 /* : Bool */;
5207 short int var5 /* : Bool */;
5208 short int var7 /* : Bool */;
5209 long var_h /* var h: Int */;
5210 long var8 /* : Int */;
5211 long var_i /* var i: Int */;
5212 char* var9 /* : CString */;
5213 char* var_my_items /* var my_items: CString */;
5214 long var10 /* : Int */;
5215 long var_max /* var max: Int */;
5216 short int var11 /* : Bool */;
5217 short int var13 /* : Bool */;
5218 int cltype;
5219 int idtype;
5220 const char* var_class_name;
5221 short int var14 /* : Bool */;
5222 long var15 /* : Int */;
5223 long var17 /* : Int */;
5224 long var18 /* : Int */;
5225 short int var20 /* : Bool */;
5226 int cltype21;
5227 int idtype22;
5228 const char* var_class_name23;
5229 long var24 /* : Int */;
5230 unsigned char var25 /* : Byte */;
5231 unsigned char var27 /* : Byte */;
5232 long var28 /* : Int */;
5233 long var30 /* : Int */;
5234 long var31 /* : Int */;
5235 short int var33 /* : Bool */;
5236 int cltype34;
5237 int idtype35;
5238 const char* var_class_name36;
5239 long var37 /* : Int */;
5240 long var38 /* : Int */;
5241 short int var40 /* : Bool */;
5242 int cltype41;
5243 int idtype42;
5244 const char* var_class_name43;
5245 long var44 /* : Int */;
5246 val* var46 /* : nullable Int */;
5247 val* var47 /* : nullable Int */;
5248 val* var49 /* : nullable Int */;
5249 long var50 /* : Int */;
5250 {
5251 { /* Inline abstract_text$Text$hash_cache (self) on <self:FlatString> */
5252 var3 = self->attrs[COLOR_core__abstract_text__Text___hash_cache].val; /* _hash_cache on <self:FlatString> */
5253 var1 = var3;
5254 RET_LABEL2:(void)0;
5255 }
5256 }
5257 if (var1 == NULL) {
5258 var4 = 1; /* is null */
5259 } else {
5260 var4 = 0; /* arg is null but recv is not */
5261 }
5262 if (0) {
5263 { /* Inline kernel$Int$== (var1,((val*)NULL)) on <var1:nullable Int> */
5264 var7 = 0; /* incompatible types Int vs. null; cannot be NULL */
5265 var5 = var7;
5266 goto RET_LABEL6;
5267 RET_LABEL6:(void)0;
5268 }
5269 var4 = var5;
5270 }
5271 if (var4){
5272 var_h = 5381l;
5273 var8 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:FlatString> */
5274 var_i = var8;
5275 var9 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatString> */
5276 var_my_items = var9;
5277 {
5278 var10 = core__flat___FlatText___last_byte(self);
5279 }
5280 var_max = var10;
5281 for(;;) {
5282 {
5283 { /* Inline kernel$Int$<= (var_i,var_max) on <var_i:Int> */
5284 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
5285 /* <var_max:Int> isa OTHER */
5286 var13 = 1; /* easy <var_max:Int> isa OTHER*/
5287 if (unlikely(!var13)) {
5288 var_class_name = type_core__Int.name;
5289 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5290 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
5291 fatal_exit(1);
5292 }
5293 var14 = var_i <= var_max;
5294 var11 = var14;
5295 goto RET_LABEL12;
5296 RET_LABEL12:(void)0;
5297 }
5298 }
5299 if (var11){
5300 {
5301 { /* Inline kernel$Int$<< (var_h,5l) on <var_h:Int> */
5302 var17 = var_h << 5l;
5303 var15 = var17;
5304 goto RET_LABEL16;
5305 RET_LABEL16:(void)0;
5306 }
5307 }
5308 {
5309 { /* Inline kernel$Int$+ (var15,var_h) on <var15:Int> */
5310 /* Covariant cast for argument 0 (i) <var_h:Int> isa OTHER */
5311 /* <var_h:Int> isa OTHER */
5312 var20 = 1; /* easy <var_h:Int> isa OTHER*/
5313 if (unlikely(!var20)) {
5314 var_class_name23 = type_core__Int.name;
5315 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23);
5316 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
5317 fatal_exit(1);
5318 }
5319 var24 = var15 + var_h;
5320 var18 = var24;
5321 goto RET_LABEL19;
5322 RET_LABEL19:(void)0;
5323 }
5324 }
5325 {
5326 { /* Inline native$CString$[] (var_my_items,var_i) on <var_my_items:CString> */
5327 var27 = (unsigned char)((int)var_my_items[var_i]);
5328 var25 = var27;
5329 goto RET_LABEL26;
5330 RET_LABEL26:(void)0;
5331 }
5332 }
5333 {
5334 { /* Inline kernel$Byte$to_i (var25) on <var25:Byte> */
5335 var30 = (long)var25;
5336 var28 = var30;
5337 goto RET_LABEL29;
5338 RET_LABEL29:(void)0;
5339 }
5340 }
5341 {
5342 { /* Inline kernel$Int$+ (var18,var28) on <var18:Int> */
5343 /* Covariant cast for argument 0 (i) <var28:Int> isa OTHER */
5344 /* <var28:Int> isa OTHER */
5345 var33 = 1; /* easy <var28:Int> isa OTHER*/
5346 if (unlikely(!var33)) {
5347 var_class_name36 = type_core__Int.name;
5348 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36);
5349 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
5350 fatal_exit(1);
5351 }
5352 var37 = var18 + var28;
5353 var31 = var37;
5354 goto RET_LABEL32;
5355 RET_LABEL32:(void)0;
5356 }
5357 }
5358 var_h = var31;
5359 {
5360 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
5361 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5362 /* <1l:Int> isa OTHER */
5363 var40 = 1; /* easy <1l:Int> isa OTHER*/
5364 if (unlikely(!var40)) {
5365 var_class_name43 = type_core__Int.name;
5366 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43);
5367 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
5368 fatal_exit(1);
5369 }
5370 var44 = var_i + 1l;
5371 var38 = var44;
5372 goto RET_LABEL39;
5373 RET_LABEL39:(void)0;
5374 }
5375 }
5376 var_i = var38;
5377 } else {
5378 goto BREAK_label;
5379 }
5380 }
5381 BREAK_label: (void)0;
5382 {
5383 { /* Inline abstract_text$Text$hash_cache= (self,var_h) on <self:FlatString> */
5384 var46 = (val*)(var_h<<2|1);
5385 self->attrs[COLOR_core__abstract_text__Text___hash_cache].val = var46; /* _hash_cache on <self:FlatString> */
5386 RET_LABEL45:(void)0;
5387 }
5388 }
5389 } else {
5390 }
5391 {
5392 { /* Inline abstract_text$Text$hash_cache (self) on <self:FlatString> */
5393 var49 = self->attrs[COLOR_core__abstract_text__Text___hash_cache].val; /* _hash_cache on <self:FlatString> */
5394 var47 = var49;
5395 RET_LABEL48:(void)0;
5396 }
5397 }
5398 if (unlikely(var47 == NULL)) {
5399 if(catchStack.cursor >= 0){
5400 longjmp(catchStack.envs[catchStack.cursor], 1);
5401 }
5402 PRINT_ERROR("Runtime error: %s", "Cast failed");
5403 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 662);
5404 fatal_exit(1);
5405 }
5406 var50 = (long)(var47)>>2;
5407 var = var50;
5408 goto RET_LABEL;
5409 RET_LABEL:;
5410 return var;
5411 }
5412 /* method flat$FlatString$substrings for (self: FlatString): Iterator[FlatText] */
5413 val* core___core__FlatString___core__abstract_text__Text__substrings(val* self) {
5414 val* var /* : Iterator[FlatText] */;
5415 val* var1 /* : FlatSubstringsIter */;
5416 var1 = NEW_core__flat__FlatSubstringsIter(&type_core__flat__FlatSubstringsIter);
5417 {
5418 ((void(*)(val* self, val* p0))(var1->class->vft[COLOR_core__flat__FlatSubstringsIter__tgt_61d]))(var1, self); /* tgt= on <var1:FlatSubstringsIter>*/
5419 }
5420 {
5421 ((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on <var1:FlatSubstringsIter>*/
5422 }
5423 var = var1;
5424 goto RET_LABEL;
5425 RET_LABEL:;
5426 return var;
5427 }
5428 /* method flat$UnicodeFlatString$full_data for (self: UnicodeFlatString, CString, Int, Int, Int) */
5429 void core__flat___core__flat__UnicodeFlatString___full_data(val* self, char* p0, long p1, long p2, long p3) {
5430 char* var_items /* var items: CString */;
5431 long var_byte_length /* var byte_length: Int */;
5432 long var_from /* var from: Int */;
5433 long var_length /* var length: Int */;
5434 {
5435 { /* Inline kernel$Object$init (self) on <self:UnicodeFlatString> */
5436 RET_LABEL1:(void)0;
5437 }
5438 }
5439 var_items = p0;
5440 var_byte_length = p1;
5441 var_from = p2;
5442 var_length = p3;
5443 self->attrs[COLOR_core__abstract_text__FlatText___items].str = var_items; /* _items on <self:UnicodeFlatString> */
5444 self->attrs[COLOR_core__abstract_text__FlatText___length].l = var_length; /* _length on <self:UnicodeFlatString> */
5445 self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l = var_byte_length; /* _byte_length on <self:UnicodeFlatString> */
5446 self->attrs[COLOR_core__flat__FlatString___first_byte].l = var_from; /* _first_byte on <self:UnicodeFlatString> */
5447 self->attrs[COLOR_core__flat__FlatText___bytepos].l = var_from; /* _bytepos on <self:UnicodeFlatString> */
5448 RET_LABEL:;
5449 }
5450 /* method flat$UnicodeFlatString$substring_from for (self: UnicodeFlatString, Int): String */
5451 val* core__flat___core__flat__UnicodeFlatString___core__abstract_text__Text__substring_from(val* self, long p0) {
5452 val* var /* : String */;
5453 long var_from /* var from: Int */;
5454 long var1 /* : Int */;
5455 short int var2 /* : Bool */;
5456 short int var4 /* : Bool */;
5457 int cltype;
5458 int idtype;
5459 const char* var_class_name;
5460 short int var5 /* : Bool */;
5461 val* var6 /* : String */;
5462 short int var7 /* : Bool */;
5463 short int var9 /* : Bool */;
5464 int cltype10;
5465 int idtype11;
5466 const char* var_class_name12;
5467 short int var13 /* : Bool */;
5468 long var14 /* : Int */;
5469 long var_c /* var c: Int */;
5470 long var15 /* : Int */;
5471 long var16 /* : Int */;
5472 short int var18 /* : Bool */;
5473 int cltype19;
5474 int idtype20;
5475 const char* var_class_name21;
5476 long var22 /* : Int */;
5477 long var_st /* var st: Int */;
5478 long var23 /* : Int */;
5479 long var25 /* : Int */;
5480 long var26 /* : Int */;
5481 short int var28 /* : Bool */;
5482 int cltype29;
5483 int idtype30;
5484 const char* var_class_name31;
5485 long var32 /* : Int */;
5486 long var_fln /* var fln: Int */;
5487 static val* varoncenew;
5488 static int varoncenew_guard;
5489 val* var33 /* : FlatString */;
5490 val* var34 /* : FlatString */;
5491 char* var35 /* : CString */;
5492 char* var37 /* : CString */;
5493 long var38 /* : Int */;
5494 long var39 /* : Int */;
5495 short int var41 /* : Bool */;
5496 int cltype42;
5497 int idtype43;
5498 const char* var_class_name44;
5499 long var45 /* : Int */;
5500 val* var46 /* : FlatString */;
5501 var_from = p0;
5502 var1 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:UnicodeFlatString> */
5503 {
5504 { /* Inline kernel$Int$>= (var_from,var1) on <var_from:Int> */
5505 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
5506 /* <var1:Int> isa OTHER */
5507 var4 = 1; /* easy <var1:Int> isa OTHER*/
5508 if (unlikely(!var4)) {
5509 var_class_name = type_core__Int.name;
5510 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5511 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
5512 fatal_exit(1);
5513 }
5514 var5 = var_from >= var1;
5515 var2 = var5;
5516 goto RET_LABEL3;
5517 RET_LABEL3:(void)0;
5518 }
5519 }
5520 if (var2){
5521 {
5522 var6 = core___core__FlatString___core__abstract_text__Text__empty(self);
5523 }
5524 var = var6;
5525 goto RET_LABEL;
5526 } else {
5527 }
5528 {
5529 { /* Inline kernel$Int$<= (var_from,0l) on <var_from:Int> */
5530 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
5531 /* <0l:Int> isa OTHER */
5532 var9 = 1; /* easy <0l:Int> isa OTHER*/
5533 if (unlikely(!var9)) {
5534 var_class_name12 = type_core__Int.name;
5535 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12);
5536 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
5537 fatal_exit(1);
5538 }
5539 var13 = var_from <= 0l;
5540 var7 = var13;
5541 goto RET_LABEL8;
5542 RET_LABEL8:(void)0;
5543 }
5544 }
5545 if (var7){
5546 var = self;
5547 goto RET_LABEL;
5548 } else {
5549 }
5550 {
5551 var14 = core__flat___FlatText___char_to_byte_index(self, var_from);
5552 }
5553 var_c = var14;
5554 var15 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:UnicodeFlatString> */
5555 {
5556 { /* Inline kernel$Int$- (var_c,var15) on <var_c:Int> */
5557 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
5558 /* <var15:Int> isa OTHER */
5559 var18 = 1; /* easy <var15:Int> isa OTHER*/
5560 if (unlikely(!var18)) {
5561 var_class_name21 = type_core__Int.name;
5562 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
5563 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
5564 fatal_exit(1);
5565 }
5566 var22 = var_c - var15;
5567 var16 = var22;
5568 goto RET_LABEL17;
5569 RET_LABEL17:(void)0;
5570 }
5571 }
5572 var_st = var16;
5573 {
5574 { /* Inline abstract_text$FlatText$byte_length (self) on <self:UnicodeFlatString> */
5575 var25 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:UnicodeFlatString> */
5576 var23 = var25;
5577 RET_LABEL24:(void)0;
5578 }
5579 }
5580 {
5581 { /* Inline kernel$Int$- (var23,var_st) on <var23:Int> */
5582 /* Covariant cast for argument 0 (i) <var_st:Int> isa OTHER */
5583 /* <var_st:Int> isa OTHER */
5584 var28 = 1; /* easy <var_st:Int> isa OTHER*/
5585 if (unlikely(!var28)) {
5586 var_class_name31 = type_core__Int.name;
5587 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31);
5588 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
5589 fatal_exit(1);
5590 }
5591 var32 = var23 - var_st;
5592 var26 = var32;
5593 goto RET_LABEL27;
5594 RET_LABEL27:(void)0;
5595 }
5596 }
5597 var_fln = var26;
5598 if (likely(varoncenew_guard)) {
5599 var33 = varoncenew;
5600 } else {
5601 var34 = NEW_core__FlatString(&type_core__FlatString);
5602 var33 = var34;
5603 varoncenew = var33;
5604 varoncenew_guard = 1;
5605 }
5606 {
5607 { /* Inline abstract_text$FlatText$items (self) on <self:UnicodeFlatString> */
5608 var37 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:UnicodeFlatString> */
5609 var35 = var37;
5610 RET_LABEL36:(void)0;
5611 }
5612 }
5613 var38 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:UnicodeFlatString> */
5614 {
5615 { /* Inline kernel$Int$- (var38,var_from) on <var38:Int> */
5616 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
5617 /* <var_from:Int> isa OTHER */
5618 var41 = 1; /* easy <var_from:Int> isa OTHER*/
5619 if (unlikely(!var41)) {
5620 var_class_name44 = type_core__Int.name;
5621 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44);
5622 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
5623 fatal_exit(1);
5624 }
5625 var45 = var38 - var_from;
5626 var39 = var45;
5627 goto RET_LABEL40;
5628 RET_LABEL40:(void)0;
5629 }
5630 }
5631 {
5632 var46 = core___core__FlatString___full(var33, var35, var_fln, var_c, var39);
5633 }
5634 var = var46;
5635 goto RET_LABEL;
5636 RET_LABEL:;
5637 return var;
5638 }
5639 /* method flat$ASCIIFlatString$full_data for (self: ASCIIFlatString, CString, Int, Int, Int) */
5640 void core__flat___core__flat__ASCIIFlatString___full_data(val* self, char* p0, long p1, long p2, long p3) {
5641 char* var_items /* var items: CString */;
5642 long var_byte_length /* var byte_length: Int */;
5643 long var_from /* var from: Int */;
5644 long var_length /* var length: Int */;
5645 {
5646 { /* Inline kernel$Object$init (self) on <self:ASCIIFlatString> */
5647 RET_LABEL1:(void)0;
5648 }
5649 }
5650 var_items = p0;
5651 var_byte_length = p1;
5652 var_from = p2;
5653 var_length = p3;
5654 self->attrs[COLOR_core__abstract_text__FlatText___items].str = var_items; /* _items on <self:ASCIIFlatString> */
5655 self->attrs[COLOR_core__abstract_text__FlatText___length].l = var_length; /* _length on <self:ASCIIFlatString> */
5656 self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l = var_byte_length; /* _byte_length on <self:ASCIIFlatString> */
5657 self->attrs[COLOR_core__flat__FlatString___first_byte].l = var_from; /* _first_byte on <self:ASCIIFlatString> */
5658 self->attrs[COLOR_core__flat__FlatText___bytepos].l = var_from; /* _bytepos on <self:ASCIIFlatString> */
5659 RET_LABEL:;
5660 }
5661 /* method flat$ASCIIFlatString$[] for (self: ASCIIFlatString, Int): Char */
5662 uint32_t core__flat___core__flat__ASCIIFlatString___core__abstract_text__Text___91d_93d(val* self, long p0) {
5663 uint32_t var /* : Char */;
5664 long var_idx /* var idx: Int */;
5665 short int var1 /* : Bool */;
5666 long var2 /* : Int */;
5667 short int var3 /* : Bool */;
5668 short int var5 /* : Bool */;
5669 int cltype;
5670 int idtype;
5671 const char* var_class_name;
5672 short int var6 /* : Bool */;
5673 short int var_ /* var : Bool */;
5674 short int var7 /* : Bool */;
5675 short int var9 /* : Bool */;
5676 int cltype10;
5677 int idtype11;
5678 const char* var_class_name12;
5679 short int var13 /* : Bool */;
5680 char* var14 /* : CString */;
5681 long var15 /* : Int */;
5682 long var16 /* : Int */;
5683 short int var18 /* : Bool */;
5684 int cltype19;
5685 int idtype20;
5686 const char* var_class_name21;
5687 long var22 /* : Int */;
5688 unsigned char var23 /* : Byte */;
5689 unsigned char var25 /* : Byte */;
5690 uint32_t var26 /* : Char */;
5691 uint32_t var28 /* : Char */;
5692 var_idx = p0;
5693 var2 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:ASCIIFlatString> */
5694 {
5695 { /* Inline kernel$Int$< (var_idx,var2) on <var_idx:Int> */
5696 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
5697 /* <var2:Int> isa OTHER */
5698 var5 = 1; /* easy <var2:Int> isa OTHER*/
5699 if (unlikely(!var5)) {
5700 var_class_name = type_core__Int.name;
5701 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5702 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
5703 fatal_exit(1);
5704 }
5705 var6 = var_idx < var2;
5706 var3 = var6;
5707 goto RET_LABEL4;
5708 RET_LABEL4:(void)0;
5709 }
5710 }
5711 var_ = var3;
5712 if (var3){
5713 {
5714 { /* Inline kernel$Int$>= (var_idx,0l) on <var_idx:Int> */
5715 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
5716 /* <0l:Int> isa OTHER */
5717 var9 = 1; /* easy <0l:Int> isa OTHER*/
5718 if (unlikely(!var9)) {
5719 var_class_name12 = type_core__Int.name;
5720 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12);
5721 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
5722 fatal_exit(1);
5723 }
5724 var13 = var_idx >= 0l;
5725 var7 = var13;
5726 goto RET_LABEL8;
5727 RET_LABEL8:(void)0;
5728 }
5729 }
5730 var1 = var7;
5731 } else {
5732 var1 = var_;
5733 }
5734 if (unlikely(!var1)) {
5735 if(catchStack.cursor >= 0){
5736 longjmp(catchStack.envs[catchStack.cursor], 1);
5737 }
5738 PRINT_ERROR("Runtime error: %s", "Assert failed");
5739 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 705);
5740 fatal_exit(1);
5741 }
5742 var14 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:ASCIIFlatString> */
5743 var15 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:ASCIIFlatString> */
5744 {
5745 { /* Inline kernel$Int$+ (var_idx,var15) on <var_idx:Int> */
5746 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
5747 /* <var15:Int> isa OTHER */
5748 var18 = 1; /* easy <var15:Int> isa OTHER*/
5749 if (unlikely(!var18)) {
5750 var_class_name21 = type_core__Int.name;
5751 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
5752 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
5753 fatal_exit(1);
5754 }
5755 var22 = var_idx + var15;
5756 var16 = var22;
5757 goto RET_LABEL17;
5758 RET_LABEL17:(void)0;
5759 }
5760 }
5761 {
5762 { /* Inline native$CString$[] (var14,var16) on <var14:CString> */
5763 var25 = (unsigned char)((int)var14[var16]);
5764 var23 = var25;
5765 goto RET_LABEL24;
5766 RET_LABEL24:(void)0;
5767 }
5768 }
5769 {
5770 { /* Inline kernel$Byte$ascii (var23) on <var23:Byte> */
5771 var28 = (uint32_t)var23;
5772 var26 = var28;
5773 goto RET_LABEL27;
5774 RET_LABEL27:(void)0;
5775 }
5776 }
5777 var = var26;
5778 goto RET_LABEL;
5779 RET_LABEL:;
5780 return var;
5781 }
5782 /* method flat$ASCIIFlatString$substring for (self: ASCIIFlatString, Int, Int): String */
5783 val* core__flat___core__flat__ASCIIFlatString___core__abstract_text__Text__substring(val* self, long p0, long p1) {
5784 val* var /* : String */;
5785 long var_from /* var from: Int */;
5786 long var_count /* var count: Int */;
5787 long var1 /* : Int */;
5788 long var_ln /* var ln: Int */;
5789 short int var2 /* : Bool */;
5790 short int var4 /* : Bool */;
5791 int cltype;
5792 int idtype;
5793 const char* var_class_name;
5794 short int var5 /* : Bool */;
5795 static val* varonce;
5796 val* var6 /* : String */;
5797 char* var7 /* : CString */;
5798 val* var8 /* : String */;
5799 val* var9 /* : nullable Int */;
5800 val* var10 /* : nullable Int */;
5801 val* var11 /* : nullable Bool */;
5802 val* var12 /* : nullable Bool */;
5803 long var13 /* : Int */;
5804 short int var15 /* : Bool */;
5805 int cltype16;
5806 int idtype17;
5807 const char* var_class_name18;
5808 long var19 /* : Int */;
5809 short int var20 /* : Bool */;
5810 short int var22 /* : Bool */;
5811 int cltype23;
5812 int idtype24;
5813 const char* var_class_name25;
5814 short int var26 /* : Bool */;
5815 long var27 /* : Int */;
5816 short int var29 /* : Bool */;
5817 int cltype30;
5818 int idtype31;
5819 const char* var_class_name32;
5820 long var33 /* : Int */;
5821 short int var34 /* : Bool */;
5822 short int var36 /* : Bool */;
5823 int cltype37;
5824 int idtype38;
5825 const char* var_class_name39;
5826 short int var40 /* : Bool */;
5827 static val* varonce41;
5828 val* var42 /* : String */;
5829 char* var43 /* : CString */;
5830 val* var44 /* : String */;
5831 val* var45 /* : nullable Int */;
5832 val* var46 /* : nullable Int */;
5833 val* var47 /* : nullable Bool */;
5834 val* var48 /* : nullable Bool */;
5835 short int var49 /* : Bool */;
5836 short int var51 /* : Bool */;
5837 int cltype52;
5838 int idtype53;
5839 const char* var_class_name54;
5840 short int var55 /* : Bool */;
5841 long var56 /* : Int */;
5842 short int var58 /* : Bool */;
5843 int cltype59;
5844 int idtype60;
5845 const char* var_class_name61;
5846 long var62 /* : Int */;
5847 short int var63 /* : Bool */;
5848 short int var65 /* : Bool */;
5849 int cltype66;
5850 int idtype67;
5851 const char* var_class_name68;
5852 short int var69 /* : Bool */;
5853 static val* varonce70;
5854 val* var71 /* : String */;
5855 char* var72 /* : CString */;
5856 val* var73 /* : String */;
5857 val* var74 /* : nullable Int */;
5858 val* var75 /* : nullable Int */;
5859 val* var76 /* : nullable Bool */;
5860 val* var77 /* : nullable Bool */;
5861 val* var78 /* : ASCIIFlatString */;
5862 char* var79 /* : CString */;
5863 long var80 /* : Int */;
5864 long var81 /* : Int */;
5865 short int var83 /* : Bool */;
5866 int cltype84;
5867 int idtype85;
5868 const char* var_class_name86;
5869 long var87 /* : Int */;
5870 var_from = p0;
5871 var_count = p1;
5872 var1 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:ASCIIFlatString> */
5873 var_ln = var1;
5874 {
5875 { /* Inline kernel$Int$<= (var_count,0l) on <var_count:Int> */
5876 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
5877 /* <0l:Int> isa OTHER */
5878 var4 = 1; /* easy <0l:Int> isa OTHER*/
5879 if (unlikely(!var4)) {
5880 var_class_name = type_core__Int.name;
5881 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
5882 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
5883 fatal_exit(1);
5884 }
5885 var5 = var_count <= 0l;
5886 var2 = var5;
5887 goto RET_LABEL3;
5888 RET_LABEL3:(void)0;
5889 }
5890 }
5891 if (var2){
5892 if (likely(varonce!=NULL)) {
5893 var6 = varonce;
5894 } else {
5895 var7 = "";
5896 var9 = (val*)(0l<<2|1);
5897 var10 = (val*)(0l<<2|1);
5898 var11 = (val*)((long)(0)<<2|3);
5899 var12 = (val*)((long)(0)<<2|3);
5900 var8 = core__flat___CString___to_s_unsafe(var7, var9, var10, var11, var12);
5901 var6 = var8;
5902 varonce = var6;
5903 }
5904 var = var6;
5905 goto RET_LABEL;
5906 } else {
5907 }
5908 {
5909 { /* Inline kernel$Int$+ (var_count,var_from) on <var_count:Int> */
5910 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
5911 /* <var_from:Int> isa OTHER */
5912 var15 = 1; /* easy <var_from:Int> isa OTHER*/
5913 if (unlikely(!var15)) {
5914 var_class_name18 = type_core__Int.name;
5915 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
5916 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
5917 fatal_exit(1);
5918 }
5919 var19 = var_count + var_from;
5920 var13 = var19;
5921 goto RET_LABEL14;
5922 RET_LABEL14:(void)0;
5923 }
5924 }
5925 {
5926 { /* Inline kernel$Int$> (var13,var_ln) on <var13:Int> */
5927 /* Covariant cast for argument 0 (i) <var_ln:Int> isa OTHER */
5928 /* <var_ln:Int> isa OTHER */
5929 var22 = 1; /* easy <var_ln:Int> isa OTHER*/
5930 if (unlikely(!var22)) {
5931 var_class_name25 = type_core__Int.name;
5932 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25);
5933 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
5934 fatal_exit(1);
5935 }
5936 var26 = var13 > var_ln;
5937 var20 = var26;
5938 goto RET_LABEL21;
5939 RET_LABEL21:(void)0;
5940 }
5941 }
5942 if (var20){
5943 {
5944 { /* Inline kernel$Int$- (var_ln,var_from) on <var_ln:Int> */
5945 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
5946 /* <var_from:Int> isa OTHER */
5947 var29 = 1; /* easy <var_from:Int> isa OTHER*/
5948 if (unlikely(!var29)) {
5949 var_class_name32 = type_core__Int.name;
5950 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
5951 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
5952 fatal_exit(1);
5953 }
5954 var33 = var_ln - var_from;
5955 var27 = var33;
5956 goto RET_LABEL28;
5957 RET_LABEL28:(void)0;
5958 }
5959 }
5960 var_count = var27;
5961 } else {
5962 }
5963 {
5964 { /* Inline kernel$Int$<= (var_count,0l) on <var_count:Int> */
5965 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
5966 /* <0l:Int> isa OTHER */
5967 var36 = 1; /* easy <0l:Int> isa OTHER*/
5968 if (unlikely(!var36)) {
5969 var_class_name39 = type_core__Int.name;
5970 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39);
5971 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
5972 fatal_exit(1);
5973 }
5974 var40 = var_count <= 0l;
5975 var34 = var40;
5976 goto RET_LABEL35;
5977 RET_LABEL35:(void)0;
5978 }
5979 }
5980 if (var34){
5981 if (likely(varonce41!=NULL)) {
5982 var42 = varonce41;
5983 } else {
5984 var43 = "";
5985 var45 = (val*)(0l<<2|1);
5986 var46 = (val*)(0l<<2|1);
5987 var47 = (val*)((long)(0)<<2|3);
5988 var48 = (val*)((long)(0)<<2|3);
5989 var44 = core__flat___CString___to_s_unsafe(var43, var45, var46, var47, var48);
5990 var42 = var44;
5991 varonce41 = var42;
5992 }
5993 var = var42;
5994 goto RET_LABEL;
5995 } else {
5996 }
5997 {
5998 { /* Inline kernel$Int$< (var_from,0l) on <var_from:Int> */
5999 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
6000 /* <0l:Int> isa OTHER */
6001 var51 = 1; /* easy <0l:Int> isa OTHER*/
6002 if (unlikely(!var51)) {
6003 var_class_name54 = type_core__Int.name;
6004 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54);
6005 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
6006 fatal_exit(1);
6007 }
6008 var55 = var_from < 0l;
6009 var49 = var55;
6010 goto RET_LABEL50;
6011 RET_LABEL50:(void)0;
6012 }
6013 }
6014 if (var49){
6015 {
6016 { /* Inline kernel$Int$+ (var_count,var_from) on <var_count:Int> */
6017 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
6018 /* <var_from:Int> isa OTHER */
6019 var58 = 1; /* easy <var_from:Int> isa OTHER*/
6020 if (unlikely(!var58)) {
6021 var_class_name61 = type_core__Int.name;
6022 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61);
6023 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
6024 fatal_exit(1);
6025 }
6026 var62 = var_count + var_from;
6027 var56 = var62;
6028 goto RET_LABEL57;
6029 RET_LABEL57:(void)0;
6030 }
6031 }
6032 var_count = var56;
6033 {
6034 { /* Inline kernel$Int$<= (var_count,0l) on <var_count:Int> */
6035 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
6036 /* <0l:Int> isa OTHER */
6037 var65 = 1; /* easy <0l:Int> isa OTHER*/
6038 if (unlikely(!var65)) {
6039 var_class_name68 = type_core__Int.name;
6040 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68);
6041 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
6042 fatal_exit(1);
6043 }
6044 var69 = var_count <= 0l;
6045 var63 = var69;
6046 goto RET_LABEL64;
6047 RET_LABEL64:(void)0;
6048 }
6049 }
6050 if (var63){
6051 if (likely(varonce70!=NULL)) {
6052 var71 = varonce70;
6053 } else {
6054 var72 = "";
6055 var74 = (val*)(0l<<2|1);
6056 var75 = (val*)(0l<<2|1);
6057 var76 = (val*)((long)(0)<<2|3);
6058 var77 = (val*)((long)(0)<<2|3);
6059 var73 = core__flat___CString___to_s_unsafe(var72, var74, var75, var76, var77);
6060 var71 = var73;
6061 varonce70 = var71;
6062 }
6063 var = var71;
6064 goto RET_LABEL;
6065 } else {
6066 }
6067 var_from = 0l;
6068 } else {
6069 }
6070 var78 = NEW_core__flat__ASCIIFlatString(&type_core__flat__ASCIIFlatString);
6071 var79 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:ASCIIFlatString> */
6072 var80 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:ASCIIFlatString> */
6073 {
6074 { /* Inline kernel$Int$+ (var_from,var80) on <var_from:Int> */
6075 /* Covariant cast for argument 0 (i) <var80:Int> isa OTHER */
6076 /* <var80:Int> isa OTHER */
6077 var83 = 1; /* easy <var80:Int> isa OTHER*/
6078 if (unlikely(!var83)) {
6079 var_class_name86 = type_core__Int.name;
6080 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86);
6081 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
6082 fatal_exit(1);
6083 }
6084 var87 = var_from + var80;
6085 var81 = var87;
6086 goto RET_LABEL82;
6087 RET_LABEL82:(void)0;
6088 }
6089 }
6090 {
6091 core__flat___core__flat__ASCIIFlatString___full_data(var78, var79, var_count, var81, var_count); /* Direct call flat$ASCIIFlatString$full_data on <var78:ASCIIFlatString>*/
6092 }
6093 var = var78;
6094 goto RET_LABEL;
6095 RET_LABEL:;
6096 return var;
6097 }
6098 /* method flat$ASCIIFlatString$char_to_byte_index for (self: ASCIIFlatString, Int): Int */
6099 long core__flat___core__flat__ASCIIFlatString___FlatText__char_to_byte_index(val* self, long p0) {
6100 long var /* : Int */;
6101 long var_index /* var index: Int */;
6102 long var1 /* : Int */;
6103 long var2 /* : Int */;
6104 short int var4 /* : Bool */;
6105 int cltype;
6106 int idtype;
6107 const char* var_class_name;
6108 long var5 /* : Int */;
6109 var_index = p0;
6110 var1 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:ASCIIFlatString> */
6111 {
6112 { /* Inline kernel$Int$+ (var_index,var1) on <var_index:Int> */
6113 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
6114 /* <var1:Int> isa OTHER */
6115 var4 = 1; /* easy <var1:Int> isa OTHER*/
6116 if (unlikely(!var4)) {
6117 var_class_name = type_core__Int.name;
6118 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6119 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
6120 fatal_exit(1);
6121 }
6122 var5 = var_index + var1;
6123 var2 = var5;
6124 goto RET_LABEL3;
6125 RET_LABEL3:(void)0;
6126 }
6127 }
6128 var = var2;
6129 goto RET_LABEL;
6130 RET_LABEL:;
6131 return var;
6132 }
6133 /* method flat$ASCIIFlatString$substring_impl for (self: ASCIIFlatString, Int, Int, Int): String */
6134 val* core__flat___core__flat__ASCIIFlatString___FlatString__substring_impl(val* self, long p0, long p1, long p2) {
6135 val* var /* : String */;
6136 long var_from /* var from: Int */;
6137 long var_count /* var count: Int */;
6138 long var_end_index /* var end_index: Int */;
6139 val* var1 /* : ASCIIFlatString */;
6140 char* var2 /* : CString */;
6141 long var3 /* : Int */;
6142 long var4 /* : Int */;
6143 short int var6 /* : Bool */;
6144 int cltype;
6145 int idtype;
6146 const char* var_class_name;
6147 long var7 /* : Int */;
6148 var_from = p0;
6149 var_count = p1;
6150 var_end_index = p2;
6151 var1 = NEW_core__flat__ASCIIFlatString(&type_core__flat__ASCIIFlatString);
6152 var2 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:ASCIIFlatString> */
6153 var3 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:ASCIIFlatString> */
6154 {
6155 { /* Inline kernel$Int$+ (var_from,var3) on <var_from:Int> */
6156 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
6157 /* <var3:Int> isa OTHER */
6158 var6 = 1; /* easy <var3:Int> isa OTHER*/
6159 if (unlikely(!var6)) {
6160 var_class_name = type_core__Int.name;
6161 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6162 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
6163 fatal_exit(1);
6164 }
6165 var7 = var_from + var3;
6166 var4 = var7;
6167 goto RET_LABEL5;
6168 RET_LABEL5:(void)0;
6169 }
6170 }
6171 {
6172 core__flat___core__flat__ASCIIFlatString___full_data(var1, var2, var_count, var4, var_count); /* Direct call flat$ASCIIFlatString$full_data on <var1:ASCIIFlatString>*/
6173 }
6174 var = var1;
6175 goto RET_LABEL;
6176 RET_LABEL:;
6177 return var;
6178 }
6179 /* method flat$ASCIIFlatString$fetch_char_at for (self: ASCIIFlatString, Int): Char */
6180 uint32_t core__flat___core__flat__ASCIIFlatString___FlatText__fetch_char_at(val* self, long p0) {
6181 uint32_t var /* : Char */;
6182 long var_i /* var i: Int */;
6183 char* var1 /* : CString */;
6184 long var2 /* : Int */;
6185 long var3 /* : Int */;
6186 short int var5 /* : Bool */;
6187 int cltype;
6188 int idtype;
6189 const char* var_class_name;
6190 long var6 /* : Int */;
6191 unsigned char var7 /* : Byte */;
6192 unsigned char var9 /* : Byte */;
6193 uint32_t var10 /* : Char */;
6194 uint32_t var12 /* : Char */;
6195 var_i = p0;
6196 var1 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:ASCIIFlatString> */
6197 var2 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:ASCIIFlatString> */
6198 {
6199 { /* Inline kernel$Int$+ (var_i,var2) on <var_i:Int> */
6200 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
6201 /* <var2:Int> isa OTHER */
6202 var5 = 1; /* easy <var2:Int> isa OTHER*/
6203 if (unlikely(!var5)) {
6204 var_class_name = type_core__Int.name;
6205 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6206 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
6207 fatal_exit(1);
6208 }
6209 var6 = var_i + var2;
6210 var3 = var6;
6211 goto RET_LABEL4;
6212 RET_LABEL4:(void)0;
6213 }
6214 }
6215 {
6216 { /* Inline native$CString$[] (var1,var3) on <var1:CString> */
6217 var9 = (unsigned char)((int)var1[var3]);
6218 var7 = var9;
6219 goto RET_LABEL8;
6220 RET_LABEL8:(void)0;
6221 }
6222 }
6223 {
6224 { /* Inline kernel$Byte$ascii (var7) on <var7:Byte> */
6225 var12 = (uint32_t)var7;
6226 var10 = var12;
6227 goto RET_LABEL11;
6228 RET_LABEL11:(void)0;
6229 }
6230 }
6231 var = var10;
6232 goto RET_LABEL;
6233 RET_LABEL:;
6234 return var;
6235 }
6236 /* method flat$FlatStringCharReverseIterator$target for (self: FlatStringCharReverseIterator): FlatString */
6237 val* core__flat___core__flat__FlatStringCharReverseIterator___target(val* self) {
6238 val* var /* : FlatString */;
6239 val* var1 /* : FlatString */;
6240 var1 = self->attrs[COLOR_core__flat__FlatStringCharReverseIterator___target].val; /* _target on <self:FlatStringCharReverseIterator> */
6241 if (unlikely(var1 == NULL)) {
6242 if(catchStack.cursor >= 0){
6243 longjmp(catchStack.envs[catchStack.cursor], 1);
6244 }
6245 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
6246 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 745);
6247 fatal_exit(1);
6248 }
6249 var = var1;
6250 RET_LABEL:;
6251 return var;
6252 }
6253 /* method flat$FlatStringCharReverseIterator$target= for (self: FlatStringCharReverseIterator, FlatString) */
6254 void core__flat___core__flat__FlatStringCharReverseIterator___target_61d(val* self, val* p0) {
6255 self->attrs[COLOR_core__flat__FlatStringCharReverseIterator___target].val = p0; /* _target on <self:FlatStringCharReverseIterator> */
6256 RET_LABEL:;
6257 }
6258 /* method flat$FlatStringCharReverseIterator$curr_pos for (self: FlatStringCharReverseIterator): Int */
6259 long core__flat___core__flat__FlatStringCharReverseIterator___curr_pos(val* self) {
6260 long var /* : Int */;
6261 long var1 /* : Int */;
6262 var1 = self->attrs[COLOR_core__flat__FlatStringCharReverseIterator___curr_pos].l; /* _curr_pos on <self:FlatStringCharReverseIterator> */
6263 var = var1;
6264 RET_LABEL:;
6265 return var;
6266 }
6267 /* method flat$FlatStringCharReverseIterator$curr_pos= for (self: FlatStringCharReverseIterator, Int) */
6268 void core__flat___core__flat__FlatStringCharReverseIterator___curr_pos_61d(val* self, long p0) {
6269 self->attrs[COLOR_core__flat__FlatStringCharReverseIterator___curr_pos].l = p0; /* _curr_pos on <self:FlatStringCharReverseIterator> */
6270 RET_LABEL:;
6271 }
6272 /* method flat$FlatStringCharReverseIterator$is_ok for (self: FlatStringCharReverseIterator): Bool */
6273 short int core__flat___core__flat__FlatStringCharReverseIterator___core__abstract_collection__Iterator__is_ok(val* self) {
6274 short int var /* : Bool */;
6275 long var1 /* : Int */;
6276 long var3 /* : Int */;
6277 short int var4 /* : Bool */;
6278 short int var6 /* : Bool */;
6279 int cltype;
6280 int idtype;
6281 const char* var_class_name;
6282 short int var7 /* : Bool */;
6283 {
6284 { /* Inline flat$FlatStringCharReverseIterator$curr_pos (self) on <self:FlatStringCharReverseIterator> */
6285 var3 = self->attrs[COLOR_core__flat__FlatStringCharReverseIterator___curr_pos].l; /* _curr_pos on <self:FlatStringCharReverseIterator> */
6286 var1 = var3;
6287 RET_LABEL2:(void)0;
6288 }
6289 }
6290 {
6291 { /* Inline kernel$Int$>= (var1,0l) on <var1:Int> */
6292 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
6293 /* <0l:Int> isa OTHER */
6294 var6 = 1; /* easy <0l:Int> isa OTHER*/
6295 if (unlikely(!var6)) {
6296 var_class_name = type_core__Int.name;
6297 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6298 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
6299 fatal_exit(1);
6300 }
6301 var7 = var1 >= 0l;
6302 var4 = var7;
6303 goto RET_LABEL5;
6304 RET_LABEL5:(void)0;
6305 }
6306 }
6307 var = var4;
6308 goto RET_LABEL;
6309 RET_LABEL:;
6310 return var;
6311 }
6312 /* method flat$FlatStringCharReverseIterator$item for (self: FlatStringCharReverseIterator): Char */
6313 uint32_t core__flat___core__flat__FlatStringCharReverseIterator___core__abstract_collection__Iterator__item(val* self) {
6314 uint32_t var /* : Char */;
6315 val* var1 /* : FlatString */;
6316 val* var3 /* : FlatString */;
6317 long var4 /* : Int */;
6318 long var6 /* : Int */;
6319 uint32_t var7 /* : Char */;
6320 {
6321 { /* Inline flat$FlatStringCharReverseIterator$target (self) on <self:FlatStringCharReverseIterator> */
6322 var3 = self->attrs[COLOR_core__flat__FlatStringCharReverseIterator___target].val; /* _target on <self:FlatStringCharReverseIterator> */
6323 if (unlikely(var3 == NULL)) {
6324 if(catchStack.cursor >= 0){
6325 longjmp(catchStack.envs[catchStack.cursor], 1);
6326 }
6327 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
6328 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 745);
6329 fatal_exit(1);
6330 }
6331 var1 = var3;
6332 RET_LABEL2:(void)0;
6333 }
6334 }
6335 {
6336 { /* Inline flat$FlatStringCharReverseIterator$curr_pos (self) on <self:FlatStringCharReverseIterator> */
6337 var6 = self->attrs[COLOR_core__flat__FlatStringCharReverseIterator___curr_pos].l; /* _curr_pos on <self:FlatStringCharReverseIterator> */
6338 var4 = var6;
6339 RET_LABEL5:(void)0;
6340 }
6341 }
6342 {
6343 var7 = ((uint32_t(*)(val* self, long p0))(var1->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var1, var4); /* [] on <var1:FlatString>*/
6344 }
6345 var = var7;
6346 goto RET_LABEL;
6347 RET_LABEL:;
6348 return var;
6349 }
6350 /* method flat$FlatStringCharReverseIterator$item for (self: Iterator[nullable Object]): nullable Object */
6351 val* VIRTUAL_core__flat___core__flat__FlatStringCharReverseIterator___core__abstract_collection__Iterator__item(val* self) {
6352 val* var /* : nullable Object */;
6353 uint32_t var1 /* : Char */;
6354 val* var2 /* : nullable Object */;
6355 var1 = core__flat___core__flat__FlatStringCharReverseIterator___core__abstract_collection__Iterator__item(self);
6356 var2 = (val*)((long)(var1)<<2|2);
6357 var = var2;
6358 RET_LABEL:;
6359 return var;
6360 }
6361 /* method flat$FlatStringCharReverseIterator$next for (self: FlatStringCharReverseIterator) */
6362 void core__flat___core__flat__FlatStringCharReverseIterator___core__abstract_collection__Iterator__next(val* self) {
6363 val* var_ /* var : FlatStringCharReverseIterator */;
6364 long var /* : Int */;
6365 long var2 /* : Int */;
6366 long var3 /* : Int */;
6367 short int var5 /* : Bool */;
6368 int cltype;
6369 int idtype;
6370 const char* var_class_name;
6371 long var6 /* : Int */;
6372 var_ = self;
6373 {
6374 { /* Inline flat$FlatStringCharReverseIterator$curr_pos (var_) on <var_:FlatStringCharReverseIterator> */
6375 var2 = var_->attrs[COLOR_core__flat__FlatStringCharReverseIterator___curr_pos].l; /* _curr_pos on <var_:FlatStringCharReverseIterator> */
6376 var = var2;
6377 RET_LABEL1:(void)0;
6378 }
6379 }
6380 {
6381 { /* Inline kernel$Int$- (var,1l) on <var:Int> */
6382 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6383 /* <1l:Int> isa OTHER */
6384 var5 = 1; /* easy <1l:Int> isa OTHER*/
6385 if (unlikely(!var5)) {
6386 var_class_name = type_core__Int.name;
6387 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6388 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
6389 fatal_exit(1);
6390 }
6391 var6 = var - 1l;
6392 var3 = var6;
6393 goto RET_LABEL4;
6394 RET_LABEL4:(void)0;
6395 }
6396 }
6397 {
6398 { /* Inline flat$FlatStringCharReverseIterator$curr_pos= (var_,var3) on <var_:FlatStringCharReverseIterator> */
6399 var_->attrs[COLOR_core__flat__FlatStringCharReverseIterator___curr_pos].l = var3; /* _curr_pos on <var_:FlatStringCharReverseIterator> */
6400 RET_LABEL7:(void)0;
6401 }
6402 }
6403 RET_LABEL:;
6404 }
6405 /* method flat$FlatStringCharReverseIterator$index for (self: FlatStringCharReverseIterator): Int */
6406 long core__flat___core__flat__FlatStringCharReverseIterator___core__abstract_collection__IndexedIterator__index(val* self) {
6407 long var /* : Int */;
6408 long var1 /* : Int */;
6409 long var3 /* : Int */;
6410 {
6411 { /* Inline flat$FlatStringCharReverseIterator$curr_pos (self) on <self:FlatStringCharReverseIterator> */
6412 var3 = self->attrs[COLOR_core__flat__FlatStringCharReverseIterator___curr_pos].l; /* _curr_pos on <self:FlatStringCharReverseIterator> */
6413 var1 = var3;
6414 RET_LABEL2:(void)0;
6415 }
6416 }
6417 var = var1;
6418 goto RET_LABEL;
6419 RET_LABEL:;
6420 return var;
6421 }
6422 /* method flat$FlatStringCharReverseIterator$init for (self: FlatStringCharReverseIterator) */
6423 void core__flat___core__flat__FlatStringCharReverseIterator___core__kernel__Object__init(val* self) {
6424 {
6425 ((void(*)(val* self))(self->class->vft[COLOR_core__flat___core__flat__FlatStringCharReverseIterator___core__kernel__Object__init]))(self); /* init on <self:FlatStringCharReverseIterator>*/
6426 }
6427 RET_LABEL:;
6428 }
6429 /* method flat$FlatStringCharIterator$target for (self: FlatStringCharIterator): FlatString */
6430 val* core__flat___core__flat__FlatStringCharIterator___target(val* self) {
6431 val* var /* : FlatString */;
6432 val* var1 /* : FlatString */;
6433 var1 = self->attrs[COLOR_core__flat__FlatStringCharIterator___target].val; /* _target on <self:FlatStringCharIterator> */
6434 if (unlikely(var1 == NULL)) {
6435 if(catchStack.cursor >= 0){
6436 longjmp(catchStack.envs[catchStack.cursor], 1);
6437 }
6438 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
6439 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 762);
6440 fatal_exit(1);
6441 }
6442 var = var1;
6443 RET_LABEL:;
6444 return var;
6445 }
6446 /* method flat$FlatStringCharIterator$target= for (self: FlatStringCharIterator, FlatString) */
6447 void core__flat___core__flat__FlatStringCharIterator___target_61d(val* self, val* p0) {
6448 self->attrs[COLOR_core__flat__FlatStringCharIterator___target].val = p0; /* _target on <self:FlatStringCharIterator> */
6449 RET_LABEL:;
6450 }
6451 /* method flat$FlatStringCharIterator$max for (self: FlatStringCharIterator): Int */
6452 long core__flat___core__flat__FlatStringCharIterator___max(val* self) {
6453 long var /* : Int */;
6454 long var1 /* : Int */;
6455 var1 = self->attrs[COLOR_core__flat__FlatStringCharIterator___max].l; /* _max on <self:FlatStringCharIterator> */
6456 var = var1;
6457 RET_LABEL:;
6458 return var;
6459 }
6460 /* method flat$FlatStringCharIterator$max= for (self: FlatStringCharIterator, Int) */
6461 void core__flat___core__flat__FlatStringCharIterator___max_61d(val* self, long p0) {
6462 self->attrs[COLOR_core__flat__FlatStringCharIterator___max].l = p0; /* _max on <self:FlatStringCharIterator> */
6463 RET_LABEL:;
6464 }
6465 /* method flat$FlatStringCharIterator$curr_pos for (self: FlatStringCharIterator): Int */
6466 long core__flat___core__flat__FlatStringCharIterator___curr_pos(val* self) {
6467 long var /* : Int */;
6468 long var1 /* : Int */;
6469 var1 = self->attrs[COLOR_core__flat__FlatStringCharIterator___curr_pos].l; /* _curr_pos on <self:FlatStringCharIterator> */
6470 var = var1;
6471 RET_LABEL:;
6472 return var;
6473 }
6474 /* method flat$FlatStringCharIterator$curr_pos= for (self: FlatStringCharIterator, Int) */
6475 void core__flat___core__flat__FlatStringCharIterator___curr_pos_61d(val* self, long p0) {
6476 self->attrs[COLOR_core__flat__FlatStringCharIterator___curr_pos].l = p0; /* _curr_pos on <self:FlatStringCharIterator> */
6477 RET_LABEL:;
6478 }
6479 /* method flat$FlatStringCharIterator$init for (self: FlatStringCharIterator) */
6480 void core__flat___core__flat__FlatStringCharIterator___core__kernel__Object__init(val* self) {
6481 val* var /* : FlatString */;
6482 val* var2 /* : FlatString */;
6483 long var3 /* : Int */;
6484 long var4 /* : Int */;
6485 short int var6 /* : Bool */;
6486 int cltype;
6487 int idtype;
6488 const char* var_class_name;
6489 long var7 /* : Int */;
6490 {
6491 ((void(*)(val* self))(self->class->vft[COLOR_core__flat___core__flat__FlatStringCharIterator___core__kernel__Object__init]))(self); /* init on <self:FlatStringCharIterator>*/
6492 }
6493 {
6494 { /* Inline flat$FlatStringCharIterator$target (self) on <self:FlatStringCharIterator> */
6495 var2 = self->attrs[COLOR_core__flat__FlatStringCharIterator___target].val; /* _target on <self:FlatStringCharIterator> */
6496 if (unlikely(var2 == NULL)) {
6497 if(catchStack.cursor >= 0){
6498 longjmp(catchStack.envs[catchStack.cursor], 1);
6499 }
6500 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
6501 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 762);
6502 fatal_exit(1);
6503 }
6504 var = var2;
6505 RET_LABEL1:(void)0;
6506 }
6507 }
6508 var3 = var->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <var:FlatString> */
6509 {
6510 { /* Inline kernel$Int$- (var3,1l) on <var3:Int> */
6511 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6512 /* <1l:Int> isa OTHER */
6513 var6 = 1; /* easy <1l:Int> isa OTHER*/
6514 if (unlikely(!var6)) {
6515 var_class_name = type_core__Int.name;
6516 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6517 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
6518 fatal_exit(1);
6519 }
6520 var7 = var3 - 1l;
6521 var4 = var7;
6522 goto RET_LABEL5;
6523 RET_LABEL5:(void)0;
6524 }
6525 }
6526 {
6527 { /* Inline flat$FlatStringCharIterator$max= (self,var4) on <self:FlatStringCharIterator> */
6528 self->attrs[COLOR_core__flat__FlatStringCharIterator___max].l = var4; /* _max on <self:FlatStringCharIterator> */
6529 RET_LABEL8:(void)0;
6530 }
6531 }
6532 RET_LABEL:;
6533 }
6534 /* method flat$FlatStringCharIterator$is_ok for (self: FlatStringCharIterator): Bool */
6535 short int core__flat___core__flat__FlatStringCharIterator___core__abstract_collection__Iterator__is_ok(val* self) {
6536 short int var /* : Bool */;
6537 long var1 /* : Int */;
6538 long var3 /* : Int */;
6539 long var4 /* : Int */;
6540 long var6 /* : Int */;
6541 short int var7 /* : Bool */;
6542 short int var9 /* : Bool */;
6543 int cltype;
6544 int idtype;
6545 const char* var_class_name;
6546 short int var10 /* : Bool */;
6547 {
6548 { /* Inline flat$FlatStringCharIterator$curr_pos (self) on <self:FlatStringCharIterator> */
6549 var3 = self->attrs[COLOR_core__flat__FlatStringCharIterator___curr_pos].l; /* _curr_pos on <self:FlatStringCharIterator> */
6550 var1 = var3;
6551 RET_LABEL2:(void)0;
6552 }
6553 }
6554 {
6555 { /* Inline flat$FlatStringCharIterator$max (self) on <self:FlatStringCharIterator> */
6556 var6 = self->attrs[COLOR_core__flat__FlatStringCharIterator___max].l; /* _max on <self:FlatStringCharIterator> */
6557 var4 = var6;
6558 RET_LABEL5:(void)0;
6559 }
6560 }
6561 {
6562 { /* Inline kernel$Int$<= (var1,var4) on <var1:Int> */
6563 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
6564 /* <var4:Int> isa OTHER */
6565 var9 = 1; /* easy <var4:Int> isa OTHER*/
6566 if (unlikely(!var9)) {
6567 var_class_name = type_core__Int.name;
6568 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6569 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
6570 fatal_exit(1);
6571 }
6572 var10 = var1 <= var4;
6573 var7 = var10;
6574 goto RET_LABEL8;
6575 RET_LABEL8:(void)0;
6576 }
6577 }
6578 var = var7;
6579 goto RET_LABEL;
6580 RET_LABEL:;
6581 return var;
6582 }
6583 /* method flat$FlatStringCharIterator$item for (self: FlatStringCharIterator): Char */
6584 uint32_t core__flat___core__flat__FlatStringCharIterator___core__abstract_collection__Iterator__item(val* self) {
6585 uint32_t var /* : Char */;
6586 val* var1 /* : FlatString */;
6587 val* var3 /* : FlatString */;
6588 long var4 /* : Int */;
6589 long var6 /* : Int */;
6590 uint32_t var7 /* : Char */;
6591 {
6592 { /* Inline flat$FlatStringCharIterator$target (self) on <self:FlatStringCharIterator> */
6593 var3 = self->attrs[COLOR_core__flat__FlatStringCharIterator___target].val; /* _target on <self:FlatStringCharIterator> */
6594 if (unlikely(var3 == NULL)) {
6595 if(catchStack.cursor >= 0){
6596 longjmp(catchStack.envs[catchStack.cursor], 1);
6597 }
6598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
6599 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 762);
6600 fatal_exit(1);
6601 }
6602 var1 = var3;
6603 RET_LABEL2:(void)0;
6604 }
6605 }
6606 {
6607 { /* Inline flat$FlatStringCharIterator$curr_pos (self) on <self:FlatStringCharIterator> */
6608 var6 = self->attrs[COLOR_core__flat__FlatStringCharIterator___curr_pos].l; /* _curr_pos on <self:FlatStringCharIterator> */
6609 var4 = var6;
6610 RET_LABEL5:(void)0;
6611 }
6612 }
6613 {
6614 var7 = ((uint32_t(*)(val* self, long p0))(var1->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var1, var4); /* [] on <var1:FlatString>*/
6615 }
6616 var = var7;
6617 goto RET_LABEL;
6618 RET_LABEL:;
6619 return var;
6620 }
6621 /* method flat$FlatStringCharIterator$item for (self: Iterator[nullable Object]): nullable Object */
6622 val* VIRTUAL_core__flat___core__flat__FlatStringCharIterator___core__abstract_collection__Iterator__item(val* self) {
6623 val* var /* : nullable Object */;
6624 uint32_t var1 /* : Char */;
6625 val* var2 /* : nullable Object */;
6626 var1 = core__flat___core__flat__FlatStringCharIterator___core__abstract_collection__Iterator__item(self);
6627 var2 = (val*)((long)(var1)<<2|2);
6628 var = var2;
6629 RET_LABEL:;
6630 return var;
6631 }
6632 /* method flat$FlatStringCharIterator$next for (self: FlatStringCharIterator) */
6633 void core__flat___core__flat__FlatStringCharIterator___core__abstract_collection__Iterator__next(val* self) {
6634 val* var_ /* var : FlatStringCharIterator */;
6635 long var /* : Int */;
6636 long var2 /* : Int */;
6637 long var3 /* : Int */;
6638 short int var5 /* : Bool */;
6639 int cltype;
6640 int idtype;
6641 const char* var_class_name;
6642 long var6 /* : Int */;
6643 var_ = self;
6644 {
6645 { /* Inline flat$FlatStringCharIterator$curr_pos (var_) on <var_:FlatStringCharIterator> */
6646 var2 = var_->attrs[COLOR_core__flat__FlatStringCharIterator___curr_pos].l; /* _curr_pos on <var_:FlatStringCharIterator> */
6647 var = var2;
6648 RET_LABEL1:(void)0;
6649 }
6650 }
6651 {
6652 { /* Inline kernel$Int$+ (var,1l) on <var:Int> */
6653 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
6654 /* <1l:Int> isa OTHER */
6655 var5 = 1; /* easy <1l:Int> isa OTHER*/
6656 if (unlikely(!var5)) {
6657 var_class_name = type_core__Int.name;
6658 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
6659 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
6660 fatal_exit(1);
6661 }
6662 var6 = var + 1l;
6663 var3 = var6;
6664 goto RET_LABEL4;
6665 RET_LABEL4:(void)0;
6666 }
6667 }
6668 {
6669 { /* Inline flat$FlatStringCharIterator$curr_pos= (var_,var3) on <var_:FlatStringCharIterator> */
6670 var_->attrs[COLOR_core__flat__FlatStringCharIterator___curr_pos].l = var3; /* _curr_pos on <var_:FlatStringCharIterator> */
6671 RET_LABEL7:(void)0;
6672 }
6673 }
6674 RET_LABEL:;
6675 }
6676 /* method flat$FlatStringCharIterator$index for (self: FlatStringCharIterator): Int */
6677 long core__flat___core__flat__FlatStringCharIterator___core__abstract_collection__IndexedIterator__index(val* self) {
6678 long var /* : Int */;
6679 long var1 /* : Int */;
6680 long var3 /* : Int */;
6681 {
6682 { /* Inline flat$FlatStringCharIterator$curr_pos (self) on <self:FlatStringCharIterator> */
6683 var3 = self->attrs[COLOR_core__flat__FlatStringCharIterator___curr_pos].l; /* _curr_pos on <self:FlatStringCharIterator> */
6684 var1 = var3;
6685 RET_LABEL2:(void)0;
6686 }
6687 }
6688 var = var1;
6689 goto RET_LABEL;
6690 RET_LABEL:;
6691 return var;
6692 }
6693 /* method flat$FlatStringCharView$[] for (self: FlatStringCharView, Int): Char */
6694 uint32_t core__flat___core__flat__FlatStringCharView___core__abstract_collection__SequenceRead___91d_93d(val* self, long p0) {
6695 uint32_t var /* : Char */;
6696 long var_index /* var index: Int */;
6697 val* var1 /* : Text */;
6698 val* var3 /* : Text */;
6699 uint32_t var4 /* : Char */;
6700 var_index = p0;
6701 {
6702 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatStringCharView> */
6703 var3 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatStringCharView> */
6704 if (unlikely(var3 == NULL)) {
6705 if(catchStack.cursor >= 0){
6706 longjmp(catchStack.envs[catchStack.cursor], 1);
6707 }
6708 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
6709 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
6710 fatal_exit(1);
6711 }
6712 var1 = var3;
6713 RET_LABEL2:(void)0;
6714 }
6715 }
6716 {
6717 var4 = ((uint32_t(*)(val* self, long p0))(var1->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var1, var_index); /* [] on <var1:Text(FlatString)>*/
6718 }
6719 var = var4;
6720 goto RET_LABEL;
6721 RET_LABEL:;
6722 return var;
6723 }
6724 /* method flat$FlatStringCharView$[] for (self: SequenceRead[nullable Object], Int): nullable Object */
6725 val* VIRTUAL_core__flat___core__flat__FlatStringCharView___core__abstract_collection__SequenceRead___91d_93d(val* self, long p0) {
6726 val* var /* : nullable Object */;
6727 uint32_t var1 /* : Char */;
6728 val* var2 /* : nullable Object */;
6729 var1 = core__flat___core__flat__FlatStringCharView___core__abstract_collection__SequenceRead___91d_93d(self, p0);
6730 var2 = (val*)((long)(var1)<<2|2);
6731 var = var2;
6732 RET_LABEL:;
6733 return var;
6734 }
6735 /* method flat$FlatStringCharView$iterator_from for (self: FlatStringCharView, Int): IndexedIterator[Char] */
6736 val* core__flat___core__flat__FlatStringCharView___core__abstract_collection__SequenceRead__iterator_from(val* self, long p0) {
6737 val* var /* : IndexedIterator[Char] */;
6738 long var_start /* var start: Int */;
6739 val* var1 /* : FlatStringCharIterator */;
6740 val* var2 /* : Text */;
6741 val* var4 /* : Text */;
6742 var_start = p0;
6743 var1 = NEW_core__flat__FlatStringCharIterator(&type_core__flat__FlatStringCharIterator);
6744 {
6745 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatStringCharView> */
6746 var4 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatStringCharView> */
6747 if (unlikely(var4 == NULL)) {
6748 if(catchStack.cursor >= 0){
6749 longjmp(catchStack.envs[catchStack.cursor], 1);
6750 }
6751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
6752 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
6753 fatal_exit(1);
6754 }
6755 var2 = var4;
6756 RET_LABEL3:(void)0;
6757 }
6758 }
6759 {
6760 ((void(*)(val* self, val* p0))(var1->class->vft[COLOR_core__flat__FlatStringCharIterator__target_61d]))(var1, var2); /* target= on <var1:FlatStringCharIterator>*/
6761 }
6762 {
6763 ((void(*)(val* self, long p0))(var1->class->vft[COLOR_core__flat__FlatStringCharIterator__curr_pos_61d]))(var1, var_start); /* curr_pos= on <var1:FlatStringCharIterator>*/
6764 }
6765 {
6766 ((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on <var1:FlatStringCharIterator>*/
6767 }
6768 var = var1;
6769 goto RET_LABEL;
6770 RET_LABEL:;
6771 return var;
6772 }
6773 /* method flat$FlatStringCharView$reverse_iterator_from for (self: FlatStringCharView, Int): IndexedIterator[Char] */
6774 val* core__flat___core__flat__FlatStringCharView___core__abstract_collection__SequenceRead__reverse_iterator_from(val* self, long p0) {
6775 val* var /* : IndexedIterator[Char] */;
6776 long var_start /* var start: Int */;
6777 val* var1 /* : FlatStringCharReverseIterator */;
6778 val* var2 /* : Text */;
6779 val* var4 /* : Text */;
6780 var_start = p0;
6781 var1 = NEW_core__flat__FlatStringCharReverseIterator(&type_core__flat__FlatStringCharReverseIterator);
6782 {
6783 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatStringCharView> */
6784 var4 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatStringCharView> */
6785 if (unlikely(var4 == NULL)) {
6786 if(catchStack.cursor >= 0){
6787 longjmp(catchStack.envs[catchStack.cursor], 1);
6788 }
6789 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
6790 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
6791 fatal_exit(1);
6792 }
6793 var2 = var4;
6794 RET_LABEL3:(void)0;
6795 }
6796 }
6797 {
6798 ((void(*)(val* self, val* p0))(var1->class->vft[COLOR_core__flat__FlatStringCharReverseIterator__target_61d]))(var1, var2); /* target= on <var1:FlatStringCharReverseIterator>*/
6799 }
6800 {
6801 ((void(*)(val* self, long p0))(var1->class->vft[COLOR_core__flat__FlatStringCharReverseIterator__curr_pos_61d]))(var1, var_start); /* curr_pos= on <var1:FlatStringCharReverseIterator>*/
6802 }
6803 {
6804 ((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on <var1:FlatStringCharReverseIterator>*/
6805 }
6806 var = var1;
6807 goto RET_LABEL;
6808 RET_LABEL:;
6809 return var;
6810 }
6811 /* method flat$Buffer$new for (self: Buffer): Buffer */
6812 val* core__flat___Buffer___new(val* self) {
6813 val* var /* : Buffer */;
6814 val* var1 /* : FlatBuffer */;
6815 var1 = NEW_core__FlatBuffer(&type_core__FlatBuffer);
6816 {
6817 { /* Inline flat$FlatBuffer$init (var1) on <var1:FlatBuffer> */
6818 {
6819 ((void(*)(val* self))(var1->class->vft[COLOR_core___core__FlatBuffer___core__kernel__Object__init]))(var1); /* init on <var1:FlatBuffer>*/
6820 }
6821 RET_LABEL2:(void)0;
6822 }
6823 }
6824 var = var1;
6825 goto RET_LABEL;
6826 RET_LABEL:;
6827 return var;
6828 }
6829 /* method flat$Buffer$with_cap for (self: Buffer, Int): Buffer */
6830 val* core__flat___Buffer___with_cap(val* self, long p0) {
6831 val* var /* : Buffer */;
6832 long var_i /* var i: Int */;
6833 val* var1 /* : FlatBuffer */;
6834 var_i = p0;
6835 var1 = NEW_core__FlatBuffer(&type_core__FlatBuffer);
6836 {
6837 core___core__FlatBuffer___with_capacity(var1, var_i); /* Direct call flat$FlatBuffer$with_capacity on <var1:FlatBuffer>*/
6838 }
6839 var = var1;
6840 goto RET_LABEL;
6841 RET_LABEL:;
6842 return var;
6843 }
6844 /* method flat$FlatBuffer$chars for (self: FlatBuffer): SequenceRead[Char] */
6845 val* core___core__FlatBuffer___core__abstract_text__Text__chars(val* self) {
6846 val* var /* : SequenceRead[Char] */;
6847 val* var1 /* : FlatBufferCharView */;
6848 var1 = NEW_core__flat__FlatBufferCharView(&type_core__flat__FlatBufferCharView);
6849 {
6850 ((void(*)(val* self, val* p0))(var1->class->vft[COLOR_core__abstract_text__StringCharView__target_61d]))(var1, self); /* target= on <var1:FlatBufferCharView>*/
6851 }
6852 {
6853 ((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on <var1:FlatBufferCharView>*/
6854 }
6855 var = var1;
6856 goto RET_LABEL;
6857 RET_LABEL:;
6858 return var;
6859 }
6860 /* method flat$FlatBuffer$capacity for (self: FlatBuffer): Int */
6861 long core___core__FlatBuffer___capacity(val* self) {
6862 long var /* : Int */;
6863 long var1 /* : Int */;
6864 var1 = self->attrs[COLOR_core__flat__FlatBuffer___capacity].l; /* _capacity on <self:FlatBuffer> */
6865 var = var1;
6866 RET_LABEL:;
6867 return var;
6868 }
6869 /* method flat$FlatBuffer$capacity= for (self: FlatBuffer, Int) */
6870 void core___core__FlatBuffer___capacity_61d(val* self, long p0) {
6871 self->attrs[COLOR_core__flat__FlatBuffer___capacity].l = p0; /* _capacity on <self:FlatBuffer> */
6872 RET_LABEL:;
6873 }
6874 /* method flat$FlatBuffer$substrings for (self: FlatBuffer): Iterator[FlatText] */
6875 val* core___core__FlatBuffer___core__abstract_text__Text__substrings(val* self) {
6876 val* var /* : Iterator[FlatText] */;
6877 val* var1 /* : FlatSubstringsIter */;
6878 var1 = NEW_core__flat__FlatSubstringsIter(&type_core__flat__FlatSubstringsIter);
6879 {
6880 ((void(*)(val* self, val* p0))(var1->class->vft[COLOR_core__flat__FlatSubstringsIter__tgt_61d]))(var1, self); /* tgt= on <var1:FlatSubstringsIter>*/
6881 }
6882 {
6883 ((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on <var1:FlatSubstringsIter>*/
6884 }
6885 var = var1;
6886 goto RET_LABEL;
6887 RET_LABEL:;
6888 return var;
6889 }
6890 /* method flat$FlatBuffer$reset for (self: FlatBuffer) */
6891 void core___core__FlatBuffer___reset(val* self) {
6892 static char* varoncenew;
6893 static int varoncenew_guard;
6894 char* var /* : CString */;
6895 char* var1 /* : CString */;
6896 long var2 /* : Int */;
6897 long var4 /* : Int */;
6898 char* var5 /* : CString */;
6899 char* var7 /* : CString */;
6900 char* var_nns /* var nns: CString */;
6901 long var8 /* : Int */;
6902 short int var9 /* : Bool */;
6903 short int var11 /* : Bool */;
6904 short int var12 /* : Bool */;
6905 char* var13 /* : CString */;
6906 long var14 /* : Int */;
6907 if (likely(varoncenew_guard)) {
6908 var = varoncenew;
6909 } else {
6910 var1 = NULL/*special!*/;
6911 var = var1;
6912 varoncenew = var;
6913 varoncenew_guard = 1;
6914 }
6915 {
6916 { /* Inline flat$FlatBuffer$capacity (self) on <self:FlatBuffer> */
6917 var4 = self->attrs[COLOR_core__flat__FlatBuffer___capacity].l; /* _capacity on <self:FlatBuffer> */
6918 var2 = var4;
6919 RET_LABEL3:(void)0;
6920 }
6921 }
6922 {
6923 { /* Inline native$CString$new (var,var2) on <var:CString> */
6924 var7 = (char*)nit_alloc(var2);
6925 var5 = var7;
6926 goto RET_LABEL6;
6927 RET_LABEL6:(void)0;
6928 }
6929 }
6930 var_nns = var5;
6931 var8 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
6932 {
6933 { /* Inline kernel$Int$!= (var8,0l) on <var8:Int> */
6934 var11 = var8 == 0l;
6935 var12 = !var11;
6936 var9 = var12;
6937 goto RET_LABEL10;
6938 RET_LABEL10:(void)0;
6939 }
6940 }
6941 if (var9){
6942 var13 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
6943 var14 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
6944 {
6945 { /* Inline native$CString$copy_to (var13,var_nns,var14,0l,0l) on <var13:CString> */
6946 memmove(var_nns+0l,var13+0l,var14);
6947 RET_LABEL15:(void)0;
6948 }
6949 }
6950 } else {
6951 }
6952 self->attrs[COLOR_core__abstract_text__FlatText___items].str = var_nns; /* _items on <self:FlatBuffer> */
6953 {
6954 { /* Inline abstract_text$Buffer$written= (self,0) on <self:FlatBuffer> */
6955 self->attrs[COLOR_core__abstract_text__Buffer___written].s = 0; /* _written on <self:FlatBuffer> */
6956 RET_LABEL16:(void)0;
6957 }
6958 }
6959 RET_LABEL:;
6960 }
6961 /* method flat$FlatBuffer$rshift_bytes for (self: FlatBuffer, Int, Int) */
6962 void core___core__FlatBuffer___rshift_bytes(val* self, long p0, long p1) {
6963 long var_from /* var from: Int */;
6964 long var_len /* var len: Int */;
6965 char* var /* : CString */;
6966 char* var_oit /* var oit: CString */;
6967 char* var1 /* : CString */;
6968 char* var_nit /* var nit: CString */;
6969 long var2 /* : Int */;
6970 long var_bt /* var bt: Int */;
6971 long var3 /* : Int */;
6972 short int var5 /* : Bool */;
6973 int cltype;
6974 int idtype;
6975 const char* var_class_name;
6976 long var6 /* : Int */;
6977 long var7 /* : Int */;
6978 long var9 /* : Int */;
6979 short int var10 /* : Bool */;
6980 short int var12 /* : Bool */;
6981 int cltype13;
6982 int idtype14;
6983 const char* var_class_name15;
6984 short int var16 /* : Bool */;
6985 long var17 /* : Int */;
6986 long var19 /* : Int */;
6987 long var20 /* : Int */;
6988 short int var22 /* : Bool */;
6989 int cltype23;
6990 int idtype24;
6991 const char* var_class_name25;
6992 long var26 /* : Int */;
6993 long var27 /* : Int */;
6994 short int var29 /* : Bool */;
6995 int cltype30;
6996 int idtype31;
6997 const char* var_class_name32;
6998 long var33 /* : Int */;
6999 static char* varoncenew;
7000 static int varoncenew_guard;
7001 char* var35 /* : CString */;
7002 char* var36 /* : CString */;
7003 long var37 /* : Int */;
7004 long var39 /* : Int */;
7005 char* var40 /* : CString */;
7006 char* var42 /* : CString */;
7007 long var44 /* : Int */;
7008 short int var46 /* : Bool */;
7009 int cltype47;
7010 int idtype48;
7011 const char* var_class_name49;
7012 long var50 /* : Int */;
7013 long var51 /* : Int */;
7014 short int var53 /* : Bool */;
7015 int cltype54;
7016 int idtype55;
7017 const char* var_class_name56;
7018 long var57 /* : Int */;
7019 var_from = p0;
7020 var_len = p1;
7021 var = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
7022 var_oit = var;
7023 var1 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
7024 var_nit = var1;
7025 var2 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
7026 var_bt = var2;
7027 {
7028 { /* Inline kernel$Int$+ (var_bt,var_len) on <var_bt:Int> */
7029 /* Covariant cast for argument 0 (i) <var_len:Int> isa OTHER */
7030 /* <var_len:Int> isa OTHER */
7031 var5 = 1; /* easy <var_len:Int> isa OTHER*/
7032 if (unlikely(!var5)) {
7033 var_class_name = type_core__Int.name;
7034 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
7035 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7036 fatal_exit(1);
7037 }
7038 var6 = var_bt + var_len;
7039 var3 = var6;
7040 goto RET_LABEL4;
7041 RET_LABEL4:(void)0;
7042 }
7043 }
7044 {
7045 { /* Inline flat$FlatBuffer$capacity (self) on <self:FlatBuffer> */
7046 var9 = self->attrs[COLOR_core__flat__FlatBuffer___capacity].l; /* _capacity on <self:FlatBuffer> */
7047 var7 = var9;
7048 RET_LABEL8:(void)0;
7049 }
7050 }
7051 {
7052 { /* Inline kernel$Int$> (var3,var7) on <var3:Int> */
7053 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
7054 /* <var7:Int> isa OTHER */
7055 var12 = 1; /* easy <var7:Int> isa OTHER*/
7056 if (unlikely(!var12)) {
7057 var_class_name15 = type_core__Int.name;
7058 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15);
7059 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
7060 fatal_exit(1);
7061 }
7062 var16 = var3 > var7;
7063 var10 = var16;
7064 goto RET_LABEL11;
7065 RET_LABEL11:(void)0;
7066 }
7067 }
7068 if (var10){
7069 {
7070 { /* Inline flat$FlatBuffer$capacity (self) on <self:FlatBuffer> */
7071 var19 = self->attrs[COLOR_core__flat__FlatBuffer___capacity].l; /* _capacity on <self:FlatBuffer> */
7072 var17 = var19;
7073 RET_LABEL18:(void)0;
7074 }
7075 }
7076 {
7077 { /* Inline kernel$Int$* (var17,2l) on <var17:Int> */
7078 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
7079 /* <2l:Int> isa OTHER */
7080 var22 = 1; /* easy <2l:Int> isa OTHER*/
7081 if (unlikely(!var22)) {
7082 var_class_name25 = type_core__Int.name;
7083 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25);
7084 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 732);
7085 fatal_exit(1);
7086 }
7087 var26 = var17 * 2l;
7088 var20 = var26;
7089 goto RET_LABEL21;
7090 RET_LABEL21:(void)0;
7091 }
7092 }
7093 {
7094 { /* Inline kernel$Int$+ (var20,2l) on <var20:Int> */
7095 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
7096 /* <2l:Int> isa OTHER */
7097 var29 = 1; /* easy <2l:Int> isa OTHER*/
7098 if (unlikely(!var29)) {
7099 var_class_name32 = type_core__Int.name;
7100 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
7101 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7102 fatal_exit(1);
7103 }
7104 var33 = var20 + 2l;
7105 var27 = var33;
7106 goto RET_LABEL28;
7107 RET_LABEL28:(void)0;
7108 }
7109 }
7110 {
7111 { /* Inline flat$FlatBuffer$capacity= (self,var27) on <self:FlatBuffer> */
7112 self->attrs[COLOR_core__flat__FlatBuffer___capacity].l = var27; /* _capacity on <self:FlatBuffer> */
7113 RET_LABEL34:(void)0;
7114 }
7115 }
7116 if (likely(varoncenew_guard)) {
7117 var35 = varoncenew;
7118 } else {
7119 var36 = NULL/*special!*/;
7120 var35 = var36;
7121 varoncenew = var35;
7122 varoncenew_guard = 1;
7123 }
7124 {
7125 { /* Inline flat$FlatBuffer$capacity (self) on <self:FlatBuffer> */
7126 var39 = self->attrs[COLOR_core__flat__FlatBuffer___capacity].l; /* _capacity on <self:FlatBuffer> */
7127 var37 = var39;
7128 RET_LABEL38:(void)0;
7129 }
7130 }
7131 {
7132 { /* Inline native$CString$new (var35,var37) on <var35:CString> */
7133 var42 = (char*)nit_alloc(var37);
7134 var40 = var42;
7135 goto RET_LABEL41;
7136 RET_LABEL41:(void)0;
7137 }
7138 }
7139 var_nit = var40;
7140 {
7141 { /* Inline native$CString$copy_to (var_oit,var_nit,0l,0l,var_from) on <var_oit:CString> */
7142 memmove(var_nit+var_from,var_oit+0l,0l);
7143 RET_LABEL43:(void)0;
7144 }
7145 }
7146 } else {
7147 }
7148 {
7149 { /* Inline kernel$Int$- (var_bt,var_from) on <var_bt:Int> */
7150 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
7151 /* <var_from:Int> isa OTHER */
7152 var46 = 1; /* easy <var_from:Int> isa OTHER*/
7153 if (unlikely(!var46)) {
7154 var_class_name49 = type_core__Int.name;
7155 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49);
7156 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
7157 fatal_exit(1);
7158 }
7159 var50 = var_bt - var_from;
7160 var44 = var50;
7161 goto RET_LABEL45;
7162 RET_LABEL45:(void)0;
7163 }
7164 }
7165 {
7166 { /* Inline kernel$Int$+ (var_from,var_len) on <var_from:Int> */
7167 /* Covariant cast for argument 0 (i) <var_len:Int> isa OTHER */
7168 /* <var_len:Int> isa OTHER */
7169 var53 = 1; /* easy <var_len:Int> isa OTHER*/
7170 if (unlikely(!var53)) {
7171 var_class_name56 = type_core__Int.name;
7172 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56);
7173 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7174 fatal_exit(1);
7175 }
7176 var57 = var_from + var_len;
7177 var51 = var57;
7178 goto RET_LABEL52;
7179 RET_LABEL52:(void)0;
7180 }
7181 }
7182 {
7183 { /* Inline native$CString$copy_to (var_oit,var_nit,var44,var_from,var51) on <var_oit:CString> */
7184 memmove(var_nit+var51,var_oit+var_from,var44);
7185 RET_LABEL58:(void)0;
7186 }
7187 }
7188 RET_LABEL:;
7189 }
7190 /* method flat$FlatBuffer$lshift_bytes for (self: FlatBuffer, Int, Int) */
7191 void core___core__FlatBuffer___lshift_bytes(val* self, long p0, long p1) {
7192 long var_from /* var from: Int */;
7193 long var_len /* var len: Int */;
7194 char* var /* : CString */;
7195 char* var_it /* var it: CString */;
7196 long var1 /* : Int */;
7197 long var2 /* : Int */;
7198 short int var4 /* : Bool */;
7199 int cltype;
7200 int idtype;
7201 const char* var_class_name;
7202 long var5 /* : Int */;
7203 long var6 /* : Int */;
7204 short int var8 /* : Bool */;
7205 int cltype9;
7206 int idtype10;
7207 const char* var_class_name11;
7208 long var12 /* : Int */;
7209 var_from = p0;
7210 var_len = p1;
7211 var = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
7212 var_it = var;
7213 var1 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
7214 {
7215 { /* Inline kernel$Int$- (var1,var_from) on <var1:Int> */
7216 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
7217 /* <var_from:Int> isa OTHER */
7218 var4 = 1; /* easy <var_from:Int> isa OTHER*/
7219 if (unlikely(!var4)) {
7220 var_class_name = type_core__Int.name;
7221 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
7222 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
7223 fatal_exit(1);
7224 }
7225 var5 = var1 - var_from;
7226 var2 = var5;
7227 goto RET_LABEL3;
7228 RET_LABEL3:(void)0;
7229 }
7230 }
7231 {
7232 { /* Inline kernel$Int$- (var_from,var_len) on <var_from:Int> */
7233 /* Covariant cast for argument 0 (i) <var_len:Int> isa OTHER */
7234 /* <var_len:Int> isa OTHER */
7235 var8 = 1; /* easy <var_len:Int> isa OTHER*/
7236 if (unlikely(!var8)) {
7237 var_class_name11 = type_core__Int.name;
7238 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
7239 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
7240 fatal_exit(1);
7241 }
7242 var12 = var_from - var_len;
7243 var6 = var12;
7244 goto RET_LABEL7;
7245 RET_LABEL7:(void)0;
7246 }
7247 }
7248 {
7249 { /* Inline native$CString$copy_to (var_it,var_it,var2,var_from,var6) on <var_it:CString> */
7250 memmove(var_it+var6,var_it+var_from,var2);
7251 RET_LABEL13:(void)0;
7252 }
7253 }
7254 RET_LABEL:;
7255 }
7256 /* method flat$FlatBuffer$[]= for (self: FlatBuffer, Int, Char) */
7257 void core___core__FlatBuffer___core__abstract_text__Buffer___91d_93d_61d(val* self, long p0, uint32_t p1) {
7258 long var_index /* var index: Int */;
7259 uint32_t var_item /* var item: Char */;
7260 short int var /* : Bool */;
7261 short int var1 /* : Bool */;
7262 short int var3 /* : Bool */;
7263 int cltype;
7264 int idtype;
7265 const char* var_class_name;
7266 short int var4 /* : Bool */;
7267 short int var_ /* var : Bool */;
7268 long var5 /* : Int */;
7269 short int var6 /* : Bool */;
7270 short int var8 /* : Bool */;
7271 int cltype9;
7272 int idtype10;
7273 const char* var_class_name11;
7274 short int var12 /* : Bool */;
7275 short int var13 /* : Bool */;
7276 short int var15 /* : Bool */;
7277 long var16 /* : Int */;
7278 short int var17 /* : Bool */;
7279 short int var19 /* : Bool */;
7280 char* var20 /* : CString */;
7281 char* var_it /* var it: CString */;
7282 long var21 /* : Int */;
7283 long var_ip /* var ip: Int */;
7284 uint32_t var22 /* : Char */;
7285 uint32_t var_c /* var c: Char */;
7286 long var23 /* : Int */;
7287 long var_clen /* var clen: Int */;
7288 long var24 /* : Int */;
7289 long var_itemlen /* var itemlen: Int */;
7290 long var25 /* : Int */;
7291 short int var27 /* : Bool */;
7292 int cltype28;
7293 int idtype29;
7294 const char* var_class_name30;
7295 long var31 /* : Int */;
7296 long var_size_diff /* var size_diff: Int */;
7297 short int var32 /* : Bool */;
7298 short int var34 /* : Bool */;
7299 int cltype35;
7300 int idtype36;
7301 const char* var_class_name37;
7302 short int var38 /* : Bool */;
7303 long var39 /* : Int */;
7304 short int var41 /* : Bool */;
7305 int cltype42;
7306 int idtype43;
7307 const char* var_class_name44;
7308 long var45 /* : Int */;
7309 short int var46 /* : Bool */;
7310 short int var48 /* : Bool */;
7311 int cltype49;
7312 int idtype50;
7313 const char* var_class_name51;
7314 short int var52 /* : Bool */;
7315 long var53 /* : Int */;
7316 short int var55 /* : Bool */;
7317 int cltype56;
7318 int idtype57;
7319 const char* var_class_name58;
7320 long var59 /* : Int */;
7321 long var60 /* : Int */;
7322 long var62 /* : Int */;
7323 val* var_63 /* var : FlatBuffer */;
7324 long var64 /* : Int */;
7325 long var65 /* : Int */;
7326 short int var67 /* : Bool */;
7327 int cltype68;
7328 int idtype69;
7329 const char* var_class_name70;
7330 long var71 /* : Int */;
7331 var_index = p0;
7332 var_item = p1;
7333 {
7334 { /* Inline kernel$Int$>= (var_index,0l) on <var_index:Int> */
7335 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
7336 /* <0l:Int> isa OTHER */
7337 var3 = 1; /* easy <0l:Int> isa OTHER*/
7338 if (unlikely(!var3)) {
7339 var_class_name = type_core__Int.name;
7340 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
7341 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
7342 fatal_exit(1);
7343 }
7344 var4 = var_index >= 0l;
7345 var1 = var4;
7346 goto RET_LABEL2;
7347 RET_LABEL2:(void)0;
7348 }
7349 }
7350 var_ = var1;
7351 if (var1){
7352 var5 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatBuffer> */
7353 {
7354 { /* Inline kernel$Int$<= (var_index,var5) on <var_index:Int> */
7355 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
7356 /* <var5:Int> isa OTHER */
7357 var8 = 1; /* easy <var5:Int> isa OTHER*/
7358 if (unlikely(!var8)) {
7359 var_class_name11 = type_core__Int.name;
7360 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
7361 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
7362 fatal_exit(1);
7363 }
7364 var12 = var_index <= var5;
7365 var6 = var12;
7366 goto RET_LABEL7;
7367 RET_LABEL7:(void)0;
7368 }
7369 }
7370 var = var6;
7371 } else {
7372 var = var_;
7373 }
7374 if (unlikely(!var)) {
7375 if(catchStack.cursor >= 0){
7376 longjmp(catchStack.envs[catchStack.cursor], 1);
7377 }
7378 PRINT_ERROR("Runtime error: %s", "Assert failed");
7379 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 923);
7380 fatal_exit(1);
7381 }
7382 {
7383 { /* Inline abstract_text$Buffer$written (self) on <self:FlatBuffer> */
7384 var15 = self->attrs[COLOR_core__abstract_text__Buffer___written].s; /* _written on <self:FlatBuffer> */
7385 var13 = var15;
7386 RET_LABEL14:(void)0;
7387 }
7388 }
7389 if (var13){
7390 {
7391 core___core__FlatBuffer___reset(self); /* Direct call flat$FlatBuffer$reset on <self:FlatBuffer>*/
7392 }
7393 } else {
7394 }
7395 var16 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatBuffer> */
7396 {
7397 { /* Inline kernel$Int$== (var_index,var16) on <var_index:Int> */
7398 var19 = var_index == var16;
7399 var17 = var19;
7400 goto RET_LABEL18;
7401 RET_LABEL18:(void)0;
7402 }
7403 }
7404 if (var17){
7405 {
7406 core___core__FlatBuffer___core__abstract_text__Buffer__add(self, var_item); /* Direct call flat$FlatBuffer$add on <self:FlatBuffer>*/
7407 }
7408 goto RET_LABEL;
7409 } else {
7410 }
7411 var20 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
7412 var_it = var20;
7413 {
7414 var21 = core___core__CString___char_to_byte_index(var_it, var_index);
7415 }
7416 var_ip = var21;
7417 {
7418 var22 = core___core__CString___char_at(var_it, var_ip);
7419 }
7420 var_c = var22;
7421 {
7422 var23 = core__abstract_text___Char___u8char_len(var_c);
7423 }
7424 var_clen = var23;
7425 {
7426 var24 = core__abstract_text___Char___u8char_len(var_item);
7427 }
7428 var_itemlen = var24;
7429 {
7430 { /* Inline kernel$Int$- (var_itemlen,var_clen) on <var_itemlen:Int> */
7431 /* Covariant cast for argument 0 (i) <var_clen:Int> isa OTHER */
7432 /* <var_clen:Int> isa OTHER */
7433 var27 = 1; /* easy <var_clen:Int> isa OTHER*/
7434 if (unlikely(!var27)) {
7435 var_class_name30 = type_core__Int.name;
7436 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30);
7437 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
7438 fatal_exit(1);
7439 }
7440 var31 = var_itemlen - var_clen;
7441 var25 = var31;
7442 goto RET_LABEL26;
7443 RET_LABEL26:(void)0;
7444 }
7445 }
7446 var_size_diff = var25;
7447 {
7448 { /* Inline kernel$Int$> (var_size_diff,0l) on <var_size_diff:Int> */
7449 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
7450 /* <0l:Int> isa OTHER */
7451 var34 = 1; /* easy <0l:Int> isa OTHER*/
7452 if (unlikely(!var34)) {
7453 var_class_name37 = type_core__Int.name;
7454 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
7455 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
7456 fatal_exit(1);
7457 }
7458 var38 = var_size_diff > 0l;
7459 var32 = var38;
7460 goto RET_LABEL33;
7461 RET_LABEL33:(void)0;
7462 }
7463 }
7464 if (var32){
7465 {
7466 { /* Inline kernel$Int$+ (var_ip,var_clen) on <var_ip:Int> */
7467 /* Covariant cast for argument 0 (i) <var_clen:Int> isa OTHER */
7468 /* <var_clen:Int> isa OTHER */
7469 var41 = 1; /* easy <var_clen:Int> isa OTHER*/
7470 if (unlikely(!var41)) {
7471 var_class_name44 = type_core__Int.name;
7472 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44);
7473 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7474 fatal_exit(1);
7475 }
7476 var45 = var_ip + var_clen;
7477 var39 = var45;
7478 goto RET_LABEL40;
7479 RET_LABEL40:(void)0;
7480 }
7481 }
7482 {
7483 core___core__FlatBuffer___rshift_bytes(self, var39, var_size_diff); /* Direct call flat$FlatBuffer$rshift_bytes on <self:FlatBuffer>*/
7484 }
7485 } else {
7486 {
7487 { /* Inline kernel$Int$< (var_size_diff,0l) on <var_size_diff:Int> */
7488 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
7489 /* <0l:Int> isa OTHER */
7490 var48 = 1; /* easy <0l:Int> isa OTHER*/
7491 if (unlikely(!var48)) {
7492 var_class_name51 = type_core__Int.name;
7493 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name51);
7494 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
7495 fatal_exit(1);
7496 }
7497 var52 = var_size_diff < 0l;
7498 var46 = var52;
7499 goto RET_LABEL47;
7500 RET_LABEL47:(void)0;
7501 }
7502 }
7503 if (var46){
7504 {
7505 { /* Inline kernel$Int$+ (var_ip,var_clen) on <var_ip:Int> */
7506 /* Covariant cast for argument 0 (i) <var_clen:Int> isa OTHER */
7507 /* <var_clen:Int> isa OTHER */
7508 var55 = 1; /* easy <var_clen:Int> isa OTHER*/
7509 if (unlikely(!var55)) {
7510 var_class_name58 = type_core__Int.name;
7511 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58);
7512 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7513 fatal_exit(1);
7514 }
7515 var59 = var_ip + var_clen;
7516 var53 = var59;
7517 goto RET_LABEL54;
7518 RET_LABEL54:(void)0;
7519 }
7520 }
7521 {
7522 { /* Inline kernel$Int$unary - (var_size_diff) on <var_size_diff:Int> */
7523 var62 = -var_size_diff;
7524 var60 = var62;
7525 goto RET_LABEL61;
7526 RET_LABEL61:(void)0;
7527 }
7528 }
7529 {
7530 core___core__FlatBuffer___lshift_bytes(self, var53, var60); /* Direct call flat$FlatBuffer$lshift_bytes on <self:FlatBuffer>*/
7531 }
7532 } else {
7533 }
7534 }
7535 var_63 = self;
7536 var64 = var_63->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_63:FlatBuffer> */
7537 {
7538 { /* Inline kernel$Int$+ (var64,var_size_diff) on <var64:Int> */
7539 /* Covariant cast for argument 0 (i) <var_size_diff:Int> isa OTHER */
7540 /* <var_size_diff:Int> isa OTHER */
7541 var67 = 1; /* easy <var_size_diff:Int> isa OTHER*/
7542 if (unlikely(!var67)) {
7543 var_class_name70 = type_core__Int.name;
7544 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70);
7545 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7546 fatal_exit(1);
7547 }
7548 var71 = var64 + var_size_diff;
7549 var65 = var71;
7550 goto RET_LABEL66;
7551 RET_LABEL66:(void)0;
7552 }
7553 }
7554 var_63->attrs[COLOR_core__abstract_text__FlatText___byte_length].l = var65; /* _byte_length on <var_63:FlatBuffer> */
7555 {
7556 core__flat___CString___set_char_at(var_it, var_ip, var_item); /* Direct call flat$CString$set_char_at on <var_it:CString>*/
7557 }
7558 RET_LABEL:;
7559 }
7560 /* method flat$FlatBuffer$insert_char for (self: FlatBuffer, Char, Int) */
7561 void core___core__FlatBuffer___core__abstract_text__Buffer__insert_char(val* self, uint32_t p0, long p1) {
7562 uint32_t var_c /* var c: Char */;
7563 long var_pos /* var pos: Int */;
7564 short int var /* : Bool */;
7565 short int var1 /* : Bool */;
7566 short int var3 /* : Bool */;
7567 int cltype;
7568 int idtype;
7569 const char* var_class_name;
7570 short int var4 /* : Bool */;
7571 short int var_ /* var : Bool */;
7572 long var5 /* : Int */;
7573 long var7 /* : Int */;
7574 short int var8 /* : Bool */;
7575 short int var10 /* : Bool */;
7576 int cltype11;
7577 int idtype12;
7578 const char* var_class_name13;
7579 short int var14 /* : Bool */;
7580 long var15 /* : Int */;
7581 long var17 /* : Int */;
7582 short int var18 /* : Bool */;
7583 short int var20 /* : Bool */;
7584 long var21 /* : Int */;
7585 long var_clen /* var clen: Int */;
7586 long var22 /* : Int */;
7587 long var24 /* : Int */;
7588 long var25 /* : Int */;
7589 short int var27 /* : Bool */;
7590 int cltype28;
7591 int idtype29;
7592 const char* var_class_name30;
7593 long var31 /* : Int */;
7594 char* var32 /* : CString */;
7595 char* var_it /* var it: CString */;
7596 long var33 /* : Int */;
7597 long var_shpos /* var shpos: Int */;
7598 val* var_34 /* var : FlatBuffer */;
7599 long var35 /* : Int */;
7600 long var37 /* : Int */;
7601 long var38 /* : Int */;
7602 short int var40 /* : Bool */;
7603 int cltype41;
7604 int idtype42;
7605 const char* var_class_name43;
7606 long var44 /* : Int */;
7607 val* var_46 /* var : FlatBuffer */;
7608 long var47 /* : Int */;
7609 long var49 /* : Int */;
7610 long var50 /* : Int */;
7611 short int var52 /* : Bool */;
7612 int cltype53;
7613 int idtype54;
7614 const char* var_class_name55;
7615 long var56 /* : Int */;
7616 var_c = p0;
7617 var_pos = p1;
7618 {
7619 { /* Inline kernel$Int$>= (var_pos,0l) on <var_pos:Int> */
7620 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
7621 /* <0l:Int> isa OTHER */
7622 var3 = 1; /* easy <0l:Int> isa OTHER*/
7623 if (unlikely(!var3)) {
7624 var_class_name = type_core__Int.name;
7625 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
7626 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
7627 fatal_exit(1);
7628 }
7629 var4 = var_pos >= 0l;
7630 var1 = var4;
7631 goto RET_LABEL2;
7632 RET_LABEL2:(void)0;
7633 }
7634 }
7635 var_ = var1;
7636 if (var1){
7637 {
7638 { /* Inline abstract_text$FlatText$length (self) on <self:FlatBuffer> */
7639 var7 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatBuffer> */
7640 var5 = var7;
7641 RET_LABEL6:(void)0;
7642 }
7643 }
7644 {
7645 { /* Inline kernel$Int$<= (var_pos,var5) on <var_pos:Int> */
7646 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
7647 /* <var5:Int> isa OTHER */
7648 var10 = 1; /* easy <var5:Int> isa OTHER*/
7649 if (unlikely(!var10)) {
7650 var_class_name13 = type_core__Int.name;
7651 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
7652 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
7653 fatal_exit(1);
7654 }
7655 var14 = var_pos <= var5;
7656 var8 = var14;
7657 goto RET_LABEL9;
7658 RET_LABEL9:(void)0;
7659 }
7660 }
7661 var = var8;
7662 } else {
7663 var = var_;
7664 }
7665 if (unlikely(!var)) {
7666 if(catchStack.cursor >= 0){
7667 longjmp(catchStack.envs[catchStack.cursor], 1);
7668 }
7669 PRINT_ERROR("Runtime error: %s", "Assert failed");
7670 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 961);
7671 fatal_exit(1);
7672 }
7673 {
7674 { /* Inline abstract_text$FlatText$length (self) on <self:FlatBuffer> */
7675 var17 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatBuffer> */
7676 var15 = var17;
7677 RET_LABEL16:(void)0;
7678 }
7679 }
7680 {
7681 { /* Inline kernel$Int$== (var_pos,var15) on <var_pos:Int> */
7682 var20 = var_pos == var15;
7683 var18 = var20;
7684 goto RET_LABEL19;
7685 RET_LABEL19:(void)0;
7686 }
7687 }
7688 if (var18){
7689 {
7690 core___core__FlatBuffer___core__abstract_text__Buffer__add(self, var_c); /* Direct call flat$FlatBuffer$add on <self:FlatBuffer>*/
7691 }
7692 goto RET_LABEL;
7693 } else {
7694 }
7695 {
7696 var21 = core__abstract_text___Char___u8char_len(var_c);
7697 }
7698 var_clen = var21;
7699 {
7700 { /* Inline abstract_text$FlatText$byte_length (self) on <self:FlatBuffer> */
7701 var24 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
7702 var22 = var24;
7703 RET_LABEL23:(void)0;
7704 }
7705 }
7706 {
7707 { /* Inline kernel$Int$+ (var22,var_clen) on <var22:Int> */
7708 /* Covariant cast for argument 0 (i) <var_clen:Int> isa OTHER */
7709 /* <var_clen:Int> isa OTHER */
7710 var27 = 1; /* easy <var_clen:Int> isa OTHER*/
7711 if (unlikely(!var27)) {
7712 var_class_name30 = type_core__Int.name;
7713 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30);
7714 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7715 fatal_exit(1);
7716 }
7717 var31 = var22 + var_clen;
7718 var25 = var31;
7719 goto RET_LABEL26;
7720 RET_LABEL26:(void)0;
7721 }
7722 }
7723 {
7724 core___core__FlatBuffer___core__abstract_text__Buffer__enlarge(self, var25); /* Direct call flat$FlatBuffer$enlarge on <self:FlatBuffer>*/
7725 }
7726 var32 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
7727 var_it = var32;
7728 {
7729 var33 = core___core__CString___char_to_byte_index(var_it, var_pos);
7730 }
7731 var_shpos = var33;
7732 {
7733 core___core__FlatBuffer___rshift_bytes(self, var_shpos, var_clen); /* Direct call flat$FlatBuffer$rshift_bytes on <self:FlatBuffer>*/
7734 }
7735 {
7736 core__flat___CString___set_char_at(var_it, var_shpos, var_c); /* Direct call flat$CString$set_char_at on <var_it:CString>*/
7737 }
7738 var_34 = self;
7739 {
7740 { /* Inline abstract_text$FlatText$length (var_34) on <var_34:FlatBuffer> */
7741 var37 = var_34->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <var_34:FlatBuffer> */
7742 var35 = var37;
7743 RET_LABEL36:(void)0;
7744 }
7745 }
7746 {
7747 { /* Inline kernel$Int$+ (var35,1l) on <var35:Int> */
7748 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7749 /* <1l:Int> isa OTHER */
7750 var40 = 1; /* easy <1l:Int> isa OTHER*/
7751 if (unlikely(!var40)) {
7752 var_class_name43 = type_core__Int.name;
7753 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43);
7754 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7755 fatal_exit(1);
7756 }
7757 var44 = var35 + 1l;
7758 var38 = var44;
7759 goto RET_LABEL39;
7760 RET_LABEL39:(void)0;
7761 }
7762 }
7763 {
7764 { /* Inline abstract_text$FlatText$length= (var_34,var38) on <var_34:FlatBuffer> */
7765 var_34->attrs[COLOR_core__abstract_text__FlatText___length].l = var38; /* _length on <var_34:FlatBuffer> */
7766 RET_LABEL45:(void)0;
7767 }
7768 }
7769 var_46 = self;
7770 {
7771 { /* Inline abstract_text$FlatText$byte_length (var_46) on <var_46:FlatBuffer> */
7772 var49 = var_46->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_46:FlatBuffer> */
7773 var47 = var49;
7774 RET_LABEL48:(void)0;
7775 }
7776 }
7777 {
7778 { /* Inline kernel$Int$+ (var47,var_clen) on <var47:Int> */
7779 /* Covariant cast for argument 0 (i) <var_clen:Int> isa OTHER */
7780 /* <var_clen:Int> isa OTHER */
7781 var52 = 1; /* easy <var_clen:Int> isa OTHER*/
7782 if (unlikely(!var52)) {
7783 var_class_name55 = type_core__Int.name;
7784 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55);
7785 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7786 fatal_exit(1);
7787 }
7788 var56 = var47 + var_clen;
7789 var50 = var56;
7790 goto RET_LABEL51;
7791 RET_LABEL51:(void)0;
7792 }
7793 }
7794 {
7795 { /* Inline abstract_text$FlatText$byte_length= (var_46,var50) on <var_46:FlatBuffer> */
7796 var_46->attrs[COLOR_core__abstract_text__FlatText___byte_length].l = var50; /* _byte_length on <var_46:FlatBuffer> */
7797 RET_LABEL57:(void)0;
7798 }
7799 }
7800 RET_LABEL:;
7801 }
7802 /* method flat$FlatBuffer$add for (self: FlatBuffer, Char) */
7803 void core___core__FlatBuffer___core__abstract_text__Buffer__add(val* self, uint32_t p0) {
7804 uint32_t var_c /* var c: Char */;
7805 short int var /* : Bool */;
7806 short int var2 /* : Bool */;
7807 long var3 /* : Int */;
7808 long var_clen /* var clen: Int */;
7809 long var4 /* : Int */;
7810 long var_bt /* var bt: Int */;
7811 long var5 /* : Int */;
7812 short int var7 /* : Bool */;
7813 int cltype;
7814 int idtype;
7815 const char* var_class_name;
7816 long var8 /* : Int */;
7817 char* var9 /* : CString */;
7818 val* var_ /* var : FlatBuffer */;
7819 long var10 /* : Int */;
7820 long var11 /* : Int */;
7821 short int var13 /* : Bool */;
7822 int cltype14;
7823 int idtype15;
7824 const char* var_class_name16;
7825 long var17 /* : Int */;
7826 val* var_18 /* var : FlatBuffer */;
7827 long var19 /* : Int */;
7828 long var20 /* : Int */;
7829 short int var22 /* : Bool */;
7830 int cltype23;
7831 int idtype24;
7832 const char* var_class_name25;
7833 long var26 /* : Int */;
7834 var_c = p0;
7835 {
7836 { /* Inline abstract_text$Buffer$written (self) on <self:FlatBuffer> */
7837 var2 = self->attrs[COLOR_core__abstract_text__Buffer___written].s; /* _written on <self:FlatBuffer> */
7838 var = var2;
7839 RET_LABEL1:(void)0;
7840 }
7841 }
7842 if (var){
7843 {
7844 core___core__FlatBuffer___reset(self); /* Direct call flat$FlatBuffer$reset on <self:FlatBuffer>*/
7845 }
7846 } else {
7847 }
7848 {
7849 var3 = core__abstract_text___Char___u8char_len(var_c);
7850 }
7851 var_clen = var3;
7852 var4 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
7853 var_bt = var4;
7854 {
7855 { /* Inline kernel$Int$+ (var_bt,var_clen) on <var_bt:Int> */
7856 /* Covariant cast for argument 0 (i) <var_clen:Int> isa OTHER */
7857 /* <var_clen:Int> isa OTHER */
7858 var7 = 1; /* easy <var_clen:Int> isa OTHER*/
7859 if (unlikely(!var7)) {
7860 var_class_name = type_core__Int.name;
7861 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
7862 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7863 fatal_exit(1);
7864 }
7865 var8 = var_bt + var_clen;
7866 var5 = var8;
7867 goto RET_LABEL6;
7868 RET_LABEL6:(void)0;
7869 }
7870 }
7871 {
7872 core___core__FlatBuffer___core__abstract_text__Buffer__enlarge(self, var5); /* Direct call flat$FlatBuffer$enlarge on <self:FlatBuffer>*/
7873 }
7874 var9 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
7875 {
7876 core__flat___CString___set_char_at(var9, var_bt, var_c); /* Direct call flat$CString$set_char_at on <var9:CString>*/
7877 }
7878 var_ = self;
7879 var10 = var_->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_:FlatBuffer> */
7880 {
7881 { /* Inline kernel$Int$+ (var10,var_clen) on <var10:Int> */
7882 /* Covariant cast for argument 0 (i) <var_clen:Int> isa OTHER */
7883 /* <var_clen:Int> isa OTHER */
7884 var13 = 1; /* easy <var_clen:Int> isa OTHER*/
7885 if (unlikely(!var13)) {
7886 var_class_name16 = type_core__Int.name;
7887 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16);
7888 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7889 fatal_exit(1);
7890 }
7891 var17 = var10 + var_clen;
7892 var11 = var17;
7893 goto RET_LABEL12;
7894 RET_LABEL12:(void)0;
7895 }
7896 }
7897 var_->attrs[COLOR_core__abstract_text__FlatText___byte_length].l = var11; /* _byte_length on <var_:FlatBuffer> */
7898 var_18 = self;
7899 var19 = var_18->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <var_18:FlatBuffer> */
7900 {
7901 { /* Inline kernel$Int$+ (var19,1l) on <var19:Int> */
7902 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
7903 /* <1l:Int> isa OTHER */
7904 var22 = 1; /* easy <1l:Int> isa OTHER*/
7905 if (unlikely(!var22)) {
7906 var_class_name25 = type_core__Int.name;
7907 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25);
7908 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
7909 fatal_exit(1);
7910 }
7911 var26 = var19 + 1l;
7912 var20 = var26;
7913 goto RET_LABEL21;
7914 RET_LABEL21:(void)0;
7915 }
7916 }
7917 var_18->attrs[COLOR_core__abstract_text__FlatText___length].l = var20; /* _length on <var_18:FlatBuffer> */
7918 RET_LABEL:;
7919 }
7920 /* method flat$FlatBuffer$empty for (self: FlatBuffer): Buffer */
7921 val* core___core__FlatBuffer___core__abstract_text__Text__empty(val* self) {
7922 val* var /* : Buffer */;
7923 static val* varoncenew;
7924 static int varoncenew_guard;
7925 val* var1 /* : Buffer */;
7926 val* var2 /* : Buffer */;
7927 val* var3 /* : Buffer */;
7928 if (likely(varoncenew_guard)) {
7929 var1 = varoncenew;
7930 } else {
7931 var2 = NEW_core__Buffer(&type_core__Buffer);
7932 var1 = var2;
7933 varoncenew = var1;
7934 varoncenew_guard = 1;
7935 }
7936 {
7937 var3 = core__flat___Buffer___new(var1);
7938 }
7939 var = var3;
7940 goto RET_LABEL;
7941 RET_LABEL:;
7942 return var;
7943 }
7944 /* method flat$FlatBuffer$enlarge for (self: FlatBuffer, Int) */
7945 void core___core__FlatBuffer___core__abstract_text__Buffer__enlarge(val* self, long p0) {
7946 long var_cap /* var cap: Int */;
7947 long var /* : Int */;
7948 long var2 /* : Int */;
7949 long var_c /* var c: Int */;
7950 short int var3 /* : Bool */;
7951 short int var5 /* : Bool */;
7952 int cltype;
7953 int idtype;
7954 const char* var_class_name;
7955 short int var6 /* : Bool */;
7956 short int var7 /* : Bool */;
7957 short int var9 /* : Bool */;
7958 int cltype10;
7959 int idtype11;
7960 const char* var_class_name12;
7961 short int var13 /* : Bool */;
7962 short int var14 /* : Bool */;
7963 short int var16 /* : Bool */;
7964 int cltype17;
7965 int idtype18;
7966 const char* var_class_name19;
7967 short int var20 /* : Bool */;
7968 long var21 /* : Int */;
7969 short int var23 /* : Bool */;
7970 int cltype24;
7971 int idtype25;
7972 const char* var_class_name26;
7973 long var27 /* : Int */;
7974 long var29 /* : Int */;
7975 long var_bln /* var bln: Int */;
7976 static char* varoncenew;
7977 static int varoncenew_guard;
7978 char* var30 /* : CString */;
7979 char* var31 /* : CString */;
7980 char* var32 /* : CString */;
7981 char* var34 /* : CString */;
7982 char* var_a /* var a: CString */;
7983 short int var35 /* : Bool */;
7984 short int var37 /* : Bool */;
7985 int cltype38;
7986 int idtype39;
7987 const char* var_class_name40;
7988 short int var41 /* : Bool */;
7989 char* var42 /* : CString */;
7990 char* var_it /* var it: CString */;
7991 short int var43 /* : Bool */;
7992 short int var45 /* : Bool */;
7993 int cltype46;
7994 int idtype47;
7995 const char* var_class_name48;
7996 short int var49 /* : Bool */;
7997 var_cap = p0;
7998 {
7999 { /* Inline flat$FlatBuffer$capacity (self) on <self:FlatBuffer> */
8000 var2 = self->attrs[COLOR_core__flat__FlatBuffer___capacity].l; /* _capacity on <self:FlatBuffer> */
8001 var = var2;
8002 RET_LABEL1:(void)0;
8003 }
8004 }
8005 var_c = var;
8006 {
8007 { /* Inline kernel$Int$<= (var_cap,var_c) on <var_cap:Int> */
8008 /* Covariant cast for argument 0 (i) <var_c:Int> isa OTHER */
8009 /* <var_c:Int> isa OTHER */
8010 var5 = 1; /* easy <var_c:Int> isa OTHER*/
8011 if (unlikely(!var5)) {
8012 var_class_name = type_core__Int.name;
8013 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
8014 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
8015 fatal_exit(1);
8016 }
8017 var6 = var_cap <= var_c;
8018 var3 = var6;
8019 goto RET_LABEL4;
8020 RET_LABEL4:(void)0;
8021 }
8022 }
8023 if (var3){
8024 goto RET_LABEL;
8025 } else {
8026 }
8027 {
8028 { /* Inline kernel$Int$<= (var_c,16l) on <var_c:Int> */
8029 /* Covariant cast for argument 0 (i) <16l:Int> isa OTHER */
8030 /* <16l:Int> isa OTHER */
8031 var9 = 1; /* easy <16l:Int> isa OTHER*/
8032 if (unlikely(!var9)) {
8033 var_class_name12 = type_core__Int.name;
8034 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12);
8035 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
8036 fatal_exit(1);
8037 }
8038 var13 = var_c <= 16l;
8039 var7 = var13;
8040 goto RET_LABEL8;
8041 RET_LABEL8:(void)0;
8042 }
8043 }
8044 if (var7){
8045 var_c = 16l;
8046 } else {
8047 }
8048 for(;;) {
8049 {
8050 { /* Inline kernel$Int$<= (var_c,var_cap) on <var_c:Int> */
8051 /* Covariant cast for argument 0 (i) <var_cap:Int> isa OTHER */
8052 /* <var_cap:Int> isa OTHER */
8053 var16 = 1; /* easy <var_cap:Int> isa OTHER*/
8054 if (unlikely(!var16)) {
8055 var_class_name19 = type_core__Int.name;
8056 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
8057 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
8058 fatal_exit(1);
8059 }
8060 var20 = var_c <= var_cap;
8061 var14 = var20;
8062 goto RET_LABEL15;
8063 RET_LABEL15:(void)0;
8064 }
8065 }
8066 if (var14){
8067 {
8068 { /* Inline kernel$Int$* (var_c,2l) on <var_c:Int> */
8069 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
8070 /* <2l:Int> isa OTHER */
8071 var23 = 1; /* easy <2l:Int> isa OTHER*/
8072 if (unlikely(!var23)) {
8073 var_class_name26 = type_core__Int.name;
8074 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26);
8075 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 732);
8076 fatal_exit(1);
8077 }
8078 var27 = var_c * 2l;
8079 var21 = var27;
8080 goto RET_LABEL22;
8081 RET_LABEL22:(void)0;
8082 }
8083 }
8084 var_c = var21;
8085 } else {
8086 goto BREAK_label;
8087 }
8088 }
8089 BREAK_label: (void)0;
8090 {
8091 { /* Inline abstract_text$Buffer$written= (self,0) on <self:FlatBuffer> */
8092 self->attrs[COLOR_core__abstract_text__Buffer___written].s = 0; /* _written on <self:FlatBuffer> */
8093 RET_LABEL28:(void)0;
8094 }
8095 }
8096 var29 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
8097 var_bln = var29;
8098 if (likely(varoncenew_guard)) {
8099 var30 = varoncenew;
8100 } else {
8101 var31 = NULL/*special!*/;
8102 var30 = var31;
8103 varoncenew = var30;
8104 varoncenew_guard = 1;
8105 }
8106 {
8107 { /* Inline native$CString$new (var30,var_c) on <var30:CString> */
8108 var34 = (char*)nit_alloc(var_c);
8109 var32 = var34;
8110 goto RET_LABEL33;
8111 RET_LABEL33:(void)0;
8112 }
8113 }
8114 var_a = var32;
8115 {
8116 { /* Inline kernel$Int$> (var_bln,0l) on <var_bln:Int> */
8117 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
8118 /* <0l:Int> isa OTHER */
8119 var37 = 1; /* easy <0l:Int> isa OTHER*/
8120 if (unlikely(!var37)) {
8121 var_class_name40 = type_core__Int.name;
8122 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40);
8123 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
8124 fatal_exit(1);
8125 }
8126 var41 = var_bln > 0l;
8127 var35 = var41;
8128 goto RET_LABEL36;
8129 RET_LABEL36:(void)0;
8130 }
8131 }
8132 if (var35){
8133 var42 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
8134 var_it = var42;
8135 {
8136 { /* Inline kernel$Int$> (var_bln,0l) on <var_bln:Int> */
8137 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
8138 /* <0l:Int> isa OTHER */
8139 var45 = 1; /* easy <0l:Int> isa OTHER*/
8140 if (unlikely(!var45)) {
8141 var_class_name48 = type_core__Int.name;
8142 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48);
8143 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
8144 fatal_exit(1);
8145 }
8146 var49 = var_bln > 0l;
8147 var43 = var49;
8148 goto RET_LABEL44;
8149 RET_LABEL44:(void)0;
8150 }
8151 }
8152 if (var43){
8153 {
8154 { /* Inline native$CString$copy_to (var_it,var_a,var_bln,0l,0l) on <var_it:CString> */
8155 memmove(var_a+0l,var_it+0l,var_bln);
8156 RET_LABEL50:(void)0;
8157 }
8158 }
8159 } else {
8160 }
8161 } else {
8162 }
8163 self->attrs[COLOR_core__abstract_text__FlatText___items].str = var_a; /* _items on <self:FlatBuffer> */
8164 {
8165 { /* Inline flat$FlatBuffer$capacity= (self,var_c) on <self:FlatBuffer> */
8166 self->attrs[COLOR_core__flat__FlatBuffer___capacity].l = var_c; /* _capacity on <self:FlatBuffer> */
8167 RET_LABEL51:(void)0;
8168 }
8169 }
8170 RET_LABEL:;
8171 }
8172 /* method flat$FlatBuffer$to_s for (self: FlatBuffer): String */
8173 val* core___core__FlatBuffer___core__abstract_text__Object__to_s(val* self) {
8174 val* var /* : String */;
8175 long var2 /* : Int */;
8176 long var_bln /* var bln: Int */;
8177 short int var3 /* : Bool */;
8178 short int var5 /* : Bool */;
8179 static char* varoncenew;
8180 static int varoncenew_guard;
8181 char* var6 /* : CString */;
8182 char* var7 /* : CString */;
8183 char* var8 /* : CString */;
8184 char* var10 /* : CString */;
8185 static val* varoncenew11;
8186 static int varoncenew11_guard;
8187 val* var12 /* : FlatString */;
8188 val* var13 /* : FlatString */;
8189 char* var14 /* : CString */;
8190 long var15 /* : Int */;
8191 val* var16 /* : FlatString */;
8192 {
8193 { /* Inline abstract_text$Buffer$written= (self,1) on <self:FlatBuffer> */
8194 self->attrs[COLOR_core__abstract_text__Buffer___written].s = 1; /* _written on <self:FlatBuffer> */
8195 RET_LABEL1:(void)0;
8196 }
8197 }
8198 var2 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
8199 var_bln = var2;
8200 {
8201 { /* Inline kernel$Int$== (var_bln,0l) on <var_bln:Int> */
8202 var5 = var_bln == 0l;
8203 var3 = var5;
8204 goto RET_LABEL4;
8205 RET_LABEL4:(void)0;
8206 }
8207 }
8208 if (var3){
8209 if (likely(varoncenew_guard)) {
8210 var6 = varoncenew;
8211 } else {
8212 var7 = NULL/*special!*/;
8213 var6 = var7;
8214 varoncenew = var6;
8215 varoncenew_guard = 1;
8216 }
8217 {
8218 { /* Inline native$CString$new (var6,1l) on <var6:CString> */
8219 var10 = (char*)nit_alloc(1l);
8220 var8 = var10;
8221 goto RET_LABEL9;
8222 RET_LABEL9:(void)0;
8223 }
8224 }
8225 self->attrs[COLOR_core__abstract_text__FlatText___items].str = var8; /* _items on <self:FlatBuffer> */
8226 } else {
8227 }
8228 if (likely(varoncenew11_guard)) {
8229 var12 = varoncenew11;
8230 } else {
8231 var13 = NEW_core__FlatString(&type_core__FlatString);
8232 var12 = var13;
8233 varoncenew11 = var12;
8234 varoncenew11_guard = 1;
8235 }
8236 var14 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
8237 var15 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatBuffer> */
8238 {
8239 var16 = core___core__FlatString___full(var12, var14, var_bln, 0l, var15);
8240 }
8241 var = var16;
8242 goto RET_LABEL;
8243 RET_LABEL:;
8244 return var;
8245 }
8246 /* method flat$FlatBuffer$to_cstring for (self: FlatBuffer): CString */
8247 char* core___core__FlatBuffer___core__abstract_text__Text__to_cstring(val* self) {
8248 char* var /* : CString */;
8249 long var1 /* : Int */;
8250 long var_bln /* var bln: Int */;
8251 static char* varoncenew;
8252 static int varoncenew_guard;
8253 char* var2 /* : CString */;
8254 char* var3 /* : CString */;
8255 long var4 /* : Int */;
8256 short int var6 /* : Bool */;
8257 int cltype;
8258 int idtype;
8259 const char* var_class_name;
8260 long var7 /* : Int */;
8261 char* var8 /* : CString */;
8262 char* var10 /* : CString */;
8263 char* var_new_native /* var new_native: CString */;
8264 long var12 /* : Int */;
8265 short int var13 /* : Bool */;
8266 short int var15 /* : Bool */;
8267 int cltype16;
8268 int idtype17;
8269 const char* var_class_name18;
8270 short int var19 /* : Bool */;
8271 char* var20 /* : CString */;
8272 var1 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
8273 var_bln = var1;
8274 if (likely(varoncenew_guard)) {
8275 var2 = varoncenew;
8276 } else {
8277 var3 = NULL/*special!*/;
8278 var2 = var3;
8279 varoncenew = var2;
8280 varoncenew_guard = 1;
8281 }
8282 {
8283 { /* Inline kernel$Int$+ (var_bln,1l) on <var_bln:Int> */
8284 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8285 /* <1l:Int> isa OTHER */
8286 var6 = 1; /* easy <1l:Int> isa OTHER*/
8287 if (unlikely(!var6)) {
8288 var_class_name = type_core__Int.name;
8289 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
8290 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
8291 fatal_exit(1);
8292 }
8293 var7 = var_bln + 1l;
8294 var4 = var7;
8295 goto RET_LABEL5;
8296 RET_LABEL5:(void)0;
8297 }
8298 }
8299 {
8300 { /* Inline native$CString$new (var2,var4) on <var2:CString> */
8301 var10 = (char*)nit_alloc(var4);
8302 var8 = var10;
8303 goto RET_LABEL9;
8304 RET_LABEL9:(void)0;
8305 }
8306 }
8307 var_new_native = var8;
8308 {
8309 { /* Inline native$CString$[]= (var_new_native,var_bln,((unsigned char)0x00)) on <var_new_native:CString> */
8310 var_new_native[var_bln]=(unsigned char)((unsigned char)0x00);
8311 RET_LABEL11:(void)0;
8312 }
8313 }
8314 var12 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatBuffer> */
8315 {
8316 { /* Inline kernel$Int$> (var12,0l) on <var12:Int> */
8317 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
8318 /* <0l:Int> isa OTHER */
8319 var15 = 1; /* easy <0l:Int> isa OTHER*/
8320 if (unlikely(!var15)) {
8321 var_class_name18 = type_core__Int.name;
8322 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
8323 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
8324 fatal_exit(1);
8325 }
8326 var19 = var12 > 0l;
8327 var13 = var19;
8328 goto RET_LABEL14;
8329 RET_LABEL14:(void)0;
8330 }
8331 }
8332 if (var13){
8333 var20 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
8334 {
8335 { /* Inline native$CString$copy_to (var20,var_new_native,var_bln,0l,0l) on <var20:CString> */
8336 memmove(var_new_native+0l,var20+0l,var_bln);
8337 RET_LABEL21:(void)0;
8338 }
8339 }
8340 } else {
8341 }
8342 var = var_new_native;
8343 goto RET_LABEL;
8344 RET_LABEL:;
8345 return var;
8346 }
8347 /* method flat$FlatBuffer$init for (self: FlatBuffer) */
8348 void core___core__FlatBuffer___core__kernel__Object__init(val* self) {
8349 {
8350 ((void(*)(val* self))(self->class->vft[COLOR_core___core__FlatBuffer___core__kernel__Object__init]))(self); /* init on <self:FlatBuffer>*/
8351 }
8352 RET_LABEL:;
8353 }
8354 /* method flat$FlatBuffer$with_infos for (self: FlatBuffer, CString, Int, Int, Int) */
8355 void core___core__FlatBuffer___with_infos(val* self, char* p0, long p1, long p2, long p3) {
8356 char* var_items /* var items: CString */;
8357 long var_capacity /* var capacity: Int */;
8358 long var_byte_length /* var byte_length: Int */;
8359 long var_length /* var length: Int */;
8360 {
8361 { /* Inline flat$FlatBuffer$init (self) on <self:FlatBuffer> */
8362 {
8363 ((void(*)(val* self))(self->class->vft[COLOR_core___core__FlatBuffer___core__kernel__Object__init]))(self); /* init on <self:FlatBuffer>*/
8364 }
8365 RET_LABEL1:(void)0;
8366 }
8367 }
8368 var_items = p0;
8369 var_capacity = p1;
8370 var_byte_length = p2;
8371 var_length = p3;
8372 self->attrs[COLOR_core__abstract_text__FlatText___items].str = var_items; /* _items on <self:FlatBuffer> */
8373 {
8374 { /* Inline flat$FlatBuffer$capacity= (self,var_capacity) on <self:FlatBuffer> */
8375 self->attrs[COLOR_core__flat__FlatBuffer___capacity].l = var_capacity; /* _capacity on <self:FlatBuffer> */
8376 RET_LABEL2:(void)0;
8377 }
8378 }
8379 self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l = var_byte_length; /* _byte_length on <self:FlatBuffer> */
8380 self->attrs[COLOR_core__abstract_text__FlatText___length].l = var_length; /* _length on <self:FlatBuffer> */
8381 RET_LABEL:;
8382 }
8383 /* method flat$FlatBuffer$from for (self: FlatBuffer, Text) */
8384 void core___core__FlatBuffer___from(val* self, val* p0) {
8385 val* var_s /* var s: Text */;
8386 static char* varoncenew;
8387 static int varoncenew_guard;
8388 char* var /* : CString */;
8389 char* var2 /* : CString */;
8390 long var3 /* : Int */;
8391 char* var4 /* : CString */;
8392 char* var6 /* : CString */;
8393 val* var7 /* : Iterator[FlatText] */;
8394 val* var_ /* var : Iterator[FlatText] */;
8395 val* var8 /* : Iterator[nullable Object] */;
8396 val* var_9 /* var : Iterator[FlatText] */;
8397 short int var10 /* : Bool */;
8398 val* var11 /* : nullable Object */;
8399 val* var_i /* var i: FlatText */;
8400 char* var12 /* : CString */;
8401 char* var13 /* : CString */;
8402 long var14 /* : Int */;
8403 long var15 /* : Int */;
8404 long var17 /* : Int */;
8405 long var18 /* : Int */;
8406 long var19 /* : Int */;
8407 {
8408 { /* Inline flat$FlatBuffer$init (self) on <self:FlatBuffer> */
8409 {
8410 ((void(*)(val* self))(self->class->vft[COLOR_core___core__FlatBuffer___core__kernel__Object__init]))(self); /* init on <self:FlatBuffer>*/
8411 }
8412 RET_LABEL1:(void)0;
8413 }
8414 }
8415 var_s = p0;
8416 if (likely(varoncenew_guard)) {
8417 var = varoncenew;
8418 } else {
8419 var2 = NULL/*special!*/;
8420 var = var2;
8421 varoncenew = var;
8422 varoncenew_guard = 1;
8423 }
8424 {
8425 var3 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__byte_length]))(var_s); /* byte_length on <var_s:Text>*/
8426 }
8427 {
8428 { /* Inline native$CString$new (var,var3) on <var:CString> */
8429 var6 = (char*)nit_alloc(var3);
8430 var4 = var6;
8431 goto RET_LABEL5;
8432 RET_LABEL5:(void)0;
8433 }
8434 }
8435 self->attrs[COLOR_core__abstract_text__FlatText___items].str = var4; /* _items on <self:FlatBuffer> */
8436 {
8437 var7 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__substrings]))(var_s); /* substrings on <var_s:Text>*/
8438 }
8439 var_ = var7;
8440 {
8441 var8 = ((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]>*/
8442 }
8443 var_9 = var8;
8444 for(;;) {
8445 {
8446 var10 = ((short int(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_9); /* is_ok on <var_9:Iterator[FlatText]>*/
8447 }
8448 if (var10){
8449 } else {
8450 goto BREAK_label;
8451 }
8452 {
8453 var11 = ((val*(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_9); /* item on <var_9:Iterator[FlatText]>*/
8454 }
8455 var_i = var11;
8456 var12 = var_i->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_i:FlatText> */
8457 var13 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
8458 var14 = var_i->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_i:FlatText> */
8459 {
8460 var15 = core__flat___FlatText___first_byte(self);
8461 }
8462 {
8463 { /* Inline native$CString$copy_to (var12,var13,var14,var15,0l) on <var12:CString> */
8464 memmove(var13+0l,var12+var15,var14);
8465 RET_LABEL16:(void)0;
8466 }
8467 }
8468 {
8469 ((void(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_9); /* next on <var_9:Iterator[FlatText]>*/
8470 }
8471 }
8472 BREAK_label: (void)0;
8473 {
8474 ((void(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_9); /* finish on <var_9:Iterator[FlatText]>*/
8475 }
8476 {
8477 var17 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__byte_length]))(var_s); /* byte_length on <var_s:Text>*/
8478 }
8479 self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l = var17; /* _byte_length on <self:FlatBuffer> */
8480 {
8481 var18 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__length]))(var_s); /* length on <var_s:Text>*/
8482 }
8483 self->attrs[COLOR_core__abstract_text__FlatText___length].l = var18; /* _length on <self:FlatBuffer> */
8484 var19 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
8485 self->attrs[COLOR_core__flat__FlatBuffer___capacity].l = var19; /* _capacity on <self:FlatBuffer> */
8486 RET_LABEL:;
8487 }
8488 /* method flat$FlatBuffer$with_capacity for (self: FlatBuffer, Int) */
8489 void core___core__FlatBuffer___with_capacity(val* self, long p0) {
8490 long var_cap /* var cap: Int */;
8491 short int var /* : Bool */;
8492 short int var3 /* : Bool */;
8493 int cltype;
8494 int idtype;
8495 const char* var_class_name;
8496 short int var4 /* : Bool */;
8497 static char* varoncenew;
8498 static int varoncenew_guard;
8499 char* var5 /* : CString */;
8500 char* var6 /* : CString */;
8501 char* var7 /* : CString */;
8502 char* var9 /* : CString */;
8503 {
8504 { /* Inline flat$FlatBuffer$init (self) on <self:FlatBuffer> */
8505 {
8506 ((void(*)(val* self))(self->class->vft[COLOR_core___core__FlatBuffer___core__kernel__Object__init]))(self); /* init on <self:FlatBuffer>*/
8507 }
8508 RET_LABEL1:(void)0;
8509 }
8510 }
8511 var_cap = p0;
8512 {
8513 { /* Inline kernel$Int$>= (var_cap,0l) on <var_cap:Int> */
8514 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
8515 /* <0l:Int> isa OTHER */
8516 var3 = 1; /* easy <0l:Int> isa OTHER*/
8517 if (unlikely(!var3)) {
8518 var_class_name = type_core__Int.name;
8519 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
8520 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
8521 fatal_exit(1);
8522 }
8523 var4 = var_cap >= 0l;
8524 var = var4;
8525 goto RET_LABEL2;
8526 RET_LABEL2:(void)0;
8527 }
8528 }
8529 if (unlikely(!var)) {
8530 if(catchStack.cursor >= 0){
8531 longjmp(catchStack.envs[catchStack.cursor], 1);
8532 }
8533 PRINT_ERROR("Runtime error: %s", "Assert failed");
8534 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1065);
8535 fatal_exit(1);
8536 }
8537 if (likely(varoncenew_guard)) {
8538 var5 = varoncenew;
8539 } else {
8540 var6 = NULL/*special!*/;
8541 var5 = var6;
8542 varoncenew = var5;
8543 varoncenew_guard = 1;
8544 }
8545 {
8546 { /* Inline native$CString$new (var5,var_cap) on <var5:CString> */
8547 var9 = (char*)nit_alloc(var_cap);
8548 var7 = var9;
8549 goto RET_LABEL8;
8550 RET_LABEL8:(void)0;
8551 }
8552 }
8553 self->attrs[COLOR_core__abstract_text__FlatText___items].str = var7; /* _items on <self:FlatBuffer> */
8554 {
8555 { /* Inline flat$FlatBuffer$capacity= (self,var_cap) on <self:FlatBuffer> */
8556 self->attrs[COLOR_core__flat__FlatBuffer___capacity].l = var_cap; /* _capacity on <self:FlatBuffer> */
8557 RET_LABEL10:(void)0;
8558 }
8559 }
8560 self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l = 0l; /* _byte_length on <self:FlatBuffer> */
8561 RET_LABEL:;
8562 }
8563 /* method flat$FlatBuffer$append for (self: FlatBuffer, Text) */
8564 void core___core__FlatBuffer___core__abstract_text__Buffer__append(val* self, val* p0) {
8565 val* var_s /* var s: Text */;
8566 short int var /* : Bool */;
8567 long var1 /* : Int */;
8568 long var_sl /* var sl: Int */;
8569 long var2 /* : Int */;
8570 long var3 /* : Int */;
8571 short int var5 /* : Bool */;
8572 int cltype;
8573 int idtype;
8574 const char* var_class_name;
8575 long var6 /* : Int */;
8576 long var_nln /* var nln: Int */;
8577 short int var7 /* : Bool */;
8578 int cltype8;
8579 int idtype9;
8580 char* var10 /* : CString */;
8581 char* var11 /* : CString */;
8582 long var12 /* : Int */;
8583 long var13 /* : Int */;
8584 val* var15 /* : Iterator[FlatText] */;
8585 val* var_ /* var : Iterator[FlatText] */;
8586 val* var16 /* : Iterator[nullable Object] */;
8587 val* var_17 /* var : Iterator[FlatText] */;
8588 short int var18 /* : Bool */;
8589 val* var19 /* : nullable Object */;
8590 val* var_i /* var i: FlatText */;
8591 val* var_20 /* var : FlatBuffer */;
8592 long var21 /* : Int */;
8593 long var22 /* : Int */;
8594 long var24 /* : Int */;
8595 long var25 /* : Int */;
8596 short int var27 /* : Bool */;
8597 int cltype28;
8598 int idtype29;
8599 const char* var_class_name30;
8600 long var31 /* : Int */;
8601 var_s = p0;
8602 {
8603 var = ((short int(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__is_empty]))(var_s); /* is_empty on <var_s:Text>*/
8604 }
8605 if (var){
8606 goto RET_LABEL;
8607 } else {
8608 }
8609 {
8610 var1 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__byte_length]))(var_s); /* byte_length on <var_s:Text>*/
8611 }
8612 var_sl = var1;
8613 var2 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
8614 {
8615 { /* Inline kernel$Int$+ (var2,var_sl) on <var2:Int> */
8616 /* Covariant cast for argument 0 (i) <var_sl:Int> isa OTHER */
8617 /* <var_sl:Int> isa OTHER */
8618 var5 = 1; /* easy <var_sl:Int> isa OTHER*/
8619 if (unlikely(!var5)) {
8620 var_class_name = type_core__Int.name;
8621 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
8622 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
8623 fatal_exit(1);
8624 }
8625 var6 = var2 + var_sl;
8626 var3 = var6;
8627 goto RET_LABEL4;
8628 RET_LABEL4:(void)0;
8629 }
8630 }
8631 var_nln = var3;
8632 {
8633 core___core__FlatBuffer___core__abstract_text__Buffer__enlarge(self, var_nln); /* Direct call flat$FlatBuffer$enlarge on <self:FlatBuffer>*/
8634 }
8635 /* <var_s:Text> isa FlatText */
8636 cltype8 = type_core__FlatText.color;
8637 idtype9 = type_core__FlatText.id;
8638 if(cltype8 >= var_s->type->table_size) {
8639 var7 = 0;
8640 } else {
8641 var7 = var_s->type->type_table[cltype8] == idtype9;
8642 }
8643 if (var7){
8644 var10 = var_s->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_s:Text(FlatText)> */
8645 var11 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
8646 {
8647 var12 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__flat__FlatText__first_byte]))(var_s); /* first_byte on <var_s:Text(FlatText)>*/
8648 }
8649 var13 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatBuffer> */
8650 {
8651 { /* Inline native$CString$copy_to (var10,var11,var_sl,var12,var13) on <var10:CString> */
8652 memmove(var11+var13,var10+var12,var_sl);
8653 RET_LABEL14:(void)0;
8654 }
8655 }
8656 } else {
8657 {
8658 var15 = ((val*(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__substrings]))(var_s); /* substrings on <var_s:Text>*/
8659 }
8660 var_ = var15;
8661 {
8662 var16 = ((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]>*/
8663 }
8664 var_17 = var16;
8665 for(;;) {
8666 {
8667 var18 = ((short int(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_17); /* is_ok on <var_17:Iterator[FlatText]>*/
8668 }
8669 if (var18){
8670 } else {
8671 goto BREAK_label;
8672 }
8673 {
8674 var19 = ((val*(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_17); /* item on <var_17:Iterator[FlatText]>*/
8675 }
8676 var_i = var19;
8677 {
8678 core___core__FlatBuffer___core__abstract_text__Buffer__append(self, var_i); /* Direct call flat$FlatBuffer$append on <self:FlatBuffer>*/
8679 }
8680 {
8681 ((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_17); /* next on <var_17:Iterator[FlatText]>*/
8682 }
8683 }
8684 BREAK_label: (void)0;
8685 {
8686 ((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_17); /* finish on <var_17:Iterator[FlatText]>*/
8687 }
8688 goto RET_LABEL;
8689 }
8690 self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l = var_nln; /* _byte_length on <self:FlatBuffer> */
8691 var_20 = self;
8692 var21 = var_20->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <var_20:FlatBuffer> */
8693 {
8694 { /* Inline abstract_text$FlatText$length (var_s) on <var_s:Text(FlatText)> */
8695 var24 = var_s->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <var_s:Text(FlatText)> */
8696 var22 = var24;
8697 RET_LABEL23:(void)0;
8698 }
8699 }
8700 {
8701 { /* Inline kernel$Int$+ (var21,var22) on <var21:Int> */
8702 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
8703 /* <var22:Int> isa OTHER */
8704 var27 = 1; /* easy <var22:Int> isa OTHER*/
8705 if (unlikely(!var27)) {
8706 var_class_name30 = type_core__Int.name;
8707 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30);
8708 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
8709 fatal_exit(1);
8710 }
8711 var31 = var21 + var22;
8712 var25 = var31;
8713 goto RET_LABEL26;
8714 RET_LABEL26:(void)0;
8715 }
8716 }
8717 var_20->attrs[COLOR_core__abstract_text__FlatText___length].l = var25; /* _length on <var_20:FlatBuffer> */
8718 RET_LABEL:;
8719 }
8720 /* method flat$FlatBuffer$substring for (self: FlatBuffer, Int, Int): Buffer */
8721 val* core___core__FlatBuffer___core__abstract_text__Text__substring(val* self, long p0, long p1) {
8722 val* var /* : Buffer */;
8723 long var_from /* var from: Int */;
8724 long var_count /* var count: Int */;
8725 short int var1 /* : Bool */;
8726 short int var3 /* : Bool */;
8727 int cltype;
8728 int idtype;
8729 const char* var_class_name;
8730 short int var4 /* : Bool */;
8731 short int var5 /* : Bool */;
8732 short int var7 /* : Bool */;
8733 int cltype8;
8734 int idtype9;
8735 const char* var_class_name10;
8736 short int var11 /* : Bool */;
8737 long var12 /* : Int */;
8738 short int var14 /* : Bool */;
8739 int cltype15;
8740 int idtype16;
8741 const char* var_class_name17;
8742 long var18 /* : Int */;
8743 long var19 /* : Int */;
8744 short int var20 /* : Bool */;
8745 short int var22 /* : Bool */;
8746 int cltype23;
8747 int idtype24;
8748 const char* var_class_name25;
8749 short int var26 /* : Bool */;
8750 long var27 /* : Int */;
8751 long var28 /* : Int */;
8752 short int var30 /* : Bool */;
8753 int cltype31;
8754 int idtype32;
8755 const char* var_class_name33;
8756 long var34 /* : Int */;
8757 short int var35 /* : Bool */;
8758 short int var37 /* : Bool */;
8759 int cltype38;
8760 int idtype39;
8761 const char* var_class_name40;
8762 short int var41 /* : Bool */;
8763 static val* varoncenew;
8764 static int varoncenew_guard;
8765 val* var42 /* : Buffer */;
8766 val* var43 /* : Buffer */;
8767 val* var44 /* : Buffer */;
8768 char* var45 /* : CString */;
8769 char* var_its /* var its: CString */;
8770 long var46 /* : Int */;
8771 long var_bytefrom /* var bytefrom: Int */;
8772 long var47 /* : Int */;
8773 short int var49 /* : Bool */;
8774 int cltype50;
8775 int idtype51;
8776 const char* var_class_name52;
8777 long var53 /* : Int */;
8778 long var54 /* : Int */;
8779 short int var56 /* : Bool */;
8780 int cltype57;
8781 int idtype58;
8782 const char* var_class_name59;
8783 long var60 /* : Int */;
8784 long var61 /* : Int */;
8785 long var_byteto /* var byteto: Int */;
8786 uint32_t var62 /* : Char */;
8787 long var63 /* : Int */;
8788 long var64 /* : Int */;
8789 short int var66 /* : Bool */;
8790 int cltype67;
8791 int idtype68;
8792 const char* var_class_name69;
8793 long var70 /* : Int */;
8794 long var71 /* : Int */;
8795 short int var73 /* : Bool */;
8796 int cltype74;
8797 int idtype75;
8798 const char* var_class_name76;
8799 long var77 /* : Int */;
8800 long var78 /* : Int */;
8801 short int var80 /* : Bool */;
8802 int cltype81;
8803 int idtype82;
8804 const char* var_class_name83;
8805 long var84 /* : Int */;
8806 long var85 /* : Int */;
8807 short int var87 /* : Bool */;
8808 int cltype88;
8809 int idtype89;
8810 const char* var_class_name90;
8811 long var91 /* : Int */;
8812 long var_byte_length /* var byte_length: Int */;
8813 static char* varoncenew92;
8814 static int varoncenew92_guard;
8815 char* var93 /* : CString */;
8816 char* var94 /* : CString */;
8817 char* var95 /* : CString */;
8818 char* var97 /* : CString */;
8819 char* var_r_items /* var r_items: CString */;
8820 val* var99 /* : FlatBuffer */;
8821 var_from = p0;
8822 var_count = p1;
8823 {
8824 { /* Inline kernel$Int$>= (var_count,0l) on <var_count:Int> */
8825 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
8826 /* <0l:Int> isa OTHER */
8827 var3 = 1; /* easy <0l:Int> isa OTHER*/
8828 if (unlikely(!var3)) {
8829 var_class_name = type_core__Int.name;
8830 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
8831 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
8832 fatal_exit(1);
8833 }
8834 var4 = var_count >= 0l;
8835 var1 = var4;
8836 goto RET_LABEL2;
8837 RET_LABEL2:(void)0;
8838 }
8839 }
8840 if (unlikely(!var1)) {
8841 if(catchStack.cursor >= 0){
8842 longjmp(catchStack.envs[catchStack.cursor], 1);
8843 }
8844 PRINT_ERROR("Runtime error: %s", "Assert failed");
8845 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1099);
8846 fatal_exit(1);
8847 }
8848 {
8849 { /* Inline kernel$Int$< (var_from,0l) on <var_from:Int> */
8850 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
8851 /* <0l:Int> isa OTHER */
8852 var7 = 1; /* easy <0l:Int> isa OTHER*/
8853 if (unlikely(!var7)) {
8854 var_class_name10 = type_core__Int.name;
8855 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10);
8856 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
8857 fatal_exit(1);
8858 }
8859 var11 = var_from < 0l;
8860 var5 = var11;
8861 goto RET_LABEL6;
8862 RET_LABEL6:(void)0;
8863 }
8864 }
8865 if (var5){
8866 var_from = 0l;
8867 } else {
8868 }
8869 {
8870 { /* Inline kernel$Int$+ (var_from,var_count) on <var_from:Int> */
8871 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
8872 /* <var_count:Int> isa OTHER */
8873 var14 = 1; /* easy <var_count:Int> isa OTHER*/
8874 if (unlikely(!var14)) {
8875 var_class_name17 = type_core__Int.name;
8876 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
8877 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
8878 fatal_exit(1);
8879 }
8880 var18 = var_from + var_count;
8881 var12 = var18;
8882 goto RET_LABEL13;
8883 RET_LABEL13:(void)0;
8884 }
8885 }
8886 var19 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatBuffer> */
8887 {
8888 { /* Inline kernel$Int$> (var12,var19) on <var12:Int> */
8889 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
8890 /* <var19:Int> isa OTHER */
8891 var22 = 1; /* easy <var19:Int> isa OTHER*/
8892 if (unlikely(!var22)) {
8893 var_class_name25 = type_core__Int.name;
8894 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25);
8895 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
8896 fatal_exit(1);
8897 }
8898 var26 = var12 > var19;
8899 var20 = var26;
8900 goto RET_LABEL21;
8901 RET_LABEL21:(void)0;
8902 }
8903 }
8904 if (var20){
8905 var27 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatBuffer> */
8906 {
8907 { /* Inline kernel$Int$- (var27,var_from) on <var27:Int> */
8908 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
8909 /* <var_from:Int> isa OTHER */
8910 var30 = 1; /* easy <var_from:Int> isa OTHER*/
8911 if (unlikely(!var30)) {
8912 var_class_name33 = type_core__Int.name;
8913 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
8914 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
8915 fatal_exit(1);
8916 }
8917 var34 = var27 - var_from;
8918 var28 = var34;
8919 goto RET_LABEL29;
8920 RET_LABEL29:(void)0;
8921 }
8922 }
8923 var_count = var28;
8924 } else {
8925 }
8926 {
8927 { /* Inline kernel$Int$<= (var_count,0l) on <var_count:Int> */
8928 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
8929 /* <0l:Int> isa OTHER */
8930 var37 = 1; /* easy <0l:Int> isa OTHER*/
8931 if (unlikely(!var37)) {
8932 var_class_name40 = type_core__Int.name;
8933 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40);
8934 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
8935 fatal_exit(1);
8936 }
8937 var41 = var_count <= 0l;
8938 var35 = var41;
8939 goto RET_LABEL36;
8940 RET_LABEL36:(void)0;
8941 }
8942 }
8943 if (var35){
8944 if (likely(varoncenew_guard)) {
8945 var42 = varoncenew;
8946 } else {
8947 var43 = NEW_core__Buffer(&type_core__Buffer);
8948 var42 = var43;
8949 varoncenew = var42;
8950 varoncenew_guard = 1;
8951 }
8952 {
8953 var44 = core__flat___Buffer___new(var42);
8954 }
8955 var = var44;
8956 goto RET_LABEL;
8957 } else {
8958 }
8959 var45 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatBuffer> */
8960 var_its = var45;
8961 {
8962 var46 = core___core__CString___char_to_byte_index(var_its, var_from);
8963 }
8964 var_bytefrom = var46;
8965 {
8966 { /* Inline kernel$Int$+ (var_count,var_from) on <var_count:Int> */
8967 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
8968 /* <var_from:Int> isa OTHER */
8969 var49 = 1; /* easy <var_from:Int> isa OTHER*/
8970 if (unlikely(!var49)) {
8971 var_class_name52 = type_core__Int.name;
8972 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52);
8973 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
8974 fatal_exit(1);
8975 }
8976 var53 = var_count + var_from;
8977 var47 = var53;
8978 goto RET_LABEL48;
8979 RET_LABEL48:(void)0;
8980 }
8981 }
8982 {
8983 { /* Inline kernel$Int$- (var47,1l) on <var47:Int> */
8984 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
8985 /* <1l:Int> isa OTHER */
8986 var56 = 1; /* easy <1l:Int> isa OTHER*/
8987 if (unlikely(!var56)) {
8988 var_class_name59 = type_core__Int.name;
8989 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
8990 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
8991 fatal_exit(1);
8992 }
8993 var60 = var47 - 1l;
8994 var54 = var60;
8995 goto RET_LABEL55;
8996 RET_LABEL55:(void)0;
8997 }
8998 }
8999 {
9000 var61 = core___core__CString___char_to_byte_index(var_its, var54);
9001 }
9002 var_byteto = var61;
9003 {
9004 var62 = core___core__CString___char_at(var_its, var_byteto);
9005 }
9006 {
9007 var63 = core__abstract_text___Char___u8char_len(var62);
9008 }
9009 {
9010 { /* Inline kernel$Int$- (var63,1l) on <var63:Int> */
9011 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
9012 /* <1l:Int> isa OTHER */
9013 var66 = 1; /* easy <1l:Int> isa OTHER*/
9014 if (unlikely(!var66)) {
9015 var_class_name69 = type_core__Int.name;
9016 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name69);
9017 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
9018 fatal_exit(1);
9019 }
9020 var70 = var63 - 1l;
9021 var64 = var70;
9022 goto RET_LABEL65;
9023 RET_LABEL65:(void)0;
9024 }
9025 }
9026 {
9027 { /* Inline kernel$Int$+ (var_byteto,var64) on <var_byteto:Int> */
9028 /* Covariant cast for argument 0 (i) <var64:Int> isa OTHER */
9029 /* <var64:Int> isa OTHER */
9030 var73 = 1; /* easy <var64:Int> isa OTHER*/
9031 if (unlikely(!var73)) {
9032 var_class_name76 = type_core__Int.name;
9033 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76);
9034 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
9035 fatal_exit(1);
9036 }
9037 var77 = var_byteto + var64;
9038 var71 = var77;
9039 goto RET_LABEL72;
9040 RET_LABEL72:(void)0;
9041 }
9042 }
9043 var_byteto = var71;
9044 {
9045 { /* Inline kernel$Int$- (var_byteto,var_bytefrom) on <var_byteto:Int> */
9046 /* Covariant cast for argument 0 (i) <var_bytefrom:Int> isa OTHER */
9047 /* <var_bytefrom:Int> isa OTHER */
9048 var80 = 1; /* easy <var_bytefrom:Int> isa OTHER*/
9049 if (unlikely(!var80)) {
9050 var_class_name83 = type_core__Int.name;
9051 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name83);
9052 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
9053 fatal_exit(1);
9054 }
9055 var84 = var_byteto - var_bytefrom;
9056 var78 = var84;
9057 goto RET_LABEL79;
9058 RET_LABEL79:(void)0;
9059 }
9060 }
9061 {
9062 { /* Inline kernel$Int$+ (var78,1l) on <var78:Int> */
9063 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
9064 /* <1l:Int> isa OTHER */
9065 var87 = 1; /* easy <1l:Int> isa OTHER*/
9066 if (unlikely(!var87)) {
9067 var_class_name90 = type_core__Int.name;
9068 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90);
9069 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
9070 fatal_exit(1);
9071 }
9072 var91 = var78 + 1l;
9073 var85 = var91;
9074 goto RET_LABEL86;
9075 RET_LABEL86:(void)0;
9076 }
9077 }
9078 var_byte_length = var85;
9079 if (likely(varoncenew92_guard)) {
9080 var93 = varoncenew92;
9081 } else {
9082 var94 = NULL/*special!*/;
9083 var93 = var94;
9084 varoncenew92 = var93;
9085 varoncenew92_guard = 1;
9086 }
9087 {
9088 { /* Inline native$CString$new (var93,var_byte_length) on <var93:CString> */
9089 var97 = (char*)nit_alloc(var_byte_length);
9090 var95 = var97;
9091 goto RET_LABEL96;
9092 RET_LABEL96:(void)0;
9093 }
9094 }
9095 var_r_items = var95;
9096 {
9097 { /* Inline native$CString$copy_to (var_its,var_r_items,var_byte_length,var_bytefrom,0l) on <var_its:CString> */
9098 memmove(var_r_items+0l,var_its+var_bytefrom,var_byte_length);
9099 RET_LABEL98:(void)0;
9100 }
9101 }
9102 var99 = NEW_core__FlatBuffer(&type_core__FlatBuffer);
9103 {
9104 core___core__FlatBuffer___with_infos(var99, var_r_items, var_byte_length, var_byte_length, var_count); /* Direct call flat$FlatBuffer$with_infos on <var99:FlatBuffer>*/
9105 }
9106 var = var99;
9107 goto RET_LABEL;
9108 RET_LABEL:;
9109 return var;
9110 }
9111 /* method flat$FlatBuffer$upper for (self: FlatBuffer) */
9112 void core___core__FlatBuffer___core__abstract_text__Buffer__upper(val* self) {
9113 short int var /* : Bool */;
9114 short int var2 /* : Bool */;
9115 long var_i /* var i: Int */;
9116 long var3 /* : Int */;
9117 long var_ /* var : Int */;
9118 short int var4 /* : Bool */;
9119 short int var6 /* : Bool */;
9120 int cltype;
9121 int idtype;
9122 const char* var_class_name;
9123 short int var7 /* : Bool */;
9124 uint32_t var8 /* : Char */;
9125 uint32_t var9 /* : Char */;
9126 long var10 /* : Int */;
9127 {
9128 { /* Inline abstract_text$Buffer$written (self) on <self:FlatBuffer> */
9129 var2 = self->attrs[COLOR_core__abstract_text__Buffer___written].s; /* _written on <self:FlatBuffer> */
9130 var = var2;
9131 RET_LABEL1:(void)0;
9132 }
9133 }
9134 if (var){
9135 {
9136 core___core__FlatBuffer___reset(self); /* Direct call flat$FlatBuffer$reset on <self:FlatBuffer>*/
9137 }
9138 } else {
9139 }
9140 var_i = 0l;
9141 var3 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatBuffer> */
9142 var_ = var3;
9143 for(;;) {
9144 {
9145 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
9146 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
9147 /* <var_:Int> isa OTHER */
9148 var6 = 1; /* easy <var_:Int> isa OTHER*/
9149 if (unlikely(!var6)) {
9150 var_class_name = type_core__Int.name;
9151 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
9152 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
9153 fatal_exit(1);
9154 }
9155 var7 = var_i < var_;
9156 var4 = var7;
9157 goto RET_LABEL5;
9158 RET_LABEL5:(void)0;
9159 }
9160 }
9161 if (var4){
9162 } else {
9163 goto BREAK_label;
9164 }
9165 {
9166 var8 = core__flat___FlatText___core__abstract_text__Text___91d_93d(self, var_i);
9167 }
9168 {
9169 var9 = core___core__Char___to_upper(var8);
9170 }
9171 {
9172 core___core__FlatBuffer___core__abstract_text__Buffer___91d_93d_61d(self, var_i, var9); /* Direct call flat$FlatBuffer$[]= on <self:FlatBuffer>*/
9173 }
9174 {
9175 var10 = core___core__Int___Discrete__successor(var_i, 1l);
9176 }
9177 var_i = var10;
9178 }
9179 BREAK_label: (void)0;
9180 RET_LABEL:;
9181 }
9182 /* method flat$FlatBuffer$lower for (self: FlatBuffer) */
9183 void core___core__FlatBuffer___core__abstract_text__Buffer__lower(val* self) {
9184 short int var /* : Bool */;
9185 short int var2 /* : Bool */;
9186 long var_i /* var i: Int */;
9187 long var3 /* : Int */;
9188 long var_ /* var : Int */;
9189 short int var4 /* : Bool */;
9190 short int var6 /* : Bool */;
9191 int cltype;
9192 int idtype;
9193 const char* var_class_name;
9194 short int var7 /* : Bool */;
9195 uint32_t var8 /* : Char */;
9196 uint32_t var9 /* : Char */;
9197 long var10 /* : Int */;
9198 {
9199 { /* Inline abstract_text$Buffer$written (self) on <self:FlatBuffer> */
9200 var2 = self->attrs[COLOR_core__abstract_text__Buffer___written].s; /* _written on <self:FlatBuffer> */
9201 var = var2;
9202 RET_LABEL1:(void)0;
9203 }
9204 }
9205 if (var){
9206 {
9207 core___core__FlatBuffer___reset(self); /* Direct call flat$FlatBuffer$reset on <self:FlatBuffer>*/
9208 }
9209 } else {
9210 }
9211 var_i = 0l;
9212 var3 = self->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <self:FlatBuffer> */
9213 var_ = var3;
9214 for(;;) {
9215 {
9216 { /* Inline kernel$Int$< (var_i,var_) on <var_i:Int> */
9217 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
9218 /* <var_:Int> isa OTHER */
9219 var6 = 1; /* easy <var_:Int> isa OTHER*/
9220 if (unlikely(!var6)) {
9221 var_class_name = type_core__Int.name;
9222 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
9223 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
9224 fatal_exit(1);
9225 }
9226 var7 = var_i < var_;
9227 var4 = var7;
9228 goto RET_LABEL5;
9229 RET_LABEL5:(void)0;
9230 }
9231 }
9232 if (var4){
9233 } else {
9234 goto BREAK_label;
9235 }
9236 {
9237 var8 = core__flat___FlatText___core__abstract_text__Text___91d_93d(self, var_i);
9238 }
9239 {
9240 var9 = core___core__Char___to_lower(var8);
9241 }
9242 {
9243 core___core__FlatBuffer___core__abstract_text__Buffer___91d_93d_61d(self, var_i, var9); /* Direct call flat$FlatBuffer$[]= on <self:FlatBuffer>*/
9244 }
9245 {
9246 var10 = core___core__Int___Discrete__successor(var_i, 1l);
9247 }
9248 var_i = var10;
9249 }
9250 BREAK_label: (void)0;
9251 RET_LABEL:;
9252 }
9253 /* method flat$FlatBufferCharReverseIterator$target for (self: FlatBufferCharReverseIterator): FlatBuffer */
9254 val* core__flat___core__flat__FlatBufferCharReverseIterator___target(val* self) {
9255 val* var /* : FlatBuffer */;
9256 val* var1 /* : FlatBuffer */;
9257 var1 = self->attrs[COLOR_core__flat__FlatBufferCharReverseIterator___target].val; /* _target on <self:FlatBufferCharReverseIterator> */
9258 if (unlikely(var1 == NULL)) {
9259 if(catchStack.cursor >= 0){
9260 longjmp(catchStack.envs[catchStack.cursor], 1);
9261 }
9262 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9263 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1230);
9264 fatal_exit(1);
9265 }
9266 var = var1;
9267 RET_LABEL:;
9268 return var;
9269 }
9270 /* method flat$FlatBufferCharReverseIterator$target= for (self: FlatBufferCharReverseIterator, FlatBuffer) */
9271 void core__flat___core__flat__FlatBufferCharReverseIterator___target_61d(val* self, val* p0) {
9272 self->attrs[COLOR_core__flat__FlatBufferCharReverseIterator___target].val = p0; /* _target on <self:FlatBufferCharReverseIterator> */
9273 RET_LABEL:;
9274 }
9275 /* method flat$FlatBufferCharReverseIterator$curr_pos for (self: FlatBufferCharReverseIterator): Int */
9276 long core__flat___core__flat__FlatBufferCharReverseIterator___curr_pos(val* self) {
9277 long var /* : Int */;
9278 long var1 /* : Int */;
9279 var1 = self->attrs[COLOR_core__flat__FlatBufferCharReverseIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharReverseIterator> */
9280 var = var1;
9281 RET_LABEL:;
9282 return var;
9283 }
9284 /* method flat$FlatBufferCharReverseIterator$curr_pos= for (self: FlatBufferCharReverseIterator, Int) */
9285 void core__flat___core__flat__FlatBufferCharReverseIterator___curr_pos_61d(val* self, long p0) {
9286 self->attrs[COLOR_core__flat__FlatBufferCharReverseIterator___curr_pos].l = p0; /* _curr_pos on <self:FlatBufferCharReverseIterator> */
9287 RET_LABEL:;
9288 }
9289 /* method flat$FlatBufferCharReverseIterator$index for (self: FlatBufferCharReverseIterator): Int */
9290 long core__flat___core__flat__FlatBufferCharReverseIterator___core__abstract_collection__IndexedIterator__index(val* self) {
9291 long var /* : Int */;
9292 long var1 /* : Int */;
9293 long var3 /* : Int */;
9294 {
9295 { /* Inline flat$FlatBufferCharReverseIterator$curr_pos (self) on <self:FlatBufferCharReverseIterator> */
9296 var3 = self->attrs[COLOR_core__flat__FlatBufferCharReverseIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharReverseIterator> */
9297 var1 = var3;
9298 RET_LABEL2:(void)0;
9299 }
9300 }
9301 var = var1;
9302 goto RET_LABEL;
9303 RET_LABEL:;
9304 return var;
9305 }
9306 /* method flat$FlatBufferCharReverseIterator$is_ok for (self: FlatBufferCharReverseIterator): Bool */
9307 short int core__flat___core__flat__FlatBufferCharReverseIterator___core__abstract_collection__Iterator__is_ok(val* self) {
9308 short int var /* : Bool */;
9309 long var1 /* : Int */;
9310 long var3 /* : Int */;
9311 short int var4 /* : Bool */;
9312 short int var6 /* : Bool */;
9313 int cltype;
9314 int idtype;
9315 const char* var_class_name;
9316 short int var7 /* : Bool */;
9317 {
9318 { /* Inline flat$FlatBufferCharReverseIterator$curr_pos (self) on <self:FlatBufferCharReverseIterator> */
9319 var3 = self->attrs[COLOR_core__flat__FlatBufferCharReverseIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharReverseIterator> */
9320 var1 = var3;
9321 RET_LABEL2:(void)0;
9322 }
9323 }
9324 {
9325 { /* Inline kernel$Int$>= (var1,0l) on <var1:Int> */
9326 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
9327 /* <0l:Int> isa OTHER */
9328 var6 = 1; /* easy <0l:Int> isa OTHER*/
9329 if (unlikely(!var6)) {
9330 var_class_name = type_core__Int.name;
9331 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
9332 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
9333 fatal_exit(1);
9334 }
9335 var7 = var1 >= 0l;
9336 var4 = var7;
9337 goto RET_LABEL5;
9338 RET_LABEL5:(void)0;
9339 }
9340 }
9341 var = var4;
9342 goto RET_LABEL;
9343 RET_LABEL:;
9344 return var;
9345 }
9346 /* method flat$FlatBufferCharReverseIterator$item for (self: FlatBufferCharReverseIterator): Char */
9347 uint32_t core__flat___core__flat__FlatBufferCharReverseIterator___core__abstract_collection__Iterator__item(val* self) {
9348 uint32_t var /* : Char */;
9349 val* var1 /* : FlatBuffer */;
9350 val* var3 /* : FlatBuffer */;
9351 long var4 /* : Int */;
9352 long var6 /* : Int */;
9353 uint32_t var7 /* : Char */;
9354 {
9355 { /* Inline flat$FlatBufferCharReverseIterator$target (self) on <self:FlatBufferCharReverseIterator> */
9356 var3 = self->attrs[COLOR_core__flat__FlatBufferCharReverseIterator___target].val; /* _target on <self:FlatBufferCharReverseIterator> */
9357 if (unlikely(var3 == NULL)) {
9358 if(catchStack.cursor >= 0){
9359 longjmp(catchStack.envs[catchStack.cursor], 1);
9360 }
9361 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9362 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1230);
9363 fatal_exit(1);
9364 }
9365 var1 = var3;
9366 RET_LABEL2:(void)0;
9367 }
9368 }
9369 {
9370 { /* Inline flat$FlatBufferCharReverseIterator$curr_pos (self) on <self:FlatBufferCharReverseIterator> */
9371 var6 = self->attrs[COLOR_core__flat__FlatBufferCharReverseIterator___curr_pos].l; /* _curr_pos on <self:FlatBufferCharReverseIterator> */
9372 var4 = var6;
9373 RET_LABEL5:(void)0;
9374 }
9375 }
9376 {
9377 var7 = core__flat___FlatText___core__abstract_text__Text___91d_93d(var1, var4);
9378 }
9379 var = var7;
9380 goto RET_LABEL;
9381 RET_LABEL:;
9382 return var;
9383 }
9384 /* method flat$FlatBufferCharReverseIterator$item for (self: Iterator[nullable Object]): nullable Object */
9385 val* VIRTUAL_core__flat___core__flat__FlatBufferCharReverseIterator___core__abstract_collection__Iterator__item(val* self) {
9386 val* var /* : nullable Object */;
9387 uint32_t var1 /* : Char */;
9388 val* var2 /* : nullable Object */;
9389 var1 = core__flat___core__flat__FlatBufferCharReverseIterator___core__abstract_collection__Iterator__item(self);
9390 var2 = (val*)((long)(var1)<<2|2);
9391 var = var2;
9392 RET_LABEL:;
9393 return var;
9394 }
9395 /* method flat$FlatBufferCharReverseIterator$next for (self: FlatBufferCharReverseIterator) */
9396 void core__flat___core__flat__FlatBufferCharReverseIterator___core__abstract_collection__Iterator__next(val* self) {
9397 val* var_ /* var : FlatBufferCharReverseIterator */;
9398 long var /* : Int */;
9399 long var2 /* : Int */;
9400 long var3 /* : Int */;
9401 short int var5 /* : Bool */;
9402 int cltype;
9403 int idtype;
9404 const char* var_class_name;
9405 long var6 /* : Int */;
9406 var_ = self;
9407 {
9408 { /* Inline flat$FlatBufferCharReverseIterator$curr_pos (var_) on <var_:FlatBufferCharReverseIterator> */
9409 var2 = var_->attrs[COLOR_core__flat__FlatBufferCharReverseIterator___curr_pos].l; /* _curr_pos on <var_:FlatBufferCharReverseIterator> */
9410 var = var2;
9411 RET_LABEL1:(void)0;
9412 }
9413 }
9414 {
9415 { /* Inline kernel$Int$- (var,1l) on <var:Int> */
9416 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
9417 /* <1l:Int> isa OTHER */
9418 var5 = 1; /* easy <1l:Int> isa OTHER*/
9419 if (unlikely(!var5)) {
9420 var_class_name = type_core__Int.name;
9421 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
9422 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
9423 fatal_exit(1);
9424 }
9425 var6 = var - 1l;
9426 var3 = var6;
9427 goto RET_LABEL4;
9428 RET_LABEL4:(void)0;
9429 }
9430 }
9431 {
9432 { /* Inline flat$FlatBufferCharReverseIterator$curr_pos= (var_,var3) on <var_:FlatBufferCharReverseIterator> */
9433 var_->attrs[COLOR_core__flat__FlatBufferCharReverseIterator___curr_pos].l = var3; /* _curr_pos on <var_:FlatBufferCharReverseIterator> */
9434 RET_LABEL7:(void)0;
9435 }
9436 }
9437 RET_LABEL:;
9438 }
9439 /* method flat$FlatBufferCharReverseIterator$init for (self: FlatBufferCharReverseIterator) */
9440 void core__flat___core__flat__FlatBufferCharReverseIterator___core__kernel__Object__init(val* self) {
9441 {
9442 ((void(*)(val* self))(self->class->vft[COLOR_core__flat___core__flat__FlatBufferCharReverseIterator___core__kernel__Object__init]))(self); /* init on <self:FlatBufferCharReverseIterator>*/
9443 }
9444 RET_LABEL:;
9445 }
9446 /* method flat$FlatBufferCharView$[] for (self: FlatBufferCharView, Int): Char */
9447 uint32_t core__flat___core__flat__FlatBufferCharView___core__abstract_collection__SequenceRead___91d_93d(val* self, long p0) {
9448 uint32_t var /* : Char */;
9449 long var_index /* var index: Int */;
9450 val* var1 /* : Text */;
9451 val* var3 /* : Text */;
9452 uint32_t var4 /* : Char */;
9453 var_index = p0;
9454 {
9455 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatBufferCharView> */
9456 var3 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatBufferCharView> */
9457 if (unlikely(var3 == NULL)) {
9458 if(catchStack.cursor >= 0){
9459 longjmp(catchStack.envs[catchStack.cursor], 1);
9460 }
9461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9462 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
9463 fatal_exit(1);
9464 }
9465 var1 = var3;
9466 RET_LABEL2:(void)0;
9467 }
9468 }
9469 {
9470 var4 = core__flat___FlatText___core__abstract_text__Text___91d_93d(var1, var_index);
9471 }
9472 var = var4;
9473 goto RET_LABEL;
9474 RET_LABEL:;
9475 return var;
9476 }
9477 /* method flat$FlatBufferCharView$[] for (self: SequenceRead[nullable Object], Int): nullable Object */
9478 val* VIRTUAL_core__flat___core__flat__FlatBufferCharView___core__abstract_collection__SequenceRead___91d_93d(val* self, long p0) {
9479 val* var /* : nullable Object */;
9480 uint32_t var1 /* : Char */;
9481 val* var2 /* : nullable Object */;
9482 var1 = core__flat___core__flat__FlatBufferCharView___core__abstract_collection__SequenceRead___91d_93d(self, p0);
9483 var2 = (val*)((long)(var1)<<2|2);
9484 var = var2;
9485 RET_LABEL:;
9486 return var;
9487 }
9488 /* method flat$FlatBufferCharView$[]= for (self: FlatBufferCharView, Int, Char) */
9489 void core__flat___core__flat__FlatBufferCharView___core__abstract_collection__Sequence___91d_93d_61d(val* self, long p0, uint32_t p1) {
9490 short int var /* : Bool */;
9491 int cltype;
9492 int idtype;
9493 const char* var_class_name;
9494 long var_index /* var index: Int */;
9495 uint32_t var_item /* var item: Char */;
9496 short int var1 /* : Bool */;
9497 short int var2 /* : Bool */;
9498 short int var4 /* : Bool */;
9499 int cltype5;
9500 int idtype6;
9501 const char* var_class_name7;
9502 short int var8 /* : Bool */;
9503 short int var_ /* var : Bool */;
9504 long var9 /* : Int */;
9505 short int var10 /* : Bool */;
9506 short int var12 /* : Bool */;
9507 int cltype13;
9508 int idtype14;
9509 const char* var_class_name15;
9510 short int var16 /* : Bool */;
9511 long var17 /* : Int */;
9512 short int var18 /* : Bool */;
9513 short int var20 /* : Bool */;
9514 val* var21 /* : Text */;
9515 val* var23 /* : Text */;
9516 /* Covariant cast for argument 1 (item) <p1:Char> isa Char */
9517 /* <p1:Char> isa Char */
9518 var = 1; /* easy <p1:Char> isa Char*/
9519 if (unlikely(!var)) {
9520 var_class_name = type_core__Char.name;
9521 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Char", var_class_name);
9522 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1251);
9523 fatal_exit(1);
9524 }
9525 var_index = p0;
9526 var_item = p1;
9527 {
9528 { /* Inline kernel$Int$>= (var_index,0l) on <var_index:Int> */
9529 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
9530 /* <0l:Int> isa OTHER */
9531 var4 = 1; /* easy <0l:Int> isa OTHER*/
9532 if (unlikely(!var4)) {
9533 var_class_name7 = type_core__Int.name;
9534 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
9535 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
9536 fatal_exit(1);
9537 }
9538 var8 = var_index >= 0l;
9539 var2 = var8;
9540 goto RET_LABEL3;
9541 RET_LABEL3:(void)0;
9542 }
9543 }
9544 var_ = var2;
9545 if (var2){
9546 {
9547 var9 = core__abstract_text___core__abstract_text__StringCharView___core__abstract_collection__Collection__length(self);
9548 }
9549 {
9550 { /* Inline kernel$Int$<= (var_index,var9) on <var_index:Int> */
9551 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
9552 /* <var9:Int> isa OTHER */
9553 var12 = 1; /* easy <var9:Int> isa OTHER*/
9554 if (unlikely(!var12)) {
9555 var_class_name15 = type_core__Int.name;
9556 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15);
9557 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
9558 fatal_exit(1);
9559 }
9560 var16 = var_index <= var9;
9561 var10 = var16;
9562 goto RET_LABEL11;
9563 RET_LABEL11:(void)0;
9564 }
9565 }
9566 var1 = var10;
9567 } else {
9568 var1 = var_;
9569 }
9570 if (unlikely(!var1)) {
9571 if(catchStack.cursor >= 0){
9572 longjmp(catchStack.envs[catchStack.cursor], 1);
9573 }
9574 PRINT_ERROR("Runtime error: %s", "Assert failed");
9575 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1253);
9576 fatal_exit(1);
9577 }
9578 {
9579 var17 = core__abstract_text___core__abstract_text__StringCharView___core__abstract_collection__Collection__length(self);
9580 }
9581 {
9582 { /* Inline kernel$Int$== (var_index,var17) on <var_index:Int> */
9583 var20 = var_index == var17;
9584 var18 = var20;
9585 goto RET_LABEL19;
9586 RET_LABEL19:(void)0;
9587 }
9588 }
9589 if (var18){
9590 {
9591 core__flat___core__flat__FlatBufferCharView___core__abstract_collection__SimpleCollection__add(self, var_item); /* Direct call flat$FlatBufferCharView$add on <self:FlatBufferCharView>*/
9592 }
9593 goto RET_LABEL;
9594 } else {
9595 }
9596 {
9597 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatBufferCharView> */
9598 var23 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatBufferCharView> */
9599 if (unlikely(var23 == NULL)) {
9600 if(catchStack.cursor >= 0){
9601 longjmp(catchStack.envs[catchStack.cursor], 1);
9602 }
9603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9604 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
9605 fatal_exit(1);
9606 }
9607 var21 = var23;
9608 RET_LABEL22:(void)0;
9609 }
9610 }
9611 {
9612 core___core__FlatBuffer___core__abstract_text__Buffer___91d_93d_61d(var21, var_index, var_item); /* Direct call flat$FlatBuffer$[]= on <var21:Text(FlatBuffer)>*/
9613 }
9614 RET_LABEL:;
9615 }
9616 /* method flat$FlatBufferCharView$[]= for (self: Sequence[nullable Object], Int, nullable Object) */
9617 void VIRTUAL_core__flat___core__flat__FlatBufferCharView___core__abstract_collection__Sequence___91d_93d_61d(val* self, long p0, val* p1) {
9618 uint32_t var /* : Char */;
9619 var = (uint32_t)((long)(p1)>>2);
9620 core__flat___core__flat__FlatBufferCharView___core__abstract_collection__Sequence___91d_93d_61d(self, p0, var); /* Direct call flat$FlatBufferCharView$[]= on <self:Sequence[nullable Object](FlatBufferCharView)>*/
9621 RET_LABEL:;
9622 }
9623 /* method flat$FlatBufferCharView$push for (self: FlatBufferCharView, Char) */
9624 void core__flat___core__flat__FlatBufferCharView___core__abstract_collection__Sequence__push(val* self, uint32_t p0) {
9625 short int var /* : Bool */;
9626 int cltype;
9627 int idtype;
9628 const char* var_class_name;
9629 uint32_t var_c /* var c: Char */;
9630 val* var1 /* : Text */;
9631 val* var3 /* : Text */;
9632 /* Covariant cast for argument 0 (c) <p0:Char> isa Char */
9633 /* <p0:Char> isa Char */
9634 var = 1; /* easy <p0:Char> isa Char*/
9635 if (unlikely(!var)) {
9636 var_class_name = type_core__Char.name;
9637 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Char", var_class_name);
9638 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1261);
9639 fatal_exit(1);
9640 }
9641 var_c = p0;
9642 {
9643 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatBufferCharView> */
9644 var3 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatBufferCharView> */
9645 if (unlikely(var3 == NULL)) {
9646 if(catchStack.cursor >= 0){
9647 longjmp(catchStack.envs[catchStack.cursor], 1);
9648 }
9649 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9650 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
9651 fatal_exit(1);
9652 }
9653 var1 = var3;
9654 RET_LABEL2:(void)0;
9655 }
9656 }
9657 {
9658 core___core__FlatBuffer___core__abstract_text__Buffer__add(var1, var_c); /* Direct call flat$FlatBuffer$add on <var1:Text(FlatBuffer)>*/
9659 }
9660 RET_LABEL:;
9661 }
9662 /* method flat$FlatBufferCharView$push for (self: Sequence[nullable Object], nullable Object) */
9663 void VIRTUAL_core__flat___core__flat__FlatBufferCharView___core__abstract_collection__Sequence__push(val* self, val* p0) {
9664 uint32_t var /* : Char */;
9665 var = (uint32_t)((long)(p0)>>2);
9666 core__flat___core__flat__FlatBufferCharView___core__abstract_collection__Sequence__push(self, var); /* Direct call flat$FlatBufferCharView$push on <self:Sequence[nullable Object](FlatBufferCharView)>*/
9667 RET_LABEL:;
9668 }
9669 /* method flat$FlatBufferCharView$add for (self: FlatBufferCharView, Char) */
9670 void core__flat___core__flat__FlatBufferCharView___core__abstract_collection__SimpleCollection__add(val* self, uint32_t p0) {
9671 short int var /* : Bool */;
9672 int cltype;
9673 int idtype;
9674 const char* var_class_name;
9675 uint32_t var_c /* var c: Char */;
9676 val* var1 /* : Text */;
9677 val* var3 /* : Text */;
9678 /* Covariant cast for argument 0 (c) <p0:Char> isa Char */
9679 /* <p0:Char> isa Char */
9680 var = 1; /* easy <p0:Char> isa Char*/
9681 if (unlikely(!var)) {
9682 var_class_name = type_core__Char.name;
9683 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Char", var_class_name);
9684 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1266);
9685 fatal_exit(1);
9686 }
9687 var_c = p0;
9688 {
9689 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatBufferCharView> */
9690 var3 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatBufferCharView> */
9691 if (unlikely(var3 == NULL)) {
9692 if(catchStack.cursor >= 0){
9693 longjmp(catchStack.envs[catchStack.cursor], 1);
9694 }
9695 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9696 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
9697 fatal_exit(1);
9698 }
9699 var1 = var3;
9700 RET_LABEL2:(void)0;
9701 }
9702 }
9703 {
9704 core___core__FlatBuffer___core__abstract_text__Buffer__add(var1, var_c); /* Direct call flat$FlatBuffer$add on <var1:Text(FlatBuffer)>*/
9705 }
9706 RET_LABEL:;
9707 }
9708 /* method flat$FlatBufferCharView$add for (self: SimpleCollection[nullable Object], nullable Object) */
9709 void VIRTUAL_core__flat___core__flat__FlatBufferCharView___core__abstract_collection__SimpleCollection__add(val* self, val* p0) {
9710 uint32_t var /* : Char */;
9711 var = (uint32_t)((long)(p0)>>2);
9712 core__flat___core__flat__FlatBufferCharView___core__abstract_collection__SimpleCollection__add(self, var); /* Direct call flat$FlatBufferCharView$add on <self:SimpleCollection[nullable Object](FlatBufferCharView)>*/
9713 RET_LABEL:;
9714 }
9715 /* method flat$FlatBufferCharView$enlarge for (self: FlatBufferCharView, Int) */
9716 void core__flat___core__flat__FlatBufferCharView___enlarge(val* self, long p0) {
9717 long var_cap /* var cap: Int */;
9718 val* var /* : Text */;
9719 val* var2 /* : Text */;
9720 var_cap = p0;
9721 {
9722 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatBufferCharView> */
9723 var2 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatBufferCharView> */
9724 if (unlikely(var2 == NULL)) {
9725 if(catchStack.cursor >= 0){
9726 longjmp(catchStack.envs[catchStack.cursor], 1);
9727 }
9728 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9729 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
9730 fatal_exit(1);
9731 }
9732 var = var2;
9733 RET_LABEL1:(void)0;
9734 }
9735 }
9736 {
9737 core___core__FlatBuffer___core__abstract_text__Buffer__enlarge(var, var_cap); /* Direct call flat$FlatBuffer$enlarge on <var:Text(FlatBuffer)>*/
9738 }
9739 RET_LABEL:;
9740 }
9741 /* method flat$FlatBufferCharView$append for (self: FlatBufferCharView, Collection[Char]) */
9742 void core__flat___core__flat__FlatBufferCharView___core__abstract_collection__Sequence__append(val* self, val* p0) {
9743 short int var /* : Bool */;
9744 int cltype;
9745 int idtype;
9746 const char* var_class_name;
9747 val* var_s /* var s: Collection[Char] */;
9748 long var1 /* : Int */;
9749 long var_s_length /* var s_length: Int */;
9750 val* var2 /* : Text */;
9751 val* var4 /* : Text */;
9752 long var5 /* : Int */;
9753 long var7 /* : Int */;
9754 long var8 /* : Int */;
9755 short int var9 /* : Bool */;
9756 short int var11 /* : Bool */;
9757 int cltype12;
9758 int idtype13;
9759 const char* var_class_name14;
9760 short int var15 /* : Bool */;
9761 val* var16 /* : Text */;
9762 val* var18 /* : Text */;
9763 long var19 /* : Int */;
9764 long var20 /* : Int */;
9765 short int var22 /* : Bool */;
9766 int cltype23;
9767 int idtype24;
9768 const char* var_class_name25;
9769 long var26 /* : Int */;
9770 val* var_ /* var : Collection[Char] */;
9771 val* var27 /* : Iterator[nullable Object] */;
9772 val* var_28 /* var : Iterator[Char] */;
9773 short int var29 /* : Bool */;
9774 val* var30 /* : nullable Object */;
9775 uint32_t var31 /* : Char */;
9776 uint32_t var_i /* var i: Char */;
9777 val* var32 /* : Text */;
9778 val* var34 /* : Text */;
9779 /* Covariant cast for argument 0 (s) <p0:Collection[Char]> isa Collection[Char] */
9780 /* <p0:Collection[Char]> isa Collection[Char] */
9781 var = 1; /* easy <p0:Collection[Char]> isa Collection[Char]*/
9782 if (unlikely(!var)) {
9783 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
9784 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[Char]", var_class_name);
9785 PRINT_ERROR(" (%s:%d)\n", FILE_core__flat, 1276);
9786 fatal_exit(1);
9787 }
9788 var_s = p0;
9789 {
9790 var1 = ((long(*)(val* self))((((long)var_s&3)?class_info[((long)var_s&3)]:var_s->class)->vft[COLOR_core__abstract_collection__Collection__length]))(var_s); /* length on <var_s:Collection[Char]>*/
9791 }
9792 var_s_length = var1;
9793 {
9794 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatBufferCharView> */
9795 var4 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatBufferCharView> */
9796 if (unlikely(var4 == NULL)) {
9797 if(catchStack.cursor >= 0){
9798 longjmp(catchStack.envs[catchStack.cursor], 1);
9799 }
9800 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9801 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
9802 fatal_exit(1);
9803 }
9804 var2 = var4;
9805 RET_LABEL3:(void)0;
9806 }
9807 }
9808 {
9809 { /* Inline flat$FlatBuffer$capacity (var2) on <var2:Text(FlatBuffer)> */
9810 var7 = var2->attrs[COLOR_core__flat__FlatBuffer___capacity].l; /* _capacity on <var2:Text(FlatBuffer)> */
9811 var5 = var7;
9812 RET_LABEL6:(void)0;
9813 }
9814 }
9815 {
9816 var8 = ((long(*)(val* self))((((long)var_s&3)?class_info[((long)var_s&3)]:var_s->class)->vft[COLOR_core__abstract_collection__Collection__length]))(var_s); /* length on <var_s:Collection[Char]>*/
9817 }
9818 {
9819 { /* Inline kernel$Int$< (var5,var8) on <var5:Int> */
9820 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
9821 /* <var8:Int> isa OTHER */
9822 var11 = 1; /* easy <var8:Int> isa OTHER*/
9823 if (unlikely(!var11)) {
9824 var_class_name14 = type_core__Int.name;
9825 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
9826 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
9827 fatal_exit(1);
9828 }
9829 var15 = var5 < var8;
9830 var9 = var15;
9831 goto RET_LABEL10;
9832 RET_LABEL10:(void)0;
9833 }
9834 }
9835 if (var9){
9836 {
9837 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatBufferCharView> */
9838 var18 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatBufferCharView> */
9839 if (unlikely(var18 == NULL)) {
9840 if(catchStack.cursor >= 0){
9841 longjmp(catchStack.envs[catchStack.cursor], 1);
9842 }
9843 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9844 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
9845 fatal_exit(1);
9846 }
9847 var16 = var18;
9848 RET_LABEL17:(void)0;
9849 }
9850 }
9851 var19 = var16->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on <var16:Text(FlatBuffer)> */
9852 {
9853 { /* Inline kernel$Int$+ (var_s_length,var19) on <var_s_length:Int> */
9854 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
9855 /* <var19:Int> isa OTHER */
9856 var22 = 1; /* easy <var19:Int> isa OTHER*/
9857 if (unlikely(!var22)) {
9858 var_class_name25 = type_core__Int.name;
9859 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25);
9860 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
9861 fatal_exit(1);
9862 }
9863 var26 = var_s_length + var19;
9864 var20 = var26;
9865 goto RET_LABEL21;
9866 RET_LABEL21:(void)0;
9867 }
9868 }
9869 {
9870 core__flat___core__flat__FlatBufferCharView___enlarge(self, var20); /* Direct call flat$FlatBufferCharView$enlarge on <self:FlatBufferCharView>*/
9871 }
9872 } else {
9873 }
9874 var_ = var_s;
9875 {
9876 var27 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[Char]>*/
9877 }
9878 var_28 = var27;
9879 for(;;) {
9880 {
9881 var29 = ((short int(*)(val* self))((((long)var_28&3)?class_info[((long)var_28&3)]:var_28->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_28); /* is_ok on <var_28:Iterator[Char]>*/
9882 }
9883 if (var29){
9884 } else {
9885 goto BREAK_label;
9886 }
9887 {
9888 var30 = ((val*(*)(val* self))((((long)var_28&3)?class_info[((long)var_28&3)]:var_28->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_28); /* item on <var_28:Iterator[Char]>*/
9889 }
9890 var31 = (uint32_t)((long)(var30)>>2);
9891 var_i = var31;
9892 {
9893 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatBufferCharView> */
9894 var34 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatBufferCharView> */
9895 if (unlikely(var34 == NULL)) {
9896 if(catchStack.cursor >= 0){
9897 longjmp(catchStack.envs[catchStack.cursor], 1);
9898 }
9899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9900 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
9901 fatal_exit(1);
9902 }
9903 var32 = var34;
9904 RET_LABEL33:(void)0;
9905 }
9906 }
9907 {
9908 core___core__FlatBuffer___core__abstract_text__Buffer__add(var32, var_i); /* Direct call flat$FlatBuffer$add on <var32:Text(FlatBuffer)>*/
9909 }
9910 {
9911 ((void(*)(val* self))((((long)var_28&3)?class_info[((long)var_28&3)]:var_28->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_28); /* next on <var_28:Iterator[Char]>*/
9912 }
9913 }
9914 BREAK_label: (void)0;
9915 {
9916 ((void(*)(val* self))((((long)var_28&3)?class_info[((long)var_28&3)]:var_28->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_28); /* finish on <var_28:Iterator[Char]>*/
9917 }
9918 RET_LABEL:;
9919 }
9920 /* method flat$FlatBufferCharView$iterator_from for (self: FlatBufferCharView, Int): IndexedIterator[Char] */
9921 val* core__flat___core__flat__FlatBufferCharView___core__abstract_collection__SequenceRead__iterator_from(val* self, long p0) {
9922 val* var /* : IndexedIterator[Char] */;
9923 long var_pos /* var pos: Int */;
9924 val* var1 /* : FlatBufferCharIterator */;
9925 val* var2 /* : Text */;
9926 val* var4 /* : Text */;
9927 var_pos = p0;
9928 var1 = NEW_core__flat__FlatBufferCharIterator(&type_core__flat__FlatBufferCharIterator);
9929 {
9930 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatBufferCharView> */
9931 var4 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatBufferCharView> */
9932 if (unlikely(var4 == NULL)) {
9933 if(catchStack.cursor >= 0){
9934 longjmp(catchStack.envs[catchStack.cursor], 1);
9935 }
9936 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9937 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
9938 fatal_exit(1);
9939 }
9940 var2 = var4;
9941 RET_LABEL3:(void)0;
9942 }
9943 }
9944 {
9945 ((void(*)(val* self, val* p0))(var1->class->vft[COLOR_core__flat__FlatBufferCharIterator__target_61d]))(var1, var2); /* target= on <var1:FlatBufferCharIterator>*/
9946 }
9947 {
9948 ((void(*)(val* self, long p0))(var1->class->vft[COLOR_core__flat__FlatBufferCharIterator__curr_pos_61d]))(var1, var_pos); /* curr_pos= on <var1:FlatBufferCharIterator>*/
9949 }
9950 {
9951 ((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on <var1:FlatBufferCharIterator>*/
9952 }
9953 var = var1;
9954 goto RET_LABEL;
9955 RET_LABEL:;
9956 return var;
9957 }
9958 /* method flat$FlatBufferCharView$reverse_iterator_from for (self: FlatBufferCharView, Int): IndexedIterator[Char] */
9959 val* core__flat___core__flat__FlatBufferCharView___core__abstract_collection__SequenceRead__reverse_iterator_from(val* self, long p0) {
9960 val* var /* : IndexedIterator[Char] */;
9961 long var_pos /* var pos: Int */;
9962 val* var1 /* : FlatBufferCharReverseIterator */;
9963 val* var2 /* : Text */;
9964 val* var4 /* : Text */;
9965 var_pos = p0;
9966 var1 = NEW_core__flat__FlatBufferCharReverseIterator(&type_core__flat__FlatBufferCharReverseIterator);
9967 {
9968 { /* Inline abstract_text$StringCharView$target (self) on <self:FlatBufferCharView> */
9969 var4 = self->attrs[COLOR_core__abstract_text__StringCharView___target].val; /* _target on <self:FlatBufferCharView> */
9970 if (unlikely(var4 == NULL)) {
9971 if(catchStack.cursor >= 0){
9972 longjmp(catchStack.envs[catchStack.cursor], 1);
9973 }
9974 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
9975 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_text, 1320);
9976 fatal_exit(1);
9977 }
9978 var2 = var4;
9979 RET_LABEL3:(void)0;
9980 }
9981 }
9982 {
9983 ((void(*)(val* self, val* p0))(var1->class->vft[COLOR_core__flat__FlatBufferCharReverseIterator__target_61d]))(var1, var2); /* target= on <var1:FlatBufferCharReverseIterator>*/
9984 }
9985 {
9986 ((void(*)(val* self, long p0))(var1->class->vft[COLOR_core__flat__FlatBufferCharReverseIterator__curr_pos_61d]))(var1, var_pos); /* curr_pos= on <var1:FlatBufferCharReverseIterator>*/
9987 }
9988 {
9989 ((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on <var1:FlatBufferCharReverseIterator>*/
9990 }
9991 var = var1;
9992 goto RET_LABEL;
9993 RET_LABEL:;
9994 return var;
9995 }