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