misc/vim: inform the user when no results are found
[nit.git] / c_src / standard__string.sep.2.c
1 #include "standard__string.sep.0.h"
2 /* method string#Int#fill_buffer for (self: Int, Buffer, Int, Bool) */
3 void standard__string___Int___fill_buffer(long self, val* p0, long p1, short int p2) {
4 val* var_s /* var s: Buffer */;
5 long var_base /* var base: Int */;
6 short int var_signed /* var signed: Bool */;
7 long var /* : Int */;
8 short int var1 /* : Bool */;
9 short int var3 /* : Bool */;
10 int cltype;
11 int idtype;
12 const char* var_class_name;
13 short int var4 /* : Bool */;
14 long var5 /* : Int */;
15 long var7 /* : Int */;
16 long var_n /* var n: Int */;
17 val* var8 /* : Sequence[Char] */;
18 val* var10 /* : Sequence[Char] */;
19 long var11 /* : Int */;
20 char var12 /* : Char */;
21 val* var13 /* : nullable Object */;
22 long var14 /* : Int */;
23 short int var15 /* : Bool */;
24 short int var17 /* : Bool */;
25 val* var18 /* : Sequence[Char] */;
26 val* var20 /* : Sequence[Char] */;
27 long var21 /* : Int */;
28 char var22 /* : Char */;
29 val* var23 /* : nullable Object */;
30 long var24 /* : Int */;
31 long var25 /* : Int */;
32 long var26 /* : Int */;
33 short int var28 /* : Bool */;
34 int cltype29;
35 int idtype30;
36 const char* var_class_name31;
37 long var32 /* : Int */;
38 long var_pos /* var pos: Int */;
39 short int var33 /* : Bool */;
40 long var34 /* : Int */;
41 short int var35 /* : Bool */;
42 short int var37 /* : Bool */;
43 int cltype38;
44 int idtype39;
45 const char* var_class_name40;
46 short int var41 /* : Bool */;
47 short int var_ /* var : Bool */;
48 long var42 /* : Int */;
49 short int var43 /* : Bool */;
50 short int var45 /* : Bool */;
51 int cltype46;
52 int idtype47;
53 const char* var_class_name48;
54 short int var49 /* : Bool */;
55 val* var50 /* : Sequence[Char] */;
56 val* var52 /* : Sequence[Char] */;
57 long var53 /* : Int */;
58 long var55 /* : Int */;
59 char var56 /* : Char */;
60 val* var57 /* : nullable Object */;
61 long var58 /* : Int */;
62 short int var60 /* : Bool */;
63 int cltype61;
64 int idtype62;
65 const char* var_class_name63;
66 long var64 /* : Int */;
67 long var65 /* : Int */;
68 long var66 /* : Int */;
69 short int var68 /* : Bool */;
70 int cltype69;
71 int idtype70;
72 const char* var_class_name71;
73 long var72 /* : Int */;
74 var_s = p0;
75 var_base = p1;
76 var_signed = p2;
77 var = 0;
78 {
79 { /* Inline kernel#Int#< (self,var) on <self:Int> */
80 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
81 /* <var:Int> isa OTHER */
82 var3 = 1; /* easy <var:Int> isa OTHER*/
83 if (unlikely(!var3)) {
84 var_class_name = type_standard__Int.name;
85 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
86 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
87 show_backtrace(1);
88 }
89 var4 = self < var;
90 var1 = var4;
91 goto RET_LABEL2;
92 RET_LABEL2:(void)0;
93 }
94 }
95 if (var1){
96 {
97 { /* Inline kernel#Int#unary - (self) on <self:Int> */
98 var7 = -self;
99 var5 = var7;
100 goto RET_LABEL6;
101 RET_LABEL6:(void)0;
102 }
103 }
104 var_n = var5;
105 {
106 { /* Inline string#FlatBuffer#chars (var_s) on <var_s:Buffer> */
107 var10 = var_s->attrs[COLOR_standard__string__FlatBuffer___chars].val; /* _chars on <var_s:Buffer> */
108 if (unlikely(var10 == NULL)) {
109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
110 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1525);
111 show_backtrace(1);
112 }
113 var8 = var10;
114 RET_LABEL9:(void)0;
115 }
116 }
117 var11 = 0;
118 var12 = '-';
119 {
120 var13 = BOX_standard__Char(var12); /* autobox from Char to nullable Object */
121 ((void (*)(val* self, long p0, val* p1))(var8->class->vft[COLOR_standard__abstract_collection__Sequence___91d_93d_61d]))(var8, var11, var13) /* []= on <var8:Sequence[Char]>*/;
122 }
123 } else {
124 var14 = 0;
125 {
126 { /* Inline kernel#Int#== (self,var14) on <self:Int> */
127 var17 = self == var14;
128 var15 = var17;
129 goto RET_LABEL16;
130 RET_LABEL16:(void)0;
131 }
132 }
133 if (var15){
134 {
135 { /* Inline string#FlatBuffer#chars (var_s) on <var_s:Buffer> */
136 var20 = var_s->attrs[COLOR_standard__string__FlatBuffer___chars].val; /* _chars on <var_s:Buffer> */
137 if (unlikely(var20 == NULL)) {
138 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
139 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1525);
140 show_backtrace(1);
141 }
142 var18 = var20;
143 RET_LABEL19:(void)0;
144 }
145 }
146 var21 = 0;
147 var22 = '0';
148 {
149 var23 = BOX_standard__Char(var22); /* autobox from Char to nullable Object */
150 ((void (*)(val* self, long p0, val* p1))(var18->class->vft[COLOR_standard__abstract_collection__Sequence___91d_93d_61d]))(var18, var21, var23) /* []= on <var18:Sequence[Char]>*/;
151 }
152 goto RET_LABEL;
153 } else {
154 var_n = self;
155 }
156 }
157 {
158 var24 = standard___standard__Int___digit_count(self, var_base);
159 }
160 var25 = 1;
161 {
162 { /* Inline kernel#Int#- (var24,var25) on <var24:Int> */
163 /* Covariant cast for argument 0 (i) <var25:Int> isa OTHER */
164 /* <var25:Int> isa OTHER */
165 var28 = 1; /* easy <var25:Int> isa OTHER*/
166 if (unlikely(!var28)) {
167 var_class_name31 = type_standard__Int.name;
168 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31);
169 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
170 show_backtrace(1);
171 }
172 var32 = var24 - var25;
173 var26 = var32;
174 goto RET_LABEL27;
175 RET_LABEL27:(void)0;
176 }
177 }
178 var_pos = var26;
179 for(;;) {
180 var34 = 0;
181 {
182 { /* Inline kernel#Int#>= (var_pos,var34) on <var_pos:Int> */
183 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
184 /* <var34:Int> isa OTHER */
185 var37 = 1; /* easy <var34:Int> isa OTHER*/
186 if (unlikely(!var37)) {
187 var_class_name40 = type_standard__Int.name;
188 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40);
189 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
190 show_backtrace(1);
191 }
192 var41 = var_pos >= var34;
193 var35 = var41;
194 goto RET_LABEL36;
195 RET_LABEL36:(void)0;
196 }
197 }
198 var_ = var35;
199 if (var35){
200 var42 = 0;
201 {
202 { /* Inline kernel#Int#> (var_n,var42) on <var_n:Int> */
203 /* Covariant cast for argument 0 (i) <var42:Int> isa OTHER */
204 /* <var42:Int> isa OTHER */
205 var45 = 1; /* easy <var42:Int> isa OTHER*/
206 if (unlikely(!var45)) {
207 var_class_name48 = type_standard__Int.name;
208 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48);
209 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
210 show_backtrace(1);
211 }
212 var49 = var_n > var42;
213 var43 = var49;
214 goto RET_LABEL44;
215 RET_LABEL44:(void)0;
216 }
217 }
218 var33 = var43;
219 } else {
220 var33 = var_;
221 }
222 if (var33){
223 {
224 { /* Inline string#FlatBuffer#chars (var_s) on <var_s:Buffer> */
225 var52 = var_s->attrs[COLOR_standard__string__FlatBuffer___chars].val; /* _chars on <var_s:Buffer> */
226 if (unlikely(var52 == NULL)) {
227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
228 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1525);
229 show_backtrace(1);
230 }
231 var50 = var52;
232 RET_LABEL51:(void)0;
233 }
234 }
235 {
236 { /* Inline kernel#Int#% (var_n,var_base) on <var_n:Int> */
237 var55 = var_n % var_base;
238 var53 = var55;
239 goto RET_LABEL54;
240 RET_LABEL54:(void)0;
241 }
242 }
243 {
244 var56 = standard___standard__Int___to_c(var53);
245 }
246 {
247 var57 = BOX_standard__Char(var56); /* autobox from Char to nullable Object */
248 ((void (*)(val* self, long p0, val* p1))(var50->class->vft[COLOR_standard__abstract_collection__Sequence___91d_93d_61d]))(var50, var_pos, var57) /* []= on <var50:Sequence[Char]>*/;
249 }
250 {
251 { /* Inline kernel#Int#/ (var_n,var_base) on <var_n:Int> */
252 /* Covariant cast for argument 0 (i) <var_base:Int> isa OTHER */
253 /* <var_base:Int> isa OTHER */
254 var60 = 1; /* easy <var_base:Int> isa OTHER*/
255 if (unlikely(!var60)) {
256 var_class_name63 = type_standard__Int.name;
257 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63);
258 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418);
259 show_backtrace(1);
260 }
261 var64 = var_n / var_base;
262 var58 = var64;
263 goto RET_LABEL59;
264 RET_LABEL59:(void)0;
265 }
266 }
267 var_n = var58;
268 var65 = 1;
269 {
270 { /* Inline kernel#Int#- (var_pos,var65) on <var_pos:Int> */
271 /* Covariant cast for argument 0 (i) <var65:Int> isa OTHER */
272 /* <var65:Int> isa OTHER */
273 var68 = 1; /* easy <var65:Int> isa OTHER*/
274 if (unlikely(!var68)) {
275 var_class_name71 = type_standard__Int.name;
276 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name71);
277 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
278 show_backtrace(1);
279 }
280 var72 = var_pos - var65;
281 var66 = var72;
282 goto RET_LABEL67;
283 RET_LABEL67:(void)0;
284 }
285 }
286 var_pos = var66;
287 } else {
288 goto BREAK_label;
289 }
290 }
291 BREAK_label: (void)0;
292 RET_LABEL:;
293 }
294 /* method string#Int#int_to_s_len for (self: Int): Int */
295 long standard__string___Int___int_to_s_len(long self) {
296 long var /* : Int */;
297 long var1 /* : Int for extern */;
298 var1 = native_int_length_str(self);
299 var = var1;
300 goto RET_LABEL;
301 RET_LABEL:;
302 return var;
303 }
304 /* method string#Int#native_int_to_s for (self: Int, NativeString, Int) */
305 void standard__string___Int___native_int_to_s(long self, char* p0, long p1) {
306 native_int_to_s(self, p0, p1);
307 RET_LABEL:;
308 }
309 /* method string#Int#to_s for (self: Int): String */
310 val* standard__string___Int___Object__to_s(long self) {
311 val* var /* : String */;
312 long var1 /* : Int */;
313 long var3 /* : Int for extern */;
314 long var_nslen /* var nslen: Int */;
315 char* var4 /* : NativeString */;
316 long var5 /* : Int */;
317 long var6 /* : Int */;
318 short int var8 /* : Bool */;
319 int cltype;
320 int idtype;
321 const char* var_class_name;
322 long var9 /* : Int */;
323 char* var10 /* : NativeString */;
324 char* var12 /* : NativeString */;
325 char* var_ns /* var ns: NativeString */;
326 char var13 /* : Char */;
327 long var15 /* : Int */;
328 long var16 /* : Int */;
329 short int var18 /* : Bool */;
330 int cltype19;
331 int idtype20;
332 const char* var_class_name21;
333 long var22 /* : Int */;
334 val* var24 /* : FlatString */;
335 {
336 { /* Inline string#Int#int_to_s_len (self) on <self:Int> */
337 var3 = native_int_length_str(self);
338 var1 = var3;
339 goto RET_LABEL2;
340 RET_LABEL2:(void)0;
341 }
342 }
343 var_nslen = var1;
344 var4 = NULL/*special!*/;
345 var5 = 1;
346 {
347 { /* Inline kernel#Int#+ (var_nslen,var5) on <var_nslen:Int> */
348 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
349 /* <var5:Int> isa OTHER */
350 var8 = 1; /* easy <var5:Int> isa OTHER*/
351 if (unlikely(!var8)) {
352 var_class_name = type_standard__Int.name;
353 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
354 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
355 show_backtrace(1);
356 }
357 var9 = var_nslen + var5;
358 var6 = var9;
359 goto RET_LABEL7;
360 RET_LABEL7:(void)0;
361 }
362 }
363 {
364 { /* Inline string#NativeString#new (var4,var6) on <var4:NativeString> */
365 var12 = (char*)nit_alloc(var6);
366 var10 = var12;
367 goto RET_LABEL11;
368 RET_LABEL11:(void)0;
369 }
370 }
371 var_ns = var10;
372 var13 = '\0';
373 {
374 { /* Inline string#NativeString#[]= (var_ns,var_nslen,var13) on <var_ns:NativeString> */
375 var_ns[var_nslen]=var13;
376 RET_LABEL14:(void)0;
377 }
378 }
379 var15 = 1;
380 {
381 { /* Inline kernel#Int#+ (var_nslen,var15) on <var_nslen:Int> */
382 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
383 /* <var15:Int> isa OTHER */
384 var18 = 1; /* easy <var15:Int> isa OTHER*/
385 if (unlikely(!var18)) {
386 var_class_name21 = type_standard__Int.name;
387 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
388 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
389 show_backtrace(1);
390 }
391 var22 = var_nslen + var15;
392 var16 = var22;
393 goto RET_LABEL17;
394 RET_LABEL17:(void)0;
395 }
396 }
397 {
398 { /* Inline string#Int#native_int_to_s (self,var_ns,var16) on <self:Int> */
399 native_int_to_s(self, var_ns, var16);
400 RET_LABEL23:(void)0;
401 }
402 }
403 {
404 var24 = standard___standard__NativeString___to_s_with_length(var_ns, var_nslen);
405 }
406 var = var24;
407 goto RET_LABEL;
408 RET_LABEL:;
409 return var;
410 }
411 /* method string#Int#to_s for (self: Object): String */
412 val* VIRTUAL_standard__string___Int___Object__to_s(val* self) {
413 val* var /* : String */;
414 val* var1 /* : String */;
415 long var2 /* : Int */;
416 var2 = ((struct instance_standard__Int*)self)->value; /* autounbox from Object to Int */;
417 var1 = standard__string___Int___Object__to_s(var2);
418 var = var1;
419 RET_LABEL:;
420 return var;
421 }
422 /* method string#Int#to_hex for (self: Int): String */
423 val* standard__string___Int___to_hex(long self) {
424 val* var /* : String */;
425 long var1 /* : Int */;
426 short int var2 /* : Bool */;
427 val* var3 /* : String */;
428 var1 = 16;
429 var2 = 0;
430 {
431 var3 = standard__string___Int___to_base(self, var1, var2);
432 }
433 var = var3;
434 goto RET_LABEL;
435 RET_LABEL:;
436 return var;
437 }
438 /* method string#Int#to_base for (self: Int, Int, Bool): String */
439 val* standard__string___Int___to_base(long self, long p0, short int p1) {
440 val* var /* : String */;
441 long var_base /* var base: Int */;
442 short int var_signed /* var signed: Bool */;
443 long var1 /* : Int */;
444 long var_l /* var l: Int */;
445 val* var2 /* : FlatBuffer */;
446 static val* varonce;
447 val* var3 /* : String */;
448 char* var4 /* : NativeString */;
449 long var5 /* : Int */;
450 val* var6 /* : FlatString */;
451 val* var7 /* : String */;
452 val* var_s /* var s: FlatBuffer */;
453 val* var8 /* : String */;
454 var_base = p0;
455 var_signed = p1;
456 {
457 var1 = standard___standard__Int___digit_count(self, var_base);
458 }
459 var_l = var1;
460 var2 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer);
461 if (varonce) {
462 var3 = varonce;
463 } else {
464 var4 = " ";
465 var5 = 1;
466 var6 = standard___standard__NativeString___to_s_with_length(var4, var5);
467 var3 = var6;
468 varonce = var3;
469 }
470 {
471 var7 = ((val* (*)(val* self, long p0))(var3->class->vft[COLOR_standard__string__String___42d]))(var3, var_l) /* * on <var3:String>*/;
472 }
473 {
474 standard___standard__FlatBuffer___from(var2, var7); /* Direct call string#FlatBuffer#from on <var2:FlatBuffer>*/
475 }
476 var_s = var2;
477 {
478 standard__string___Int___fill_buffer(self, var_s, var_base, var_signed); /* Direct call string#Int#fill_buffer on <self:Int>*/
479 }
480 {
481 var8 = standard___standard__FlatBuffer___Object__to_s(var_s);
482 }
483 var = var8;
484 goto RET_LABEL;
485 RET_LABEL:;
486 return var;
487 }
488 /* method string#Float#to_s for (self: Float): String */
489 val* standard__string___Float___Object__to_s(double self) {
490 val* var /* : String */;
491 long var1 /* : Int */;
492 val* var2 /* : String */;
493 val* var_str /* var str: String */;
494 short int var3 /* : Bool */;
495 long var4 /* : Int */;
496 long var5 /* : Int */;
497 short int var6 /* : Bool */;
498 short int var8 /* : Bool */;
499 short int var9 /* : Bool */;
500 short int var_ /* var : Bool */;
501 short int var10 /* : Bool */;
502 short int var12 /* : Bool for extern */;
503 long var13 /* : Int */;
504 long var_len /* var len: Int */;
505 long var14 /* : Int */;
506 long var_i /* var i: Int */;
507 long var15 /* : Int */;
508 long var16 /* : Int */;
509 short int var18 /* : Bool */;
510 int cltype;
511 int idtype;
512 const char* var_class_name;
513 long var19 /* : Int */;
514 long var_20 /* var : Int */;
515 short int var21 /* : Bool */;
516 short int var23 /* : Bool */;
517 int cltype24;
518 int idtype25;
519 const char* var_class_name26;
520 short int var27 /* : Bool */;
521 long var28 /* : Int */;
522 long var29 /* : Int */;
523 short int var31 /* : Bool */;
524 int cltype32;
525 int idtype33;
526 const char* var_class_name34;
527 long var35 /* : Int */;
528 long var36 /* : Int */;
529 short int var38 /* : Bool */;
530 int cltype39;
531 int idtype40;
532 const char* var_class_name41;
533 long var42 /* : Int */;
534 long var_j /* var j: Int */;
535 val* var43 /* : SequenceRead[Char] */;
536 val* var44 /* : nullable Object */;
537 char var45 /* : Char */;
538 char var_c /* var c: Char */;
539 char var46 /* : Char */;
540 short int var47 /* : Bool */;
541 short int var49 /* : Bool */;
542 char var50 /* : Char */;
543 short int var51 /* : Bool */;
544 short int var53 /* : Bool */;
545 long var54 /* : Int */;
546 long var55 /* : Int */;
547 long var56 /* : Int */;
548 short int var58 /* : Bool */;
549 int cltype59;
550 int idtype60;
551 const char* var_class_name61;
552 long var62 /* : Int */;
553 val* var63 /* : Text */;
554 long var64 /* : Int */;
555 long var65 /* : Int */;
556 long var66 /* : Int */;
557 short int var68 /* : Bool */;
558 int cltype69;
559 int idtype70;
560 const char* var_class_name71;
561 long var72 /* : Int */;
562 val* var73 /* : Text */;
563 long var74 /* : Int */;
564 long var75 /* : Int */;
565 var1 = 3;
566 {
567 var2 = standard__string___Float___to_precision(self, var1);
568 }
569 var_str = var2;
570 {
571 var4 = standard__math___Float___is_inf(self);
572 }
573 var5 = 0;
574 {
575 { /* Inline kernel#Int#!= (var4,var5) on <var4:Int> */
576 var8 = var4 == var5;
577 var9 = !var8;
578 var6 = var9;
579 goto RET_LABEL7;
580 RET_LABEL7:(void)0;
581 }
582 }
583 var_ = var6;
584 if (var6){
585 var3 = var_;
586 } else {
587 {
588 { /* Inline math#Float#is_nan (self) on <self:Float> */
589 var12 = isnan(self);
590 var10 = var12;
591 goto RET_LABEL11;
592 RET_LABEL11:(void)0;
593 }
594 }
595 var3 = var10;
596 }
597 if (var3){
598 var = var_str;
599 goto RET_LABEL;
600 } else {
601 }
602 {
603 var13 = ((long (*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__length]))(var_str) /* length on <var_str:String>*/;
604 }
605 var_len = var13;
606 var14 = 0;
607 var_i = var14;
608 var15 = 1;
609 {
610 { /* Inline kernel#Int#- (var_len,var15) on <var_len:Int> */
611 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
612 /* <var15:Int> isa OTHER */
613 var18 = 1; /* easy <var15:Int> isa OTHER*/
614 if (unlikely(!var18)) {
615 var_class_name = type_standard__Int.name;
616 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
617 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
618 show_backtrace(1);
619 }
620 var19 = var_len - var15;
621 var16 = var19;
622 goto RET_LABEL17;
623 RET_LABEL17:(void)0;
624 }
625 }
626 var_20 = var16;
627 for(;;) {
628 {
629 { /* Inline kernel#Int#<= (var_i,var_20) on <var_i:Int> */
630 /* Covariant cast for argument 0 (i) <var_20:Int> isa OTHER */
631 /* <var_20:Int> isa OTHER */
632 var23 = 1; /* easy <var_20:Int> isa OTHER*/
633 if (unlikely(!var23)) {
634 var_class_name26 = type_standard__Int.name;
635 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26);
636 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
637 show_backtrace(1);
638 }
639 var27 = var_i <= var_20;
640 var21 = var27;
641 goto RET_LABEL22;
642 RET_LABEL22:(void)0;
643 }
644 }
645 if (var21){
646 var28 = 1;
647 {
648 { /* Inline kernel#Int#- (var_len,var28) on <var_len:Int> */
649 /* Covariant cast for argument 0 (i) <var28:Int> isa OTHER */
650 /* <var28:Int> isa OTHER */
651 var31 = 1; /* easy <var28:Int> isa OTHER*/
652 if (unlikely(!var31)) {
653 var_class_name34 = type_standard__Int.name;
654 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
655 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
656 show_backtrace(1);
657 }
658 var35 = var_len - var28;
659 var29 = var35;
660 goto RET_LABEL30;
661 RET_LABEL30:(void)0;
662 }
663 }
664 {
665 { /* Inline kernel#Int#- (var29,var_i) on <var29:Int> */
666 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
667 /* <var_i:Int> isa OTHER */
668 var38 = 1; /* easy <var_i:Int> isa OTHER*/
669 if (unlikely(!var38)) {
670 var_class_name41 = type_standard__Int.name;
671 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
672 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
673 show_backtrace(1);
674 }
675 var42 = var29 - var_i;
676 var36 = var42;
677 goto RET_LABEL37;
678 RET_LABEL37:(void)0;
679 }
680 }
681 var_j = var36;
682 {
683 var43 = ((val* (*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__chars]))(var_str) /* chars on <var_str:String>*/;
684 }
685 {
686 var44 = ((val* (*)(val* self, long p0))(var43->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var43, var_j) /* [] on <var43:SequenceRead[Char]>*/;
687 }
688 var45 = ((struct instance_standard__Char*)var44)->value; /* autounbox from nullable Object to Char */;
689 var_c = var45;
690 var46 = '0';
691 {
692 { /* Inline kernel#Char#== (var_c,var46) on <var_c:Char> */
693 var49 = var_c == var46;
694 var47 = var49;
695 goto RET_LABEL48;
696 RET_LABEL48:(void)0;
697 }
698 }
699 if (var47){
700 goto BREAK_label;
701 } else {
702 var50 = '.';
703 {
704 { /* Inline kernel#Char#== (var_c,var50) on <var_c:Char> */
705 var53 = var_c == var50;
706 var51 = var53;
707 goto RET_LABEL52;
708 RET_LABEL52:(void)0;
709 }
710 }
711 if (var51){
712 var54 = 0;
713 var55 = 2;
714 {
715 { /* Inline kernel#Int#+ (var_j,var55) on <var_j:Int> */
716 /* Covariant cast for argument 0 (i) <var55:Int> isa OTHER */
717 /* <var55:Int> isa OTHER */
718 var58 = 1; /* easy <var55:Int> isa OTHER*/
719 if (unlikely(!var58)) {
720 var_class_name61 = type_standard__Int.name;
721 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61);
722 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
723 show_backtrace(1);
724 }
725 var62 = var_j + var55;
726 var56 = var62;
727 goto RET_LABEL57;
728 RET_LABEL57:(void)0;
729 }
730 }
731 {
732 var63 = ((val* (*)(val* self, long p0, long p1))(var_str->class->vft[COLOR_standard__string__Text__substring]))(var_str, var54, var56) /* substring on <var_str:String>*/;
733 }
734 var = var63;
735 goto RET_LABEL;
736 } else {
737 var64 = 0;
738 var65 = 1;
739 {
740 { /* Inline kernel#Int#+ (var_j,var65) on <var_j:Int> */
741 /* Covariant cast for argument 0 (i) <var65:Int> isa OTHER */
742 /* <var65:Int> isa OTHER */
743 var68 = 1; /* easy <var65:Int> isa OTHER*/
744 if (unlikely(!var68)) {
745 var_class_name71 = type_standard__Int.name;
746 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name71);
747 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
748 show_backtrace(1);
749 }
750 var72 = var_j + var65;
751 var66 = var72;
752 goto RET_LABEL67;
753 RET_LABEL67:(void)0;
754 }
755 }
756 {
757 var73 = ((val* (*)(val* self, long p0, long p1))(var_str->class->vft[COLOR_standard__string__Text__substring]))(var_str, var64, var66) /* substring on <var_str:String>*/;
758 }
759 var = var73;
760 goto RET_LABEL;
761 }
762 }
763 BREAK_label: (void)0;
764 var74 = 1;
765 {
766 var75 = standard___standard__Int___Discrete__successor(var_i, var74);
767 }
768 var_i = var75;
769 } else {
770 goto BREAK_label76;
771 }
772 }
773 BREAK_label76: (void)0;
774 var = var_str;
775 goto RET_LABEL;
776 RET_LABEL:;
777 return var;
778 }
779 /* method string#Float#to_s for (self: Object): String */
780 val* VIRTUAL_standard__string___Float___Object__to_s(val* self) {
781 val* var /* : String */;
782 val* var1 /* : String */;
783 double var2 /* : Float */;
784 var2 = ((struct instance_standard__Float*)self)->value; /* autounbox from Object to Float */;
785 var1 = standard__string___Float___Object__to_s(var2);
786 var = var1;
787 RET_LABEL:;
788 return var;
789 }
790 /* method string#Float#to_precision for (self: Float, Int): String */
791 val* standard__string___Float___to_precision(double self, long p0) {
792 val* var /* : String */;
793 long var_decimals /* var decimals: Int */;
794 short int var1 /* : Bool */;
795 short int var3 /* : Bool for extern */;
796 static val* varonce;
797 val* var4 /* : String */;
798 char* var5 /* : NativeString */;
799 long var6 /* : Int */;
800 val* var7 /* : FlatString */;
801 long var8 /* : Int */;
802 long var_isinf /* var isinf: Int */;
803 long var9 /* : Int */;
804 short int var10 /* : Bool */;
805 short int var12 /* : Bool */;
806 static val* varonce13;
807 val* var14 /* : String */;
808 char* var15 /* : NativeString */;
809 long var16 /* : Int */;
810 val* var17 /* : FlatString */;
811 long var18 /* : Int */;
812 long var19 /* : Int */;
813 long var21 /* : Int */;
814 short int var22 /* : Bool */;
815 short int var24 /* : Bool */;
816 static val* varonce25;
817 val* var26 /* : String */;
818 char* var27 /* : NativeString */;
819 long var28 /* : Int */;
820 val* var29 /* : FlatString */;
821 long var30 /* : Int */;
822 short int var31 /* : Bool */;
823 short int var33 /* : Bool */;
824 long var34 /* : Int */;
825 long var36 /* : Int */;
826 val* var37 /* : String */;
827 double var_f /* var f: Float */;
828 long var38 /* : Int */;
829 long var_i /* var i: Int */;
830 long var_ /* var : Int */;
831 short int var39 /* : Bool */;
832 short int var41 /* : Bool */;
833 int cltype;
834 int idtype;
835 const char* var_class_name;
836 short int var42 /* : Bool */;
837 double var43 /* : Float */;
838 double var44 /* : Float */;
839 short int var46 /* : Bool */;
840 int cltype47;
841 int idtype48;
842 const char* var_class_name49;
843 double var50 /* : Float */;
844 long var51 /* : Int */;
845 long var52 /* : Int */;
846 double var53 /* : Float */;
847 short int var54 /* : Bool */;
848 short int var56 /* : Bool */;
849 int cltype57;
850 int idtype58;
851 const char* var_class_name59;
852 short int var60 /* : Bool */;
853 double var61 /* : Float */;
854 double var62 /* : Float */;
855 short int var64 /* : Bool */;
856 int cltype65;
857 int idtype66;
858 const char* var_class_name67;
859 double var68 /* : Float */;
860 double var69 /* : Float */;
861 double var70 /* : Float */;
862 short int var72 /* : Bool */;
863 int cltype73;
864 int idtype74;
865 const char* var_class_name75;
866 double var76 /* : Float */;
867 long var77 /* : Int */;
868 long var79 /* : Int */;
869 long var_i80 /* var i: Int */;
870 long var81 /* : Int */;
871 short int var82 /* : Bool */;
872 short int var84 /* : Bool */;
873 static val* varonce85;
874 val* var86 /* : String */;
875 char* var87 /* : NativeString */;
876 long var88 /* : Int */;
877 val* var89 /* : FlatString */;
878 static val* varonce90;
879 val* var91 /* : String */;
880 char* var92 /* : NativeString */;
881 long var93 /* : Int */;
882 val* var94 /* : FlatString */;
883 val* var95 /* : String */;
884 val* var96 /* : String */;
885 long var97 /* : Int */;
886 val* var98 /* : String */;
887 val* var_s /* var s: String */;
888 long var99 /* : Int */;
889 long var_sl /* var sl: Int */;
890 short int var100 /* : Bool */;
891 short int var102 /* : Bool */;
892 int cltype103;
893 int idtype104;
894 const char* var_class_name105;
895 short int var106 /* : Bool */;
896 long var107 /* : Int */;
897 long var108 /* : Int */;
898 short int var110 /* : Bool */;
899 int cltype111;
900 int idtype112;
901 const char* var_class_name113;
902 long var114 /* : Int */;
903 val* var115 /* : Text */;
904 val* var_p1 /* var p1: nullable Object */;
905 long var116 /* : Int */;
906 short int var118 /* : Bool */;
907 int cltype119;
908 int idtype120;
909 const char* var_class_name121;
910 long var122 /* : Int */;
911 val* var123 /* : Text */;
912 val* var_p2 /* var p2: nullable Object */;
913 static val* varonce124;
914 val* var125 /* : String */;
915 char* var126 /* : NativeString */;
916 long var127 /* : Int */;
917 val* var128 /* : FlatString */;
918 static val* varonce129;
919 val* var130 /* : String */;
920 char* var131 /* : NativeString */;
921 long var132 /* : Int */;
922 val* var133 /* : FlatString */;
923 long var134 /* : Int */;
924 short int var136 /* : Bool */;
925 int cltype137;
926 int idtype138;
927 const char* var_class_name139;
928 long var140 /* : Int */;
929 val* var141 /* : String */;
930 val* var142 /* : String */;
931 long var143 /* : Int */;
932 short int var144 /* : Bool */;
933 short int var146 /* : Bool */;
934 int cltype147;
935 int idtype148;
936 const char* var_class_name149;
937 short int var150 /* : Bool */;
938 static val* varonce151;
939 val* var152 /* : String */;
940 char* var153 /* : NativeString */;
941 long var154 /* : Int */;
942 val* var155 /* : FlatString */;
943 val* var156 /* : String */;
944 static val* varonce157;
945 val* var158 /* : String */;
946 char* var159 /* : NativeString */;
947 long var160 /* : Int */;
948 val* var161 /* : FlatString */;
949 val* var162 /* : String */;
950 val* var163 /* : String */;
951 var_decimals = p0;
952 {
953 { /* Inline math#Float#is_nan (self) on <self:Float> */
954 var3 = isnan(self);
955 var1 = var3;
956 goto RET_LABEL2;
957 RET_LABEL2:(void)0;
958 }
959 }
960 if (var1){
961 if (varonce) {
962 var4 = varonce;
963 } else {
964 var5 = "nan";
965 var6 = 3;
966 var7 = standard___standard__NativeString___to_s_with_length(var5, var6);
967 var4 = var7;
968 varonce = var4;
969 }
970 var = var4;
971 goto RET_LABEL;
972 } else {
973 }
974 {
975 var8 = standard__math___Float___is_inf(self);
976 }
977 var_isinf = var8;
978 var9 = 1;
979 {
980 { /* Inline kernel#Int#== (var_isinf,var9) on <var_isinf:Int> */
981 var12 = var_isinf == var9;
982 var10 = var12;
983 goto RET_LABEL11;
984 RET_LABEL11:(void)0;
985 }
986 }
987 if (var10){
988 if (varonce13) {
989 var14 = varonce13;
990 } else {
991 var15 = "inf";
992 var16 = 3;
993 var17 = standard___standard__NativeString___to_s_with_length(var15, var16);
994 var14 = var17;
995 varonce13 = var14;
996 }
997 var = var14;
998 goto RET_LABEL;
999 } else {
1000 var18 = 1;
1001 {
1002 { /* Inline kernel#Int#unary - (var18) on <var18:Int> */
1003 var21 = -var18;
1004 var19 = var21;
1005 goto RET_LABEL20;
1006 RET_LABEL20:(void)0;
1007 }
1008 }
1009 {
1010 { /* Inline kernel#Int#== (var_isinf,var19) on <var_isinf:Int> */
1011 var24 = var_isinf == var19;
1012 var22 = var24;
1013 goto RET_LABEL23;
1014 RET_LABEL23:(void)0;
1015 }
1016 }
1017 if (var22){
1018 if (varonce25) {
1019 var26 = varonce25;
1020 } else {
1021 var27 = "-inf";
1022 var28 = 4;
1023 var29 = standard___standard__NativeString___to_s_with_length(var27, var28);
1024 var26 = var29;
1025 varonce25 = var26;
1026 }
1027 var = var26;
1028 goto RET_LABEL;
1029 } else {
1030 }
1031 }
1032 var30 = 0;
1033 {
1034 { /* Inline kernel#Int#== (var_decimals,var30) on <var_decimals:Int> */
1035 var33 = var_decimals == var30;
1036 var31 = var33;
1037 goto RET_LABEL32;
1038 RET_LABEL32:(void)0;
1039 }
1040 }
1041 if (var31){
1042 {
1043 { /* Inline kernel#Float#to_i (self) on <self:Float> */
1044 var36 = (long)self;
1045 var34 = var36;
1046 goto RET_LABEL35;
1047 RET_LABEL35:(void)0;
1048 }
1049 }
1050 {
1051 var37 = standard__string___Int___Object__to_s(var34);
1052 }
1053 var = var37;
1054 goto RET_LABEL;
1055 } else {
1056 }
1057 var_f = self;
1058 var38 = 0;
1059 var_i = var38;
1060 var_ = var_decimals;
1061 for(;;) {
1062 {
1063 { /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
1064 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
1065 /* <var_:Int> isa OTHER */
1066 var41 = 1; /* easy <var_:Int> isa OTHER*/
1067 if (unlikely(!var41)) {
1068 var_class_name = type_standard__Int.name;
1069 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1070 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1071 show_backtrace(1);
1072 }
1073 var42 = var_i < var_;
1074 var39 = var42;
1075 goto RET_LABEL40;
1076 RET_LABEL40:(void)0;
1077 }
1078 }
1079 if (var39){
1080 var43 = 10.0;
1081 {
1082 { /* Inline kernel#Float#* (var_f,var43) on <var_f:Float> */
1083 /* Covariant cast for argument 0 (i) <var43:Float> isa OTHER */
1084 /* <var43:Float> isa OTHER */
1085 var46 = 1; /* easy <var43:Float> isa OTHER*/
1086 if (unlikely(!var46)) {
1087 var_class_name49 = type_standard__Float.name;
1088 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49);
1089 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 329);
1090 show_backtrace(1);
1091 }
1092 var50 = var_f * var43;
1093 var44 = var50;
1094 goto RET_LABEL45;
1095 RET_LABEL45:(void)0;
1096 }
1097 }
1098 var_f = var44;
1099 var51 = 1;
1100 {
1101 var52 = standard___standard__Int___Discrete__successor(var_i, var51);
1102 }
1103 var_i = var52;
1104 } else {
1105 goto BREAK_label;
1106 }
1107 }
1108 BREAK_label: (void)0;
1109 var53 = 0.0;
1110 {
1111 { /* Inline kernel#Float#> (self,var53) on <self:Float> */
1112 /* Covariant cast for argument 0 (i) <var53:Float> isa OTHER */
1113 /* <var53:Float> isa OTHER */
1114 var56 = 1; /* easy <var53:Float> isa OTHER*/
1115 if (unlikely(!var56)) {
1116 var_class_name59 = type_standard__Float.name;
1117 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
1118 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 324);
1119 show_backtrace(1);
1120 }
1121 var60 = self > var53;
1122 var54 = var60;
1123 goto RET_LABEL55;
1124 RET_LABEL55:(void)0;
1125 }
1126 }
1127 if (var54){
1128 var61 = 0.5;
1129 {
1130 { /* Inline kernel#Float#+ (var_f,var61) on <var_f:Float> */
1131 /* Covariant cast for argument 0 (i) <var61:Float> isa OTHER */
1132 /* <var61:Float> isa OTHER */
1133 var64 = 1; /* easy <var61:Float> isa OTHER*/
1134 if (unlikely(!var64)) {
1135 var_class_name67 = type_standard__Float.name;
1136 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name67);
1137 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 326);
1138 show_backtrace(1);
1139 }
1140 var68 = var_f + var61;
1141 var62 = var68;
1142 goto RET_LABEL63;
1143 RET_LABEL63:(void)0;
1144 }
1145 }
1146 var_f = var62;
1147 } else {
1148 var69 = 0.5;
1149 {
1150 { /* Inline kernel#Float#- (var_f,var69) on <var_f:Float> */
1151 /* Covariant cast for argument 0 (i) <var69:Float> isa OTHER */
1152 /* <var69:Float> isa OTHER */
1153 var72 = 1; /* easy <var69:Float> isa OTHER*/
1154 if (unlikely(!var72)) {
1155 var_class_name75 = type_standard__Float.name;
1156 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75);
1157 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 328);
1158 show_backtrace(1);
1159 }
1160 var76 = var_f - var69;
1161 var70 = var76;
1162 goto RET_LABEL71;
1163 RET_LABEL71:(void)0;
1164 }
1165 }
1166 var_f = var70;
1167 }
1168 {
1169 { /* Inline kernel#Float#to_i (var_f) on <var_f:Float> */
1170 var79 = (long)var_f;
1171 var77 = var79;
1172 goto RET_LABEL78;
1173 RET_LABEL78:(void)0;
1174 }
1175 }
1176 var_i80 = var77;
1177 var81 = 0;
1178 {
1179 { /* Inline kernel#Int#== (var_i80,var81) on <var_i80:Int> */
1180 var84 = var_i80 == var81;
1181 var82 = var84;
1182 goto RET_LABEL83;
1183 RET_LABEL83:(void)0;
1184 }
1185 }
1186 if (var82){
1187 if (varonce85) {
1188 var86 = varonce85;
1189 } else {
1190 var87 = "0.";
1191 var88 = 2;
1192 var89 = standard___standard__NativeString___to_s_with_length(var87, var88);
1193 var86 = var89;
1194 varonce85 = var86;
1195 }
1196 if (varonce90) {
1197 var91 = varonce90;
1198 } else {
1199 var92 = "0";
1200 var93 = 1;
1201 var94 = standard___standard__NativeString___to_s_with_length(var92, var93);
1202 var91 = var94;
1203 varonce90 = var91;
1204 }
1205 {
1206 var95 = ((val* (*)(val* self, long p0))(var91->class->vft[COLOR_standard__string__String___42d]))(var91, var_decimals) /* * on <var91:String>*/;
1207 }
1208 {
1209 var96 = ((val* (*)(val* self, val* p0))(var86->class->vft[COLOR_standard__string__String___43d]))(var86, var95) /* + on <var86:String>*/;
1210 }
1211 var = var96;
1212 goto RET_LABEL;
1213 } else {
1214 }
1215 {
1216 var97 = standard___standard__Int___abs(var_i80);
1217 }
1218 {
1219 var98 = standard__string___Int___Object__to_s(var97);
1220 }
1221 var_s = var98;
1222 {
1223 var99 = ((long (*)(val* self))(var_s->class->vft[COLOR_standard__string__Text__length]))(var_s) /* length on <var_s:String>*/;
1224 }
1225 var_sl = var99;
1226 {
1227 { /* Inline kernel#Int#> (var_sl,var_decimals) on <var_sl:Int> */
1228 /* Covariant cast for argument 0 (i) <var_decimals:Int> isa OTHER */
1229 /* <var_decimals:Int> isa OTHER */
1230 var102 = 1; /* easy <var_decimals:Int> isa OTHER*/
1231 if (unlikely(!var102)) {
1232 var_class_name105 = type_standard__Int.name;
1233 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name105);
1234 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
1235 show_backtrace(1);
1236 }
1237 var106 = var_sl > var_decimals;
1238 var100 = var106;
1239 goto RET_LABEL101;
1240 RET_LABEL101:(void)0;
1241 }
1242 }
1243 if (var100){
1244 var107 = 0;
1245 {
1246 { /* Inline kernel#Int#- (var_sl,var_decimals) on <var_sl:Int> */
1247 /* Covariant cast for argument 0 (i) <var_decimals:Int> isa OTHER */
1248 /* <var_decimals:Int> isa OTHER */
1249 var110 = 1; /* easy <var_decimals:Int> isa OTHER*/
1250 if (unlikely(!var110)) {
1251 var_class_name113 = type_standard__Int.name;
1252 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name113);
1253 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1254 show_backtrace(1);
1255 }
1256 var114 = var_sl - var_decimals;
1257 var108 = var114;
1258 goto RET_LABEL109;
1259 RET_LABEL109:(void)0;
1260 }
1261 }
1262 {
1263 var115 = ((val* (*)(val* self, long p0, long p1))(var_s->class->vft[COLOR_standard__string__Text__substring]))(var_s, var107, var108) /* substring on <var_s:String>*/;
1264 }
1265 var_p1 = var115;
1266 {
1267 { /* Inline kernel#Int#- (var_sl,var_decimals) on <var_sl:Int> */
1268 /* Covariant cast for argument 0 (i) <var_decimals:Int> isa OTHER */
1269 /* <var_decimals:Int> isa OTHER */
1270 var118 = 1; /* easy <var_decimals:Int> isa OTHER*/
1271 if (unlikely(!var118)) {
1272 var_class_name121 = type_standard__Int.name;
1273 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name121);
1274 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1275 show_backtrace(1);
1276 }
1277 var122 = var_sl - var_decimals;
1278 var116 = var122;
1279 goto RET_LABEL117;
1280 RET_LABEL117:(void)0;
1281 }
1282 }
1283 {
1284 var123 = ((val* (*)(val* self, long p0, long p1))(var_s->class->vft[COLOR_standard__string__Text__substring]))(var_s, var116, var_decimals) /* substring on <var_s:String>*/;
1285 }
1286 var_p2 = var123;
1287 } else {
1288 if (varonce124) {
1289 var125 = varonce124;
1290 } else {
1291 var126 = "0";
1292 var127 = 1;
1293 var128 = standard___standard__NativeString___to_s_with_length(var126, var127);
1294 var125 = var128;
1295 varonce124 = var125;
1296 }
1297 var_p1 = var125;
1298 if (varonce129) {
1299 var130 = varonce129;
1300 } else {
1301 var131 = "0";
1302 var132 = 1;
1303 var133 = standard___standard__NativeString___to_s_with_length(var131, var132);
1304 var130 = var133;
1305 varonce129 = var130;
1306 }
1307 {
1308 { /* Inline kernel#Int#- (var_decimals,var_sl) on <var_decimals:Int> */
1309 /* Covariant cast for argument 0 (i) <var_sl:Int> isa OTHER */
1310 /* <var_sl:Int> isa OTHER */
1311 var136 = 1; /* easy <var_sl:Int> isa OTHER*/
1312 if (unlikely(!var136)) {
1313 var_class_name139 = type_standard__Int.name;
1314 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name139);
1315 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1316 show_backtrace(1);
1317 }
1318 var140 = var_decimals - var_sl;
1319 var134 = var140;
1320 goto RET_LABEL135;
1321 RET_LABEL135:(void)0;
1322 }
1323 }
1324 {
1325 var141 = ((val* (*)(val* self, long p0))(var130->class->vft[COLOR_standard__string__String___42d]))(var130, var134) /* * on <var130:String>*/;
1326 }
1327 {
1328 var142 = ((val* (*)(val* self, val* p0))(var141->class->vft[COLOR_standard__string__String___43d]))(var141, var_s) /* + on <var141:String>*/;
1329 }
1330 var_p2 = var142;
1331 }
1332 var143 = 0;
1333 {
1334 { /* Inline kernel#Int#< (var_i80,var143) on <var_i80:Int> */
1335 /* Covariant cast for argument 0 (i) <var143:Int> isa OTHER */
1336 /* <var143:Int> isa OTHER */
1337 var146 = 1; /* easy <var143:Int> isa OTHER*/
1338 if (unlikely(!var146)) {
1339 var_class_name149 = type_standard__Int.name;
1340 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name149);
1341 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1342 show_backtrace(1);
1343 }
1344 var150 = var_i80 < var143;
1345 var144 = var150;
1346 goto RET_LABEL145;
1347 RET_LABEL145:(void)0;
1348 }
1349 }
1350 if (var144){
1351 if (varonce151) {
1352 var152 = varonce151;
1353 } else {
1354 var153 = "-";
1355 var154 = 1;
1356 var155 = standard___standard__NativeString___to_s_with_length(var153, var154);
1357 var152 = var155;
1358 varonce151 = var152;
1359 }
1360 {
1361 var156 = ((val* (*)(val* self, val* p0))(var152->class->vft[COLOR_standard__string__String___43d]))(var152, var_p1) /* + on <var152:String>*/;
1362 }
1363 var_p1 = var156;
1364 } else {
1365 }
1366 if (varonce157) {
1367 var158 = varonce157;
1368 } else {
1369 var159 = ".";
1370 var160 = 1;
1371 var161 = standard___standard__NativeString___to_s_with_length(var159, var160);
1372 var158 = var161;
1373 varonce157 = var158;
1374 }
1375 {
1376 var162 = ((val* (*)(val* self, val* p0))(var_p1->class->vft[COLOR_standard__string__String___43d]))(var_p1, var158) /* + on <var_p1:nullable Object(String)>*/;
1377 }
1378 {
1379 var163 = ((val* (*)(val* self, val* p0))(var162->class->vft[COLOR_standard__string__String___43d]))(var162, var_p2) /* + on <var162:String>*/;
1380 }
1381 var = var163;
1382 goto RET_LABEL;
1383 RET_LABEL:;
1384 return var;
1385 }
1386 /* method string#Char#to_s for (self: Char): String */
1387 val* standard__string___Char___Object__to_s(char self) {
1388 val* var /* : String */;
1389 val* var1 /* : FlatBuffer */;
1390 long var2 /* : Int */;
1391 val* var_s /* var s: FlatBuffer */;
1392 val* var3 /* : Sequence[Char] */;
1393 val* var5 /* : Sequence[Char] */;
1394 long var6 /* : Int */;
1395 val* var7 /* : nullable Object */;
1396 val* var8 /* : String */;
1397 var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer);
1398 var2 = 1;
1399 {
1400 standard___standard__FlatBuffer___with_capacity(var1, var2); /* Direct call string#FlatBuffer#with_capacity on <var1:FlatBuffer>*/
1401 }
1402 var_s = var1;
1403 {
1404 { /* Inline string#FlatBuffer#chars (var_s) on <var_s:FlatBuffer> */
1405 var5 = var_s->attrs[COLOR_standard__string__FlatBuffer___chars].val; /* _chars on <var_s:FlatBuffer> */
1406 if (unlikely(var5 == NULL)) {
1407 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
1408 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 1525);
1409 show_backtrace(1);
1410 }
1411 var3 = var5;
1412 RET_LABEL4:(void)0;
1413 }
1414 }
1415 var6 = 0;
1416 {
1417 var7 = BOX_standard__Char(self); /* autobox from Char to nullable Object */
1418 ((void (*)(val* self, long p0, val* p1))(var3->class->vft[COLOR_standard__abstract_collection__Sequence___91d_93d_61d]))(var3, var6, var7) /* []= on <var3:Sequence[Char]>*/;
1419 }
1420 {
1421 var8 = standard___standard__FlatBuffer___Object__to_s(var_s);
1422 }
1423 var = var8;
1424 goto RET_LABEL;
1425 RET_LABEL:;
1426 return var;
1427 }
1428 /* method string#Char#to_s for (self: Object): String */
1429 val* VIRTUAL_standard__string___Char___Object__to_s(val* self) {
1430 val* var /* : String */;
1431 val* var1 /* : String */;
1432 char var2 /* : Char */;
1433 var2 = ((struct instance_standard__Char*)self)->value; /* autounbox from Object to Char */;
1434 var1 = standard__string___Char___Object__to_s(var2);
1435 var = var1;
1436 RET_LABEL:;
1437 return var;
1438 }
1439 /* method string#Char#is_numeric for (self: Char): Bool */
1440 short int standard__string___Char___is_numeric(char self) {
1441 short int var /* : Bool */;
1442 short int var1 /* : Bool */;
1443 char var2 /* : Char */;
1444 short int var3 /* : Bool */;
1445 short int var5 /* : Bool */;
1446 int cltype;
1447 int idtype;
1448 const char* var_class_name;
1449 short int var6 /* : Bool */;
1450 short int var_ /* var : Bool */;
1451 char var7 /* : Char */;
1452 short int var8 /* : Bool */;
1453 short int var10 /* : Bool */;
1454 int cltype11;
1455 int idtype12;
1456 const char* var_class_name13;
1457 short int var14 /* : Bool */;
1458 var2 = '0';
1459 {
1460 { /* Inline kernel#Char#>= (self,var2) on <self:Char> */
1461 /* Covariant cast for argument 0 (i) <var2:Char> isa OTHER */
1462 /* <var2:Char> isa OTHER */
1463 var5 = 1; /* easy <var2:Char> isa OTHER*/
1464 if (unlikely(!var5)) {
1465 var_class_name = type_standard__Char.name;
1466 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1467 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593);
1468 show_backtrace(1);
1469 }
1470 var6 = self >= var2;
1471 var3 = var6;
1472 goto RET_LABEL4;
1473 RET_LABEL4:(void)0;
1474 }
1475 }
1476 var_ = var3;
1477 if (var3){
1478 var7 = '9';
1479 {
1480 { /* Inline kernel#Char#<= (self,var7) on <self:Char> */
1481 /* Covariant cast for argument 0 (i) <var7:Char> isa OTHER */
1482 /* <var7:Char> isa OTHER */
1483 var10 = 1; /* easy <var7:Char> isa OTHER*/
1484 if (unlikely(!var10)) {
1485 var_class_name13 = type_standard__Char.name;
1486 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
1487 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591);
1488 show_backtrace(1);
1489 }
1490 var14 = self <= var7;
1491 var8 = var14;
1492 goto RET_LABEL9;
1493 RET_LABEL9:(void)0;
1494 }
1495 }
1496 var1 = var8;
1497 } else {
1498 var1 = var_;
1499 }
1500 var = var1;
1501 goto RET_LABEL;
1502 RET_LABEL:;
1503 return var;
1504 }
1505 /* method string#Collection#to_s for (self: Collection[nullable Object]): String */
1506 val* standard__string___Collection___Object__to_s(val* self) {
1507 val* var /* : String */;
1508 val* var1 /* : FlatBuffer */;
1509 val* var_s /* var s: FlatBuffer */;
1510 val* var_ /* var : Collection[nullable Object] */;
1511 val* var3 /* : Iterator[nullable Object] */;
1512 val* var_4 /* var : Iterator[nullable Object] */;
1513 short int var5 /* : Bool */;
1514 val* var6 /* : nullable Object */;
1515 val* var_e /* var e: nullable Object */;
1516 val* var7 /* : null */;
1517 short int var8 /* : Bool */;
1518 short int var9 /* : Bool */;
1519 val* var10 /* : String */;
1520 val* var12 /* : String */;
1521 var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer);
1522 {
1523 { /* Inline string#FlatBuffer#init (var1) on <var1:FlatBuffer> */
1524 {
1525 ((void (*)(val* self))(var1->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var1) /* init on <var1:FlatBuffer>*/;
1526 }
1527 RET_LABEL2:(void)0;
1528 }
1529 }
1530 var_s = var1;
1531 var_ = self;
1532 {
1533 var3 = ((val* (*)(val* self))(var_->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_) /* iterator on <var_:Collection[nullable Object]>*/;
1534 }
1535 var_4 = var3;
1536 for(;;) {
1537 {
1538 var5 = ((short int (*)(val* self))(var_4->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_4) /* is_ok on <var_4:Iterator[nullable Object]>*/;
1539 }
1540 if (var5){
1541 {
1542 var6 = ((val* (*)(val* self))(var_4->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_4) /* item on <var_4:Iterator[nullable Object]>*/;
1543 }
1544 var_e = var6;
1545 var7 = NULL;
1546 if (var_e == NULL) {
1547 var8 = 0; /* is null */
1548 } else {
1549 var8 = 1; /* arg is null and recv is not */
1550 }
1551 if (0) {
1552 var9 = ((short int (*)(val* self, val* p0))(var_e->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_e, var7) /* != on <var_e:nullable Object>*/;
1553 var8 = var9;
1554 }
1555 if (var8){
1556 if (var_e == NULL) {
1557 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1558 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 2070);
1559 show_backtrace(1);
1560 } else {
1561 var10 = ((val* (*)(val* self))(var_e->class->vft[COLOR_standard__string__Object__to_s]))(var_e) /* to_s on <var_e:nullable Object>*/;
1562 }
1563 {
1564 standard___standard__FlatBuffer___Buffer__append(var_s, var10); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
1565 }
1566 } else {
1567 }
1568 {
1569 ((void (*)(val* self))(var_4->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_4) /* next on <var_4:Iterator[nullable Object]>*/;
1570 }
1571 } else {
1572 goto BREAK_label;
1573 }
1574 }
1575 BREAK_label: (void)0;
1576 {
1577 { /* Inline abstract_collection#Iterator#finish (var_4) on <var_4:Iterator[nullable Object]> */
1578 RET_LABEL11:(void)0;
1579 }
1580 }
1581 {
1582 var12 = standard___standard__FlatBuffer___Object__to_s(var_s);
1583 }
1584 var = var12;
1585 goto RET_LABEL;
1586 RET_LABEL:;
1587 return var;
1588 }
1589 /* method string#Collection#join for (self: Collection[nullable Object], Text): String */
1590 val* standard__string___Collection___join(val* self, val* p0) {
1591 val* var /* : String */;
1592 val* var_sep /* var sep: Text */;
1593 short int var1 /* : Bool */;
1594 static val* varonce;
1595 val* var2 /* : String */;
1596 char* var3 /* : NativeString */;
1597 long var4 /* : Int */;
1598 val* var5 /* : FlatString */;
1599 val* var6 /* : FlatBuffer */;
1600 val* var_s /* var s: FlatBuffer */;
1601 val* var8 /* : Iterator[nullable Object] */;
1602 val* var_i /* var i: Iterator[nullable Object] */;
1603 val* var9 /* : nullable Object */;
1604 val* var_e /* var e: nullable Object */;
1605 val* var10 /* : null */;
1606 short int var11 /* : Bool */;
1607 short int var12 /* : Bool */;
1608 val* var13 /* : String */;
1609 short int var14 /* : Bool */;
1610 val* var15 /* : nullable Object */;
1611 val* var16 /* : null */;
1612 short int var17 /* : Bool */;
1613 short int var18 /* : Bool */;
1614 val* var19 /* : String */;
1615 val* var20 /* : String */;
1616 var_sep = p0;
1617 {
1618 var1 = ((short int (*)(val* self))(self->class->vft[COLOR_standard__abstract_collection__Collection__is_empty]))(self) /* is_empty on <self:Collection[nullable Object]>*/;
1619 }
1620 if (var1){
1621 if (varonce) {
1622 var2 = varonce;
1623 } else {
1624 var3 = "";
1625 var4 = 0;
1626 var5 = standard___standard__NativeString___to_s_with_length(var3, var4);
1627 var2 = var5;
1628 varonce = var2;
1629 }
1630 var = var2;
1631 goto RET_LABEL;
1632 } else {
1633 }
1634 var6 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer);
1635 {
1636 { /* Inline string#FlatBuffer#init (var6) on <var6:FlatBuffer> */
1637 {
1638 ((void (*)(val* self))(var6->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var6) /* init on <var6:FlatBuffer>*/;
1639 }
1640 RET_LABEL7:(void)0;
1641 }
1642 }
1643 var_s = var6;
1644 {
1645 var8 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(self) /* iterator on <self:Collection[nullable Object]>*/;
1646 }
1647 var_i = var8;
1648 {
1649 var9 = ((val* (*)(val* self))(var_i->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_i) /* item on <var_i:Iterator[nullable Object]>*/;
1650 }
1651 var_e = var9;
1652 var10 = NULL;
1653 if (var_e == NULL) {
1654 var11 = 0; /* is null */
1655 } else {
1656 var11 = 1; /* arg is null and recv is not */
1657 }
1658 if (0) {
1659 var12 = ((short int (*)(val* self, val* p0))(var_e->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_e, var10) /* != on <var_e:nullable Object>*/;
1660 var11 = var12;
1661 }
1662 if (var11){
1663 if (var_e == NULL) {
1664 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1665 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 2087);
1666 show_backtrace(1);
1667 } else {
1668 var13 = ((val* (*)(val* self))(var_e->class->vft[COLOR_standard__string__Object__to_s]))(var_e) /* to_s on <var_e:nullable Object>*/;
1669 }
1670 {
1671 standard___standard__FlatBuffer___Buffer__append(var_s, var13); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
1672 }
1673 } else {
1674 }
1675 {
1676 ((void (*)(val* self))(var_i->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_i) /* next on <var_i:Iterator[nullable Object]>*/;
1677 }
1678 for(;;) {
1679 {
1680 var14 = ((short int (*)(val* self))(var_i->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_i) /* is_ok on <var_i:Iterator[nullable Object]>*/;
1681 }
1682 if (var14){
1683 {
1684 standard___standard__FlatBuffer___Buffer__append(var_s, var_sep); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
1685 }
1686 {
1687 var15 = ((val* (*)(val* self))(var_i->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_i) /* item on <var_i:Iterator[nullable Object]>*/;
1688 }
1689 var_e = var15;
1690 var16 = NULL;
1691 if (var_e == NULL) {
1692 var17 = 0; /* is null */
1693 } else {
1694 var17 = 1; /* arg is null and recv is not */
1695 }
1696 if (0) {
1697 var18 = ((short int (*)(val* self, val* p0))(var_e->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var_e, var16) /* != on <var_e:nullable Object>*/;
1698 var17 = var18;
1699 }
1700 if (var17){
1701 if (var_e == NULL) {
1702 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1703 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 2094);
1704 show_backtrace(1);
1705 } else {
1706 var19 = ((val* (*)(val* self))(var_e->class->vft[COLOR_standard__string__Object__to_s]))(var_e) /* to_s on <var_e:nullable Object>*/;
1707 }
1708 {
1709 standard___standard__FlatBuffer___Buffer__append(var_s, var19); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
1710 }
1711 } else {
1712 }
1713 {
1714 ((void (*)(val* self))(var_i->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_i) /* next on <var_i:Iterator[nullable Object]>*/;
1715 }
1716 } else {
1717 goto BREAK_label;
1718 }
1719 }
1720 BREAK_label: (void)0;
1721 {
1722 var20 = standard___standard__FlatBuffer___Object__to_s(var_s);
1723 }
1724 var = var20;
1725 goto RET_LABEL;
1726 RET_LABEL:;
1727 return var;
1728 }
1729 /* method string#Array#to_s for (self: Array[nullable Object]): String */
1730 val* standard__string___Array___Object__to_s(val* self) {
1731 val* var /* : String */;
1732 long var1 /* : Int */;
1733 long var3 /* : Int */;
1734 long var_l /* var l: Int */;
1735 long var4 /* : Int */;
1736 short int var5 /* : Bool */;
1737 short int var7 /* : Bool */;
1738 static val* varonce;
1739 val* var8 /* : String */;
1740 char* var9 /* : NativeString */;
1741 long var10 /* : Int */;
1742 val* var11 /* : FlatString */;
1743 long var12 /* : Int */;
1744 short int var13 /* : Bool */;
1745 short int var15 /* : Bool */;
1746 long var16 /* : Int */;
1747 val* var17 /* : nullable Object */;
1748 val* var18 /* : null */;
1749 short int var19 /* : Bool */;
1750 short int var20 /* : Bool */;
1751 static val* varonce21;
1752 val* var22 /* : String */;
1753 char* var23 /* : NativeString */;
1754 long var24 /* : Int */;
1755 val* var25 /* : FlatString */;
1756 long var26 /* : Int */;
1757 val* var27 /* : nullable Object */;
1758 val* var28 /* : String */;
1759 val* var29 /* : nullable NativeArray[nullable Object] */;
1760 val* var_its /* var its: nullable NativeArray[nullable Object] */;
1761 val* var30 /* : NativeArray[String] */;
1762 val* var_na /* var na: NativeArray[String] */;
1763 long var31 /* : Int */;
1764 long var_i /* var i: Int */;
1765 long var32 /* : Int */;
1766 long var_sl /* var sl: Int */;
1767 long var33 /* : Int */;
1768 long var_mypos /* var mypos: Int */;
1769 short int var34 /* : Bool */;
1770 short int var36 /* : Bool */;
1771 int cltype;
1772 int idtype;
1773 const char* var_class_name;
1774 short int var37 /* : Bool */;
1775 val* var38 /* : nullable Object */;
1776 val* var40 /* : nullable Object */;
1777 val* var_itsi /* var itsi: nullable Object */;
1778 val* var41 /* : null */;
1779 short int var42 /* : Bool */;
1780 short int var43 /* : Bool */;
1781 long var44 /* : Int */;
1782 long var45 /* : Int */;
1783 short int var47 /* : Bool */;
1784 int cltype48;
1785 int idtype49;
1786 const char* var_class_name50;
1787 long var51 /* : Int */;
1788 val* var52 /* : String */;
1789 val* var_tmp /* var tmp: String */;
1790 long var53 /* : Int */;
1791 long var54 /* : Int */;
1792 short int var56 /* : Bool */;
1793 int cltype57;
1794 int idtype58;
1795 const char* var_class_name59;
1796 long var60 /* : Int */;
1797 short int var62 /* : Bool */;
1798 int cltype63;
1799 int idtype64;
1800 const struct type* type_struct;
1801 const char* var_class_name65;
1802 long var66 /* : Int */;
1803 long var67 /* : Int */;
1804 short int var69 /* : Bool */;
1805 int cltype70;
1806 int idtype71;
1807 const char* var_class_name72;
1808 long var73 /* : Int */;
1809 long var74 /* : Int */;
1810 long var75 /* : Int */;
1811 short int var77 /* : Bool */;
1812 int cltype78;
1813 int idtype79;
1814 const char* var_class_name80;
1815 long var81 /* : Int */;
1816 char* var83 /* : NativeString */;
1817 long var84 /* : Int */;
1818 long var85 /* : Int */;
1819 short int var87 /* : Bool */;
1820 int cltype88;
1821 int idtype89;
1822 const char* var_class_name90;
1823 long var91 /* : Int */;
1824 char* var92 /* : NativeString */;
1825 char* var94 /* : NativeString */;
1826 char* var_ns /* var ns: NativeString */;
1827 char var95 /* : Char */;
1828 long var97 /* : Int */;
1829 long var98 /* : Int */;
1830 long var_off /* var off: Int */;
1831 short int var99 /* : Bool */;
1832 short int var101 /* : Bool */;
1833 int cltype102;
1834 int idtype103;
1835 const char* var_class_name104;
1836 short int var105 /* : Bool */;
1837 val* var106 /* : nullable Object */;
1838 val* var108 /* : String */;
1839 val* var_tmp109 /* var tmp: String */;
1840 long var110 /* : Int */;
1841 long var_tpl /* var tpl: Int */;
1842 short int var111 /* : Bool */;
1843 int cltype112;
1844 int idtype113;
1845 char* var114 /* : NativeString */;
1846 char* var116 /* : NativeString */;
1847 long var117 /* : Int */;
1848 long var119 /* : Int */;
1849 long var121 /* : Int */;
1850 short int var123 /* : Bool */;
1851 int cltype124;
1852 int idtype125;
1853 const char* var_class_name126;
1854 long var127 /* : Int */;
1855 val* var128 /* : Iterator[Text] */;
1856 val* var_ /* var : Iterator[String] */;
1857 val* var129 /* : Iterator[nullable Object] */;
1858 val* var_130 /* var : Iterator[String] */;
1859 short int var131 /* : Bool */;
1860 val* var132 /* : nullable Object */;
1861 val* var_j /* var j: String */;
1862 short int var133 /* : Bool */;
1863 int cltype134;
1864 int idtype135;
1865 const char* var_class_name136;
1866 val* var_s /* var s: FlatString */;
1867 long var137 /* : Int */;
1868 long var139 /* : Int */;
1869 long var_slen /* var slen: Int */;
1870 char* var140 /* : NativeString */;
1871 char* var142 /* : NativeString */;
1872 long var143 /* : Int */;
1873 long var145 /* : Int */;
1874 long var147 /* : Int */;
1875 short int var149 /* : Bool */;
1876 int cltype150;
1877 int idtype151;
1878 const char* var_class_name152;
1879 long var153 /* : Int */;
1880 long var156 /* : Int */;
1881 long var157 /* : Int */;
1882 short int var159 /* : Bool */;
1883 int cltype160;
1884 int idtype161;
1885 const char* var_class_name162;
1886 long var163 /* : Int */;
1887 val* var165 /* : FlatString */;
1888 {
1889 { /* Inline array#AbstractArrayRead#length (self) on <self:Array[nullable Object]> */
1890 var3 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:Array[nullable Object]> */
1891 var1 = var3;
1892 RET_LABEL2:(void)0;
1893 }
1894 }
1895 var_l = var1;
1896 var4 = 0;
1897 {
1898 { /* Inline kernel#Int#== (var_l,var4) on <var_l:Int> */
1899 var7 = var_l == var4;
1900 var5 = var7;
1901 goto RET_LABEL6;
1902 RET_LABEL6:(void)0;
1903 }
1904 }
1905 if (var5){
1906 if (varonce) {
1907 var8 = varonce;
1908 } else {
1909 var9 = "";
1910 var10 = 0;
1911 var11 = standard___standard__NativeString___to_s_with_length(var9, var10);
1912 var8 = var11;
1913 varonce = var8;
1914 }
1915 var = var8;
1916 goto RET_LABEL;
1917 } else {
1918 }
1919 var12 = 1;
1920 {
1921 { /* Inline kernel#Int#== (var_l,var12) on <var_l:Int> */
1922 var15 = var_l == var12;
1923 var13 = var15;
1924 goto RET_LABEL14;
1925 RET_LABEL14:(void)0;
1926 }
1927 }
1928 if (var13){
1929 var16 = 0;
1930 {
1931 var17 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(self, var16);
1932 }
1933 var18 = NULL;
1934 if (var17 == NULL) {
1935 var19 = 1; /* is null */
1936 } else {
1937 var19 = 0; /* arg is null but recv is not */
1938 }
1939 if (0) {
1940 var20 = ((short int (*)(val* self, val* p0))(var17->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var17, var18) /* == on <var17:nullable Object>*/;
1941 var19 = var20;
1942 }
1943 if (var19){
1944 if (varonce21) {
1945 var22 = varonce21;
1946 } else {
1947 var23 = "";
1948 var24 = 0;
1949 var25 = standard___standard__NativeString___to_s_with_length(var23, var24);
1950 var22 = var25;
1951 varonce21 = var22;
1952 }
1953 var = var22;
1954 goto RET_LABEL;
1955 } else {
1956 var26 = 0;
1957 {
1958 var27 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(self, var26);
1959 }
1960 if (var27 == NULL) {
1961 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1962 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 2108);
1963 show_backtrace(1);
1964 } else {
1965 var28 = ((val* (*)(val* self))(var27->class->vft[COLOR_standard__string__Object__to_s]))(var27) /* to_s on <var27:nullable Object>*/;
1966 }
1967 var = var28;
1968 goto RET_LABEL;
1969 }
1970 } else {
1971 }
1972 var29 = self->attrs[COLOR_standard__array__Array___items].val; /* _items on <self:Array[nullable Object]> */
1973 var_its = var29;
1974 var30 = NEW_standard__NativeArray(var_l, &type_standard__NativeArray__standard__String);
1975 var_na = var30;
1976 var31 = 0;
1977 var_i = var31;
1978 var32 = 0;
1979 var_sl = var32;
1980 var33 = 0;
1981 var_mypos = var33;
1982 for(;;) {
1983 {
1984 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
1985 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1986 /* <var_l:Int> isa OTHER */
1987 var36 = 1; /* easy <var_l:Int> isa OTHER*/
1988 if (unlikely(!var36)) {
1989 var_class_name = type_standard__Int.name;
1990 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1991 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1992 show_backtrace(1);
1993 }
1994 var37 = var_i < var_l;
1995 var34 = var37;
1996 goto RET_LABEL35;
1997 RET_LABEL35:(void)0;
1998 }
1999 }
2000 if (var34){
2001 if (var_its == NULL) {
2002 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2003 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 2115);
2004 show_backtrace(1);
2005 } else {
2006 { /* Inline array#NativeArray#[] (var_its,var_i) on <var_its:nullable NativeArray[nullable Object]> */
2007 var40 = ((struct instance_standard__NativeArray*)var_its)->values[var_i];
2008 var38 = var40;
2009 goto RET_LABEL39;
2010 RET_LABEL39:(void)0;
2011 }
2012 }
2013 var_itsi = var38;
2014 var41 = NULL;
2015 if (var_itsi == NULL) {
2016 var42 = 1; /* is null */
2017 } else {
2018 var42 = 0; /* arg is null but recv is not */
2019 }
2020 if (0) {
2021 var43 = ((short int (*)(val* self, val* p0))(var_itsi->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_itsi, var41) /* == on <var_itsi:nullable Object>*/;
2022 var42 = var43;
2023 }
2024 if (var42){
2025 var44 = 1;
2026 {
2027 { /* Inline kernel#Int#+ (var_i,var44) on <var_i:Int> */
2028 /* Covariant cast for argument 0 (i) <var44:Int> isa OTHER */
2029 /* <var44:Int> isa OTHER */
2030 var47 = 1; /* easy <var44:Int> isa OTHER*/
2031 if (unlikely(!var47)) {
2032 var_class_name50 = type_standard__Int.name;
2033 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50);
2034 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2035 show_backtrace(1);
2036 }
2037 var51 = var_i + var44;
2038 var45 = var51;
2039 goto RET_LABEL46;
2040 RET_LABEL46:(void)0;
2041 }
2042 }
2043 var_i = var45;
2044 goto BREAK_label;
2045 } else {
2046 }
2047 if (var_itsi == NULL) {
2048 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2049 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 2120);
2050 show_backtrace(1);
2051 } else {
2052 var52 = ((val* (*)(val* self))(var_itsi->class->vft[COLOR_standard__string__Object__to_s]))(var_itsi) /* to_s on <var_itsi:nullable Object>*/;
2053 }
2054 var_tmp = var52;
2055 {
2056 var53 = ((long (*)(val* self))(var_tmp->class->vft[COLOR_standard__string__Text__length]))(var_tmp) /* length on <var_tmp:String>*/;
2057 }
2058 {
2059 { /* Inline kernel#Int#+ (var_sl,var53) on <var_sl:Int> */
2060 /* Covariant cast for argument 0 (i) <var53:Int> isa OTHER */
2061 /* <var53:Int> isa OTHER */
2062 var56 = 1; /* easy <var53:Int> isa OTHER*/
2063 if (unlikely(!var56)) {
2064 var_class_name59 = type_standard__Int.name;
2065 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
2066 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2067 show_backtrace(1);
2068 }
2069 var60 = var_sl + var53;
2070 var54 = var60;
2071 goto RET_LABEL55;
2072 RET_LABEL55:(void)0;
2073 }
2074 }
2075 var_sl = var54;
2076 {
2077 { /* Inline array#NativeArray#[]= (var_na,var_mypos,var_tmp) on <var_na:NativeArray[String]> */
2078 /* Covariant cast for argument 1 (item) <var_tmp:String> isa E */
2079 /* <var_tmp:String> isa E */
2080 type_struct = var_na->type->resolution_table->types[COLOR_standard__NativeArray___35dE];
2081 cltype63 = type_struct->color;
2082 idtype64 = type_struct->id;
2083 if(cltype63 >= var_tmp->type->table_size) {
2084 var62 = 0;
2085 } else {
2086 var62 = var_tmp->type->type_table[cltype63] == idtype64;
2087 }
2088 if (unlikely(!var62)) {
2089 var_class_name65 = var_tmp == NULL ? "null" : var_tmp->type->name;
2090 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name65);
2091 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 808);
2092 show_backtrace(1);
2093 }
2094 ((struct instance_standard__NativeArray*)var_na)->values[var_mypos]=var_tmp;
2095 RET_LABEL61:(void)0;
2096 }
2097 }
2098 var66 = 1;
2099 {
2100 { /* Inline kernel#Int#+ (var_i,var66) on <var_i:Int> */
2101 /* Covariant cast for argument 0 (i) <var66:Int> isa OTHER */
2102 /* <var66:Int> isa OTHER */
2103 var69 = 1; /* easy <var66:Int> isa OTHER*/
2104 if (unlikely(!var69)) {
2105 var_class_name72 = type_standard__Int.name;
2106 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name72);
2107 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2108 show_backtrace(1);
2109 }
2110 var73 = var_i + var66;
2111 var67 = var73;
2112 goto RET_LABEL68;
2113 RET_LABEL68:(void)0;
2114 }
2115 }
2116 var_i = var67;
2117 var74 = 1;
2118 {
2119 { /* Inline kernel#Int#+ (var_mypos,var74) on <var_mypos:Int> */
2120 /* Covariant cast for argument 0 (i) <var74:Int> isa OTHER */
2121 /* <var74:Int> isa OTHER */
2122 var77 = 1; /* easy <var74:Int> isa OTHER*/
2123 if (unlikely(!var77)) {
2124 var_class_name80 = type_standard__Int.name;
2125 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name80);
2126 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2127 show_backtrace(1);
2128 }
2129 var81 = var_mypos + var74;
2130 var75 = var81;
2131 goto RET_LABEL76;
2132 RET_LABEL76:(void)0;
2133 }
2134 }
2135 var_mypos = var75;
2136 } else {
2137 goto BREAK_label82;
2138 }
2139 BREAK_label: (void)0;
2140 }
2141 BREAK_label82: (void)0;
2142 var83 = NULL/*special!*/;
2143 var84 = 1;
2144 {
2145 { /* Inline kernel#Int#+ (var_sl,var84) on <var_sl:Int> */
2146 /* Covariant cast for argument 0 (i) <var84:Int> isa OTHER */
2147 /* <var84:Int> isa OTHER */
2148 var87 = 1; /* easy <var84:Int> isa OTHER*/
2149 if (unlikely(!var87)) {
2150 var_class_name90 = type_standard__Int.name;
2151 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90);
2152 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2153 show_backtrace(1);
2154 }
2155 var91 = var_sl + var84;
2156 var85 = var91;
2157 goto RET_LABEL86;
2158 RET_LABEL86:(void)0;
2159 }
2160 }
2161 {
2162 { /* Inline string#NativeString#new (var83,var85) on <var83:NativeString> */
2163 var94 = (char*)nit_alloc(var85);
2164 var92 = var94;
2165 goto RET_LABEL93;
2166 RET_LABEL93:(void)0;
2167 }
2168 }
2169 var_ns = var92;
2170 var95 = '\0';
2171 {
2172 { /* Inline string#NativeString#[]= (var_ns,var_sl,var95) on <var_ns:NativeString> */
2173 var_ns[var_sl]=var95;
2174 RET_LABEL96:(void)0;
2175 }
2176 }
2177 var97 = 0;
2178 var_i = var97;
2179 var98 = 0;
2180 var_off = var98;
2181 for(;;) {
2182 {
2183 { /* Inline kernel#Int#< (var_i,var_mypos) on <var_i:Int> */
2184 /* Covariant cast for argument 0 (i) <var_mypos:Int> isa OTHER */
2185 /* <var_mypos:Int> isa OTHER */
2186 var101 = 1; /* easy <var_mypos:Int> isa OTHER*/
2187 if (unlikely(!var101)) {
2188 var_class_name104 = type_standard__Int.name;
2189 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name104);
2190 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2191 show_backtrace(1);
2192 }
2193 var105 = var_i < var_mypos;
2194 var99 = var105;
2195 goto RET_LABEL100;
2196 RET_LABEL100:(void)0;
2197 }
2198 }
2199 if (var99){
2200 {
2201 { /* Inline array#NativeArray#[] (var_na,var_i) on <var_na:NativeArray[String]> */
2202 var108 = ((struct instance_standard__NativeArray*)var_na)->values[var_i];
2203 var106 = var108;
2204 goto RET_LABEL107;
2205 RET_LABEL107:(void)0;
2206 }
2207 }
2208 var_tmp109 = var106;
2209 {
2210 var110 = ((long (*)(val* self))(var_tmp109->class->vft[COLOR_standard__string__Text__length]))(var_tmp109) /* length on <var_tmp109:String>*/;
2211 }
2212 var_tpl = var110;
2213 /* <var_tmp109:String> isa FlatString */
2214 cltype112 = type_standard__FlatString.color;
2215 idtype113 = type_standard__FlatString.id;
2216 if(cltype112 >= var_tmp109->type->table_size) {
2217 var111 = 0;
2218 } else {
2219 var111 = var_tmp109->type->type_table[cltype112] == idtype113;
2220 }
2221 if (var111){
2222 {
2223 { /* Inline string#FlatText#items (var_tmp109) on <var_tmp109:String(FlatString)> */
2224 var116 = var_tmp109->attrs[COLOR_standard__string__FlatText___items].str; /* _items on <var_tmp109:String(FlatString)> */
2225 var114 = var116;
2226 RET_LABEL115:(void)0;
2227 }
2228 }
2229 {
2230 { /* Inline string#FlatString#index_from (var_tmp109) on <var_tmp109:String(FlatString)> */
2231 var119 = var_tmp109->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on <var_tmp109:String(FlatString)> */
2232 var117 = var119;
2233 RET_LABEL118:(void)0;
2234 }
2235 }
2236 {
2237 { /* Inline string#NativeString#copy_to (var114,var_ns,var_tpl,var117,var_off) on <var114:NativeString> */
2238 memmove(var_ns+var_off,var114+var117,var_tpl);
2239 RET_LABEL120:(void)0;
2240 }
2241 }
2242 {
2243 { /* Inline kernel#Int#+ (var_off,var_tpl) on <var_off:Int> */
2244 /* Covariant cast for argument 0 (i) <var_tpl:Int> isa OTHER */
2245 /* <var_tpl:Int> isa OTHER */
2246 var123 = 1; /* easy <var_tpl:Int> isa OTHER*/
2247 if (unlikely(!var123)) {
2248 var_class_name126 = type_standard__Int.name;
2249 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name126);
2250 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2251 show_backtrace(1);
2252 }
2253 var127 = var_off + var_tpl;
2254 var121 = var127;
2255 goto RET_LABEL122;
2256 RET_LABEL122:(void)0;
2257 }
2258 }
2259 var_off = var121;
2260 } else {
2261 {
2262 var128 = ((val* (*)(val* self))(var_tmp109->class->vft[COLOR_standard__string__Text__substrings]))(var_tmp109) /* substrings on <var_tmp109:String>*/;
2263 }
2264 var_ = var128;
2265 {
2266 var129 = standard___standard__Iterator___iterator(var_);
2267 }
2268 var_130 = var129;
2269 for(;;) {
2270 {
2271 var131 = ((short int (*)(val* self))(var_130->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_130) /* is_ok on <var_130:Iterator[String]>*/;
2272 }
2273 if (var131){
2274 {
2275 var132 = ((val* (*)(val* self))(var_130->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_130) /* item on <var_130:Iterator[String]>*/;
2276 }
2277 var_j = var132;
2278 /* <var_j:String> isa FlatString */
2279 cltype134 = type_standard__FlatString.color;
2280 idtype135 = type_standard__FlatString.id;
2281 if(cltype134 >= var_j->type->table_size) {
2282 var133 = 0;
2283 } else {
2284 var133 = var_j->type->type_table[cltype134] == idtype135;
2285 }
2286 if (unlikely(!var133)) {
2287 var_class_name136 = var_j == NULL ? "null" : var_j->type->name;
2288 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "FlatString", var_class_name136);
2289 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 2138);
2290 show_backtrace(1);
2291 }
2292 var_s = var_j;
2293 {
2294 { /* Inline string#FlatText#length (var_s) on <var_s:FlatString> */
2295 var139 = var_s->attrs[COLOR_standard__string__FlatText___length].l; /* _length on <var_s:FlatString> */
2296 var137 = var139;
2297 RET_LABEL138:(void)0;
2298 }
2299 }
2300 var_slen = var137;
2301 {
2302 { /* Inline string#FlatText#items (var_s) on <var_s:FlatString> */
2303 var142 = var_s->attrs[COLOR_standard__string__FlatText___items].str; /* _items on <var_s:FlatString> */
2304 var140 = var142;
2305 RET_LABEL141:(void)0;
2306 }
2307 }
2308 {
2309 { /* Inline string#FlatString#index_from (var_s) on <var_s:FlatString> */
2310 var145 = var_s->attrs[COLOR_standard__string__FlatString___index_from].l; /* _index_from on <var_s:FlatString> */
2311 var143 = var145;
2312 RET_LABEL144:(void)0;
2313 }
2314 }
2315 {
2316 { /* Inline string#NativeString#copy_to (var140,var_ns,var_slen,var143,var_off) on <var140:NativeString> */
2317 memmove(var_ns+var_off,var140+var143,var_slen);
2318 RET_LABEL146:(void)0;
2319 }
2320 }
2321 {
2322 { /* Inline kernel#Int#+ (var_off,var_slen) on <var_off:Int> */
2323 /* Covariant cast for argument 0 (i) <var_slen:Int> isa OTHER */
2324 /* <var_slen:Int> isa OTHER */
2325 var149 = 1; /* easy <var_slen:Int> isa OTHER*/
2326 if (unlikely(!var149)) {
2327 var_class_name152 = type_standard__Int.name;
2328 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name152);
2329 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2330 show_backtrace(1);
2331 }
2332 var153 = var_off + var_slen;
2333 var147 = var153;
2334 goto RET_LABEL148;
2335 RET_LABEL148:(void)0;
2336 }
2337 }
2338 var_off = var147;
2339 {
2340 ((void (*)(val* self))(var_130->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_130) /* next on <var_130:Iterator[String]>*/;
2341 }
2342 } else {
2343 goto BREAK_label154;
2344 }
2345 }
2346 BREAK_label154: (void)0;
2347 {
2348 { /* Inline abstract_collection#Iterator#finish (var_130) on <var_130:Iterator[String]> */
2349 RET_LABEL155:(void)0;
2350 }
2351 }
2352 }
2353 var156 = 1;
2354 {
2355 { /* Inline kernel#Int#+ (var_i,var156) on <var_i:Int> */
2356 /* Covariant cast for argument 0 (i) <var156:Int> isa OTHER */
2357 /* <var156:Int> isa OTHER */
2358 var159 = 1; /* easy <var156:Int> isa OTHER*/
2359 if (unlikely(!var159)) {
2360 var_class_name162 = type_standard__Int.name;
2361 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name162);
2362 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2363 show_backtrace(1);
2364 }
2365 var163 = var_i + var156;
2366 var157 = var163;
2367 goto RET_LABEL158;
2368 RET_LABEL158:(void)0;
2369 }
2370 }
2371 var_i = var157;
2372 } else {
2373 goto BREAK_label164;
2374 }
2375 }
2376 BREAK_label164: (void)0;
2377 {
2378 var165 = standard___standard__NativeString___to_s_with_length(var_ns, var_sl);
2379 }
2380 var = var165;
2381 goto RET_LABEL;
2382 RET_LABEL:;
2383 return var;
2384 }
2385 /* method string#NativeString#new for (self: NativeString, Int): NativeString */
2386 char* standard___standard__NativeString___new(char* self, long p0) {
2387 char* var /* : NativeString */;
2388 char* var1 /* : NativeString */;
2389 var1 = (char*)nit_alloc(p0);
2390 var = var1;
2391 goto RET_LABEL;
2392 RET_LABEL:;
2393 return var;
2394 }
2395 /* method string#NativeString#[] for (self: NativeString, Int): Char */
2396 char standard___standard__NativeString____91d_93d(char* self, long p0) {
2397 char var /* : Char */;
2398 char var1 /* : Char */;
2399 var1 = self[p0];
2400 var = var1;
2401 goto RET_LABEL;
2402 RET_LABEL:;
2403 return var;
2404 }
2405 /* method string#NativeString#[]= for (self: NativeString, Int, Char) */
2406 void standard___standard__NativeString____91d_93d_61d(char* self, long p0, char p1) {
2407 self[p0]=p1;
2408 RET_LABEL:;
2409 }
2410 /* method string#NativeString#copy_to for (self: NativeString, NativeString, Int, Int, Int) */
2411 void standard___standard__NativeString___copy_to(char* self, char* p0, long p1, long p2, long p3) {
2412 memmove(p0+p3,self+p2,p1);
2413 RET_LABEL:;
2414 }
2415 /* method string#NativeString#cstring_length for (self: NativeString): Int */
2416 long standard___standard__NativeString___cstring_length(char* self) {
2417 long var /* : Int */;
2418 long var1 /* : Int */;
2419 long var_l /* var l: Int */;
2420 char var2 /* : Char */;
2421 char var4 /* : Char */;
2422 char var5 /* : Char */;
2423 short int var6 /* : Bool */;
2424 short int var8 /* : Bool */;
2425 short int var9 /* : Bool */;
2426 long var10 /* : Int */;
2427 long var11 /* : Int */;
2428 short int var13 /* : Bool */;
2429 int cltype;
2430 int idtype;
2431 const char* var_class_name;
2432 long var14 /* : Int */;
2433 var1 = 0;
2434 var_l = var1;
2435 for(;;) {
2436 {
2437 { /* Inline string#NativeString#[] (self,var_l) on <self:NativeString> */
2438 var4 = self[var_l];
2439 var2 = var4;
2440 goto RET_LABEL3;
2441 RET_LABEL3:(void)0;
2442 }
2443 }
2444 var5 = '\0';
2445 {
2446 { /* Inline kernel#Char#!= (var2,var5) on <var2:Char> */
2447 var8 = var2 == var5;
2448 var9 = !var8;
2449 var6 = var9;
2450 goto RET_LABEL7;
2451 RET_LABEL7:(void)0;
2452 }
2453 }
2454 if (var6){
2455 var10 = 1;
2456 {
2457 { /* Inline kernel#Int#+ (var_l,var10) on <var_l:Int> */
2458 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2459 /* <var10:Int> isa OTHER */
2460 var13 = 1; /* easy <var10:Int> isa OTHER*/
2461 if (unlikely(!var13)) {
2462 var_class_name = type_standard__Int.name;
2463 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2464 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2465 show_backtrace(1);
2466 }
2467 var14 = var_l + var10;
2468 var11 = var14;
2469 goto RET_LABEL12;
2470 RET_LABEL12:(void)0;
2471 }
2472 }
2473 var_l = var11;
2474 } else {
2475 goto BREAK_label;
2476 }
2477 }
2478 BREAK_label: (void)0;
2479 var = var_l;
2480 goto RET_LABEL;
2481 RET_LABEL:;
2482 return var;
2483 }
2484 /* method string#NativeString#atoi for (self: NativeString): Int */
2485 long standard___standard__NativeString___atoi(char* self) {
2486 long var /* : Int */;
2487 long var1 /* : Int */;
2488 var1 = atoi(self);;
2489 var = var1;
2490 goto RET_LABEL;
2491 RET_LABEL:;
2492 return var;
2493 }
2494 /* method string#NativeString#atof for (self: NativeString): Float */
2495 double standard___standard__NativeString___atof(char* self) {
2496 double var /* : Float */;
2497 double var1 /* : Float for extern */;
2498 var1 = atof(self);
2499 var = var1;
2500 goto RET_LABEL;
2501 RET_LABEL:;
2502 return var;
2503 }
2504 /* method string#NativeString#to_s for (self: NativeString): String */
2505 val* standard___standard__NativeString___Object__to_s(char* self) {
2506 val* var /* : String */;
2507 long var1 /* : Int */;
2508 val* var2 /* : FlatString */;
2509 {
2510 var1 = standard___standard__NativeString___cstring_length(self);
2511 }
2512 {
2513 var2 = standard___standard__NativeString___to_s_with_length(self, var1);
2514 }
2515 var = var2;
2516 goto RET_LABEL;
2517 RET_LABEL:;
2518 return var;
2519 }
2520 /* method string#NativeString#to_s for (self: Object): String */
2521 val* VIRTUAL_standard___standard__NativeString___Object__to_s(val* self) {
2522 val* var /* : String */;
2523 val* var1 /* : String */;
2524 char* var2 /* : NativeString */;
2525 var2 = ((struct instance_standard__NativeString*)self)->value; /* autounbox from Object to NativeString */;
2526 var1 = standard___standard__NativeString___Object__to_s(var2);
2527 var = var1;
2528 RET_LABEL:;
2529 return var;
2530 }
2531 /* method string#NativeString#to_s_with_length for (self: NativeString, Int): FlatString */
2532 val* standard___standard__NativeString___to_s_with_length(char* self, long p0) {
2533 val* var /* : FlatString */;
2534 long var_length /* var length: Int */;
2535 long var1 /* : Int */;
2536 short int var2 /* : Bool */;
2537 short int var4 /* : Bool */;
2538 int cltype;
2539 int idtype;
2540 const char* var_class_name;
2541 short int var5 /* : Bool */;
2542 val* var6 /* : FlatString */;
2543 long var7 /* : Int */;
2544 long var8 /* : Int */;
2545 long var9 /* : Int */;
2546 short int var11 /* : Bool */;
2547 int cltype12;
2548 int idtype13;
2549 const char* var_class_name14;
2550 long var15 /* : Int */;
2551 val* var_str /* var str: FlatString */;
2552 var_length = p0;
2553 var1 = 0;
2554 {
2555 { /* Inline kernel#Int#>= (var_length,var1) on <var_length:Int> */
2556 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2557 /* <var1:Int> isa OTHER */
2558 var4 = 1; /* easy <var1:Int> isa OTHER*/
2559 if (unlikely(!var4)) {
2560 var_class_name = type_standard__Int.name;
2561 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2562 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
2563 show_backtrace(1);
2564 }
2565 var5 = var_length >= var1;
2566 var2 = var5;
2567 goto RET_LABEL3;
2568 RET_LABEL3:(void)0;
2569 }
2570 }
2571 if (unlikely(!var2)) {
2572 PRINT_ERROR("Runtime error: %s", "Assert failed");
2573 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 2224);
2574 show_backtrace(1);
2575 }
2576 var6 = NEW_standard__FlatString(&type_standard__FlatString);
2577 var7 = 0;
2578 var8 = 1;
2579 {
2580 { /* Inline kernel#Int#- (var_length,var8) on <var_length:Int> */
2581 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
2582 /* <var8:Int> isa OTHER */
2583 var11 = 1; /* easy <var8:Int> isa OTHER*/
2584 if (unlikely(!var11)) {
2585 var_class_name14 = type_standard__Int.name;
2586 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
2587 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
2588 show_backtrace(1);
2589 }
2590 var15 = var_length - var8;
2591 var9 = var15;
2592 goto RET_LABEL10;
2593 RET_LABEL10:(void)0;
2594 }
2595 }
2596 {
2597 standard___standard__FlatString___with_infos(var6, self, var_length, var7, var9); /* Direct call string#FlatString#with_infos on <var6:FlatString>*/
2598 }
2599 var_str = var6;
2600 var = var_str;
2601 goto RET_LABEL;
2602 RET_LABEL:;
2603 return var;
2604 }
2605 /* method string#NativeString#to_s_with_copy for (self: NativeString): FlatString */
2606 val* standard___standard__NativeString___to_s_with_copy(char* self) {
2607 val* var /* : FlatString */;
2608 long var1 /* : Int */;
2609 long var_length /* var length: Int */;
2610 char* var2 /* : NativeString */;
2611 long var3 /* : Int */;
2612 long var4 /* : Int */;
2613 short int var6 /* : Bool */;
2614 int cltype;
2615 int idtype;
2616 const char* var_class_name;
2617 long var7 /* : Int */;
2618 char* var8 /* : NativeString */;
2619 char* var10 /* : NativeString */;
2620 char* var_new_self /* var new_self: NativeString */;
2621 long var11 /* : Int */;
2622 long var12 /* : Int */;
2623 val* var14 /* : FlatString */;
2624 long var15 /* : Int */;
2625 long var16 /* : Int */;
2626 long var17 /* : Int */;
2627 short int var19 /* : Bool */;
2628 int cltype20;
2629 int idtype21;
2630 const char* var_class_name22;
2631 long var23 /* : Int */;
2632 val* var_str /* var str: FlatString */;
2633 char var24 /* : Char */;
2634 val* var27 /* : nullable NativeString */;
2635 {
2636 var1 = standard___standard__NativeString___cstring_length(self);
2637 }
2638 var_length = var1;
2639 var2 = NULL/*special!*/;
2640 var3 = 1;
2641 {
2642 { /* Inline kernel#Int#+ (var_length,var3) on <var_length:Int> */
2643 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
2644 /* <var3:Int> isa OTHER */
2645 var6 = 1; /* easy <var3:Int> isa OTHER*/
2646 if (unlikely(!var6)) {
2647 var_class_name = type_standard__Int.name;
2648 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2649 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2650 show_backtrace(1);
2651 }
2652 var7 = var_length + var3;
2653 var4 = var7;
2654 goto RET_LABEL5;
2655 RET_LABEL5:(void)0;
2656 }
2657 }
2658 {
2659 { /* Inline string#NativeString#new (var2,var4) on <var2:NativeString> */
2660 var10 = (char*)nit_alloc(var4);
2661 var8 = var10;
2662 goto RET_LABEL9;
2663 RET_LABEL9:(void)0;
2664 }
2665 }
2666 var_new_self = var8;
2667 var11 = 0;
2668 var12 = 0;
2669 {
2670 { /* Inline string#NativeString#copy_to (self,var_new_self,var_length,var11,var12) on <self:NativeString> */
2671 memmove(var_new_self+var12,self+var11,var_length);
2672 RET_LABEL13:(void)0;
2673 }
2674 }
2675 var14 = NEW_standard__FlatString(&type_standard__FlatString);
2676 var15 = 0;
2677 var16 = 1;
2678 {
2679 { /* Inline kernel#Int#- (var_length,var16) on <var_length:Int> */
2680 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
2681 /* <var16:Int> isa OTHER */
2682 var19 = 1; /* easy <var16:Int> isa OTHER*/
2683 if (unlikely(!var19)) {
2684 var_class_name22 = type_standard__Int.name;
2685 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22);
2686 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
2687 show_backtrace(1);
2688 }
2689 var23 = var_length - var16;
2690 var17 = var23;
2691 goto RET_LABEL18;
2692 RET_LABEL18:(void)0;
2693 }
2694 }
2695 {
2696 standard___standard__FlatString___with_infos(var14, var_new_self, var_length, var15, var17); /* Direct call string#FlatString#with_infos on <var14:FlatString>*/
2697 }
2698 var_str = var14;
2699 var24 = '\0';
2700 {
2701 { /* Inline string#NativeString#[]= (var_new_self,var_length,var24) on <var_new_self:NativeString> */
2702 var_new_self[var_length]=var24;
2703 RET_LABEL25:(void)0;
2704 }
2705 }
2706 {
2707 { /* Inline string#FlatText#real_items= (var_str,var_new_self) on <var_str:FlatString> */
2708 var27 = BOX_standard__NativeString(var_new_self); /* autobox from NativeString to nullable NativeString */
2709 var_str->attrs[COLOR_standard__string__FlatText___real_items].val = var27; /* _real_items on <var_str:FlatString> */
2710 RET_LABEL26:(void)0;
2711 }
2712 }
2713 var = var_str;
2714 goto RET_LABEL;
2715 RET_LABEL:;
2716 return var;
2717 }
2718 /* method string#Sys#program_args for (self: Sys): Sequence[String] */
2719 val* standard__string___Sys___program_args(val* self) {
2720 val* var /* : Sequence[String] */;
2721 val* var1 /* : nullable Sequence[String] */;
2722 val* var2 /* : null */;
2723 short int var3 /* : Bool */;
2724 short int var4 /* : Bool */;
2725 val* var5 /* : nullable Sequence[String] */;
2726 var1 = self->attrs[COLOR_standard__string__Sys___args_cache].val; /* _args_cache on <self:Sys> */
2727 var2 = NULL;
2728 if (var1 == NULL) {
2729 var3 = 1; /* is null */
2730 } else {
2731 var3 = 0; /* arg is null but recv is not */
2732 }
2733 if (0) {
2734 var4 = ((short int (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var1, var2) /* == on <var1:nullable Sequence[String]>*/;
2735 var3 = var4;
2736 }
2737 if (var3){
2738 {
2739 standard__string___Sys___init_args(self); /* Direct call string#Sys#init_args on <self:Sys>*/
2740 }
2741 } else {
2742 }
2743 var5 = self->attrs[COLOR_standard__string__Sys___args_cache].val; /* _args_cache on <self:Sys> */
2744 if (unlikely(var5 == NULL)) {
2745 PRINT_ERROR("Runtime error: %s", "Cast failed");
2746 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string, 2249);
2747 show_backtrace(1);
2748 }
2749 var = var5;
2750 goto RET_LABEL;
2751 RET_LABEL:;
2752 return var;
2753 }
2754 /* method string#Sys#program_name for (self: Sys): String */
2755 val* standard__string___Sys___program_name(val* self) {
2756 val* var /* : String */;
2757 long var1 /* : Int */;
2758 char* var2 /* : NativeString */;
2759 char* var4 /* : NativeString */;
2760 val* var5 /* : String */;
2761 var1 = 0;
2762 {
2763 { /* Inline string#Sys#native_argv (self,var1) on <self:Sys> */
2764 var4 = glob_argv[var1];
2765 var2 = var4;
2766 goto RET_LABEL3;
2767 RET_LABEL3:(void)0;
2768 }
2769 }
2770 {
2771 var5 = standard___standard__NativeString___Object__to_s(var2);
2772 }
2773 var = var5;
2774 goto RET_LABEL;
2775 RET_LABEL:;
2776 return var;
2777 }
2778 /* method string#Sys#init_args for (self: Sys) */
2779 void standard__string___Sys___init_args(val* self) {
2780 long var /* : Int */;
2781 long var2 /* : Int */;
2782 long var_argc /* var argc: Int */;
2783 val* var3 /* : Array[String] */;
2784 long var4 /* : Int */;
2785 val* var_args /* var args: Array[String] */;
2786 long var5 /* : Int */;
2787 long var_i /* var i: Int */;
2788 short int var6 /* : Bool */;
2789 short int var8 /* : Bool */;
2790 int cltype;
2791 int idtype;
2792 const char* var_class_name;
2793 short int var9 /* : Bool */;
2794 long var10 /* : Int */;
2795 long var11 /* : Int */;
2796 short int var13 /* : Bool */;
2797 int cltype14;
2798 int idtype15;
2799 const char* var_class_name16;
2800 long var17 /* : Int */;
2801 char* var18 /* : NativeString */;
2802 char* var20 /* : NativeString */;
2803 val* var21 /* : String */;
2804 long var22 /* : Int */;
2805 long var23 /* : Int */;
2806 short int var25 /* : Bool */;
2807 int cltype26;
2808 int idtype27;
2809 const char* var_class_name28;
2810 long var29 /* : Int */;
2811 {
2812 { /* Inline string#Sys#native_argc (self) on <self:Sys> */
2813 var2 = glob_argc;
2814 var = var2;
2815 goto RET_LABEL1;
2816 RET_LABEL1:(void)0;
2817 }
2818 }
2819 var_argc = var;
2820 var3 = NEW_standard__Array(&type_standard__Array__standard__String);
2821 var4 = 0;
2822 {
2823 standard___standard__Array___with_capacity(var3, var4); /* Direct call array#Array#with_capacity on <var3:Array[String]>*/
2824 }
2825 var_args = var3;
2826 var5 = 1;
2827 var_i = var5;
2828 for(;;) {
2829 {
2830 { /* Inline kernel#Int#< (var_i,var_argc) on <var_i:Int> */
2831 /* Covariant cast for argument 0 (i) <var_argc:Int> isa OTHER */
2832 /* <var_argc:Int> isa OTHER */
2833 var8 = 1; /* easy <var_argc:Int> isa OTHER*/
2834 if (unlikely(!var8)) {
2835 var_class_name = type_standard__Int.name;
2836 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2837 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2838 show_backtrace(1);
2839 }
2840 var9 = var_i < var_argc;
2841 var6 = var9;
2842 goto RET_LABEL7;
2843 RET_LABEL7:(void)0;
2844 }
2845 }
2846 if (var6){
2847 var10 = 1;
2848 {
2849 { /* Inline kernel#Int#- (var_i,var10) on <var_i:Int> */
2850 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2851 /* <var10:Int> isa OTHER */
2852 var13 = 1; /* easy <var10:Int> isa OTHER*/
2853 if (unlikely(!var13)) {
2854 var_class_name16 = type_standard__Int.name;
2855 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16);
2856 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
2857 show_backtrace(1);
2858 }
2859 var17 = var_i - var10;
2860 var11 = var17;
2861 goto RET_LABEL12;
2862 RET_LABEL12:(void)0;
2863 }
2864 }
2865 {
2866 { /* Inline string#Sys#native_argv (self,var_i) on <self:Sys> */
2867 var20 = glob_argv[var_i];
2868 var18 = var20;
2869 goto RET_LABEL19;
2870 RET_LABEL19:(void)0;
2871 }
2872 }
2873 {
2874 var21 = standard___standard__NativeString___Object__to_s(var18);
2875 }
2876 {
2877 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_args, var11, var21); /* Direct call array#Array#[]= on <var_args:Array[String]>*/
2878 }
2879 var22 = 1;
2880 {
2881 { /* Inline kernel#Int#+ (var_i,var22) on <var_i:Int> */
2882 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
2883 /* <var22:Int> isa OTHER */
2884 var25 = 1; /* easy <var22:Int> isa OTHER*/
2885 if (unlikely(!var25)) {
2886 var_class_name28 = type_standard__Int.name;
2887 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
2888 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2889 show_backtrace(1);
2890 }
2891 var29 = var_i + var22;
2892 var23 = var29;
2893 goto RET_LABEL24;
2894 RET_LABEL24:(void)0;
2895 }
2896 }
2897 var_i = var23;
2898 } else {
2899 goto BREAK_label;
2900 }
2901 }
2902 BREAK_label: (void)0;
2903 self->attrs[COLOR_standard__string__Sys___args_cache].val = var_args; /* _args_cache on <self:Sys> */
2904 RET_LABEL:;
2905 }
2906 /* method string#Sys#native_argc for (self: Sys): Int */
2907 long standard__string___Sys___native_argc(val* self) {
2908 long var /* : Int */;
2909 long var1 /* : Int */;
2910 var1 = glob_argc;
2911 var = var1;
2912 goto RET_LABEL;
2913 RET_LABEL:;
2914 return var;
2915 }
2916 /* method string#Sys#native_argv for (self: Sys, Int): NativeString */
2917 char* standard__string___Sys___native_argv(val* self, long p0) {
2918 char* var /* : NativeString */;
2919 char* var1 /* : NativeString */;
2920 var1 = glob_argv[p0];
2921 var = var1;
2922 goto RET_LABEL;
2923 RET_LABEL:;
2924 return var;
2925 }