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