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