Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / core__bytes.sep.1.c
1 #include "core__bytes.sep.0.h"
2 /* method bytes$Bytes$items for (self: Bytes): CString */
3 char* core___core__Bytes___items(val* self) {
4 char* var /* : CString */;
5 char* var1 /* : CString */;
6 var1 = self->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <self:Bytes> */
7 var = var1;
8 RET_LABEL:;
9 return var;
10 }
11 /* method bytes$Bytes$items= for (self: Bytes, CString) */
12 void core___core__Bytes___items_61d(val* self, char* p0) {
13 self->attrs[COLOR_core__bytes__Bytes___items].str = p0; /* _items on <self:Bytes> */
14 RET_LABEL:;
15 }
16 /* method bytes$Bytes$length for (self: Bytes): Int */
17 long core___core__Bytes___core__abstract_collection__Collection__length(val* self) {
18 long var /* : Int */;
19 long var1 /* : Int */;
20 var1 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
21 var = var1;
22 RET_LABEL:;
23 return var;
24 }
25 /* method bytes$Bytes$length= for (self: Bytes, Int) */
26 void core___core__Bytes___core__array__AbstractArrayRead__length_61d(val* self, long p0) {
27 self->attrs[COLOR_core__bytes__Bytes___length].l = p0; /* _length on <self:Bytes> */
28 RET_LABEL:;
29 }
30 /* method bytes$Bytes$capacity for (self: Bytes): Int */
31 long core___core__Bytes___capacity(val* self) {
32 long var /* : Int */;
33 long var1 /* : Int */;
34 var1 = self->attrs[COLOR_core__bytes__Bytes___capacity].l; /* _capacity on <self:Bytes> */
35 var = var1;
36 RET_LABEL:;
37 return var;
38 }
39 /* method bytes$Bytes$capacity= for (self: Bytes, Int) */
40 void core___core__Bytes___capacity_61d(val* self, long p0) {
41 self->attrs[COLOR_core__bytes__Bytes___capacity].l = p0; /* _capacity on <self:Bytes> */
42 RET_LABEL:;
43 }
44 /* method bytes$Bytes$persisted for (self: Bytes): Bool */
45 short int core___core__Bytes___persisted(val* self) {
46 short int var /* : Bool */;
47 short int var1 /* : Bool */;
48 var1 = self->attrs[COLOR_core__bytes__Bytes___persisted].s; /* _persisted on <self:Bytes> */
49 var = var1;
50 RET_LABEL:;
51 return var;
52 }
53 /* method bytes$Bytes$persisted= for (self: Bytes, Bool) */
54 void core___core__Bytes___persisted_61d(val* self, short int p0) {
55 self->attrs[COLOR_core__bytes__Bytes___persisted].s = p0; /* _persisted on <self:Bytes> */
56 RET_LABEL:;
57 }
58 /* method bytes$Bytes$empty for (self: Bytes) */
59 void core___core__Bytes___empty(val* self) {
60 static char* varoncenew;
61 static int varoncenew_guard;
62 char* var /* : CString */;
63 char* var1 /* : CString */;
64 char* var2 /* : CString */;
65 char* var4 /* : CString */;
66 char* var_ns /* var ns: CString */;
67 if (likely(varoncenew_guard)) {
68 var = varoncenew;
69 } else {
70 var1 = NULL/*special!*/;
71 var = var1;
72 varoncenew = var;
73 varoncenew_guard = 1;
74 }
75 {
76 { /* Inline native$CString$new (var,0l) on <var:CString> */
77 var4 = (char*)nit_alloc(0l);
78 var2 = var4;
79 goto RET_LABEL3;
80 RET_LABEL3:(void)0;
81 }
82 }
83 var_ns = var2;
84 {
85 ((void(*)(val* self, char* p0))(self->class->vft[COLOR_core__bytes__Bytes__items_61d]))(self, var_ns); /* items= on <self:Bytes>*/
86 }
87 {
88 ((void(*)(val* self, long p0))(self->class->vft[COLOR_core__array__AbstractArrayRead__length_61d]))(self, 0l); /* length= on <self:Bytes>*/
89 }
90 {
91 ((void(*)(val* self, long p0))(self->class->vft[COLOR_core__bytes__Bytes__capacity_61d]))(self, 0l); /* capacity= on <self:Bytes>*/
92 }
93 {
94 ((void(*)(val* self))(self->class->vft[COLOR_core__kernel__Object__init]))(self); /* init on <self:Bytes>*/
95 }
96 RET_LABEL:;
97 }
98 /* method bytes$Bytes$with_capacity for (self: Bytes, Int) */
99 void core___core__Bytes___with_capacity(val* self, long p0) {
100 long var_cap /* var cap: Int */;
101 static char* varoncenew;
102 static int varoncenew_guard;
103 char* var /* : CString */;
104 char* var1 /* : CString */;
105 char* var2 /* : CString */;
106 char* var4 /* : CString */;
107 char* var_ns /* var ns: CString */;
108 var_cap = p0;
109 if (likely(varoncenew_guard)) {
110 var = varoncenew;
111 } else {
112 var1 = NULL/*special!*/;
113 var = var1;
114 varoncenew = var;
115 varoncenew_guard = 1;
116 }
117 {
118 { /* Inline native$CString$new (var,var_cap) on <var:CString> */
119 var4 = (char*)nit_alloc(var_cap);
120 var2 = var4;
121 goto RET_LABEL3;
122 RET_LABEL3:(void)0;
123 }
124 }
125 var_ns = var2;
126 {
127 ((void(*)(val* self, char* p0))(self->class->vft[COLOR_core__bytes__Bytes__items_61d]))(self, var_ns); /* items= on <self:Bytes>*/
128 }
129 {
130 ((void(*)(val* self, long p0))(self->class->vft[COLOR_core__array__AbstractArrayRead__length_61d]))(self, 0l); /* length= on <self:Bytes>*/
131 }
132 {
133 ((void(*)(val* self, long p0))(self->class->vft[COLOR_core__bytes__Bytes__capacity_61d]))(self, var_cap); /* capacity= on <self:Bytes>*/
134 }
135 {
136 ((void(*)(val* self))(self->class->vft[COLOR_core__kernel__Object__init]))(self); /* init on <self:Bytes>*/
137 }
138 RET_LABEL:;
139 }
140 /* method bytes$Bytes$is_empty for (self: Bytes): Bool */
141 short int core___core__Bytes___core__abstract_collection__Collection__is_empty(val* self) {
142 short int var /* : Bool */;
143 long var1 /* : Int */;
144 long var3 /* : Int */;
145 short int var4 /* : Bool */;
146 short int var6 /* : Bool */;
147 {
148 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
149 var3 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
150 var1 = var3;
151 RET_LABEL2:(void)0;
152 }
153 }
154 {
155 { /* Inline kernel$Int$== (var1,0l) on <var1:Int> */
156 var6 = var1 == 0l;
157 var4 = var6;
158 goto RET_LABEL5;
159 RET_LABEL5:(void)0;
160 }
161 }
162 var = var4;
163 goto RET_LABEL;
164 RET_LABEL:;
165 return var;
166 }
167 /* method bytes$Bytes$[] for (self: Bytes, Int): Byte */
168 unsigned char core___core__Bytes___core__abstract_collection__SequenceRead___91d_93d(val* self, long p0) {
169 unsigned char var /* : Byte */;
170 long var_i /* var i: Int */;
171 short int var1 /* : Bool */;
172 short int var3 /* : Bool */;
173 int cltype;
174 int idtype;
175 const char* var_class_name;
176 short int var4 /* : Bool */;
177 long var5 /* : Int */;
178 long var7 /* : Int */;
179 short int var8 /* : Bool */;
180 short int var10 /* : Bool */;
181 int cltype11;
182 int idtype12;
183 const char* var_class_name13;
184 short int var14 /* : Bool */;
185 char* var15 /* : CString */;
186 char* var17 /* : CString */;
187 unsigned char var18 /* : Byte */;
188 unsigned char var20 /* : Byte */;
189 var_i = p0;
190 {
191 { /* Inline kernel$Int$>= (var_i,0l) on <var_i:Int> */
192 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
193 /* <0l:Int> isa OTHER */
194 var3 = 1; /* easy <0l:Int> isa OTHER*/
195 if (unlikely(!var3)) {
196 var_class_name = type_core__Int.name;
197 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
198 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
199 fatal_exit(1);
200 }
201 var4 = var_i >= 0l;
202 var1 = var4;
203 goto RET_LABEL2;
204 RET_LABEL2:(void)0;
205 }
206 }
207 if (unlikely(!var1)) {
208 if(catchStack.cursor >= 0){
209 longjmp(catchStack.envs[catchStack.cursor], 1);
210 }
211 PRINT_ERROR("Runtime error: %s", "Assert failed");
212 PRINT_ERROR(" (%s:%d)\n", FILE_core__bytes, 184);
213 fatal_exit(1);
214 }
215 {
216 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
217 var7 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
218 var5 = var7;
219 RET_LABEL6:(void)0;
220 }
221 }
222 {
223 { /* Inline kernel$Int$< (var_i,var5) on <var_i:Int> */
224 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
225 /* <var5:Int> isa OTHER */
226 var10 = 1; /* easy <var5:Int> isa OTHER*/
227 if (unlikely(!var10)) {
228 var_class_name13 = type_core__Int.name;
229 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
230 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
231 fatal_exit(1);
232 }
233 var14 = var_i < var5;
234 var8 = var14;
235 goto RET_LABEL9;
236 RET_LABEL9:(void)0;
237 }
238 }
239 if (unlikely(!var8)) {
240 if(catchStack.cursor >= 0){
241 longjmp(catchStack.envs[catchStack.cursor], 1);
242 }
243 PRINT_ERROR("Runtime error: %s", "Assert failed");
244 PRINT_ERROR(" (%s:%d)\n", FILE_core__bytes, 185);
245 fatal_exit(1);
246 }
247 {
248 { /* Inline bytes$Bytes$items (self) on <self:Bytes> */
249 var17 = self->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <self:Bytes> */
250 var15 = var17;
251 RET_LABEL16:(void)0;
252 }
253 }
254 {
255 { /* Inline native$CString$[] (var15,var_i) on <var15:CString> */
256 var20 = (unsigned char)((int)var15[var_i]);
257 var18 = var20;
258 goto RET_LABEL19;
259 RET_LABEL19:(void)0;
260 }
261 }
262 var = var18;
263 goto RET_LABEL;
264 RET_LABEL:;
265 return var;
266 }
267 /* method bytes$Bytes$[] for (self: SequenceRead[nullable Object], Int): nullable Object */
268 val* VIRTUAL_core___core__Bytes___core__abstract_collection__SequenceRead___91d_93d(val* self, long p0) {
269 val* var /* : nullable Object */;
270 unsigned char var1 /* : Byte */;
271 val* var2 /* : nullable Object */;
272 var1 = core___core__Bytes___core__abstract_collection__SequenceRead___91d_93d(self, p0);
273 var2 = BOX_core__Byte(var1); /* autobox from Byte to nullable Object */
274 var = var2;
275 RET_LABEL:;
276 return var;
277 }
278 /* method bytes$Bytes$[]= for (self: Bytes, Int, Byte) */
279 void core___core__Bytes___core__abstract_collection__Sequence___91d_93d_61d(val* self, long p0, unsigned char p1) {
280 short int var /* : Bool */;
281 int cltype;
282 int idtype;
283 const char* var_class_name;
284 long var_i /* var i: Int */;
285 unsigned char var_v /* var v: Byte */;
286 short int var1 /* : Bool */;
287 short int var3 /* : Bool */;
288 short int var4 /* : Bool */;
289 short int var6 /* : Bool */;
290 int cltype7;
291 int idtype8;
292 const char* var_class_name9;
293 short int var10 /* : Bool */;
294 long var11 /* : Int */;
295 long var13 /* : Int */;
296 short int var14 /* : Bool */;
297 short int var16 /* : Bool */;
298 int cltype17;
299 int idtype18;
300 const char* var_class_name19;
301 short int var20 /* : Bool */;
302 long var21 /* : Int */;
303 long var23 /* : Int */;
304 short int var24 /* : Bool */;
305 short int var26 /* : Bool */;
306 char* var27 /* : CString */;
307 char* var29 /* : CString */;
308 /* Covariant cast for argument 1 (v) <p1:Byte> isa Byte */
309 /* <p1:Byte> isa Byte */
310 var = 1; /* easy <p1:Byte> isa Byte*/
311 if (unlikely(!var)) {
312 var_class_name = type_core__Byte.name;
313 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Byte", var_class_name);
314 PRINT_ERROR(" (%s:%d)\n", FILE_core__bytes, 370);
315 fatal_exit(1);
316 }
317 var_i = p0;
318 var_v = p1;
319 {
320 { /* Inline bytes$Bytes$persisted (self) on <self:Bytes> */
321 var3 = self->attrs[COLOR_core__bytes__Bytes___persisted].s; /* _persisted on <self:Bytes> */
322 var1 = var3;
323 RET_LABEL2:(void)0;
324 }
325 }
326 if (var1){
327 {
328 core___core__Bytes___regen(self); /* Direct call bytes$Bytes$regen on <self:Bytes>*/
329 }
330 } else {
331 }
332 {
333 { /* Inline kernel$Int$>= (var_i,0l) on <var_i:Int> */
334 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
335 /* <0l:Int> isa OTHER */
336 var6 = 1; /* easy <0l:Int> isa OTHER*/
337 if (unlikely(!var6)) {
338 var_class_name9 = type_core__Int.name;
339 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9);
340 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
341 fatal_exit(1);
342 }
343 var10 = var_i >= 0l;
344 var4 = var10;
345 goto RET_LABEL5;
346 RET_LABEL5:(void)0;
347 }
348 }
349 if (unlikely(!var4)) {
350 if(catchStack.cursor >= 0){
351 longjmp(catchStack.envs[catchStack.cursor], 1);
352 }
353 PRINT_ERROR("Runtime error: %s", "Assert failed");
354 PRINT_ERROR(" (%s:%d)\n", FILE_core__bytes, 375);
355 fatal_exit(1);
356 }
357 {
358 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
359 var13 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
360 var11 = var13;
361 RET_LABEL12:(void)0;
362 }
363 }
364 {
365 { /* Inline kernel$Int$<= (var_i,var11) on <var_i:Int> */
366 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
367 /* <var11:Int> isa OTHER */
368 var16 = 1; /* easy <var11:Int> isa OTHER*/
369 if (unlikely(!var16)) {
370 var_class_name19 = type_core__Int.name;
371 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
372 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
373 fatal_exit(1);
374 }
375 var20 = var_i <= var11;
376 var14 = var20;
377 goto RET_LABEL15;
378 RET_LABEL15:(void)0;
379 }
380 }
381 if (unlikely(!var14)) {
382 if(catchStack.cursor >= 0){
383 longjmp(catchStack.envs[catchStack.cursor], 1);
384 }
385 PRINT_ERROR("Runtime error: %s", "Assert failed");
386 PRINT_ERROR(" (%s:%d)\n", FILE_core__bytes, 376);
387 fatal_exit(1);
388 }
389 {
390 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
391 var23 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
392 var21 = var23;
393 RET_LABEL22:(void)0;
394 }
395 }
396 {
397 { /* Inline kernel$Int$== (var_i,var21) on <var_i:Int> */
398 var26 = var_i == var21;
399 var24 = var26;
400 goto RET_LABEL25;
401 RET_LABEL25:(void)0;
402 }
403 }
404 if (var24){
405 {
406 core___core__Bytes___core__abstract_collection__SimpleCollection__add(self, var_v); /* Direct call bytes$Bytes$add on <self:Bytes>*/
407 }
408 } else {
409 }
410 {
411 { /* Inline bytes$Bytes$items (self) on <self:Bytes> */
412 var29 = self->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <self:Bytes> */
413 var27 = var29;
414 RET_LABEL28:(void)0;
415 }
416 }
417 {
418 { /* Inline native$CString$[]= (var27,var_i,var_v) on <var27:CString> */
419 var27[var_i]=(unsigned char)var_v;
420 RET_LABEL30:(void)0;
421 }
422 }
423 RET_LABEL:;
424 }
425 /* method bytes$Bytes$[]= for (self: Sequence[nullable Object], Int, nullable Object) */
426 void VIRTUAL_core___core__Bytes___core__abstract_collection__Sequence___91d_93d_61d(val* self, long p0, val* p1) {
427 unsigned char var /* : Byte */;
428 var = ((struct instance_core__Byte*)p1)->value; /* autounbox from nullable Object to Byte */;
429 core___core__Bytes___core__abstract_collection__Sequence___91d_93d_61d(self, p0, var); /* Direct call bytes$Bytes$[]= on <self:Sequence[nullable Object](Bytes)>*/
430 RET_LABEL:;
431 }
432 /* method bytes$Bytes$add for (self: Bytes, Byte) */
433 void core___core__Bytes___core__abstract_collection__SimpleCollection__add(val* self, unsigned char p0) {
434 short int var /* : Bool */;
435 int cltype;
436 int idtype;
437 const char* var_class_name;
438 unsigned char var_c /* var c: Byte */;
439 short int var1 /* : Bool */;
440 short int var3 /* : Bool */;
441 long var4 /* : Int */;
442 long var6 /* : Int */;
443 long var7 /* : Int */;
444 long var9 /* : Int */;
445 short int var10 /* : Bool */;
446 short int var12 /* : Bool */;
447 int cltype13;
448 int idtype14;
449 const char* var_class_name15;
450 short int var16 /* : Bool */;
451 long var17 /* : Int */;
452 long var19 /* : Int */;
453 char* var20 /* : CString */;
454 char* var22 /* : CString */;
455 long var23 /* : Int */;
456 long var25 /* : Int */;
457 val* var_ /* var : Bytes */;
458 long var27 /* : Int */;
459 long var29 /* : Int */;
460 long var30 /* : Int */;
461 short int var32 /* : Bool */;
462 int cltype33;
463 int idtype34;
464 const char* var_class_name35;
465 long var36 /* : Int */;
466 /* Covariant cast for argument 0 (c) <p0:Byte> isa Byte */
467 /* <p0:Byte> isa Byte */
468 var = 1; /* easy <p0:Byte> isa Byte*/
469 if (unlikely(!var)) {
470 var_class_name = type_core__Byte.name;
471 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Byte", var_class_name);
472 PRINT_ERROR(" (%s:%d)\n", FILE_core__bytes, 381);
473 fatal_exit(1);
474 }
475 var_c = p0;
476 {
477 { /* Inline bytes$Bytes$persisted (self) on <self:Bytes> */
478 var3 = self->attrs[COLOR_core__bytes__Bytes___persisted].s; /* _persisted on <self:Bytes> */
479 var1 = var3;
480 RET_LABEL2:(void)0;
481 }
482 }
483 if (var1){
484 {
485 core___core__Bytes___regen(self); /* Direct call bytes$Bytes$regen on <self:Bytes>*/
486 }
487 } else {
488 }
489 {
490 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
491 var6 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
492 var4 = var6;
493 RET_LABEL5:(void)0;
494 }
495 }
496 {
497 { /* Inline bytes$Bytes$capacity (self) on <self:Bytes> */
498 var9 = self->attrs[COLOR_core__bytes__Bytes___capacity].l; /* _capacity on <self:Bytes> */
499 var7 = var9;
500 RET_LABEL8:(void)0;
501 }
502 }
503 {
504 { /* Inline kernel$Int$>= (var4,var7) on <var4:Int> */
505 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
506 /* <var7:Int> isa OTHER */
507 var12 = 1; /* easy <var7:Int> isa OTHER*/
508 if (unlikely(!var12)) {
509 var_class_name15 = type_core__Int.name;
510 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15);
511 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
512 fatal_exit(1);
513 }
514 var16 = var4 >= var7;
515 var10 = var16;
516 goto RET_LABEL11;
517 RET_LABEL11:(void)0;
518 }
519 }
520 if (var10){
521 {
522 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
523 var19 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
524 var17 = var19;
525 RET_LABEL18:(void)0;
526 }
527 }
528 {
529 core___core__Bytes___core__array__AbstractArray__enlarge(self, var17); /* Direct call bytes$Bytes$enlarge on <self:Bytes>*/
530 }
531 } else {
532 }
533 {
534 { /* Inline bytes$Bytes$items (self) on <self:Bytes> */
535 var22 = self->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <self:Bytes> */
536 var20 = var22;
537 RET_LABEL21:(void)0;
538 }
539 }
540 {
541 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
542 var25 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
543 var23 = var25;
544 RET_LABEL24:(void)0;
545 }
546 }
547 {
548 { /* Inline native$CString$[]= (var20,var23,var_c) on <var20:CString> */
549 var20[var23]=(unsigned char)var_c;
550 RET_LABEL26:(void)0;
551 }
552 }
553 var_ = self;
554 {
555 { /* Inline bytes$Bytes$length (var_) on <var_:Bytes> */
556 var29 = var_->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <var_:Bytes> */
557 var27 = var29;
558 RET_LABEL28:(void)0;
559 }
560 }
561 {
562 { /* Inline kernel$Int$+ (var27,1l) on <var27:Int> */
563 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
564 /* <1l:Int> isa OTHER */
565 var32 = 1; /* easy <1l:Int> isa OTHER*/
566 if (unlikely(!var32)) {
567 var_class_name35 = type_core__Int.name;
568 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35);
569 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
570 fatal_exit(1);
571 }
572 var36 = var27 + 1l;
573 var30 = var36;
574 goto RET_LABEL31;
575 RET_LABEL31:(void)0;
576 }
577 }
578 {
579 { /* Inline bytes$Bytes$length= (var_,var30) on <var_:Bytes> */
580 var_->attrs[COLOR_core__bytes__Bytes___length].l = var30; /* _length on <var_:Bytes> */
581 RET_LABEL37:(void)0;
582 }
583 }
584 RET_LABEL:;
585 }
586 /* method bytes$Bytes$add for (self: SimpleCollection[nullable Object], nullable Object) */
587 void VIRTUAL_core___core__Bytes___core__abstract_collection__SimpleCollection__add(val* self, val* p0) {
588 unsigned char var /* : Byte */;
589 var = ((struct instance_core__Byte*)p0)->value; /* autounbox from nullable Object to Byte */;
590 core___core__Bytes___core__abstract_collection__SimpleCollection__add(self, var); /* Direct call bytes$Bytes$add on <self:SimpleCollection[nullable Object](Bytes)>*/
591 RET_LABEL:;
592 }
593 /* method bytes$Bytes$add_char for (self: Bytes, Char) */
594 void core___core__Bytes___add_char(val* self, uint32_t p0) {
595 uint32_t var_c /* var c: Char */;
596 short int var /* : Bool */;
597 short int var2 /* : Bool */;
598 long var3 /* : Int */;
599 long var_cln /* var cln: Int */;
600 long var4 /* : Int */;
601 long var6 /* : Int */;
602 long var_ln /* var ln: Int */;
603 long var7 /* : Int */;
604 short int var9 /* : Bool */;
605 int cltype;
606 int idtype;
607 const char* var_class_name;
608 long var10 /* : Int */;
609 char* var11 /* : CString */;
610 char* var13 /* : CString */;
611 long var14 /* : Int */;
612 long var16 /* : Int */;
613 val* var_ /* var : Bytes */;
614 long var17 /* : Int */;
615 long var19 /* : Int */;
616 long var20 /* : Int */;
617 short int var22 /* : Bool */;
618 int cltype23;
619 int idtype24;
620 const char* var_class_name25;
621 long var26 /* : Int */;
622 var_c = p0;
623 {
624 { /* Inline bytes$Bytes$persisted (self) on <self:Bytes> */
625 var2 = self->attrs[COLOR_core__bytes__Bytes___persisted].s; /* _persisted on <self:Bytes> */
626 var = var2;
627 RET_LABEL1:(void)0;
628 }
629 }
630 if (var){
631 {
632 core___core__Bytes___regen(self); /* Direct call bytes$Bytes$regen on <self:Bytes>*/
633 }
634 } else {
635 }
636 {
637 var3 = core__abstract_text___Char___u8char_len(var_c);
638 }
639 var_cln = var3;
640 {
641 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
642 var6 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
643 var4 = var6;
644 RET_LABEL5:(void)0;
645 }
646 }
647 var_ln = var4;
648 {
649 { /* Inline kernel$Int$+ (var_ln,var_cln) on <var_ln:Int> */
650 /* Covariant cast for argument 0 (i) <var_cln:Int> isa OTHER */
651 /* <var_cln:Int> isa OTHER */
652 var9 = 1; /* easy <var_cln:Int> isa OTHER*/
653 if (unlikely(!var9)) {
654 var_class_name = type_core__Int.name;
655 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
656 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
657 fatal_exit(1);
658 }
659 var10 = var_ln + var_cln;
660 var7 = var10;
661 goto RET_LABEL8;
662 RET_LABEL8:(void)0;
663 }
664 }
665 {
666 core___core__Bytes___core__array__AbstractArray__enlarge(self, var7); /* Direct call bytes$Bytes$enlarge on <self:Bytes>*/
667 }
668 {
669 { /* Inline bytes$Bytes$items (self) on <self:Bytes> */
670 var13 = self->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <self:Bytes> */
671 var11 = var13;
672 RET_LABEL12:(void)0;
673 }
674 }
675 {
676 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
677 var16 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
678 var14 = var16;
679 RET_LABEL15:(void)0;
680 }
681 }
682 {
683 core__flat___CString___set_char_at(var11, var14, var_c); /* Direct call flat$CString$set_char_at on <var11:CString>*/
684 }
685 var_ = self;
686 {
687 { /* Inline bytes$Bytes$length (var_) on <var_:Bytes> */
688 var19 = var_->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <var_:Bytes> */
689 var17 = var19;
690 RET_LABEL18:(void)0;
691 }
692 }
693 {
694 { /* Inline kernel$Int$+ (var17,var_cln) on <var17:Int> */
695 /* Covariant cast for argument 0 (i) <var_cln:Int> isa OTHER */
696 /* <var_cln:Int> isa OTHER */
697 var22 = 1; /* easy <var_cln:Int> isa OTHER*/
698 if (unlikely(!var22)) {
699 var_class_name25 = type_core__Int.name;
700 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25);
701 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
702 fatal_exit(1);
703 }
704 var26 = var17 + var_cln;
705 var20 = var26;
706 goto RET_LABEL21;
707 RET_LABEL21:(void)0;
708 }
709 }
710 {
711 { /* Inline bytes$Bytes$length= (var_,var20) on <var_:Bytes> */
712 var_->attrs[COLOR_core__bytes__Bytes___length].l = var20; /* _length on <var_:Bytes> */
713 RET_LABEL27:(void)0;
714 }
715 }
716 RET_LABEL:;
717 }
718 /* method bytes$Bytes$append for (self: Bytes, Collection[Byte]) */
719 void core___core__Bytes___core__abstract_collection__Sequence__append(val* self, val* p0) {
720 short int var /* : Bool */;
721 int cltype;
722 int idtype;
723 const char* var_class_name;
724 val* var_arr /* var arr: Collection[Byte] */;
725 short int var1 /* : Bool */;
726 int cltype2;
727 int idtype3;
728 char* var4 /* : CString */;
729 char* var6 /* : CString */;
730 long var7 /* : Int */;
731 long var9 /* : Int */;
732 val* var_ /* var : Collection[Byte] */;
733 val* var10 /* : Iterator[nullable Object] */;
734 val* var_11 /* var : Iterator[Byte] */;
735 short int var12 /* : Bool */;
736 val* var13 /* : nullable Object */;
737 unsigned char var14 /* : Byte */;
738 unsigned char var_i /* var i: Byte */;
739 /* Covariant cast for argument 0 (arr) <p0:Collection[Byte]> isa Collection[Byte] */
740 /* <p0:Collection[Byte]> isa Collection[Byte] */
741 var = 1; /* easy <p0:Collection[Byte]> isa Collection[Byte]*/
742 if (unlikely(!var)) {
743 var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name;
744 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[Byte]", var_class_name);
745 PRINT_ERROR(" (%s:%d)\n", FILE_core__bytes, 408);
746 fatal_exit(1);
747 }
748 var_arr = p0;
749 /* <var_arr:Collection[Byte]> isa Bytes */
750 cltype2 = type_core__Bytes.color;
751 idtype3 = type_core__Bytes.id;
752 if(cltype2 >= (((long)var_arr&3)?type_info[((long)var_arr&3)]:var_arr->type)->table_size) {
753 var1 = 0;
754 } else {
755 var1 = (((long)var_arr&3)?type_info[((long)var_arr&3)]:var_arr->type)->type_table[cltype2] == idtype3;
756 }
757 if (var1){
758 {
759 { /* Inline bytes$Bytes$items (var_arr) on <var_arr:Collection[Byte](Bytes)> */
760 var6 = var_arr->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <var_arr:Collection[Byte](Bytes)> */
761 var4 = var6;
762 RET_LABEL5:(void)0;
763 }
764 }
765 {
766 { /* Inline bytes$Bytes$length (var_arr) on <var_arr:Collection[Byte](Bytes)> */
767 var9 = var_arr->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <var_arr:Collection[Byte](Bytes)> */
768 var7 = var9;
769 RET_LABEL8:(void)0;
770 }
771 }
772 {
773 core___core__Bytes___append_ns(self, var4, var7); /* Direct call bytes$Bytes$append_ns on <self:Bytes>*/
774 }
775 } else {
776 var_ = var_arr;
777 {
778 var10 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on <var_:Collection[Byte]>*/
779 }
780 var_11 = var10;
781 for(;;) {
782 {
783 var12 = ((short int(*)(val* self))((((long)var_11&3)?class_info[((long)var_11&3)]:var_11->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_11); /* is_ok on <var_11:Iterator[Byte]>*/
784 }
785 if (var12){
786 } else {
787 goto BREAK_label;
788 }
789 {
790 var13 = ((val*(*)(val* self))((((long)var_11&3)?class_info[((long)var_11&3)]:var_11->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_11); /* item on <var_11:Iterator[Byte]>*/
791 }
792 var14 = ((struct instance_core__Byte*)var13)->value; /* autounbox from nullable Object to Byte */;
793 var_i = var14;
794 {
795 core___core__Bytes___core__abstract_collection__SimpleCollection__add(self, var_i); /* Direct call bytes$Bytes$add on <self:Bytes>*/
796 }
797 {
798 ((void(*)(val* self))((((long)var_11&3)?class_info[((long)var_11&3)]:var_11->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_11); /* next on <var_11:Iterator[Byte]>*/
799 }
800 }
801 BREAK_label: (void)0;
802 {
803 ((void(*)(val* self))((((long)var_11&3)?class_info[((long)var_11&3)]:var_11->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_11); /* finish on <var_11:Iterator[Byte]>*/
804 }
805 }
806 RET_LABEL:;
807 }
808 /* method bytes$Bytes$pop for (self: Bytes): Byte */
809 unsigned char core___core__Bytes___core__abstract_collection__Sequence__pop(val* self) {
810 unsigned char var /* : Byte */;
811 long var1 /* : Int */;
812 long var3 /* : Int */;
813 short int var4 /* : Bool */;
814 short int var6 /* : Bool */;
815 int cltype;
816 int idtype;
817 const char* var_class_name;
818 short int var7 /* : Bool */;
819 val* var_ /* var : Bytes */;
820 long var8 /* : Int */;
821 long var10 /* : Int */;
822 long var11 /* : Int */;
823 short int var13 /* : Bool */;
824 int cltype14;
825 int idtype15;
826 const char* var_class_name16;
827 long var17 /* : Int */;
828 char* var19 /* : CString */;
829 char* var21 /* : CString */;
830 long var22 /* : Int */;
831 long var24 /* : Int */;
832 unsigned char var25 /* : Byte */;
833 unsigned char var27 /* : Byte */;
834 {
835 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
836 var3 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
837 var1 = var3;
838 RET_LABEL2:(void)0;
839 }
840 }
841 {
842 { /* Inline kernel$Int$>= (var1,1l) on <var1:Int> */
843 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
844 /* <1l:Int> isa OTHER */
845 var6 = 1; /* easy <1l:Int> isa OTHER*/
846 if (unlikely(!var6)) {
847 var_class_name = type_core__Int.name;
848 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
849 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
850 fatal_exit(1);
851 }
852 var7 = var1 >= 1l;
853 var4 = var7;
854 goto RET_LABEL5;
855 RET_LABEL5:(void)0;
856 }
857 }
858 if (unlikely(!var4)) {
859 if(catchStack.cursor >= 0){
860 longjmp(catchStack.envs[catchStack.cursor], 1);
861 }
862 PRINT_ERROR("Runtime error: %s", "Assert failed");
863 PRINT_ERROR(" (%s:%d)\n", FILE_core__bytes, 424);
864 fatal_exit(1);
865 }
866 var_ = self;
867 {
868 { /* Inline bytes$Bytes$length (var_) on <var_:Bytes> */
869 var10 = var_->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <var_:Bytes> */
870 var8 = var10;
871 RET_LABEL9:(void)0;
872 }
873 }
874 {
875 { /* Inline kernel$Int$- (var8,1l) on <var8:Int> */
876 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
877 /* <1l:Int> isa OTHER */
878 var13 = 1; /* easy <1l:Int> isa OTHER*/
879 if (unlikely(!var13)) {
880 var_class_name16 = type_core__Int.name;
881 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16);
882 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
883 fatal_exit(1);
884 }
885 var17 = var8 - 1l;
886 var11 = var17;
887 goto RET_LABEL12;
888 RET_LABEL12:(void)0;
889 }
890 }
891 {
892 { /* Inline bytes$Bytes$length= (var_,var11) on <var_:Bytes> */
893 var_->attrs[COLOR_core__bytes__Bytes___length].l = var11; /* _length on <var_:Bytes> */
894 RET_LABEL18:(void)0;
895 }
896 }
897 {
898 { /* Inline bytes$Bytes$items (self) on <self:Bytes> */
899 var21 = self->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <self:Bytes> */
900 var19 = var21;
901 RET_LABEL20:(void)0;
902 }
903 }
904 {
905 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
906 var24 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
907 var22 = var24;
908 RET_LABEL23:(void)0;
909 }
910 }
911 {
912 { /* Inline native$CString$[] (var19,var22) on <var19:CString> */
913 var27 = (unsigned char)((int)var19[var22]);
914 var25 = var27;
915 goto RET_LABEL26;
916 RET_LABEL26:(void)0;
917 }
918 }
919 var = var25;
920 goto RET_LABEL;
921 RET_LABEL:;
922 return var;
923 }
924 /* method bytes$Bytes$pop for (self: Sequence[nullable Object]): nullable Object */
925 val* VIRTUAL_core___core__Bytes___core__abstract_collection__Sequence__pop(val* self) {
926 val* var /* : nullable Object */;
927 unsigned char var1 /* : Byte */;
928 val* var2 /* : nullable Object */;
929 var1 = core___core__Bytes___core__abstract_collection__Sequence__pop(self);
930 var2 = BOX_core__Byte(var1); /* autobox from Byte to nullable Object */
931 var = var2;
932 RET_LABEL:;
933 return var;
934 }
935 /* method bytes$Bytes$clear for (self: Bytes) */
936 void core___core__Bytes___core__abstract_collection__RemovableCollection__clear(val* self) {
937 {
938 { /* Inline bytes$Bytes$length= (self,0l) on <self:Bytes> */
939 self->attrs[COLOR_core__bytes__Bytes___length].l = 0l; /* _length on <self:Bytes> */
940 RET_LABEL1:(void)0;
941 }
942 }
943 RET_LABEL:;
944 }
945 /* method bytes$Bytes$regen for (self: Bytes) */
946 void core___core__Bytes___regen(val* self) {
947 static char* varoncenew;
948 static int varoncenew_guard;
949 char* var /* : CString */;
950 char* var1 /* : CString */;
951 long var2 /* : Int */;
952 long var4 /* : Int */;
953 char* var5 /* : CString */;
954 char* var7 /* : CString */;
955 char* var_nns /* var nns: CString */;
956 char* var8 /* : CString */;
957 char* var10 /* : CString */;
958 long var11 /* : Int */;
959 long var13 /* : Int */;
960 if (likely(varoncenew_guard)) {
961 var = varoncenew;
962 } else {
963 var1 = NULL/*special!*/;
964 var = var1;
965 varoncenew = var;
966 varoncenew_guard = 1;
967 }
968 {
969 { /* Inline bytes$Bytes$capacity (self) on <self:Bytes> */
970 var4 = self->attrs[COLOR_core__bytes__Bytes___capacity].l; /* _capacity on <self:Bytes> */
971 var2 = var4;
972 RET_LABEL3:(void)0;
973 }
974 }
975 {
976 { /* Inline native$CString$new (var,var2) on <var:CString> */
977 var7 = (char*)nit_alloc(var2);
978 var5 = var7;
979 goto RET_LABEL6;
980 RET_LABEL6:(void)0;
981 }
982 }
983 var_nns = var5;
984 {
985 { /* Inline bytes$Bytes$items (self) on <self:Bytes> */
986 var10 = self->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <self:Bytes> */
987 var8 = var10;
988 RET_LABEL9:(void)0;
989 }
990 }
991 {
992 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
993 var13 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
994 var11 = var13;
995 RET_LABEL12:(void)0;
996 }
997 }
998 {
999 { /* Inline native$CString$copy_to (var8,var_nns,var11,0l,0l) on <var8:CString> */
1000 memmove(var_nns+0l,var8+0l,var11);
1001 RET_LABEL14:(void)0;
1002 }
1003 }
1004 {
1005 { /* Inline bytes$Bytes$persisted= (self,0) on <self:Bytes> */
1006 self->attrs[COLOR_core__bytes__Bytes___persisted].s = 0; /* _persisted on <self:Bytes> */
1007 RET_LABEL15:(void)0;
1008 }
1009 }
1010 RET_LABEL:;
1011 }
1012 /* method bytes$Bytes$append_ns for (self: Bytes, CString, Int) */
1013 void core___core__Bytes___append_ns(val* self, char* p0, long p1) {
1014 char* var_ns /* var ns: CString */;
1015 long var_ln /* var ln: Int */;
1016 short int var /* : Bool */;
1017 short int var2 /* : Bool */;
1018 long var3 /* : Int */;
1019 long var5 /* : Int */;
1020 long var6 /* : Int */;
1021 short int var8 /* : Bool */;
1022 int cltype;
1023 int idtype;
1024 const char* var_class_name;
1025 long var9 /* : Int */;
1026 long var_nlen /* var nlen: Int */;
1027 long var10 /* : Int */;
1028 long var12 /* : Int */;
1029 short int var13 /* : Bool */;
1030 short int var15 /* : Bool */;
1031 int cltype16;
1032 int idtype17;
1033 const char* var_class_name18;
1034 short int var19 /* : Bool */;
1035 char* var20 /* : CString */;
1036 char* var22 /* : CString */;
1037 long var23 /* : Int */;
1038 long var25 /* : Int */;
1039 val* var_ /* var : Bytes */;
1040 long var27 /* : Int */;
1041 long var29 /* : Int */;
1042 long var30 /* : Int */;
1043 short int var32 /* : Bool */;
1044 int cltype33;
1045 int idtype34;
1046 const char* var_class_name35;
1047 long var36 /* : Int */;
1048 var_ns = p0;
1049 var_ln = p1;
1050 {
1051 { /* Inline bytes$Bytes$persisted (self) on <self:Bytes> */
1052 var2 = self->attrs[COLOR_core__bytes__Bytes___persisted].s; /* _persisted on <self:Bytes> */
1053 var = var2;
1054 RET_LABEL1:(void)0;
1055 }
1056 }
1057 if (var){
1058 {
1059 core___core__Bytes___regen(self); /* Direct call bytes$Bytes$regen on <self:Bytes>*/
1060 }
1061 } else {
1062 }
1063 {
1064 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
1065 var5 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
1066 var3 = var5;
1067 RET_LABEL4:(void)0;
1068 }
1069 }
1070 {
1071 { /* Inline kernel$Int$+ (var3,var_ln) on <var3:Int> */
1072 /* Covariant cast for argument 0 (i) <var_ln:Int> isa OTHER */
1073 /* <var_ln:Int> isa OTHER */
1074 var8 = 1; /* easy <var_ln:Int> isa OTHER*/
1075 if (unlikely(!var8)) {
1076 var_class_name = type_core__Int.name;
1077 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1078 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1079 fatal_exit(1);
1080 }
1081 var9 = var3 + var_ln;
1082 var6 = var9;
1083 goto RET_LABEL7;
1084 RET_LABEL7:(void)0;
1085 }
1086 }
1087 var_nlen = var6;
1088 {
1089 { /* Inline bytes$Bytes$capacity (self) on <self:Bytes> */
1090 var12 = self->attrs[COLOR_core__bytes__Bytes___capacity].l; /* _capacity on <self:Bytes> */
1091 var10 = var12;
1092 RET_LABEL11:(void)0;
1093 }
1094 }
1095 {
1096 { /* Inline kernel$Int$> (var_nlen,var10) on <var_nlen:Int> */
1097 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
1098 /* <var10:Int> isa OTHER */
1099 var15 = 1; /* easy <var10:Int> isa OTHER*/
1100 if (unlikely(!var15)) {
1101 var_class_name18 = type_core__Int.name;
1102 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
1103 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
1104 fatal_exit(1);
1105 }
1106 var19 = var_nlen > var10;
1107 var13 = var19;
1108 goto RET_LABEL14;
1109 RET_LABEL14:(void)0;
1110 }
1111 }
1112 if (var13){
1113 {
1114 core___core__Bytes___core__array__AbstractArray__enlarge(self, var_nlen); /* Direct call bytes$Bytes$enlarge on <self:Bytes>*/
1115 }
1116 } else {
1117 }
1118 {
1119 { /* Inline bytes$Bytes$items (self) on <self:Bytes> */
1120 var22 = self->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <self:Bytes> */
1121 var20 = var22;
1122 RET_LABEL21:(void)0;
1123 }
1124 }
1125 {
1126 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
1127 var25 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
1128 var23 = var25;
1129 RET_LABEL24:(void)0;
1130 }
1131 }
1132 {
1133 { /* Inline native$CString$copy_to (var_ns,var20,var_ln,0l,var23) on <var_ns:CString> */
1134 memmove(var20+var23,var_ns+0l,var_ln);
1135 RET_LABEL26:(void)0;
1136 }
1137 }
1138 var_ = self;
1139 {
1140 { /* Inline bytes$Bytes$length (var_) on <var_:Bytes> */
1141 var29 = var_->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <var_:Bytes> */
1142 var27 = var29;
1143 RET_LABEL28:(void)0;
1144 }
1145 }
1146 {
1147 { /* Inline kernel$Int$+ (var27,var_ln) on <var27:Int> */
1148 /* Covariant cast for argument 0 (i) <var_ln:Int> isa OTHER */
1149 /* <var_ln:Int> isa OTHER */
1150 var32 = 1; /* easy <var_ln:Int> isa OTHER*/
1151 if (unlikely(!var32)) {
1152 var_class_name35 = type_core__Int.name;
1153 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35);
1154 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1155 fatal_exit(1);
1156 }
1157 var36 = var27 + var_ln;
1158 var30 = var36;
1159 goto RET_LABEL31;
1160 RET_LABEL31:(void)0;
1161 }
1162 }
1163 {
1164 { /* Inline bytes$Bytes$length= (var_,var30) on <var_:Bytes> */
1165 var_->attrs[COLOR_core__bytes__Bytes___length].l = var30; /* _length on <var_:Bytes> */
1166 RET_LABEL37:(void)0;
1167 }
1168 }
1169 RET_LABEL:;
1170 }
1171 /* method bytes$Bytes$append_ns_from for (self: Bytes, CString, Int, Int) */
1172 void core___core__Bytes___append_ns_from(val* self, char* p0, long p1, long p2) {
1173 char* var_ns /* var ns: CString */;
1174 long var_ln /* var ln: Int */;
1175 long var_from /* var from: Int */;
1176 short int var /* : Bool */;
1177 short int var2 /* : Bool */;
1178 long var3 /* : Int */;
1179 long var5 /* : Int */;
1180 long var6 /* : Int */;
1181 short int var8 /* : Bool */;
1182 int cltype;
1183 int idtype;
1184 const char* var_class_name;
1185 long var9 /* : Int */;
1186 long var_nlen /* var nlen: Int */;
1187 long var10 /* : Int */;
1188 long var12 /* : Int */;
1189 short int var13 /* : Bool */;
1190 short int var15 /* : Bool */;
1191 int cltype16;
1192 int idtype17;
1193 const char* var_class_name18;
1194 short int var19 /* : Bool */;
1195 char* var20 /* : CString */;
1196 char* var22 /* : CString */;
1197 long var23 /* : Int */;
1198 long var25 /* : Int */;
1199 val* var_ /* var : Bytes */;
1200 long var27 /* : Int */;
1201 long var29 /* : Int */;
1202 long var30 /* : Int */;
1203 short int var32 /* : Bool */;
1204 int cltype33;
1205 int idtype34;
1206 const char* var_class_name35;
1207 long var36 /* : Int */;
1208 var_ns = p0;
1209 var_ln = p1;
1210 var_from = p2;
1211 {
1212 { /* Inline bytes$Bytes$persisted (self) on <self:Bytes> */
1213 var2 = self->attrs[COLOR_core__bytes__Bytes___persisted].s; /* _persisted on <self:Bytes> */
1214 var = var2;
1215 RET_LABEL1:(void)0;
1216 }
1217 }
1218 if (var){
1219 {
1220 core___core__Bytes___regen(self); /* Direct call bytes$Bytes$regen on <self:Bytes>*/
1221 }
1222 } else {
1223 }
1224 {
1225 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
1226 var5 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
1227 var3 = var5;
1228 RET_LABEL4:(void)0;
1229 }
1230 }
1231 {
1232 { /* Inline kernel$Int$+ (var3,var_ln) on <var3:Int> */
1233 /* Covariant cast for argument 0 (i) <var_ln:Int> isa OTHER */
1234 /* <var_ln:Int> isa OTHER */
1235 var8 = 1; /* easy <var_ln:Int> isa OTHER*/
1236 if (unlikely(!var8)) {
1237 var_class_name = type_core__Int.name;
1238 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1239 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1240 fatal_exit(1);
1241 }
1242 var9 = var3 + var_ln;
1243 var6 = var9;
1244 goto RET_LABEL7;
1245 RET_LABEL7:(void)0;
1246 }
1247 }
1248 var_nlen = var6;
1249 {
1250 { /* Inline bytes$Bytes$capacity (self) on <self:Bytes> */
1251 var12 = self->attrs[COLOR_core__bytes__Bytes___capacity].l; /* _capacity on <self:Bytes> */
1252 var10 = var12;
1253 RET_LABEL11:(void)0;
1254 }
1255 }
1256 {
1257 { /* Inline kernel$Int$> (var_nlen,var10) on <var_nlen:Int> */
1258 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
1259 /* <var10:Int> isa OTHER */
1260 var15 = 1; /* easy <var10:Int> isa OTHER*/
1261 if (unlikely(!var15)) {
1262 var_class_name18 = type_core__Int.name;
1263 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
1264 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
1265 fatal_exit(1);
1266 }
1267 var19 = var_nlen > var10;
1268 var13 = var19;
1269 goto RET_LABEL14;
1270 RET_LABEL14:(void)0;
1271 }
1272 }
1273 if (var13){
1274 {
1275 core___core__Bytes___core__array__AbstractArray__enlarge(self, var_nlen); /* Direct call bytes$Bytes$enlarge on <self:Bytes>*/
1276 }
1277 } else {
1278 }
1279 {
1280 { /* Inline bytes$Bytes$items (self) on <self:Bytes> */
1281 var22 = self->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <self:Bytes> */
1282 var20 = var22;
1283 RET_LABEL21:(void)0;
1284 }
1285 }
1286 {
1287 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
1288 var25 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
1289 var23 = var25;
1290 RET_LABEL24:(void)0;
1291 }
1292 }
1293 {
1294 { /* Inline native$CString$copy_to (var_ns,var20,var_ln,var_from,var23) on <var_ns:CString> */
1295 memmove(var20+var23,var_ns+var_from,var_ln);
1296 RET_LABEL26:(void)0;
1297 }
1298 }
1299 var_ = self;
1300 {
1301 { /* Inline bytes$Bytes$length (var_) on <var_:Bytes> */
1302 var29 = var_->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <var_:Bytes> */
1303 var27 = var29;
1304 RET_LABEL28:(void)0;
1305 }
1306 }
1307 {
1308 { /* Inline kernel$Int$+ (var27,var_ln) on <var27:Int> */
1309 /* Covariant cast for argument 0 (i) <var_ln:Int> isa OTHER */
1310 /* <var_ln:Int> isa OTHER */
1311 var32 = 1; /* easy <var_ln:Int> isa OTHER*/
1312 if (unlikely(!var32)) {
1313 var_class_name35 = type_core__Int.name;
1314 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35);
1315 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1316 fatal_exit(1);
1317 }
1318 var36 = var27 + var_ln;
1319 var30 = var36;
1320 goto RET_LABEL31;
1321 RET_LABEL31:(void)0;
1322 }
1323 }
1324 {
1325 { /* Inline bytes$Bytes$length= (var_,var30) on <var_:Bytes> */
1326 var_->attrs[COLOR_core__bytes__Bytes___length].l = var30; /* _length on <var_:Bytes> */
1327 RET_LABEL37:(void)0;
1328 }
1329 }
1330 RET_LABEL:;
1331 }
1332 /* method bytes$Bytes$enlarge for (self: Bytes, Int) */
1333 void core___core__Bytes___core__array__AbstractArray__enlarge(val* self, long p0) {
1334 long var_sz /* var sz: Int */;
1335 long var /* : Int */;
1336 long var2 /* : Int */;
1337 short int var3 /* : Bool */;
1338 short int var5 /* : Bool */;
1339 int cltype;
1340 int idtype;
1341 const char* var_class_name;
1342 short int var6 /* : Bool */;
1343 long var8 /* : Int */;
1344 long var10 /* : Int */;
1345 short int var11 /* : Bool */;
1346 short int var13 /* : Bool */;
1347 int cltype14;
1348 int idtype15;
1349 const char* var_class_name16;
1350 short int var17 /* : Bool */;
1351 long var18 /* : Int */;
1352 long var20 /* : Int */;
1353 long var21 /* : Int */;
1354 short int var23 /* : Bool */;
1355 int cltype24;
1356 int idtype25;
1357 const char* var_class_name26;
1358 long var27 /* : Int */;
1359 long var28 /* : Int */;
1360 short int var30 /* : Bool */;
1361 int cltype31;
1362 int idtype32;
1363 const char* var_class_name33;
1364 long var34 /* : Int */;
1365 static char* varoncenew;
1366 static int varoncenew_guard;
1367 char* var36 /* : CString */;
1368 char* var37 /* : CString */;
1369 long var38 /* : Int */;
1370 long var40 /* : Int */;
1371 char* var41 /* : CString */;
1372 char* var43 /* : CString */;
1373 char* var_ns /* var ns: CString */;
1374 char* var44 /* : CString */;
1375 char* var46 /* : CString */;
1376 long var47 /* : Int */;
1377 long var49 /* : Int */;
1378 var_sz = p0;
1379 {
1380 { /* Inline bytes$Bytes$capacity (self) on <self:Bytes> */
1381 var2 = self->attrs[COLOR_core__bytes__Bytes___capacity].l; /* _capacity on <self:Bytes> */
1382 var = var2;
1383 RET_LABEL1:(void)0;
1384 }
1385 }
1386 {
1387 { /* Inline kernel$Int$>= (var,var_sz) on <var:Int> */
1388 /* Covariant cast for argument 0 (i) <var_sz:Int> isa OTHER */
1389 /* <var_sz:Int> isa OTHER */
1390 var5 = 1; /* easy <var_sz:Int> isa OTHER*/
1391 if (unlikely(!var5)) {
1392 var_class_name = type_core__Int.name;
1393 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1394 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
1395 fatal_exit(1);
1396 }
1397 var6 = var >= var_sz;
1398 var3 = var6;
1399 goto RET_LABEL4;
1400 RET_LABEL4:(void)0;
1401 }
1402 }
1403 if (var3){
1404 goto RET_LABEL;
1405 } else {
1406 }
1407 {
1408 { /* Inline bytes$Bytes$persisted= (self,0) on <self:Bytes> */
1409 self->attrs[COLOR_core__bytes__Bytes___persisted].s = 0; /* _persisted on <self:Bytes> */
1410 RET_LABEL7:(void)0;
1411 }
1412 }
1413 for(;;) {
1414 {
1415 { /* Inline bytes$Bytes$capacity (self) on <self:Bytes> */
1416 var10 = self->attrs[COLOR_core__bytes__Bytes___capacity].l; /* _capacity on <self:Bytes> */
1417 var8 = var10;
1418 RET_LABEL9:(void)0;
1419 }
1420 }
1421 {
1422 { /* Inline kernel$Int$< (var8,var_sz) on <var8:Int> */
1423 /* Covariant cast for argument 0 (i) <var_sz:Int> isa OTHER */
1424 /* <var_sz:Int> isa OTHER */
1425 var13 = 1; /* easy <var_sz:Int> isa OTHER*/
1426 if (unlikely(!var13)) {
1427 var_class_name16 = type_core__Int.name;
1428 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16);
1429 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
1430 fatal_exit(1);
1431 }
1432 var17 = var8 < var_sz;
1433 var11 = var17;
1434 goto RET_LABEL12;
1435 RET_LABEL12:(void)0;
1436 }
1437 }
1438 if (var11){
1439 {
1440 { /* Inline bytes$Bytes$capacity (self) on <self:Bytes> */
1441 var20 = self->attrs[COLOR_core__bytes__Bytes___capacity].l; /* _capacity on <self:Bytes> */
1442 var18 = var20;
1443 RET_LABEL19:(void)0;
1444 }
1445 }
1446 {
1447 { /* Inline kernel$Int$* (var18,2l) on <var18:Int> */
1448 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1449 /* <2l:Int> isa OTHER */
1450 var23 = 1; /* easy <2l:Int> isa OTHER*/
1451 if (unlikely(!var23)) {
1452 var_class_name26 = type_core__Int.name;
1453 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26);
1454 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 732);
1455 fatal_exit(1);
1456 }
1457 var27 = var18 * 2l;
1458 var21 = var27;
1459 goto RET_LABEL22;
1460 RET_LABEL22:(void)0;
1461 }
1462 }
1463 {
1464 { /* Inline kernel$Int$+ (var21,2l) on <var21:Int> */
1465 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1466 /* <2l:Int> isa OTHER */
1467 var30 = 1; /* easy <2l:Int> isa OTHER*/
1468 if (unlikely(!var30)) {
1469 var_class_name33 = type_core__Int.name;
1470 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
1471 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1472 fatal_exit(1);
1473 }
1474 var34 = var21 + 2l;
1475 var28 = var34;
1476 goto RET_LABEL29;
1477 RET_LABEL29:(void)0;
1478 }
1479 }
1480 {
1481 { /* Inline bytes$Bytes$capacity= (self,var28) on <self:Bytes> */
1482 self->attrs[COLOR_core__bytes__Bytes___capacity].l = var28; /* _capacity on <self:Bytes> */
1483 RET_LABEL35:(void)0;
1484 }
1485 }
1486 } else {
1487 goto BREAK_label;
1488 }
1489 }
1490 BREAK_label: (void)0;
1491 if (likely(varoncenew_guard)) {
1492 var36 = varoncenew;
1493 } else {
1494 var37 = NULL/*special!*/;
1495 var36 = var37;
1496 varoncenew = var36;
1497 varoncenew_guard = 1;
1498 }
1499 {
1500 { /* Inline bytes$Bytes$capacity (self) on <self:Bytes> */
1501 var40 = self->attrs[COLOR_core__bytes__Bytes___capacity].l; /* _capacity on <self:Bytes> */
1502 var38 = var40;
1503 RET_LABEL39:(void)0;
1504 }
1505 }
1506 {
1507 { /* Inline native$CString$new (var36,var38) on <var36:CString> */
1508 var43 = (char*)nit_alloc(var38);
1509 var41 = var43;
1510 goto RET_LABEL42;
1511 RET_LABEL42:(void)0;
1512 }
1513 }
1514 var_ns = var41;
1515 {
1516 { /* Inline bytes$Bytes$items (self) on <self:Bytes> */
1517 var46 = self->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <self:Bytes> */
1518 var44 = var46;
1519 RET_LABEL45:(void)0;
1520 }
1521 }
1522 {
1523 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
1524 var49 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
1525 var47 = var49;
1526 RET_LABEL48:(void)0;
1527 }
1528 }
1529 {
1530 { /* Inline native$CString$copy_to (var44,var_ns,var47,0l,0l) on <var44:CString> */
1531 memmove(var_ns+0l,var44+0l,var47);
1532 RET_LABEL50:(void)0;
1533 }
1534 }
1535 {
1536 { /* Inline bytes$Bytes$items= (self,var_ns) on <self:Bytes> */
1537 self->attrs[COLOR_core__bytes__Bytes___items].str = var_ns; /* _items on <self:Bytes> */
1538 RET_LABEL51:(void)0;
1539 }
1540 }
1541 RET_LABEL:;
1542 }
1543 /* method bytes$Bytes$to_s for (self: Bytes): String */
1544 val* core___core__Bytes___core__abstract_text__Object__to_s(val* self) {
1545 val* var /* : String */;
1546 val* var_b /* var b: Bytes */;
1547 char* var2 /* : CString */;
1548 char* var4 /* : CString */;
1549 long var5 /* : Int */;
1550 long var7 /* : Int */;
1551 val* var8 /* : String */;
1552 val* var9 /* : nullable Int */;
1553 val* var10 /* : nullable Bool */;
1554 val* var_r /* var r: String */;
1555 char* var11 /* : CString */;
1556 char* var13 /* : CString */;
1557 short int var14 /* : Bool */;
1558 val* var_other /* var other: nullable Object */;
1559 val* var16 /* : nullable Object */;
1560 short int var17 /* : Bool */;
1561 short int var18 /* : Bool */;
1562 {
1563 { /* Inline bytes$Bytes$persisted= (self,1) on <self:Bytes> */
1564 self->attrs[COLOR_core__bytes__Bytes___persisted].s = 1; /* _persisted on <self:Bytes> */
1565 RET_LABEL1:(void)0;
1566 }
1567 }
1568 var_b = self;
1569 {
1570 { /* Inline bytes$Bytes$items (var_b) on <var_b:Bytes> */
1571 var4 = var_b->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <var_b:Bytes> */
1572 var2 = var4;
1573 RET_LABEL3:(void)0;
1574 }
1575 }
1576 {
1577 { /* Inline bytes$Bytes$length (self) on <self:Bytes> */
1578 var7 = self->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <self:Bytes> */
1579 var5 = var7;
1580 RET_LABEL6:(void)0;
1581 }
1582 }
1583 {
1584 var9 = (val*)(var5<<2|1);
1585 var10 = (val*)((long)(0)<<2|3);
1586 var8 = core__flat___CString___to_s_unsafe(var2, var9, ((val*)NULL), var10, ((val*)NULL));
1587 }
1588 var_r = var8;
1589 {
1590 { /* Inline bytes$Bytes$items (self) on <self:Bytes> */
1591 var13 = self->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <self:Bytes> */
1592 var11 = var13;
1593 RET_LABEL12:(void)0;
1594 }
1595 }
1596 {
1597 { /* Inline kernel$Object$!= (var_r,var11) on <var_r:String> */
1598 var16 = BOX_core__CString(var11); /* autobox from CString to nullable Object */
1599 var_other = var16;
1600 {
1601 var17 = ((short int(*)(val* self, val* p0))(var_r->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_r, var_other); /* == on <var_r:String>*/
1602 }
1603 var18 = !var17;
1604 var14 = var18;
1605 goto RET_LABEL15;
1606 RET_LABEL15:(void)0;
1607 }
1608 }
1609 if (var14){
1610 {
1611 { /* Inline bytes$Bytes$persisted= (self,0) on <self:Bytes> */
1612 self->attrs[COLOR_core__bytes__Bytes___persisted].s = 0; /* _persisted on <self:Bytes> */
1613 RET_LABEL19:(void)0;
1614 }
1615 }
1616 } else {
1617 }
1618 var = var_r;
1619 goto RET_LABEL;
1620 RET_LABEL:;
1621 return var;
1622 }
1623 /* method bytes$Bytes$iterator for (self: Bytes): Iterator[Byte] */
1624 val* core___core__Bytes___core__abstract_collection__Collection__iterator(val* self) {
1625 val* var /* : Iterator[Byte] */;
1626 val* var1 /* : BytesIterator */;
1627 var1 = NEW_core__bytes__BytesIterator(&type_core__bytes__BytesIterator);
1628 {
1629 core__bytes___core__bytes__BytesIterator___with_buffer(var1, self); /* Direct call bytes$BytesIterator$with_buffer on <var1:BytesIterator>*/
1630 }
1631 var = var1;
1632 goto RET_LABEL;
1633 RET_LABEL:;
1634 return var;
1635 }
1636 /* method bytes$Bytes$init for (self: Bytes) */
1637 void core___core__Bytes___core__kernel__Object__init(val* self) {
1638 {
1639 ((void(*)(val* self))(self->class->vft[COLOR_core___core__Bytes___core__kernel__Object__init]))(self); /* init on <self:Bytes>*/
1640 }
1641 RET_LABEL:;
1642 }
1643 /* method bytes$BytesIterator$tgt for (self: BytesIterator): CString */
1644 char* core__bytes___core__bytes__BytesIterator___tgt(val* self) {
1645 char* var /* : CString */;
1646 char* var1 /* : CString */;
1647 var1 = self->attrs[COLOR_core__bytes__BytesIterator___tgt].str; /* _tgt on <self:BytesIterator> */
1648 var = var1;
1649 RET_LABEL:;
1650 return var;
1651 }
1652 /* method bytes$BytesIterator$tgt= for (self: BytesIterator, CString) */
1653 void core__bytes___core__bytes__BytesIterator___tgt_61d(val* self, char* p0) {
1654 self->attrs[COLOR_core__bytes__BytesIterator___tgt].str = p0; /* _tgt on <self:BytesIterator> */
1655 RET_LABEL:;
1656 }
1657 /* method bytes$BytesIterator$index for (self: BytesIterator): Int */
1658 long core__bytes___core__bytes__BytesIterator___core__abstract_collection__IndexedIterator__index(val* self) {
1659 long var /* : Int */;
1660 long var1 /* : Int */;
1661 var1 = self->attrs[COLOR_core__bytes__BytesIterator___index].l; /* _index on <self:BytesIterator> */
1662 var = var1;
1663 RET_LABEL:;
1664 return var;
1665 }
1666 /* method bytes$BytesIterator$index= for (self: BytesIterator, Int) */
1667 void core__bytes___core__bytes__BytesIterator___index_61d(val* self, long p0) {
1668 self->attrs[COLOR_core__bytes__BytesIterator___index].l = p0; /* _index on <self:BytesIterator> */
1669 RET_LABEL:;
1670 }
1671 /* method bytes$BytesIterator$max for (self: BytesIterator): Int */
1672 long core__bytes___core__bytes__BytesIterator___max(val* self) {
1673 long var /* : Int */;
1674 long var1 /* : Int */;
1675 var1 = self->attrs[COLOR_core__bytes__BytesIterator___max].l; /* _max on <self:BytesIterator> */
1676 var = var1;
1677 RET_LABEL:;
1678 return var;
1679 }
1680 /* method bytes$BytesIterator$max= for (self: BytesIterator, Int) */
1681 void core__bytes___core__bytes__BytesIterator___max_61d(val* self, long p0) {
1682 self->attrs[COLOR_core__bytes__BytesIterator___max].l = p0; /* _max on <self:BytesIterator> */
1683 RET_LABEL:;
1684 }
1685 /* method bytes$BytesIterator$with_buffer for (self: BytesIterator, Bytes) */
1686 void core__bytes___core__bytes__BytesIterator___with_buffer(val* self, val* p0) {
1687 val* var_b /* var b: Bytes */;
1688 char* var /* : CString */;
1689 char* var2 /* : CString */;
1690 long var3 /* : Int */;
1691 long var5 /* : Int */;
1692 var_b = p0;
1693 {
1694 { /* Inline bytes$Bytes$items (var_b) on <var_b:Bytes> */
1695 var2 = var_b->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <var_b:Bytes> */
1696 var = var2;
1697 RET_LABEL1:(void)0;
1698 }
1699 }
1700 {
1701 { /* Inline bytes$Bytes$length (var_b) on <var_b:Bytes> */
1702 var5 = var_b->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <var_b:Bytes> */
1703 var3 = var5;
1704 RET_LABEL4:(void)0;
1705 }
1706 }
1707 {
1708 ((void(*)(val* self, char* p0))(self->class->vft[COLOR_core__bytes__BytesIterator__tgt_61d]))(self, var); /* tgt= on <self:BytesIterator>*/
1709 }
1710 {
1711 ((void(*)(val* self, long p0))(self->class->vft[COLOR_core__bytes__BytesIterator__index_61d]))(self, 0l); /* index= on <self:BytesIterator>*/
1712 }
1713 {
1714 ((void(*)(val* self, long p0))(self->class->vft[COLOR_core__bytes__BytesIterator__max_61d]))(self, var3); /* max= on <self:BytesIterator>*/
1715 }
1716 {
1717 ((void(*)(val* self))(self->class->vft[COLOR_core__kernel__Object__init]))(self); /* init on <self:BytesIterator>*/
1718 }
1719 RET_LABEL:;
1720 }
1721 /* method bytes$BytesIterator$is_ok for (self: BytesIterator): Bool */
1722 short int core__bytes___core__bytes__BytesIterator___core__abstract_collection__Iterator__is_ok(val* self) {
1723 short int var /* : Bool */;
1724 long var1 /* : Int */;
1725 long var3 /* : Int */;
1726 long var4 /* : Int */;
1727 long var6 /* : Int */;
1728 short int var7 /* : Bool */;
1729 short int var9 /* : Bool */;
1730 int cltype;
1731 int idtype;
1732 const char* var_class_name;
1733 short int var10 /* : Bool */;
1734 {
1735 { /* Inline bytes$BytesIterator$index (self) on <self:BytesIterator> */
1736 var3 = self->attrs[COLOR_core__bytes__BytesIterator___index].l; /* _index on <self:BytesIterator> */
1737 var1 = var3;
1738 RET_LABEL2:(void)0;
1739 }
1740 }
1741 {
1742 { /* Inline bytes$BytesIterator$max (self) on <self:BytesIterator> */
1743 var6 = self->attrs[COLOR_core__bytes__BytesIterator___max].l; /* _max on <self:BytesIterator> */
1744 var4 = var6;
1745 RET_LABEL5:(void)0;
1746 }
1747 }
1748 {
1749 { /* Inline kernel$Int$< (var1,var4) on <var1:Int> */
1750 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
1751 /* <var4:Int> isa OTHER */
1752 var9 = 1; /* easy <var4:Int> isa OTHER*/
1753 if (unlikely(!var9)) {
1754 var_class_name = type_core__Int.name;
1755 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1756 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
1757 fatal_exit(1);
1758 }
1759 var10 = var1 < var4;
1760 var7 = var10;
1761 goto RET_LABEL8;
1762 RET_LABEL8:(void)0;
1763 }
1764 }
1765 var = var7;
1766 goto RET_LABEL;
1767 RET_LABEL:;
1768 return var;
1769 }
1770 /* method bytes$BytesIterator$next for (self: BytesIterator) */
1771 void core__bytes___core__bytes__BytesIterator___core__abstract_collection__Iterator__next(val* self) {
1772 val* var_ /* var : BytesIterator */;
1773 long var /* : Int */;
1774 long var2 /* : Int */;
1775 long var3 /* : Int */;
1776 short int var5 /* : Bool */;
1777 int cltype;
1778 int idtype;
1779 const char* var_class_name;
1780 long var6 /* : Int */;
1781 var_ = self;
1782 {
1783 { /* Inline bytes$BytesIterator$index (var_) on <var_:BytesIterator> */
1784 var2 = var_->attrs[COLOR_core__bytes__BytesIterator___index].l; /* _index on <var_:BytesIterator> */
1785 var = var2;
1786 RET_LABEL1:(void)0;
1787 }
1788 }
1789 {
1790 { /* Inline kernel$Int$+ (var,1l) on <var:Int> */
1791 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1792 /* <1l:Int> isa OTHER */
1793 var5 = 1; /* easy <1l:Int> isa OTHER*/
1794 if (unlikely(!var5)) {
1795 var_class_name = type_core__Int.name;
1796 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1797 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1798 fatal_exit(1);
1799 }
1800 var6 = var + 1l;
1801 var3 = var6;
1802 goto RET_LABEL4;
1803 RET_LABEL4:(void)0;
1804 }
1805 }
1806 {
1807 { /* Inline bytes$BytesIterator$index= (var_,var3) on <var_:BytesIterator> */
1808 var_->attrs[COLOR_core__bytes__BytesIterator___index].l = var3; /* _index on <var_:BytesIterator> */
1809 RET_LABEL7:(void)0;
1810 }
1811 }
1812 RET_LABEL:;
1813 }
1814 /* method bytes$BytesIterator$item for (self: BytesIterator): Byte */
1815 unsigned char core__bytes___core__bytes__BytesIterator___core__abstract_collection__Iterator__item(val* self) {
1816 unsigned char var /* : Byte */;
1817 char* var1 /* : CString */;
1818 char* var3 /* : CString */;
1819 long var4 /* : Int */;
1820 long var6 /* : Int */;
1821 unsigned char var7 /* : Byte */;
1822 unsigned char var9 /* : Byte */;
1823 {
1824 { /* Inline bytes$BytesIterator$tgt (self) on <self:BytesIterator> */
1825 var3 = self->attrs[COLOR_core__bytes__BytesIterator___tgt].str; /* _tgt on <self:BytesIterator> */
1826 var1 = var3;
1827 RET_LABEL2:(void)0;
1828 }
1829 }
1830 {
1831 { /* Inline bytes$BytesIterator$index (self) on <self:BytesIterator> */
1832 var6 = self->attrs[COLOR_core__bytes__BytesIterator___index].l; /* _index on <self:BytesIterator> */
1833 var4 = var6;
1834 RET_LABEL5:(void)0;
1835 }
1836 }
1837 {
1838 { /* Inline native$CString$[] (var1,var4) on <var1:CString> */
1839 var9 = (unsigned char)((int)var1[var4]);
1840 var7 = var9;
1841 goto RET_LABEL8;
1842 RET_LABEL8:(void)0;
1843 }
1844 }
1845 var = var7;
1846 goto RET_LABEL;
1847 RET_LABEL:;
1848 return var;
1849 }
1850 /* method bytes$BytesIterator$item for (self: Iterator[nullable Object]): nullable Object */
1851 val* VIRTUAL_core__bytes___core__bytes__BytesIterator___core__abstract_collection__Iterator__item(val* self) {
1852 val* var /* : nullable Object */;
1853 unsigned char var1 /* : Byte */;
1854 val* var2 /* : nullable Object */;
1855 var1 = core__bytes___core__bytes__BytesIterator___core__abstract_collection__Iterator__item(self);
1856 var2 = BOX_core__Byte(var1); /* autobox from Byte to nullable Object */
1857 var = var2;
1858 RET_LABEL:;
1859 return var;
1860 }
1861 /* method bytes$BytesIterator$init for (self: BytesIterator) */
1862 void core__bytes___core__bytes__BytesIterator___core__kernel__Object__init(val* self) {
1863 {
1864 ((void(*)(val* self))(self->class->vft[COLOR_core__bytes___core__bytes__BytesIterator___core__kernel__Object__init]))(self); /* init on <self:BytesIterator>*/
1865 }
1866 RET_LABEL:;
1867 }
1868 /* method bytes$Text$to_bytes for (self: Text): Bytes */
1869 val* core__bytes___Text___to_bytes(val* self) {
1870 val* var /* : Bytes */;
1871 val* var1 /* : Bytes */;
1872 long var2 /* : Int */;
1873 val* var_b /* var b: Bytes */;
1874 var1 = NEW_core__Bytes(&type_core__Bytes);
1875 {
1876 var2 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__byte_length]))(self); /* byte_length on <self:Text>*/
1877 }
1878 {
1879 core___core__Bytes___with_capacity(var1, var2); /* Direct call bytes$Bytes$with_capacity on <var1:Bytes>*/
1880 }
1881 var_b = var1;
1882 {
1883 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_core__bytes__Text__append_to_bytes]))(self, var_b); /* append_to_bytes on <self:Text>*/
1884 }
1885 var = var_b;
1886 goto RET_LABEL;
1887 RET_LABEL:;
1888 return var;
1889 }
1890 /* method bytes$Text$append_to_bytes for (self: Text, Bytes) */
1891 void core__bytes___Text___append_to_bytes(val* self, val* p0) {
1892 val* var_b /* var b: Bytes */;
1893 val* var /* : Iterator[FlatText] */;
1894 val* var_ /* var : Iterator[FlatText] */;
1895 val* var1 /* : Iterator[nullable Object] */;
1896 val* var_2 /* var : Iterator[FlatText] */;
1897 short int var3 /* : Bool */;
1898 val* var4 /* : nullable Object */;
1899 val* var_s /* var s: FlatText */;
1900 long var5 /* : Int */;
1901 short int var6 /* : Bool */;
1902 int cltype;
1903 int idtype;
1904 long var7 /* : Int */;
1905 long var9 /* : Int */;
1906 long var_from /* var from: Int */;
1907 char* var10 /* : CString */;
1908 char* var12 /* : CString */;
1909 long var13 /* : Int */;
1910 long var15 /* : Int */;
1911 var_b = p0;
1912 {
1913 var = ((val*(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__substrings]))(self); /* substrings on <self:Text>*/
1914 }
1915 var_ = var;
1916 {
1917 var1 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Iterator__iterator]))(var_); /* iterator on <var_:Iterator[FlatText]>*/
1918 }
1919 var_2 = var1;
1920 for(;;) {
1921 {
1922 var3 = ((short int(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_2); /* is_ok on <var_2:Iterator[FlatText]>*/
1923 }
1924 if (var3){
1925 } else {
1926 goto BREAK_label;
1927 }
1928 {
1929 var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_2); /* item on <var_2:Iterator[FlatText]>*/
1930 }
1931 var_s = var4;
1932 /* <var_s:FlatText> isa FlatString */
1933 cltype = type_core__FlatString.color;
1934 idtype = type_core__FlatString.id;
1935 if(cltype >= var_s->type->table_size) {
1936 var6 = 0;
1937 } else {
1938 var6 = var_s->type->type_table[cltype] == idtype;
1939 }
1940 if (var6){
1941 {
1942 { /* Inline flat$FlatString$first_byte (var_s) on <var_s:FlatText(FlatString)> */
1943 var9 = var_s->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <var_s:FlatText(FlatString)> */
1944 var7 = var9;
1945 RET_LABEL8:(void)0;
1946 }
1947 }
1948 var5 = var7;
1949 } else {
1950 var5 = 0l;
1951 }
1952 var_from = var5;
1953 {
1954 { /* Inline abstract_text$FlatText$items (var_s) on <var_s:FlatText> */
1955 var12 = var_s->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_s:FlatText> */
1956 var10 = var12;
1957 RET_LABEL11:(void)0;
1958 }
1959 }
1960 {
1961 { /* Inline abstract_text$FlatText$byte_length (var_s) on <var_s:FlatText> */
1962 var15 = var_s->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <var_s:FlatText> */
1963 var13 = var15;
1964 RET_LABEL14:(void)0;
1965 }
1966 }
1967 {
1968 core___core__Bytes___append_ns_from(var_b, var10, var13, var_from); /* Direct call bytes$Bytes$append_ns_from on <var_b:Bytes>*/
1969 }
1970 {
1971 ((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_2); /* next on <var_2:Iterator[FlatText]>*/
1972 }
1973 }
1974 BREAK_label: (void)0;
1975 {
1976 ((void(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_2); /* finish on <var_2:Iterator[FlatText]>*/
1977 }
1978 RET_LABEL:;
1979 }
1980 /* method bytes$Text$unescape_to_bytes for (self: Text): Bytes */
1981 val* core__bytes___Text___unescape_to_bytes(val* self) {
1982 val* var /* : Bytes */;
1983 val* var1 /* : Bytes */;
1984 long var2 /* : Int */;
1985 val* var_res /* var res: Bytes */;
1986 short int var_was_slash /* var was_slash: Bool */;
1987 long var_i /* var i: Int */;
1988 long var3 /* : Int */;
1989 short int var4 /* : Bool */;
1990 short int var6 /* : Bool */;
1991 int cltype;
1992 int idtype;
1993 const char* var_class_name;
1994 short int var7 /* : Bool */;
1995 uint32_t var8 /* : Char */;
1996 uint32_t var_c /* var c: Char */;
1997 short int var9 /* : Bool */;
1998 short int var10 /* : Bool */;
1999 short int var12 /* : Bool */;
2000 long var13 /* : Int */;
2001 short int var15 /* : Bool */;
2002 int cltype16;
2003 int idtype17;
2004 const char* var_class_name18;
2005 long var19 /* : Int */;
2006 short int var20 /* : Bool */;
2007 short int var22 /* : Bool */;
2008 short int var23 /* : Bool */;
2009 short int var25 /* : Bool */;
2010 short int var26 /* : Bool */;
2011 short int var28 /* : Bool */;
2012 short int var29 /* : Bool */;
2013 short int var31 /* : Bool */;
2014 short int var32 /* : Bool */;
2015 short int var33 /* : Bool */;
2016 short int var35 /* : Bool */;
2017 short int var_ /* var : Bool */;
2018 short int var36 /* : Bool */;
2019 short int var38 /* : Bool */;
2020 long var39 /* : Int */;
2021 short int var41 /* : Bool */;
2022 int cltype42;
2023 int idtype43;
2024 const char* var_class_name44;
2025 long var45 /* : Int */;
2026 val* var46 /* : Text */;
2027 val* var_hx /* var hx: Text */;
2028 short int var47 /* : Bool */;
2029 long var48 /* : Int */;
2030 unsigned char var49 /* : Byte */;
2031 unsigned char var51 /* : Byte */;
2032 long var52 /* : Int */;
2033 short int var54 /* : Bool */;
2034 int cltype55;
2035 int idtype56;
2036 const char* var_class_name57;
2037 long var58 /* : Int */;
2038 short int var59 /* : Bool */;
2039 short int var60 /* : Bool */;
2040 short int var62 /* : Bool */;
2041 short int var_63 /* var : Bool */;
2042 short int var64 /* : Bool */;
2043 short int var66 /* : Bool */;
2044 long var67 /* : Int */;
2045 short int var69 /* : Bool */;
2046 int cltype70;
2047 int idtype71;
2048 const char* var_class_name72;
2049 long var73 /* : Int */;
2050 val* var74 /* : Text */;
2051 val* var_hx75 /* var hx: Text */;
2052 short int var76 /* : Bool */;
2053 long var77 /* : Int */;
2054 uint32_t var78 /* : Char */;
2055 uint32_t var80 /* : Char */;
2056 long var81 /* : Int */;
2057 short int var83 /* : Bool */;
2058 int cltype84;
2059 int idtype85;
2060 const char* var_class_name86;
2061 long var87 /* : Int */;
2062 long var88 /* : Int */;
2063 short int var90 /* : Bool */;
2064 int cltype91;
2065 int idtype92;
2066 const char* var_class_name93;
2067 long var94 /* : Int */;
2068 var1 = NEW_core__Bytes(&type_core__Bytes);
2069 {
2070 var2 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__byte_length]))(self); /* byte_length on <self:Text>*/
2071 }
2072 {
2073 core___core__Bytes___with_capacity(var1, var2); /* Direct call bytes$Bytes$with_capacity on <var1:Bytes>*/
2074 }
2075 var_res = var1;
2076 var_was_slash = 0;
2077 var_i = 0l;
2078 for(;;) {
2079 {
2080 var3 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
2081 }
2082 {
2083 { /* Inline kernel$Int$< (var_i,var3) on <var_i:Int> */
2084 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
2085 /* <var3:Int> isa OTHER */
2086 var6 = 1; /* easy <var3:Int> isa OTHER*/
2087 if (unlikely(!var6)) {
2088 var_class_name = type_core__Int.name;
2089 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2090 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
2091 fatal_exit(1);
2092 }
2093 var7 = var_i < var3;
2094 var4 = var7;
2095 goto RET_LABEL5;
2096 RET_LABEL5:(void)0;
2097 }
2098 }
2099 if (var4){
2100 {
2101 var8 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, var_i); /* [] on <self:Text>*/
2102 }
2103 var_c = var8;
2104 var9 = !var_was_slash;
2105 if (var9){
2106 {
2107 { /* Inline kernel$Char$== (var_c,'\\') on <var_c:Char> */
2108 var12 = var_c == '\\';
2109 var10 = var12;
2110 goto RET_LABEL11;
2111 RET_LABEL11:(void)0;
2112 }
2113 }
2114 if (var10){
2115 var_was_slash = 1;
2116 } else {
2117 {
2118 core___core__Bytes___add_char(var_res, var_c); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
2119 }
2120 }
2121 {
2122 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
2123 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2124 /* <1l:Int> isa OTHER */
2125 var15 = 1; /* easy <1l:Int> isa OTHER*/
2126 if (unlikely(!var15)) {
2127 var_class_name18 = type_core__Int.name;
2128 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
2129 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2130 fatal_exit(1);
2131 }
2132 var19 = var_i + 1l;
2133 var13 = var19;
2134 goto RET_LABEL14;
2135 RET_LABEL14:(void)0;
2136 }
2137 }
2138 var_i = var13;
2139 goto BREAK_label;
2140 } else {
2141 }
2142 var_was_slash = 0;
2143 {
2144 { /* Inline kernel$Char$== (var_c,'n') on <var_c:Char> */
2145 var22 = var_c == 'n';
2146 var20 = var22;
2147 goto RET_LABEL21;
2148 RET_LABEL21:(void)0;
2149 }
2150 }
2151 if (var20){
2152 {
2153 core___core__Bytes___add_char(var_res, '\n'); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
2154 }
2155 } else {
2156 {
2157 { /* Inline kernel$Char$== (var_c,'r') on <var_c:Char> */
2158 var25 = var_c == 'r';
2159 var23 = var25;
2160 goto RET_LABEL24;
2161 RET_LABEL24:(void)0;
2162 }
2163 }
2164 if (var23){
2165 {
2166 core___core__Bytes___add_char(var_res, '\015'); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
2167 }
2168 } else {
2169 {
2170 { /* Inline kernel$Char$== (var_c,'t') on <var_c:Char> */
2171 var28 = var_c == 't';
2172 var26 = var28;
2173 goto RET_LABEL27;
2174 RET_LABEL27:(void)0;
2175 }
2176 }
2177 if (var26){
2178 {
2179 core___core__Bytes___add_char(var_res, '\t'); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
2180 }
2181 } else {
2182 {
2183 { /* Inline kernel$Char$== (var_c,'0') on <var_c:Char> */
2184 var31 = var_c == '0';
2185 var29 = var31;
2186 goto RET_LABEL30;
2187 RET_LABEL30:(void)0;
2188 }
2189 }
2190 if (var29){
2191 {
2192 core___core__Bytes___add_char(var_res, '\000'); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
2193 }
2194 } else {
2195 {
2196 { /* Inline kernel$Char$== (var_c,'x') on <var_c:Char> */
2197 var35 = var_c == 'x';
2198 var33 = var35;
2199 goto RET_LABEL34;
2200 RET_LABEL34:(void)0;
2201 }
2202 }
2203 var_ = var33;
2204 if (var33){
2205 var32 = var_;
2206 } else {
2207 {
2208 { /* Inline kernel$Char$== (var_c,'X') on <var_c:Char> */
2209 var38 = var_c == 'X';
2210 var36 = var38;
2211 goto RET_LABEL37;
2212 RET_LABEL37:(void)0;
2213 }
2214 }
2215 var32 = var36;
2216 }
2217 if (var32){
2218 {
2219 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
2220 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2221 /* <1l:Int> isa OTHER */
2222 var41 = 1; /* easy <1l:Int> isa OTHER*/
2223 if (unlikely(!var41)) {
2224 var_class_name44 = type_core__Int.name;
2225 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44);
2226 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2227 fatal_exit(1);
2228 }
2229 var45 = var_i + 1l;
2230 var39 = var45;
2231 goto RET_LABEL40;
2232 RET_LABEL40:(void)0;
2233 }
2234 }
2235 {
2236 var46 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_core__abstract_text__Text__substring]))(self, var39, 2l); /* substring on <self:Text>*/
2237 }
2238 var_hx = var46;
2239 {
2240 var47 = core___core__Text___is_hex(var_hx);
2241 }
2242 if (var47){
2243 {
2244 var48 = ((long(*)(val* self, val* p0, val* p1))(var_hx->class->vft[COLOR_core__abstract_text__Text__to_hex]))(var_hx, ((val*)NULL), ((val*)NULL)); /* to_hex on <var_hx:Text>*/
2245 }
2246 {
2247 { /* Inline kernel$Int$to_b (var48) on <var48:Int> */
2248 var51 = (unsigned char)var48;
2249 var49 = var51;
2250 goto RET_LABEL50;
2251 RET_LABEL50:(void)0;
2252 }
2253 }
2254 {
2255 core___core__Bytes___core__abstract_collection__SimpleCollection__add(var_res, var49); /* Direct call bytes$Bytes$add on <var_res:Bytes>*/
2256 }
2257 } else {
2258 {
2259 core___core__Bytes___add_char(var_res, var_c); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
2260 }
2261 }
2262 {
2263 { /* Inline kernel$Int$+ (var_i,2l) on <var_i:Int> */
2264 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
2265 /* <2l:Int> isa OTHER */
2266 var54 = 1; /* easy <2l:Int> isa OTHER*/
2267 if (unlikely(!var54)) {
2268 var_class_name57 = type_core__Int.name;
2269 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57);
2270 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2271 fatal_exit(1);
2272 }
2273 var58 = var_i + 2l;
2274 var52 = var58;
2275 goto RET_LABEL53;
2276 RET_LABEL53:(void)0;
2277 }
2278 }
2279 var_i = var52;
2280 } else {
2281 {
2282 { /* Inline kernel$Char$== (var_c,'u') on <var_c:Char> */
2283 var62 = var_c == 'u';
2284 var60 = var62;
2285 goto RET_LABEL61;
2286 RET_LABEL61:(void)0;
2287 }
2288 }
2289 var_63 = var60;
2290 if (var60){
2291 var59 = var_63;
2292 } else {
2293 {
2294 { /* Inline kernel$Char$== (var_c,'U') on <var_c:Char> */
2295 var66 = var_c == 'U';
2296 var64 = var66;
2297 goto RET_LABEL65;
2298 RET_LABEL65:(void)0;
2299 }
2300 }
2301 var59 = var64;
2302 }
2303 if (var59){
2304 {
2305 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
2306 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2307 /* <1l:Int> isa OTHER */
2308 var69 = 1; /* easy <1l:Int> isa OTHER*/
2309 if (unlikely(!var69)) {
2310 var_class_name72 = type_core__Int.name;
2311 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name72);
2312 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2313 fatal_exit(1);
2314 }
2315 var73 = var_i + 1l;
2316 var67 = var73;
2317 goto RET_LABEL68;
2318 RET_LABEL68:(void)0;
2319 }
2320 }
2321 {
2322 var74 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_core__abstract_text__Text__substring]))(self, var67, 6l); /* substring on <self:Text>*/
2323 }
2324 var_hx75 = var74;
2325 {
2326 var76 = core___core__Text___is_hex(var_hx75);
2327 }
2328 if (var76){
2329 {
2330 var77 = ((long(*)(val* self, val* p0, val* p1))(var_hx75->class->vft[COLOR_core__abstract_text__Text__to_hex]))(var_hx75, ((val*)NULL), ((val*)NULL)); /* to_hex on <var_hx75:Text>*/
2331 }
2332 {
2333 { /* Inline kernel$Int$code_point (var77) on <var77:Int> */
2334 var80 = (uint32_t)var77;
2335 var78 = var80;
2336 goto RET_LABEL79;
2337 RET_LABEL79:(void)0;
2338 }
2339 }
2340 {
2341 core___core__Bytes___add_char(var_res, var78); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
2342 }
2343 } else {
2344 {
2345 core___core__Bytes___add_char(var_res, var_c); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
2346 }
2347 }
2348 {
2349 { /* Inline kernel$Int$+ (var_i,6l) on <var_i:Int> */
2350 /* Covariant cast for argument 0 (i) <6l:Int> isa OTHER */
2351 /* <6l:Int> isa OTHER */
2352 var83 = 1; /* easy <6l:Int> isa OTHER*/
2353 if (unlikely(!var83)) {
2354 var_class_name86 = type_core__Int.name;
2355 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86);
2356 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2357 fatal_exit(1);
2358 }
2359 var87 = var_i + 6l;
2360 var81 = var87;
2361 goto RET_LABEL82;
2362 RET_LABEL82:(void)0;
2363 }
2364 }
2365 var_i = var81;
2366 } else {
2367 {
2368 core___core__Bytes___add_char(var_res, var_c); /* Direct call bytes$Bytes$add_char on <var_res:Bytes>*/
2369 }
2370 }
2371 }
2372 }
2373 }
2374 }
2375 }
2376 {
2377 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
2378 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2379 /* <1l:Int> isa OTHER */
2380 var90 = 1; /* easy <1l:Int> isa OTHER*/
2381 if (unlikely(!var90)) {
2382 var_class_name93 = type_core__Int.name;
2383 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name93);
2384 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
2385 fatal_exit(1);
2386 }
2387 var94 = var_i + 1l;
2388 var88 = var94;
2389 goto RET_LABEL89;
2390 RET_LABEL89:(void)0;
2391 }
2392 }
2393 var_i = var88;
2394 } else {
2395 goto BREAK_label95;
2396 }
2397 BREAK_label: (void)0;
2398 }
2399 BREAK_label95: (void)0;
2400 var = var_res;
2401 goto RET_LABEL;
2402 RET_LABEL:;
2403 return var;
2404 }
2405 /* method bytes$FlatText$append_to_bytes for (self: FlatText, Bytes) */
2406 void core__bytes___FlatText___Text__append_to_bytes(val* self, val* p0) {
2407 val* var_b /* var b: Bytes */;
2408 long var /* : Int */;
2409 short int var1 /* : Bool */;
2410 int cltype;
2411 int idtype;
2412 long var2 /* : Int */;
2413 long var4 /* : Int */;
2414 long var_from /* var from: Int */;
2415 char* var5 /* : CString */;
2416 char* var7 /* : CString */;
2417 long var8 /* : Int */;
2418 long var10 /* : Int */;
2419 var_b = p0;
2420 /* <self:FlatText> isa FlatString */
2421 cltype = type_core__FlatString.color;
2422 idtype = type_core__FlatString.id;
2423 if(cltype >= self->type->table_size) {
2424 var1 = 0;
2425 } else {
2426 var1 = self->type->type_table[cltype] == idtype;
2427 }
2428 if (var1){
2429 {
2430 { /* Inline flat$FlatString$first_byte (self) on <self:FlatText(FlatString)> */
2431 var4 = self->attrs[COLOR_core__flat__FlatString___first_byte].l; /* _first_byte on <self:FlatText(FlatString)> */
2432 var2 = var4;
2433 RET_LABEL3:(void)0;
2434 }
2435 }
2436 var = var2;
2437 } else {
2438 var = 0l;
2439 }
2440 var_from = var;
2441 {
2442 { /* Inline abstract_text$FlatText$items (self) on <self:FlatText> */
2443 var7 = self->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <self:FlatText> */
2444 var5 = var7;
2445 RET_LABEL6:(void)0;
2446 }
2447 }
2448 {
2449 { /* Inline abstract_text$FlatText$byte_length (self) on <self:FlatText> */
2450 var10 = self->attrs[COLOR_core__abstract_text__FlatText___byte_length].l; /* _byte_length on <self:FlatText> */
2451 var8 = var10;
2452 RET_LABEL9:(void)0;
2453 }
2454 }
2455 {
2456 core___core__Bytes___append_ns_from(var_b, var5, var8, var_from); /* Direct call bytes$Bytes$append_ns_from on <var_b:Bytes>*/
2457 }
2458 RET_LABEL:;
2459 }