misc/vim: inform the user when no results are found
[nit.git] / c_src / standard__array.sep.1.c
1 #include "standard__array.sep.0.h"
2 /* method array#AbstractArrayRead#length for (self: AbstractArrayRead[nullable Object]): Int */
3 long standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__length(val* self) {
4 long var /* : Int */;
5 long var1 /* : Int */;
6 var1 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArrayRead[nullable Object]> */
7 var = var1;
8 RET_LABEL:;
9 return var;
10 }
11 /* method array#AbstractArrayRead#is_empty for (self: AbstractArrayRead[nullable Object]): Bool */
12 short int standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(val* self) {
13 short int var /* : Bool */;
14 long var1 /* : Int */;
15 long var2 /* : Int */;
16 short int var3 /* : Bool */;
17 short int var5 /* : Bool */;
18 var1 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArrayRead[nullable Object]> */
19 var2 = 0;
20 {
21 { /* Inline kernel#Int#== (var1,var2) on <var1:Int> */
22 var5 = var1 == var2;
23 var3 = var5;
24 goto RET_LABEL4;
25 RET_LABEL4:(void)0;
26 }
27 }
28 var = var3;
29 goto RET_LABEL;
30 RET_LABEL:;
31 return var;
32 }
33 /* method array#AbstractArrayRead#has for (self: AbstractArrayRead[nullable Object], nullable Object): Bool */
34 short int standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(val* self, val* p0) {
35 short int var /* : Bool */;
36 short int var1 /* : Bool */;
37 int cltype;
38 int idtype;
39 const struct type* type_struct;
40 short int is_nullable;
41 const char* var_class_name;
42 val* var_item /* var item: nullable Object */;
43 long var2 /* : Int */;
44 long var_i /* var i: Int */;
45 long var3 /* : Int */;
46 long var5 /* : Int */;
47 long var_l /* var l: Int */;
48 short int var6 /* : Bool */;
49 short int var8 /* : Bool */;
50 int cltype9;
51 int idtype10;
52 const char* var_class_name11;
53 short int var12 /* : Bool */;
54 val* var13 /* : nullable Object */;
55 short int var14 /* : Bool */;
56 short int var15 /* : Bool */;
57 short int var16 /* : Bool */;
58 long var17 /* : Int */;
59 long var18 /* : Int */;
60 short int var20 /* : Bool */;
61 int cltype21;
62 int idtype22;
63 const char* var_class_name23;
64 long var24 /* : Int */;
65 short int var25 /* : Bool */;
66 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
67 /* <p0:nullable Object> isa E */
68 type_struct = self->type->resolution_table->types[COLOR_standard__AbstractArrayRead___35dE];
69 cltype = type_struct->color;
70 idtype = type_struct->id;
71 is_nullable = type_struct->is_nullable;
72 if(p0 == NULL) {
73 var1 = is_nullable;
74 } else {
75 if(cltype >= p0->type->table_size) {
76 var1 = 0;
77 } else {
78 var1 = p0->type->type_table[cltype] == idtype;
79 }
80 }
81 if (unlikely(!var1)) {
82 var_class_name = p0 == NULL ? "null" : p0->type->name;
83 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
84 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 28);
85 show_backtrace(1);
86 }
87 var_item = p0;
88 var2 = 0;
89 var_i = var2;
90 {
91 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArrayRead[nullable Object]> */
92 var5 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArrayRead[nullable Object]> */
93 var3 = var5;
94 RET_LABEL4:(void)0;
95 }
96 }
97 var_l = var3;
98 for(;;) {
99 {
100 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
101 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
102 /* <var_l:Int> isa OTHER */
103 var8 = 1; /* easy <var_l:Int> isa OTHER*/
104 if (unlikely(!var8)) {
105 var_class_name11 = type_standard__Int.name;
106 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
107 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
108 show_backtrace(1);
109 }
110 var12 = var_i < var_l;
111 var6 = var12;
112 goto RET_LABEL7;
113 RET_LABEL7:(void)0;
114 }
115 }
116 if (var6){
117 {
118 var13 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(self, var_i);
119 }
120 if (var13 == NULL) {
121 var14 = (var_item == NULL);
122 } else {
123 var15 = ((short int (*)(val* self, val* p0))(var13->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var13, var_item) /* == on <var13:nullable Object>*/;
124 var14 = var15;
125 }
126 if (var14){
127 var16 = 1;
128 var = var16;
129 goto RET_LABEL;
130 } else {
131 }
132 var17 = 1;
133 {
134 { /* Inline kernel#Int#+ (var_i,var17) on <var_i:Int> */
135 /* Covariant cast for argument 0 (i) <var17:Int> isa OTHER */
136 /* <var17:Int> isa OTHER */
137 var20 = 1; /* easy <var17:Int> isa OTHER*/
138 if (unlikely(!var20)) {
139 var_class_name23 = type_standard__Int.name;
140 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23);
141 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
142 show_backtrace(1);
143 }
144 var24 = var_i + var17;
145 var18 = var24;
146 goto RET_LABEL19;
147 RET_LABEL19:(void)0;
148 }
149 }
150 var_i = var18;
151 } else {
152 goto BREAK_label;
153 }
154 }
155 BREAK_label: (void)0;
156 var25 = 0;
157 var = var25;
158 goto RET_LABEL;
159 RET_LABEL:;
160 return var;
161 }
162 /* method array#AbstractArrayRead#index_of for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
163 long standard___standard__AbstractArrayRead___standard__abstract_collection__SequenceRead__index_of(val* self, val* p0) {
164 long var /* : Int */;
165 short int var1 /* : Bool */;
166 int cltype;
167 int idtype;
168 const struct type* type_struct;
169 short int is_nullable;
170 const char* var_class_name;
171 val* var_item /* var item: nullable Object */;
172 long var2 /* : Int */;
173 long var3 /* : Int */;
174 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
175 /* <p0:nullable Object> isa E */
176 type_struct = self->type->resolution_table->types[COLOR_standard__AbstractArrayRead___35dE];
177 cltype = type_struct->color;
178 idtype = type_struct->id;
179 is_nullable = type_struct->is_nullable;
180 if(p0 == NULL) {
181 var1 = is_nullable;
182 } else {
183 if(cltype >= p0->type->table_size) {
184 var1 = 0;
185 } else {
186 var1 = p0->type->type_table[cltype] == idtype;
187 }
188 }
189 if (unlikely(!var1)) {
190 var_class_name = p0 == NULL ? "null" : p0->type->name;
191 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
192 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 62);
193 show_backtrace(1);
194 }
195 var_item = p0;
196 var2 = 0;
197 {
198 var3 = standard___standard__AbstractArrayRead___standard__abstract_collection__SequenceRead__index_of_from(self, var_item, var2);
199 }
200 var = var3;
201 goto RET_LABEL;
202 RET_LABEL:;
203 return var;
204 }
205 /* method array#AbstractArrayRead#last_index_of for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
206 long standard___standard__AbstractArrayRead___standard__abstract_collection__SequenceRead__last_index_of(val* self, val* p0) {
207 long var /* : Int */;
208 short int var1 /* : Bool */;
209 int cltype;
210 int idtype;
211 const struct type* type_struct;
212 short int is_nullable;
213 const char* var_class_name;
214 val* var_item /* var item: nullable Object */;
215 long var2 /* : Int */;
216 long var4 /* : Int */;
217 long var5 /* : Int */;
218 long var6 /* : Int */;
219 short int var8 /* : Bool */;
220 int cltype9;
221 int idtype10;
222 const char* var_class_name11;
223 long var12 /* : Int */;
224 long var13 /* : Int */;
225 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
226 /* <p0:nullable Object> isa E */
227 type_struct = self->type->resolution_table->types[COLOR_standard__AbstractArrayRead___35dE];
228 cltype = type_struct->color;
229 idtype = type_struct->id;
230 is_nullable = type_struct->is_nullable;
231 if(p0 == NULL) {
232 var1 = is_nullable;
233 } else {
234 if(cltype >= p0->type->table_size) {
235 var1 = 0;
236 } else {
237 var1 = p0->type->type_table[cltype] == idtype;
238 }
239 }
240 if (unlikely(!var1)) {
241 var_class_name = p0 == NULL ? "null" : p0->type->name;
242 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
243 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 64);
244 show_backtrace(1);
245 }
246 var_item = p0;
247 {
248 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArrayRead[nullable Object]> */
249 var4 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArrayRead[nullable Object]> */
250 var2 = var4;
251 RET_LABEL3:(void)0;
252 }
253 }
254 var5 = 1;
255 {
256 { /* Inline kernel#Int#- (var2,var5) on <var2:Int> */
257 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
258 /* <var5:Int> isa OTHER */
259 var8 = 1; /* easy <var5:Int> isa OTHER*/
260 if (unlikely(!var8)) {
261 var_class_name11 = type_standard__Int.name;
262 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
263 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
264 show_backtrace(1);
265 }
266 var12 = var2 - var5;
267 var6 = var12;
268 goto RET_LABEL7;
269 RET_LABEL7:(void)0;
270 }
271 }
272 {
273 var13 = standard___standard__AbstractArrayRead___standard__abstract_collection__SequenceRead__last_index_of_from(self, var_item, var6);
274 }
275 var = var13;
276 goto RET_LABEL;
277 RET_LABEL:;
278 return var;
279 }
280 /* method array#AbstractArrayRead#index_of_from for (self: AbstractArrayRead[nullable Object], nullable Object, Int): Int */
281 long standard___standard__AbstractArrayRead___standard__abstract_collection__SequenceRead__index_of_from(val* self, val* p0, long p1) {
282 long var /* : Int */;
283 short int var1 /* : Bool */;
284 int cltype;
285 int idtype;
286 const struct type* type_struct;
287 short int is_nullable;
288 const char* var_class_name;
289 val* var_item /* var item: nullable Object */;
290 long var_pos /* var pos: Int */;
291 long var_i /* var i: Int */;
292 long var2 /* : Int */;
293 long var4 /* : Int */;
294 long var_len /* var len: Int */;
295 short int var5 /* : Bool */;
296 short int var7 /* : Bool */;
297 int cltype8;
298 int idtype9;
299 const char* var_class_name10;
300 short int var11 /* : Bool */;
301 val* var12 /* : nullable Object */;
302 short int var13 /* : Bool */;
303 short int var14 /* : Bool */;
304 long var15 /* : Int */;
305 long var16 /* : Int */;
306 short int var18 /* : Bool */;
307 int cltype19;
308 int idtype20;
309 const char* var_class_name21;
310 long var22 /* : Int */;
311 long var23 /* : Int */;
312 long var24 /* : Int */;
313 long var26 /* : Int */;
314 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
315 /* <p0:nullable Object> isa E */
316 type_struct = self->type->resolution_table->types[COLOR_standard__AbstractArrayRead___35dE];
317 cltype = type_struct->color;
318 idtype = type_struct->id;
319 is_nullable = type_struct->is_nullable;
320 if(p0 == NULL) {
321 var1 = is_nullable;
322 } else {
323 if(cltype >= p0->type->table_size) {
324 var1 = 0;
325 } else {
326 var1 = p0->type->type_table[cltype] == idtype;
327 }
328 }
329 if (unlikely(!var1)) {
330 var_class_name = p0 == NULL ? "null" : p0->type->name;
331 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
332 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 66);
333 show_backtrace(1);
334 }
335 var_item = p0;
336 var_pos = p1;
337 var_i = var_pos;
338 {
339 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArrayRead[nullable Object]> */
340 var4 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArrayRead[nullable Object]> */
341 var2 = var4;
342 RET_LABEL3:(void)0;
343 }
344 }
345 var_len = var2;
346 for(;;) {
347 {
348 { /* Inline kernel#Int#< (var_i,var_len) on <var_i:Int> */
349 /* Covariant cast for argument 0 (i) <var_len:Int> isa OTHER */
350 /* <var_len:Int> isa OTHER */
351 var7 = 1; /* easy <var_len:Int> isa OTHER*/
352 if (unlikely(!var7)) {
353 var_class_name10 = type_standard__Int.name;
354 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10);
355 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
356 show_backtrace(1);
357 }
358 var11 = var_i < var_len;
359 var5 = var11;
360 goto RET_LABEL6;
361 RET_LABEL6:(void)0;
362 }
363 }
364 if (var5){
365 {
366 var12 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(self, var_i);
367 }
368 if (var12 == NULL) {
369 var13 = (var_item == NULL);
370 } else {
371 var14 = ((short int (*)(val* self, val* p0))(var12->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var12, var_item) /* == on <var12:nullable Object>*/;
372 var13 = var14;
373 }
374 if (var13){
375 var = var_i;
376 goto RET_LABEL;
377 } else {
378 }
379 var15 = 1;
380 {
381 { /* Inline kernel#Int#+ (var_i,var15) on <var_i:Int> */
382 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
383 /* <var15:Int> isa OTHER */
384 var18 = 1; /* easy <var15:Int> isa OTHER*/
385 if (unlikely(!var18)) {
386 var_class_name21 = type_standard__Int.name;
387 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
388 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
389 show_backtrace(1);
390 }
391 var22 = var_i + var15;
392 var16 = var22;
393 goto RET_LABEL17;
394 RET_LABEL17:(void)0;
395 }
396 }
397 var_i = var16;
398 } else {
399 goto BREAK_label;
400 }
401 }
402 BREAK_label: (void)0;
403 var23 = 1;
404 {
405 { /* Inline kernel#Int#unary - (var23) on <var23:Int> */
406 var26 = -var23;
407 var24 = var26;
408 goto RET_LABEL25;
409 RET_LABEL25:(void)0;
410 }
411 }
412 var = var24;
413 goto RET_LABEL;
414 RET_LABEL:;
415 return var;
416 }
417 /* method array#AbstractArrayRead#last_index_of_from for (self: AbstractArrayRead[nullable Object], nullable Object, Int): Int */
418 long standard___standard__AbstractArrayRead___standard__abstract_collection__SequenceRead__last_index_of_from(val* self, val* p0, long p1) {
419 long var /* : Int */;
420 short int var1 /* : Bool */;
421 int cltype;
422 int idtype;
423 const struct type* type_struct;
424 short int is_nullable;
425 const char* var_class_name;
426 val* var_item /* var item: nullable Object */;
427 long var_pos /* var pos: Int */;
428 long var_i /* var i: Int */;
429 long var2 /* : Int */;
430 short int var3 /* : Bool */;
431 short int var5 /* : Bool */;
432 int cltype6;
433 int idtype7;
434 const char* var_class_name8;
435 short int var9 /* : Bool */;
436 val* var10 /* : nullable Object */;
437 short int var11 /* : Bool */;
438 short int var12 /* : Bool */;
439 long var13 /* : Int */;
440 long var14 /* : Int */;
441 short int var16 /* : Bool */;
442 int cltype17;
443 int idtype18;
444 const char* var_class_name19;
445 long var20 /* : Int */;
446 long var21 /* : Int */;
447 long var22 /* : Int */;
448 long var24 /* : Int */;
449 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
450 /* <p0:nullable Object> isa E */
451 type_struct = self->type->resolution_table->types[COLOR_standard__AbstractArrayRead___35dE];
452 cltype = type_struct->color;
453 idtype = type_struct->id;
454 is_nullable = type_struct->is_nullable;
455 if(p0 == NULL) {
456 var1 = is_nullable;
457 } else {
458 if(cltype >= p0->type->table_size) {
459 var1 = 0;
460 } else {
461 var1 = p0->type->type_table[cltype] == idtype;
462 }
463 }
464 if (unlikely(!var1)) {
465 var_class_name = p0 == NULL ? "null" : p0->type->name;
466 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
467 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 79);
468 show_backtrace(1);
469 }
470 var_item = p0;
471 var_pos = p1;
472 var_i = var_pos;
473 for(;;) {
474 var2 = 0;
475 {
476 { /* Inline kernel#Int#>= (var_i,var2) on <var_i:Int> */
477 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
478 /* <var2:Int> isa OTHER */
479 var5 = 1; /* easy <var2:Int> isa OTHER*/
480 if (unlikely(!var5)) {
481 var_class_name8 = type_standard__Int.name;
482 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8);
483 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
484 show_backtrace(1);
485 }
486 var9 = var_i >= var2;
487 var3 = var9;
488 goto RET_LABEL4;
489 RET_LABEL4:(void)0;
490 }
491 }
492 if (var3){
493 {
494 var10 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(self, var_i);
495 }
496 if (var10 == NULL) {
497 var11 = (var_item == NULL);
498 } else {
499 var12 = ((short int (*)(val* self, val* p0))(var10->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var10, var_item) /* == on <var10:nullable Object>*/;
500 var11 = var12;
501 }
502 if (var11){
503 var = var_i;
504 goto RET_LABEL;
505 } else {
506 var13 = 1;
507 {
508 { /* Inline kernel#Int#- (var_i,var13) on <var_i:Int> */
509 /* Covariant cast for argument 0 (i) <var13:Int> isa OTHER */
510 /* <var13:Int> isa OTHER */
511 var16 = 1; /* easy <var13:Int> isa OTHER*/
512 if (unlikely(!var16)) {
513 var_class_name19 = type_standard__Int.name;
514 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
515 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
516 show_backtrace(1);
517 }
518 var20 = var_i - var13;
519 var14 = var20;
520 goto RET_LABEL15;
521 RET_LABEL15:(void)0;
522 }
523 }
524 var_i = var14;
525 }
526 } else {
527 goto BREAK_label;
528 }
529 }
530 BREAK_label: (void)0;
531 var21 = 1;
532 {
533 { /* Inline kernel#Int#unary - (var21) on <var21:Int> */
534 var24 = -var21;
535 var22 = var24;
536 goto RET_LABEL23;
537 RET_LABEL23:(void)0;
538 }
539 }
540 var = var22;
541 goto RET_LABEL;
542 RET_LABEL:;
543 return var;
544 }
545 /* method array#AbstractArrayRead#reversed for (self: AbstractArrayRead[nullable Object]): Array[nullable Object] */
546 val* standard___standard__AbstractArrayRead___reversed(val* self) {
547 val* var /* : Array[nullable Object] */;
548 long var1 /* : Int */;
549 long var_cmp /* var cmp: Int */;
550 val* var2 /* : Array[nullable Object] */;
551 val* var_result /* var result: Array[nullable Object] */;
552 long var3 /* : Int */;
553 short int var4 /* : Bool */;
554 short int var6 /* : Bool */;
555 int cltype;
556 int idtype;
557 const char* var_class_name;
558 short int var7 /* : Bool */;
559 long var8 /* : Int */;
560 long var9 /* : Int */;
561 short int var11 /* : Bool */;
562 int cltype12;
563 int idtype13;
564 const char* var_class_name14;
565 long var15 /* : Int */;
566 val* var16 /* : nullable Object */;
567 var1 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArrayRead[nullable Object]> */
568 var_cmp = var1;
569 var2 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__standard__AbstractArrayRead___35dE]);
570 {
571 standard___standard__Array___with_capacity(var2, var_cmp); /* Direct call array#Array#with_capacity on <var2:Array[nullable Object]>*/
572 }
573 var_result = var2;
574 for(;;) {
575 var3 = 0;
576 {
577 { /* Inline kernel#Int#> (var_cmp,var3) on <var_cmp:Int> */
578 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
579 /* <var3:Int> isa OTHER */
580 var6 = 1; /* easy <var3:Int> isa OTHER*/
581 if (unlikely(!var6)) {
582 var_class_name = type_standard__Int.name;
583 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
584 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
585 show_backtrace(1);
586 }
587 var7 = var_cmp > var3;
588 var4 = var7;
589 goto RET_LABEL5;
590 RET_LABEL5:(void)0;
591 }
592 }
593 if (var4){
594 var8 = 1;
595 {
596 { /* Inline kernel#Int#- (var_cmp,var8) on <var_cmp:Int> */
597 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
598 /* <var8:Int> isa OTHER */
599 var11 = 1; /* easy <var8:Int> isa OTHER*/
600 if (unlikely(!var11)) {
601 var_class_name14 = type_standard__Int.name;
602 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
603 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
604 show_backtrace(1);
605 }
606 var15 = var_cmp - var8;
607 var9 = var15;
608 goto RET_LABEL10;
609 RET_LABEL10:(void)0;
610 }
611 }
612 var_cmp = var9;
613 {
614 var16 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(self, var_cmp);
615 }
616 {
617 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_result, var16); /* Direct call array#Array#add on <var_result:Array[nullable Object]>*/
618 }
619 } else {
620 goto BREAK_label;
621 }
622 }
623 BREAK_label: (void)0;
624 var = var_result;
625 goto RET_LABEL;
626 RET_LABEL:;
627 return var;
628 }
629 /* method array#AbstractArrayRead#copy_to for (self: AbstractArrayRead[nullable Object], Int, Int, AbstractArray[nullable Object], Int) */
630 void standard___standard__AbstractArrayRead___copy_to(val* self, long p0, long p1, val* p2, long p3) {
631 short int var /* : Bool */;
632 int cltype;
633 int idtype;
634 const struct type* type_struct;
635 const char* var_class_name;
636 long var_start /* var start: Int */;
637 long var_len /* var len: Int */;
638 val* var_dest /* var dest: AbstractArray[nullable Object] */;
639 long var_new_start /* var new_start: Int */;
640 long var_i /* var i: Int */;
641 long var1 /* : Int */;
642 short int var2 /* : Bool */;
643 short int var4 /* : Bool */;
644 int cltype5;
645 int idtype6;
646 const char* var_class_name7;
647 short int var8 /* : Bool */;
648 long var9 /* : Int */;
649 long var10 /* : Int */;
650 short int var12 /* : Bool */;
651 int cltype13;
652 int idtype14;
653 const char* var_class_name15;
654 long var16 /* : Int */;
655 long var17 /* : Int */;
656 short int var19 /* : Bool */;
657 int cltype20;
658 int idtype21;
659 const char* var_class_name22;
660 long var23 /* : Int */;
661 long var24 /* : Int */;
662 short int var26 /* : Bool */;
663 int cltype27;
664 int idtype28;
665 const char* var_class_name29;
666 long var30 /* : Int */;
667 val* var31 /* : nullable Object */;
668 /* Covariant cast for argument 2 (dest) <p2:AbstractArray[nullable Object]> isa AbstractArray[E] */
669 /* <p2:AbstractArray[nullable Object]> isa AbstractArray[E] */
670 type_struct = self->type->resolution_table->types[COLOR_standard__AbstractArray__standard__AbstractArrayRead___35dE];
671 cltype = type_struct->color;
672 idtype = type_struct->id;
673 if(cltype >= p2->type->table_size) {
674 var = 0;
675 } else {
676 var = p2->type->type_table[cltype] == idtype;
677 }
678 if (unlikely(!var)) {
679 var_class_name = p2 == NULL ? "null" : p2->type->name;
680 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArray[E]", var_class_name);
681 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 106);
682 show_backtrace(1);
683 }
684 var_start = p0;
685 var_len = p1;
686 var_dest = p2;
687 var_new_start = p3;
688 var_i = var_len;
689 for(;;) {
690 var1 = 0;
691 {
692 { /* Inline kernel#Int#> (var_i,var1) on <var_i:Int> */
693 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
694 /* <var1:Int> isa OTHER */
695 var4 = 1; /* easy <var1:Int> isa OTHER*/
696 if (unlikely(!var4)) {
697 var_class_name7 = type_standard__Int.name;
698 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
699 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
700 show_backtrace(1);
701 }
702 var8 = var_i > var1;
703 var2 = var8;
704 goto RET_LABEL3;
705 RET_LABEL3:(void)0;
706 }
707 }
708 if (var2){
709 var9 = 1;
710 {
711 { /* Inline kernel#Int#- (var_i,var9) on <var_i:Int> */
712 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
713 /* <var9:Int> isa OTHER */
714 var12 = 1; /* easy <var9:Int> isa OTHER*/
715 if (unlikely(!var12)) {
716 var_class_name15 = type_standard__Int.name;
717 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15);
718 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
719 show_backtrace(1);
720 }
721 var16 = var_i - var9;
722 var10 = var16;
723 goto RET_LABEL11;
724 RET_LABEL11:(void)0;
725 }
726 }
727 var_i = var10;
728 {
729 { /* Inline kernel#Int#+ (var_new_start,var_i) on <var_new_start:Int> */
730 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
731 /* <var_i:Int> isa OTHER */
732 var19 = 1; /* easy <var_i:Int> isa OTHER*/
733 if (unlikely(!var19)) {
734 var_class_name22 = type_standard__Int.name;
735 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22);
736 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
737 show_backtrace(1);
738 }
739 var23 = var_new_start + var_i;
740 var17 = var23;
741 goto RET_LABEL18;
742 RET_LABEL18:(void)0;
743 }
744 }
745 {
746 { /* Inline kernel#Int#+ (var_start,var_i) on <var_start:Int> */
747 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
748 /* <var_i:Int> isa OTHER */
749 var26 = 1; /* easy <var_i:Int> isa OTHER*/
750 if (unlikely(!var26)) {
751 var_class_name29 = type_standard__Int.name;
752 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29);
753 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
754 show_backtrace(1);
755 }
756 var30 = var_start + var_i;
757 var24 = var30;
758 goto RET_LABEL25;
759 RET_LABEL25:(void)0;
760 }
761 }
762 {
763 var31 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(self, var24);
764 }
765 {
766 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_dest, var17, var31); /* Direct call array#Array#[]= on <var_dest:AbstractArray[nullable Object]>*/
767 }
768 } else {
769 goto BREAK_label;
770 }
771 }
772 BREAK_label: (void)0;
773 RET_LABEL:;
774 }
775 /* method array#AbstractArrayRead#iterator for (self: AbstractArrayRead[nullable Object]): ArrayIterator[nullable Object] */
776 val* standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(val* self) {
777 val* var /* : ArrayIterator[nullable Object] */;
778 val* var1 /* : ArrayIterator[nullable Object] */;
779 var1 = NEW_standard__array__ArrayIterator(self->type->resolution_table->types[COLOR_standard__array__ArrayIterator__standard__AbstractArrayRead___35dE]);
780 {
781 ((void (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__array__ArrayIterator__array_61d]))(var1, self) /* array= on <var1:ArrayIterator[nullable Object]>*/;
782 }
783 {
784 ((void (*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1) /* init on <var1:ArrayIterator[nullable Object]>*/;
785 }
786 var = var1;
787 goto RET_LABEL;
788 RET_LABEL:;
789 return var;
790 }
791 /* method array#AbstractArray#push for (self: AbstractArray[nullable Object], nullable Object) */
792 void standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(val* self, val* p0) {
793 short int var /* : Bool */;
794 int cltype;
795 int idtype;
796 const struct type* type_struct;
797 short int is_nullable;
798 const char* var_class_name;
799 val* var_item /* var item: nullable Object */;
800 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
801 /* <p0:nullable Object> isa E */
802 type_struct = self->type->resolution_table->types[COLOR_standard__AbstractArray___35dE];
803 cltype = type_struct->color;
804 idtype = type_struct->id;
805 is_nullable = type_struct->is_nullable;
806 if(p0 == NULL) {
807 var = is_nullable;
808 } else {
809 if(cltype >= p0->type->table_size) {
810 var = 0;
811 } else {
812 var = p0->type->type_table[cltype] == idtype;
813 }
814 }
815 if (unlikely(!var)) {
816 var_class_name = p0 == NULL ? "null" : p0->type->name;
817 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
818 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 147);
819 show_backtrace(1);
820 }
821 var_item = p0;
822 {
823 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(self, var_item); /* Direct call array#Array#add on <self:AbstractArray[nullable Object]>*/
824 }
825 RET_LABEL:;
826 }
827 /* method array#AbstractArray#pop for (self: AbstractArray[nullable Object]): nullable Object */
828 val* standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(val* self) {
829 val* var /* : nullable Object */;
830 short int var1 /* : Bool */;
831 short int var2 /* : Bool */;
832 val* var3 /* : nullable Object */;
833 val* var_r /* var r: nullable Object */;
834 val* var_ /* var : AbstractArray[nullable Object] */;
835 long var4 /* : Int */;
836 long var5 /* : Int */;
837 long var6 /* : Int */;
838 short int var8 /* : Bool */;
839 int cltype;
840 int idtype;
841 const char* var_class_name;
842 long var9 /* : Int */;
843 {
844 var1 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(self);
845 }
846 var2 = !var1;
847 if (unlikely(!var2)) {
848 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
849 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 151);
850 show_backtrace(1);
851 }
852 {
853 var3 = standard___standard__SequenceRead___last(self);
854 }
855 var_r = var3;
856 var_ = self;
857 var4 = var_->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_:AbstractArray[nullable Object]> */
858 var5 = 1;
859 {
860 { /* Inline kernel#Int#- (var4,var5) on <var4:Int> */
861 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
862 /* <var5:Int> isa OTHER */
863 var8 = 1; /* easy <var5:Int> isa OTHER*/
864 if (unlikely(!var8)) {
865 var_class_name = type_standard__Int.name;
866 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
867 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
868 show_backtrace(1);
869 }
870 var9 = var4 - var5;
871 var6 = var9;
872 goto RET_LABEL7;
873 RET_LABEL7:(void)0;
874 }
875 }
876 var_->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var6; /* _length on <var_:AbstractArray[nullable Object]> */
877 var = var_r;
878 goto RET_LABEL;
879 RET_LABEL:;
880 return var;
881 }
882 /* method array#AbstractArray#shift for (self: AbstractArray[nullable Object]): nullable Object */
883 val* standard___standard__AbstractArray___standard__abstract_collection__Sequence__shift(val* self) {
884 val* var /* : nullable Object */;
885 short int var1 /* : Bool */;
886 short int var2 /* : Bool */;
887 val* var3 /* : nullable Object */;
888 val* var_r /* var r: nullable Object */;
889 long var4 /* : Int */;
890 long var_i /* var i: Int */;
891 long var5 /* : Int */;
892 long var7 /* : Int */;
893 long var_l /* var l: Int */;
894 short int var8 /* : Bool */;
895 short int var10 /* : Bool */;
896 int cltype;
897 int idtype;
898 const char* var_class_name;
899 short int var11 /* : Bool */;
900 long var12 /* : Int */;
901 long var13 /* : Int */;
902 short int var15 /* : Bool */;
903 int cltype16;
904 int idtype17;
905 const char* var_class_name18;
906 long var19 /* : Int */;
907 val* var20 /* : nullable Object */;
908 long var21 /* : Int */;
909 long var22 /* : Int */;
910 short int var24 /* : Bool */;
911 int cltype25;
912 int idtype26;
913 const char* var_class_name27;
914 long var28 /* : Int */;
915 long var29 /* : Int */;
916 long var30 /* : Int */;
917 short int var32 /* : Bool */;
918 int cltype33;
919 int idtype34;
920 const char* var_class_name35;
921 long var36 /* : Int */;
922 {
923 var1 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(self);
924 }
925 var2 = !var1;
926 if (unlikely(!var2)) {
927 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
928 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 159);
929 show_backtrace(1);
930 }
931 {
932 var3 = standard___standard__SequenceRead___Collection__first(self);
933 }
934 var_r = var3;
935 var4 = 1;
936 var_i = var4;
937 {
938 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
939 var7 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArray[nullable Object]> */
940 var5 = var7;
941 RET_LABEL6:(void)0;
942 }
943 }
944 var_l = var5;
945 for(;;) {
946 {
947 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
948 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
949 /* <var_l:Int> isa OTHER */
950 var10 = 1; /* easy <var_l:Int> isa OTHER*/
951 if (unlikely(!var10)) {
952 var_class_name = type_standard__Int.name;
953 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
954 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
955 show_backtrace(1);
956 }
957 var11 = var_i < var_l;
958 var8 = var11;
959 goto RET_LABEL9;
960 RET_LABEL9:(void)0;
961 }
962 }
963 if (var8){
964 var12 = 1;
965 {
966 { /* Inline kernel#Int#- (var_i,var12) on <var_i:Int> */
967 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
968 /* <var12:Int> isa OTHER */
969 var15 = 1; /* easy <var12:Int> isa OTHER*/
970 if (unlikely(!var15)) {
971 var_class_name18 = type_standard__Int.name;
972 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
973 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
974 show_backtrace(1);
975 }
976 var19 = var_i - var12;
977 var13 = var19;
978 goto RET_LABEL14;
979 RET_LABEL14:(void)0;
980 }
981 }
982 {
983 var20 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(self, var_i);
984 }
985 {
986 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(self, var13, var20); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
987 }
988 var21 = 1;
989 {
990 { /* Inline kernel#Int#+ (var_i,var21) on <var_i:Int> */
991 /* Covariant cast for argument 0 (i) <var21:Int> isa OTHER */
992 /* <var21:Int> isa OTHER */
993 var24 = 1; /* easy <var21:Int> isa OTHER*/
994 if (unlikely(!var24)) {
995 var_class_name27 = type_standard__Int.name;
996 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
997 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
998 show_backtrace(1);
999 }
1000 var28 = var_i + var21;
1001 var22 = var28;
1002 goto RET_LABEL23;
1003 RET_LABEL23:(void)0;
1004 }
1005 }
1006 var_i = var22;
1007 } else {
1008 goto BREAK_label;
1009 }
1010 }
1011 BREAK_label: (void)0;
1012 var29 = 1;
1013 {
1014 { /* Inline kernel#Int#- (var_l,var29) on <var_l:Int> */
1015 /* Covariant cast for argument 0 (i) <var29:Int> isa OTHER */
1016 /* <var29:Int> isa OTHER */
1017 var32 = 1; /* easy <var29:Int> isa OTHER*/
1018 if (unlikely(!var32)) {
1019 var_class_name35 = type_standard__Int.name;
1020 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35);
1021 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1022 show_backtrace(1);
1023 }
1024 var36 = var_l - var29;
1025 var30 = var36;
1026 goto RET_LABEL31;
1027 RET_LABEL31:(void)0;
1028 }
1029 }
1030 self->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var30; /* _length on <self:AbstractArray[nullable Object]> */
1031 var = var_r;
1032 goto RET_LABEL;
1033 RET_LABEL:;
1034 return var;
1035 }
1036 /* method array#AbstractArray#unshift for (self: AbstractArray[nullable Object], nullable Object) */
1037 void standard___standard__AbstractArray___standard__abstract_collection__Sequence__unshift(val* self, val* p0) {
1038 short int var /* : Bool */;
1039 int cltype;
1040 int idtype;
1041 const struct type* type_struct;
1042 short int is_nullable;
1043 const char* var_class_name;
1044 val* var_item /* var item: nullable Object */;
1045 long var1 /* : Int */;
1046 long var3 /* : Int */;
1047 long var4 /* : Int */;
1048 long var5 /* : Int */;
1049 short int var7 /* : Bool */;
1050 int cltype8;
1051 int idtype9;
1052 const char* var_class_name10;
1053 long var11 /* : Int */;
1054 long var_i /* var i: Int */;
1055 long var12 /* : Int */;
1056 short int var13 /* : Bool */;
1057 short int var15 /* : Bool */;
1058 int cltype16;
1059 int idtype17;
1060 const char* var_class_name18;
1061 short int var19 /* : Bool */;
1062 long var20 /* : Int */;
1063 long var21 /* : Int */;
1064 short int var23 /* : Bool */;
1065 int cltype24;
1066 int idtype25;
1067 const char* var_class_name26;
1068 long var27 /* : Int */;
1069 val* var28 /* : nullable Object */;
1070 long var29 /* : Int */;
1071 long var30 /* : Int */;
1072 short int var32 /* : Bool */;
1073 int cltype33;
1074 int idtype34;
1075 const char* var_class_name35;
1076 long var36 /* : Int */;
1077 long var37 /* : Int */;
1078 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
1079 /* <p0:nullable Object> isa E */
1080 type_struct = self->type->resolution_table->types[COLOR_standard__AbstractArray___35dE];
1081 cltype = type_struct->color;
1082 idtype = type_struct->id;
1083 is_nullable = type_struct->is_nullable;
1084 if(p0 == NULL) {
1085 var = is_nullable;
1086 } else {
1087 if(cltype >= p0->type->table_size) {
1088 var = 0;
1089 } else {
1090 var = p0->type->type_table[cltype] == idtype;
1091 }
1092 }
1093 if (unlikely(!var)) {
1094 var_class_name = p0 == NULL ? "null" : p0->type->name;
1095 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
1096 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 171);
1097 show_backtrace(1);
1098 }
1099 var_item = p0;
1100 {
1101 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1102 var3 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArray[nullable Object]> */
1103 var1 = var3;
1104 RET_LABEL2:(void)0;
1105 }
1106 }
1107 var4 = 1;
1108 {
1109 { /* Inline kernel#Int#- (var1,var4) on <var1:Int> */
1110 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
1111 /* <var4:Int> isa OTHER */
1112 var7 = 1; /* easy <var4:Int> isa OTHER*/
1113 if (unlikely(!var7)) {
1114 var_class_name10 = type_standard__Int.name;
1115 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10);
1116 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1117 show_backtrace(1);
1118 }
1119 var11 = var1 - var4;
1120 var5 = var11;
1121 goto RET_LABEL6;
1122 RET_LABEL6:(void)0;
1123 }
1124 }
1125 var_i = var5;
1126 for(;;) {
1127 var12 = 0;
1128 {
1129 { /* Inline kernel#Int#>= (var_i,var12) on <var_i:Int> */
1130 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
1131 /* <var12:Int> isa OTHER */
1132 var15 = 1; /* easy <var12:Int> isa OTHER*/
1133 if (unlikely(!var15)) {
1134 var_class_name18 = type_standard__Int.name;
1135 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
1136 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
1137 show_backtrace(1);
1138 }
1139 var19 = var_i >= var12;
1140 var13 = var19;
1141 goto RET_LABEL14;
1142 RET_LABEL14:(void)0;
1143 }
1144 }
1145 if (var13){
1146 var20 = 1;
1147 {
1148 { /* Inline kernel#Int#+ (var_i,var20) on <var_i:Int> */
1149 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
1150 /* <var20:Int> isa OTHER */
1151 var23 = 1; /* easy <var20:Int> isa OTHER*/
1152 if (unlikely(!var23)) {
1153 var_class_name26 = type_standard__Int.name;
1154 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26);
1155 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1156 show_backtrace(1);
1157 }
1158 var27 = var_i + var20;
1159 var21 = var27;
1160 goto RET_LABEL22;
1161 RET_LABEL22:(void)0;
1162 }
1163 }
1164 {
1165 var28 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(self, var_i);
1166 }
1167 {
1168 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(self, var21, var28); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1169 }
1170 var29 = 1;
1171 {
1172 { /* Inline kernel#Int#- (var_i,var29) on <var_i:Int> */
1173 /* Covariant cast for argument 0 (i) <var29:Int> isa OTHER */
1174 /* <var29:Int> isa OTHER */
1175 var32 = 1; /* easy <var29:Int> isa OTHER*/
1176 if (unlikely(!var32)) {
1177 var_class_name35 = type_standard__Int.name;
1178 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35);
1179 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1180 show_backtrace(1);
1181 }
1182 var36 = var_i - var29;
1183 var30 = var36;
1184 goto RET_LABEL31;
1185 RET_LABEL31:(void)0;
1186 }
1187 }
1188 var_i = var30;
1189 } else {
1190 goto BREAK_label;
1191 }
1192 }
1193 BREAK_label: (void)0;
1194 var37 = 0;
1195 {
1196 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(self, var37, var_item); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1197 }
1198 RET_LABEL:;
1199 }
1200 /* method array#AbstractArray#insert for (self: AbstractArray[nullable Object], nullable Object, Int) */
1201 void standard___standard__AbstractArray___standard__abstract_collection__Sequence__insert(val* self, val* p0, long p1) {
1202 short int var /* : Bool */;
1203 int cltype;
1204 int idtype;
1205 const struct type* type_struct;
1206 short int is_nullable;
1207 const char* var_class_name;
1208 val* var_item /* var item: nullable Object */;
1209 long var_pos /* var pos: Int */;
1210 long var1 /* : Int */;
1211 long var3 /* : Int */;
1212 long var4 /* : Int */;
1213 long var5 /* : Int */;
1214 short int var7 /* : Bool */;
1215 int cltype8;
1216 int idtype9;
1217 const char* var_class_name10;
1218 long var11 /* : Int */;
1219 long var12 /* : Int */;
1220 long var14 /* : Int */;
1221 long var15 /* : Int */;
1222 short int var17 /* : Bool */;
1223 int cltype18;
1224 int idtype19;
1225 const char* var_class_name20;
1226 long var21 /* : Int */;
1227 long var22 /* : Int */;
1228 long var23 /* : Int */;
1229 short int var25 /* : Bool */;
1230 int cltype26;
1231 int idtype27;
1232 const char* var_class_name28;
1233 long var29 /* : Int */;
1234 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
1235 /* <p0:nullable Object> isa E */
1236 type_struct = self->type->resolution_table->types[COLOR_standard__AbstractArray___35dE];
1237 cltype = type_struct->color;
1238 idtype = type_struct->id;
1239 is_nullable = type_struct->is_nullable;
1240 if(p0 == NULL) {
1241 var = is_nullable;
1242 } else {
1243 if(cltype >= p0->type->table_size) {
1244 var = 0;
1245 } else {
1246 var = p0->type->type_table[cltype] == idtype;
1247 }
1248 }
1249 if (unlikely(!var)) {
1250 var_class_name = p0 == NULL ? "null" : p0->type->name;
1251 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
1252 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 181);
1253 show_backtrace(1);
1254 }
1255 var_item = p0;
1256 var_pos = p1;
1257 {
1258 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1259 var3 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArray[nullable Object]> */
1260 var1 = var3;
1261 RET_LABEL2:(void)0;
1262 }
1263 }
1264 var4 = 1;
1265 {
1266 { /* Inline kernel#Int#+ (var1,var4) on <var1:Int> */
1267 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
1268 /* <var4:Int> isa OTHER */
1269 var7 = 1; /* easy <var4:Int> isa OTHER*/
1270 if (unlikely(!var7)) {
1271 var_class_name10 = type_standard__Int.name;
1272 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10);
1273 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1274 show_backtrace(1);
1275 }
1276 var11 = var1 + var4;
1277 var5 = var11;
1278 goto RET_LABEL6;
1279 RET_LABEL6:(void)0;
1280 }
1281 }
1282 {
1283 standard___standard__Array___AbstractArray__enlarge(self, var5); /* Direct call array#Array#enlarge on <self:AbstractArray[nullable Object]>*/
1284 }
1285 {
1286 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1287 var14 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArray[nullable Object]> */
1288 var12 = var14;
1289 RET_LABEL13:(void)0;
1290 }
1291 }
1292 {
1293 { /* Inline kernel#Int#- (var12,var_pos) on <var12:Int> */
1294 /* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
1295 /* <var_pos:Int> isa OTHER */
1296 var17 = 1; /* easy <var_pos:Int> isa OTHER*/
1297 if (unlikely(!var17)) {
1298 var_class_name20 = type_standard__Int.name;
1299 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
1300 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1301 show_backtrace(1);
1302 }
1303 var21 = var12 - var_pos;
1304 var15 = var21;
1305 goto RET_LABEL16;
1306 RET_LABEL16:(void)0;
1307 }
1308 }
1309 var22 = 1;
1310 {
1311 { /* Inline kernel#Int#+ (var_pos,var22) on <var_pos:Int> */
1312 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
1313 /* <var22:Int> isa OTHER */
1314 var25 = 1; /* easy <var22:Int> isa OTHER*/
1315 if (unlikely(!var25)) {
1316 var_class_name28 = type_standard__Int.name;
1317 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
1318 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1319 show_backtrace(1);
1320 }
1321 var29 = var_pos + var22;
1322 var23 = var29;
1323 goto RET_LABEL24;
1324 RET_LABEL24:(void)0;
1325 }
1326 }
1327 {
1328 standard___standard__AbstractArrayRead___copy_to(self, var_pos, var15, self, var23); /* Direct call array#AbstractArrayRead#copy_to on <self:AbstractArray[nullable Object]>*/
1329 }
1330 {
1331 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(self, var_pos, var_item); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1332 }
1333 RET_LABEL:;
1334 }
1335 /* method array#AbstractArray#insert_all for (self: AbstractArray[nullable Object], Collection[nullable Object], Int) */
1336 void standard___standard__AbstractArray___standard__abstract_collection__Sequence__insert_all(val* self, val* p0, long p1) {
1337 short int var /* : Bool */;
1338 int cltype;
1339 int idtype;
1340 const struct type* type_struct;
1341 const char* var_class_name;
1342 val* var_coll /* var coll: Collection[nullable Object] */;
1343 long var_pos /* var pos: Int */;
1344 long var1 /* : Int */;
1345 long var_l /* var l: Int */;
1346 long var2 /* : Int */;
1347 short int var3 /* : Bool */;
1348 short int var5 /* : Bool */;
1349 long var6 /* : Int */;
1350 long var8 /* : Int */;
1351 long var9 /* : Int */;
1352 short int var11 /* : Bool */;
1353 int cltype12;
1354 int idtype13;
1355 const char* var_class_name14;
1356 long var15 /* : Int */;
1357 val* var_ /* var : AbstractArray[nullable Object] */;
1358 long var16 /* : Int */;
1359 long var17 /* : Int */;
1360 short int var19 /* : Bool */;
1361 int cltype20;
1362 int idtype21;
1363 const char* var_class_name22;
1364 long var23 /* : Int */;
1365 long var24 /* : Int */;
1366 long var26 /* : Int */;
1367 long var27 /* : Int */;
1368 short int var29 /* : Bool */;
1369 int cltype30;
1370 int idtype31;
1371 const char* var_class_name32;
1372 long var33 /* : Int */;
1373 long var34 /* : Int */;
1374 short int var36 /* : Bool */;
1375 int cltype37;
1376 int idtype38;
1377 const char* var_class_name39;
1378 long var40 /* : Int */;
1379 long var41 /* : Int */;
1380 short int var43 /* : Bool */;
1381 int cltype44;
1382 int idtype45;
1383 const char* var_class_name46;
1384 long var47 /* : Int */;
1385 val* var_48 /* var : Collection[nullable Object] */;
1386 val* var49 /* : Iterator[nullable Object] */;
1387 val* var_50 /* var : Iterator[nullable Object] */;
1388 short int var51 /* : Bool */;
1389 val* var52 /* : nullable Object */;
1390 val* var_c /* var c: nullable Object */;
1391 long var53 /* : Int */;
1392 long var54 /* : Int */;
1393 short int var56 /* : Bool */;
1394 int cltype57;
1395 int idtype58;
1396 const char* var_class_name59;
1397 long var60 /* : Int */;
1398 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
1399 /* <p0:Collection[nullable Object]> isa Collection[E] */
1400 type_struct = self->type->resolution_table->types[COLOR_standard__Collection__standard__AbstractArray___35dE];
1401 cltype = type_struct->color;
1402 idtype = type_struct->id;
1403 if(cltype >= p0->type->table_size) {
1404 var = 0;
1405 } else {
1406 var = p0->type->type_table[cltype] == idtype;
1407 }
1408 if (unlikely(!var)) {
1409 var_class_name = p0 == NULL ? "null" : p0->type->name;
1410 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name);
1411 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 188);
1412 show_backtrace(1);
1413 }
1414 var_coll = p0;
1415 var_pos = p1;
1416 {
1417 var1 = ((long (*)(val* self))(var_coll->class->vft[COLOR_standard__abstract_collection__Collection__length]))(var_coll) /* length on <var_coll:Collection[nullable Object]>*/;
1418 }
1419 var_l = var1;
1420 var2 = 0;
1421 {
1422 { /* Inline kernel#Int#== (var_l,var2) on <var_l:Int> */
1423 var5 = var_l == var2;
1424 var3 = var5;
1425 goto RET_LABEL4;
1426 RET_LABEL4:(void)0;
1427 }
1428 }
1429 if (var3){
1430 goto RET_LABEL;
1431 } else {
1432 }
1433 {
1434 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1435 var8 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArray[nullable Object]> */
1436 var6 = var8;
1437 RET_LABEL7:(void)0;
1438 }
1439 }
1440 {
1441 { /* Inline kernel#Int#+ (var6,var_l) on <var6:Int> */
1442 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1443 /* <var_l:Int> isa OTHER */
1444 var11 = 1; /* easy <var_l:Int> isa OTHER*/
1445 if (unlikely(!var11)) {
1446 var_class_name14 = type_standard__Int.name;
1447 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
1448 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1449 show_backtrace(1);
1450 }
1451 var15 = var6 + var_l;
1452 var9 = var15;
1453 goto RET_LABEL10;
1454 RET_LABEL10:(void)0;
1455 }
1456 }
1457 {
1458 standard___standard__Array___AbstractArray__enlarge(self, var9); /* Direct call array#Array#enlarge on <self:AbstractArray[nullable Object]>*/
1459 }
1460 var_ = self;
1461 var16 = var_->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_:AbstractArray[nullable Object]> */
1462 {
1463 { /* Inline kernel#Int#+ (var16,var_l) on <var16:Int> */
1464 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1465 /* <var_l:Int> isa OTHER */
1466 var19 = 1; /* easy <var_l:Int> isa OTHER*/
1467 if (unlikely(!var19)) {
1468 var_class_name22 = type_standard__Int.name;
1469 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22);
1470 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1471 show_backtrace(1);
1472 }
1473 var23 = var16 + var_l;
1474 var17 = var23;
1475 goto RET_LABEL18;
1476 RET_LABEL18:(void)0;
1477 }
1478 }
1479 var_->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var17; /* _length on <var_:AbstractArray[nullable Object]> */
1480 {
1481 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1482 var26 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArray[nullable Object]> */
1483 var24 = var26;
1484 RET_LABEL25:(void)0;
1485 }
1486 }
1487 {
1488 { /* Inline kernel#Int#- (var24,var_pos) on <var24:Int> */
1489 /* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
1490 /* <var_pos:Int> isa OTHER */
1491 var29 = 1; /* easy <var_pos:Int> isa OTHER*/
1492 if (unlikely(!var29)) {
1493 var_class_name32 = type_standard__Int.name;
1494 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
1495 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1496 show_backtrace(1);
1497 }
1498 var33 = var24 - var_pos;
1499 var27 = var33;
1500 goto RET_LABEL28;
1501 RET_LABEL28:(void)0;
1502 }
1503 }
1504 {
1505 { /* Inline kernel#Int#- (var27,var_l) on <var27:Int> */
1506 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1507 /* <var_l:Int> isa OTHER */
1508 var36 = 1; /* easy <var_l:Int> isa OTHER*/
1509 if (unlikely(!var36)) {
1510 var_class_name39 = type_standard__Int.name;
1511 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39);
1512 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1513 show_backtrace(1);
1514 }
1515 var40 = var27 - var_l;
1516 var34 = var40;
1517 goto RET_LABEL35;
1518 RET_LABEL35:(void)0;
1519 }
1520 }
1521 {
1522 { /* Inline kernel#Int#+ (var_pos,var_l) on <var_pos:Int> */
1523 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1524 /* <var_l:Int> isa OTHER */
1525 var43 = 1; /* easy <var_l:Int> isa OTHER*/
1526 if (unlikely(!var43)) {
1527 var_class_name46 = type_standard__Int.name;
1528 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46);
1529 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1530 show_backtrace(1);
1531 }
1532 var47 = var_pos + var_l;
1533 var41 = var47;
1534 goto RET_LABEL42;
1535 RET_LABEL42:(void)0;
1536 }
1537 }
1538 {
1539 standard___standard__AbstractArrayRead___copy_to(self, var_pos, var34, self, var41); /* Direct call array#AbstractArrayRead#copy_to on <self:AbstractArray[nullable Object]>*/
1540 }
1541 var_48 = var_coll;
1542 {
1543 var49 = ((val* (*)(val* self))(var_48->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_48) /* iterator on <var_48:Collection[nullable Object]>*/;
1544 }
1545 var_50 = var49;
1546 for(;;) {
1547 {
1548 var51 = ((short int (*)(val* self))(var_50->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_50) /* is_ok on <var_50:Iterator[nullable Object]>*/;
1549 }
1550 if (var51){
1551 {
1552 var52 = ((val* (*)(val* self))(var_50->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_50) /* item on <var_50:Iterator[nullable Object]>*/;
1553 }
1554 var_c = var52;
1555 {
1556 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(self, var_pos, var_c); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1557 }
1558 var53 = 1;
1559 {
1560 { /* Inline kernel#Int#+ (var_pos,var53) on <var_pos:Int> */
1561 /* Covariant cast for argument 0 (i) <var53:Int> isa OTHER */
1562 /* <var53:Int> isa OTHER */
1563 var56 = 1; /* easy <var53:Int> isa OTHER*/
1564 if (unlikely(!var56)) {
1565 var_class_name59 = type_standard__Int.name;
1566 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
1567 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1568 show_backtrace(1);
1569 }
1570 var60 = var_pos + var53;
1571 var54 = var60;
1572 goto RET_LABEL55;
1573 RET_LABEL55:(void)0;
1574 }
1575 }
1576 var_pos = var54;
1577 {
1578 ((void (*)(val* self))(var_50->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_50) /* next on <var_50:Iterator[nullable Object]>*/;
1579 }
1580 } else {
1581 goto BREAK_label;
1582 }
1583 }
1584 BREAK_label: (void)0;
1585 {
1586 { /* Inline abstract_collection#Iterator#finish (var_50) on <var_50:Iterator[nullable Object]> */
1587 RET_LABEL61:(void)0;
1588 }
1589 }
1590 RET_LABEL:;
1591 }
1592 /* method array#AbstractArray#clear for (self: AbstractArray[nullable Object]) */
1593 void standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(val* self) {
1594 long var /* : Int */;
1595 var = 0;
1596 self->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var; /* _length on <self:AbstractArray[nullable Object]> */
1597 RET_LABEL:;
1598 }
1599 /* method array#AbstractArray#remove for (self: AbstractArray[nullable Object], nullable Object) */
1600 void standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__remove(val* self, val* p0) {
1601 short int var /* : Bool */;
1602 int cltype;
1603 int idtype;
1604 const struct type* type_struct;
1605 short int is_nullable;
1606 const char* var_class_name;
1607 val* var_item /* var item: nullable Object */;
1608 long var1 /* : Int */;
1609 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
1610 /* <p0:nullable Object> isa E */
1611 type_struct = self->type->resolution_table->types[COLOR_standard__AbstractArray___35dE];
1612 cltype = type_struct->color;
1613 idtype = type_struct->id;
1614 is_nullable = type_struct->is_nullable;
1615 if(p0 == NULL) {
1616 var = is_nullable;
1617 } else {
1618 if(cltype >= p0->type->table_size) {
1619 var = 0;
1620 } else {
1621 var = p0->type->type_table[cltype] == idtype;
1622 }
1623 }
1624 if (unlikely(!var)) {
1625 var_class_name = p0 == NULL ? "null" : p0->type->name;
1626 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
1627 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 205);
1628 show_backtrace(1);
1629 }
1630 var_item = p0;
1631 {
1632 var1 = standard___standard__AbstractArrayRead___standard__abstract_collection__SequenceRead__index_of(self, var_item);
1633 }
1634 {
1635 standard___standard__AbstractArray___standard__abstract_collection__Sequence__remove_at(self, var1); /* Direct call array#AbstractArray#remove_at on <self:AbstractArray[nullable Object]>*/
1636 }
1637 RET_LABEL:;
1638 }
1639 /* method array#AbstractArray#remove_at for (self: AbstractArray[nullable Object], Int) */
1640 void standard___standard__AbstractArray___standard__abstract_collection__Sequence__remove_at(val* self, long p0) {
1641 long var_i /* var i: Int */;
1642 long var /* : Int */;
1643 long var2 /* : Int */;
1644 long var_l /* var l: Int */;
1645 short int var3 /* : Bool */;
1646 long var4 /* : Int */;
1647 short int var5 /* : Bool */;
1648 short int var7 /* : Bool */;
1649 int cltype;
1650 int idtype;
1651 const char* var_class_name;
1652 short int var8 /* : Bool */;
1653 short int var_ /* var : Bool */;
1654 short int var9 /* : Bool */;
1655 short int var11 /* : Bool */;
1656 int cltype12;
1657 int idtype13;
1658 const char* var_class_name14;
1659 short int var15 /* : Bool */;
1660 long var16 /* : Int */;
1661 long var17 /* : Int */;
1662 short int var19 /* : Bool */;
1663 int cltype20;
1664 int idtype21;
1665 const char* var_class_name22;
1666 long var23 /* : Int */;
1667 long var_j /* var j: Int */;
1668 short int var24 /* : Bool */;
1669 short int var26 /* : Bool */;
1670 int cltype27;
1671 int idtype28;
1672 const char* var_class_name29;
1673 short int var30 /* : Bool */;
1674 long var31 /* : Int */;
1675 long var32 /* : Int */;
1676 short int var34 /* : Bool */;
1677 int cltype35;
1678 int idtype36;
1679 const char* var_class_name37;
1680 long var38 /* : Int */;
1681 val* var39 /* : nullable Object */;
1682 long var40 /* : Int */;
1683 long var41 /* : Int */;
1684 short int var43 /* : Bool */;
1685 int cltype44;
1686 int idtype45;
1687 const char* var_class_name46;
1688 long var47 /* : Int */;
1689 long var48 /* : Int */;
1690 long var49 /* : Int */;
1691 short int var51 /* : Bool */;
1692 int cltype52;
1693 int idtype53;
1694 const char* var_class_name54;
1695 long var55 /* : Int */;
1696 var_i = p0;
1697 {
1698 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1699 var2 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:AbstractArray[nullable Object]> */
1700 var = var2;
1701 RET_LABEL1:(void)0;
1702 }
1703 }
1704 var_l = var;
1705 var4 = 0;
1706 {
1707 { /* Inline kernel#Int#>= (var_i,var4) on <var_i:Int> */
1708 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
1709 /* <var4:Int> isa OTHER */
1710 var7 = 1; /* easy <var4:Int> isa OTHER*/
1711 if (unlikely(!var7)) {
1712 var_class_name = type_standard__Int.name;
1713 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1714 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
1715 show_backtrace(1);
1716 }
1717 var8 = var_i >= var4;
1718 var5 = var8;
1719 goto RET_LABEL6;
1720 RET_LABEL6:(void)0;
1721 }
1722 }
1723 var_ = var5;
1724 if (var5){
1725 {
1726 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
1727 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1728 /* <var_l:Int> isa OTHER */
1729 var11 = 1; /* easy <var_l:Int> isa OTHER*/
1730 if (unlikely(!var11)) {
1731 var_class_name14 = type_standard__Int.name;
1732 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
1733 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1734 show_backtrace(1);
1735 }
1736 var15 = var_i < var_l;
1737 var9 = var15;
1738 goto RET_LABEL10;
1739 RET_LABEL10:(void)0;
1740 }
1741 }
1742 var3 = var9;
1743 } else {
1744 var3 = var_;
1745 }
1746 if (var3){
1747 var16 = 1;
1748 {
1749 { /* Inline kernel#Int#+ (var_i,var16) on <var_i:Int> */
1750 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
1751 /* <var16:Int> isa OTHER */
1752 var19 = 1; /* easy <var16:Int> isa OTHER*/
1753 if (unlikely(!var19)) {
1754 var_class_name22 = type_standard__Int.name;
1755 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22);
1756 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1757 show_backtrace(1);
1758 }
1759 var23 = var_i + var16;
1760 var17 = var23;
1761 goto RET_LABEL18;
1762 RET_LABEL18:(void)0;
1763 }
1764 }
1765 var_j = var17;
1766 for(;;) {
1767 {
1768 { /* Inline kernel#Int#< (var_j,var_l) on <var_j:Int> */
1769 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1770 /* <var_l:Int> isa OTHER */
1771 var26 = 1; /* easy <var_l:Int> isa OTHER*/
1772 if (unlikely(!var26)) {
1773 var_class_name29 = type_standard__Int.name;
1774 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29);
1775 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1776 show_backtrace(1);
1777 }
1778 var30 = var_j < var_l;
1779 var24 = var30;
1780 goto RET_LABEL25;
1781 RET_LABEL25:(void)0;
1782 }
1783 }
1784 if (var24){
1785 var31 = 1;
1786 {
1787 { /* Inline kernel#Int#- (var_j,var31) on <var_j:Int> */
1788 /* Covariant cast for argument 0 (i) <var31:Int> isa OTHER */
1789 /* <var31:Int> isa OTHER */
1790 var34 = 1; /* easy <var31:Int> isa OTHER*/
1791 if (unlikely(!var34)) {
1792 var_class_name37 = type_standard__Int.name;
1793 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
1794 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1795 show_backtrace(1);
1796 }
1797 var38 = var_j - var31;
1798 var32 = var38;
1799 goto RET_LABEL33;
1800 RET_LABEL33:(void)0;
1801 }
1802 }
1803 {
1804 var39 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(self, var_j);
1805 }
1806 {
1807 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(self, var32, var39); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1808 }
1809 var40 = 1;
1810 {
1811 { /* Inline kernel#Int#+ (var_j,var40) on <var_j:Int> */
1812 /* Covariant cast for argument 0 (i) <var40:Int> isa OTHER */
1813 /* <var40:Int> isa OTHER */
1814 var43 = 1; /* easy <var40:Int> isa OTHER*/
1815 if (unlikely(!var43)) {
1816 var_class_name46 = type_standard__Int.name;
1817 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46);
1818 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
1819 show_backtrace(1);
1820 }
1821 var47 = var_j + var40;
1822 var41 = var47;
1823 goto RET_LABEL42;
1824 RET_LABEL42:(void)0;
1825 }
1826 }
1827 var_j = var41;
1828 } else {
1829 goto BREAK_label;
1830 }
1831 }
1832 BREAK_label: (void)0;
1833 var48 = 1;
1834 {
1835 { /* Inline kernel#Int#- (var_l,var48) on <var_l:Int> */
1836 /* Covariant cast for argument 0 (i) <var48:Int> isa OTHER */
1837 /* <var48:Int> isa OTHER */
1838 var51 = 1; /* easy <var48:Int> isa OTHER*/
1839 if (unlikely(!var51)) {
1840 var_class_name54 = type_standard__Int.name;
1841 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54);
1842 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
1843 show_backtrace(1);
1844 }
1845 var55 = var_l - var48;
1846 var49 = var55;
1847 goto RET_LABEL50;
1848 RET_LABEL50:(void)0;
1849 }
1850 }
1851 self->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var49; /* _length on <self:AbstractArray[nullable Object]> */
1852 } else {
1853 }
1854 RET_LABEL:;
1855 }
1856 /* method array#Array#[] for (self: Array[nullable Object], Int): nullable Object */
1857 val* standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(val* self, long p0) {
1858 val* var /* : nullable Object */;
1859 long var_index /* var index: Int */;
1860 short int var1 /* : Bool */;
1861 long var2 /* : Int */;
1862 short int var3 /* : Bool */;
1863 short int var5 /* : Bool */;
1864 int cltype;
1865 int idtype;
1866 const char* var_class_name;
1867 short int var6 /* : Bool */;
1868 short int var_ /* var : Bool */;
1869 long var7 /* : Int */;
1870 short int var8 /* : Bool */;
1871 short int var10 /* : Bool */;
1872 int cltype11;
1873 int idtype12;
1874 const char* var_class_name13;
1875 short int var14 /* : Bool */;
1876 val* var15 /* : nullable NativeArray[nullable Object] */;
1877 val* var16 /* : nullable Object */;
1878 val* var18 /* : nullable Object */;
1879 var_index = p0;
1880 var2 = 0;
1881 {
1882 { /* Inline kernel#Int#>= (var_index,var2) on <var_index:Int> */
1883 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1884 /* <var2:Int> isa OTHER */
1885 var5 = 1; /* easy <var2:Int> isa OTHER*/
1886 if (unlikely(!var5)) {
1887 var_class_name = type_standard__Int.name;
1888 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1889 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
1890 show_backtrace(1);
1891 }
1892 var6 = var_index >= var2;
1893 var3 = var6;
1894 goto RET_LABEL4;
1895 RET_LABEL4:(void)0;
1896 }
1897 }
1898 var_ = var3;
1899 if (var3){
1900 var7 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:Array[nullable Object]> */
1901 {
1902 { /* Inline kernel#Int#< (var_index,var7) on <var_index:Int> */
1903 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
1904 /* <var7:Int> isa OTHER */
1905 var10 = 1; /* easy <var7:Int> isa OTHER*/
1906 if (unlikely(!var10)) {
1907 var_class_name13 = type_standard__Int.name;
1908 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
1909 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1910 show_backtrace(1);
1911 }
1912 var14 = var_index < var7;
1913 var8 = var14;
1914 goto RET_LABEL9;
1915 RET_LABEL9:(void)0;
1916 }
1917 }
1918 var1 = var8;
1919 } else {
1920 var1 = var_;
1921 }
1922 if (unlikely(!var1)) {
1923 PRINT_ERROR("Runtime error: %s", "Assert \'index\' failed");
1924 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 258);
1925 show_backtrace(1);
1926 }
1927 var15 = self->attrs[COLOR_standard__array__Array___items].val; /* _items on <self:Array[nullable Object]> */
1928 if (var15 == NULL) {
1929 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1930 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 259);
1931 show_backtrace(1);
1932 } else {
1933 { /* Inline array#NativeArray#[] (var15,var_index) on <var15:nullable NativeArray[nullable Object]> */
1934 var18 = ((struct instance_standard__NativeArray*)var15)->values[var_index];
1935 var16 = var18;
1936 goto RET_LABEL17;
1937 RET_LABEL17:(void)0;
1938 }
1939 }
1940 var = var16;
1941 goto RET_LABEL;
1942 RET_LABEL:;
1943 return var;
1944 }
1945 /* method array#Array#[]= for (self: Array[nullable Object], Int, nullable Object) */
1946 void standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(val* self, long p0, val* p1) {
1947 short int var /* : Bool */;
1948 int cltype;
1949 int idtype;
1950 const struct type* type_struct;
1951 short int is_nullable;
1952 const char* var_class_name;
1953 long var_index /* var index: Int */;
1954 val* var_item /* var item: nullable Object */;
1955 short int var1 /* : Bool */;
1956 long var2 /* : Int */;
1957 short int var3 /* : Bool */;
1958 short int var5 /* : Bool */;
1959 int cltype6;
1960 int idtype7;
1961 const char* var_class_name8;
1962 short int var9 /* : Bool */;
1963 short int var_ /* var : Bool */;
1964 long var10 /* : Int */;
1965 long var11 /* : Int */;
1966 long var12 /* : Int */;
1967 short int var14 /* : Bool */;
1968 int cltype15;
1969 int idtype16;
1970 const char* var_class_name17;
1971 long var18 /* : Int */;
1972 short int var19 /* : Bool */;
1973 short int var21 /* : Bool */;
1974 int cltype22;
1975 int idtype23;
1976 const char* var_class_name24;
1977 short int var25 /* : Bool */;
1978 long var26 /* : Int */;
1979 short int var27 /* : Bool */;
1980 short int var29 /* : Bool */;
1981 int cltype30;
1982 int idtype31;
1983 const char* var_class_name32;
1984 short int var33 /* : Bool */;
1985 long var34 /* : Int */;
1986 long var35 /* : Int */;
1987 short int var37 /* : Bool */;
1988 int cltype38;
1989 int idtype39;
1990 const char* var_class_name40;
1991 long var41 /* : Int */;
1992 long var42 /* : Int */;
1993 short int var43 /* : Bool */;
1994 short int var45 /* : Bool */;
1995 int cltype46;
1996 int idtype47;
1997 const char* var_class_name48;
1998 short int var49 /* : Bool */;
1999 long var50 /* : Int */;
2000 long var51 /* : Int */;
2001 short int var53 /* : Bool */;
2002 int cltype54;
2003 int idtype55;
2004 const char* var_class_name56;
2005 long var57 /* : Int */;
2006 val* var58 /* : nullable NativeArray[nullable Object] */;
2007 short int var60 /* : Bool */;
2008 int cltype61;
2009 int idtype62;
2010 const struct type* type_struct63;
2011 short int is_nullable64;
2012 const char* var_class_name65;
2013 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa E */
2014 /* <p1:nullable Object> isa E */
2015 type_struct = self->type->resolution_table->types[COLOR_standard__Array___35dE];
2016 cltype = type_struct->color;
2017 idtype = type_struct->id;
2018 is_nullable = type_struct->is_nullable;
2019 if(p1 == NULL) {
2020 var = is_nullable;
2021 } else {
2022 if(cltype >= p1->type->table_size) {
2023 var = 0;
2024 } else {
2025 var = p1->type->type_table[cltype] == idtype;
2026 }
2027 }
2028 if (unlikely(!var)) {
2029 var_class_name = p1 == NULL ? "null" : p1->type->name;
2030 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
2031 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 262);
2032 show_backtrace(1);
2033 }
2034 var_index = p0;
2035 var_item = p1;
2036 var2 = 0;
2037 {
2038 { /* Inline kernel#Int#>= (var_index,var2) on <var_index:Int> */
2039 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
2040 /* <var2:Int> isa OTHER */
2041 var5 = 1; /* easy <var2:Int> isa OTHER*/
2042 if (unlikely(!var5)) {
2043 var_class_name8 = type_standard__Int.name;
2044 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8);
2045 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
2046 show_backtrace(1);
2047 }
2048 var9 = var_index >= var2;
2049 var3 = var9;
2050 goto RET_LABEL4;
2051 RET_LABEL4:(void)0;
2052 }
2053 }
2054 var_ = var3;
2055 if (var3){
2056 var10 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:Array[nullable Object]> */
2057 var11 = 1;
2058 {
2059 { /* Inline kernel#Int#+ (var10,var11) on <var10:Int> */
2060 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
2061 /* <var11:Int> isa OTHER */
2062 var14 = 1; /* easy <var11:Int> isa OTHER*/
2063 if (unlikely(!var14)) {
2064 var_class_name17 = type_standard__Int.name;
2065 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17);
2066 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2067 show_backtrace(1);
2068 }
2069 var18 = var10 + var11;
2070 var12 = var18;
2071 goto RET_LABEL13;
2072 RET_LABEL13:(void)0;
2073 }
2074 }
2075 {
2076 { /* Inline kernel#Int#< (var_index,var12) on <var_index:Int> */
2077 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2078 /* <var12:Int> isa OTHER */
2079 var21 = 1; /* easy <var12:Int> isa OTHER*/
2080 if (unlikely(!var21)) {
2081 var_class_name24 = type_standard__Int.name;
2082 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
2083 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2084 show_backtrace(1);
2085 }
2086 var25 = var_index < var12;
2087 var19 = var25;
2088 goto RET_LABEL20;
2089 RET_LABEL20:(void)0;
2090 }
2091 }
2092 var1 = var19;
2093 } else {
2094 var1 = var_;
2095 }
2096 if (unlikely(!var1)) {
2097 PRINT_ERROR("Runtime error: %s", "Assert \'index\' failed");
2098 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 264);
2099 show_backtrace(1);
2100 }
2101 var26 = self->attrs[COLOR_standard__array__Array___capacity].l; /* _capacity on <self:Array[nullable Object]> */
2102 {
2103 { /* Inline kernel#Int#<= (var26,var_index) on <var26:Int> */
2104 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
2105 /* <var_index:Int> isa OTHER */
2106 var29 = 1; /* easy <var_index:Int> isa OTHER*/
2107 if (unlikely(!var29)) {
2108 var_class_name32 = type_standard__Int.name;
2109 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
2110 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
2111 show_backtrace(1);
2112 }
2113 var33 = var26 <= var_index;
2114 var27 = var33;
2115 goto RET_LABEL28;
2116 RET_LABEL28:(void)0;
2117 }
2118 }
2119 if (var27){
2120 var34 = 1;
2121 {
2122 { /* Inline kernel#Int#+ (var_index,var34) on <var_index:Int> */
2123 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
2124 /* <var34:Int> isa OTHER */
2125 var37 = 1; /* easy <var34:Int> isa OTHER*/
2126 if (unlikely(!var37)) {
2127 var_class_name40 = type_standard__Int.name;
2128 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40);
2129 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2130 show_backtrace(1);
2131 }
2132 var41 = var_index + var34;
2133 var35 = var41;
2134 goto RET_LABEL36;
2135 RET_LABEL36:(void)0;
2136 }
2137 }
2138 {
2139 standard___standard__Array___AbstractArray__enlarge(self, var35); /* Direct call array#Array#enlarge on <self:Array[nullable Object]>*/
2140 }
2141 } else {
2142 }
2143 var42 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:Array[nullable Object]> */
2144 {
2145 { /* Inline kernel#Int#<= (var42,var_index) on <var42:Int> */
2146 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
2147 /* <var_index:Int> isa OTHER */
2148 var45 = 1; /* easy <var_index:Int> isa OTHER*/
2149 if (unlikely(!var45)) {
2150 var_class_name48 = type_standard__Int.name;
2151 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48);
2152 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
2153 show_backtrace(1);
2154 }
2155 var49 = var42 <= var_index;
2156 var43 = var49;
2157 goto RET_LABEL44;
2158 RET_LABEL44:(void)0;
2159 }
2160 }
2161 if (var43){
2162 var50 = 1;
2163 {
2164 { /* Inline kernel#Int#+ (var_index,var50) on <var_index:Int> */
2165 /* Covariant cast for argument 0 (i) <var50:Int> isa OTHER */
2166 /* <var50:Int> isa OTHER */
2167 var53 = 1; /* easy <var50:Int> isa OTHER*/
2168 if (unlikely(!var53)) {
2169 var_class_name56 = type_standard__Int.name;
2170 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56);
2171 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2172 show_backtrace(1);
2173 }
2174 var57 = var_index + var50;
2175 var51 = var57;
2176 goto RET_LABEL52;
2177 RET_LABEL52:(void)0;
2178 }
2179 }
2180 self->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var51; /* _length on <self:Array[nullable Object]> */
2181 } else {
2182 }
2183 var58 = self->attrs[COLOR_standard__array__Array___items].val; /* _items on <self:Array[nullable Object]> */
2184 if (var58 == NULL) {
2185 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2186 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 271);
2187 show_backtrace(1);
2188 } else {
2189 { /* Inline array#NativeArray#[]= (var58,var_index,var_item) on <var58:nullable NativeArray[nullable Object]> */
2190 /* Covariant cast for argument 1 (item) <var_item:nullable Object> isa E */
2191 /* <var_item:nullable Object> isa E */
2192 type_struct63 = var58->type->resolution_table->types[COLOR_standard__NativeArray___35dE];
2193 cltype61 = type_struct63->color;
2194 idtype62 = type_struct63->id;
2195 is_nullable64 = type_struct63->is_nullable;
2196 if(var_item == NULL) {
2197 var60 = is_nullable64;
2198 } else {
2199 if(cltype61 >= var_item->type->table_size) {
2200 var60 = 0;
2201 } else {
2202 var60 = var_item->type->type_table[cltype61] == idtype62;
2203 }
2204 }
2205 if (unlikely(!var60)) {
2206 var_class_name65 = var_item == NULL ? "null" : var_item->type->name;
2207 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name65);
2208 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 808);
2209 show_backtrace(1);
2210 }
2211 ((struct instance_standard__NativeArray*)var58)->values[var_index]=var_item;
2212 RET_LABEL59:(void)0;
2213 }
2214 }
2215 RET_LABEL:;
2216 }
2217 /* method array#Array#add for (self: Array[nullable Object], nullable Object) */
2218 void standard___standard__Array___standard__abstract_collection__SimpleCollection__add(val* self, val* p0) {
2219 short int var /* : Bool */;
2220 int cltype;
2221 int idtype;
2222 const struct type* type_struct;
2223 short int is_nullable;
2224 const char* var_class_name;
2225 val* var_item /* var item: nullable Object */;
2226 long var1 /* : Int */;
2227 long var_l /* var l: Int */;
2228 long var2 /* : Int */;
2229 short int var3 /* : Bool */;
2230 short int var5 /* : Bool */;
2231 int cltype6;
2232 int idtype7;
2233 const char* var_class_name8;
2234 short int var9 /* : Bool */;
2235 long var10 /* : Int */;
2236 long var11 /* : Int */;
2237 short int var13 /* : Bool */;
2238 int cltype14;
2239 int idtype15;
2240 const char* var_class_name16;
2241 long var17 /* : Int */;
2242 long var18 /* : Int */;
2243 long var19 /* : Int */;
2244 short int var21 /* : Bool */;
2245 int cltype22;
2246 int idtype23;
2247 const char* var_class_name24;
2248 long var25 /* : Int */;
2249 val* var26 /* : nullable NativeArray[nullable Object] */;
2250 short int var28 /* : Bool */;
2251 int cltype29;
2252 int idtype30;
2253 const struct type* type_struct31;
2254 short int is_nullable32;
2255 const char* var_class_name33;
2256 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
2257 /* <p0:nullable Object> isa E */
2258 type_struct = self->type->resolution_table->types[COLOR_standard__Array___35dE];
2259 cltype = type_struct->color;
2260 idtype = type_struct->id;
2261 is_nullable = type_struct->is_nullable;
2262 if(p0 == NULL) {
2263 var = is_nullable;
2264 } else {
2265 if(cltype >= p0->type->table_size) {
2266 var = 0;
2267 } else {
2268 var = p0->type->type_table[cltype] == idtype;
2269 }
2270 }
2271 if (unlikely(!var)) {
2272 var_class_name = p0 == NULL ? "null" : p0->type->name;
2273 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
2274 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 274);
2275 show_backtrace(1);
2276 }
2277 var_item = p0;
2278 var1 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:Array[nullable Object]> */
2279 var_l = var1;
2280 var2 = self->attrs[COLOR_standard__array__Array___capacity].l; /* _capacity on <self:Array[nullable Object]> */
2281 {
2282 { /* Inline kernel#Int#<= (var2,var_l) on <var2:Int> */
2283 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
2284 /* <var_l:Int> isa OTHER */
2285 var5 = 1; /* easy <var_l:Int> isa OTHER*/
2286 if (unlikely(!var5)) {
2287 var_class_name8 = type_standard__Int.name;
2288 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8);
2289 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
2290 show_backtrace(1);
2291 }
2292 var9 = var2 <= var_l;
2293 var3 = var9;
2294 goto RET_LABEL4;
2295 RET_LABEL4:(void)0;
2296 }
2297 }
2298 if (var3){
2299 var10 = 1;
2300 {
2301 { /* Inline kernel#Int#+ (var_l,var10) on <var_l:Int> */
2302 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2303 /* <var10:Int> isa OTHER */
2304 var13 = 1; /* easy <var10:Int> isa OTHER*/
2305 if (unlikely(!var13)) {
2306 var_class_name16 = type_standard__Int.name;
2307 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16);
2308 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2309 show_backtrace(1);
2310 }
2311 var17 = var_l + var10;
2312 var11 = var17;
2313 goto RET_LABEL12;
2314 RET_LABEL12:(void)0;
2315 }
2316 }
2317 {
2318 standard___standard__Array___AbstractArray__enlarge(self, var11); /* Direct call array#Array#enlarge on <self:Array[nullable Object]>*/
2319 }
2320 } else {
2321 }
2322 var18 = 1;
2323 {
2324 { /* Inline kernel#Int#+ (var_l,var18) on <var_l:Int> */
2325 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
2326 /* <var18:Int> isa OTHER */
2327 var21 = 1; /* easy <var18:Int> isa OTHER*/
2328 if (unlikely(!var21)) {
2329 var_class_name24 = type_standard__Int.name;
2330 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
2331 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2332 show_backtrace(1);
2333 }
2334 var25 = var_l + var18;
2335 var19 = var25;
2336 goto RET_LABEL20;
2337 RET_LABEL20:(void)0;
2338 }
2339 }
2340 self->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var19; /* _length on <self:Array[nullable Object]> */
2341 var26 = self->attrs[COLOR_standard__array__Array___items].val; /* _items on <self:Array[nullable Object]> */
2342 if (var26 == NULL) {
2343 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2344 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 281);
2345 show_backtrace(1);
2346 } else {
2347 { /* Inline array#NativeArray#[]= (var26,var_l,var_item) on <var26:nullable NativeArray[nullable Object]> */
2348 /* Covariant cast for argument 1 (item) <var_item:nullable Object> isa E */
2349 /* <var_item:nullable Object> isa E */
2350 type_struct31 = var26->type->resolution_table->types[COLOR_standard__NativeArray___35dE];
2351 cltype29 = type_struct31->color;
2352 idtype30 = type_struct31->id;
2353 is_nullable32 = type_struct31->is_nullable;
2354 if(var_item == NULL) {
2355 var28 = is_nullable32;
2356 } else {
2357 if(cltype29 >= var_item->type->table_size) {
2358 var28 = 0;
2359 } else {
2360 var28 = var_item->type->type_table[cltype29] == idtype30;
2361 }
2362 }
2363 if (unlikely(!var28)) {
2364 var_class_name33 = var_item == NULL ? "null" : var_item->type->name;
2365 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name33);
2366 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 808);
2367 show_backtrace(1);
2368 }
2369 ((struct instance_standard__NativeArray*)var26)->values[var_l]=var_item;
2370 RET_LABEL27:(void)0;
2371 }
2372 }
2373 RET_LABEL:;
2374 }
2375 /* method array#Array#add_all for (self: Array[nullable Object], Collection[nullable Object]) */
2376 void standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(val* self, val* p0) {
2377 short int var /* : Bool */;
2378 int cltype;
2379 int idtype;
2380 const struct type* type_struct;
2381 const char* var_class_name;
2382 val* var_items /* var items: Collection[nullable Object] */;
2383 long var1 /* : Int */;
2384 long var_l /* var l: Int */;
2385 long var2 /* : Int */;
2386 long var3 /* : Int */;
2387 short int var5 /* : Bool */;
2388 int cltype6;
2389 int idtype7;
2390 const char* var_class_name8;
2391 long var9 /* : Int */;
2392 long var_nl /* var nl: Int */;
2393 long var10 /* : Int */;
2394 short int var11 /* : Bool */;
2395 short int var13 /* : Bool */;
2396 int cltype14;
2397 int idtype15;
2398 const char* var_class_name16;
2399 short int var17 /* : Bool */;
2400 short int var18 /* : Bool */;
2401 int cltype19;
2402 int idtype20;
2403 const struct type* type_struct21;
2404 long var22 /* : Int */;
2405 long var_k /* var k: Int */;
2406 short int var23 /* : Bool */;
2407 short int var25 /* : Bool */;
2408 int cltype26;
2409 int idtype27;
2410 const char* var_class_name28;
2411 short int var29 /* : Bool */;
2412 val* var30 /* : nullable NativeArray[nullable Object] */;
2413 val* var31 /* : nullable NativeArray[nullable Object] */;
2414 val* var32 /* : nullable Object */;
2415 val* var34 /* : nullable Object */;
2416 short int var36 /* : Bool */;
2417 int cltype37;
2418 int idtype38;
2419 const struct type* type_struct39;
2420 short int is_nullable;
2421 const char* var_class_name40;
2422 long var41 /* : Int */;
2423 long var42 /* : Int */;
2424 short int var44 /* : Bool */;
2425 int cltype45;
2426 int idtype46;
2427 const char* var_class_name47;
2428 long var48 /* : Int */;
2429 long var49 /* : Int */;
2430 long var50 /* : Int */;
2431 short int var52 /* : Bool */;
2432 int cltype53;
2433 int idtype54;
2434 const char* var_class_name55;
2435 long var56 /* : Int */;
2436 val* var_ /* var : Collection[nullable Object] */;
2437 val* var57 /* : Iterator[nullable Object] */;
2438 val* var_58 /* var : Iterator[nullable Object] */;
2439 short int var59 /* : Bool */;
2440 val* var60 /* : nullable Object */;
2441 val* var_item /* var item: nullable Object */;
2442 val* var61 /* : nullable NativeArray[nullable Object] */;
2443 short int var63 /* : Bool */;
2444 int cltype64;
2445 int idtype65;
2446 const struct type* type_struct66;
2447 short int is_nullable67;
2448 const char* var_class_name68;
2449 long var69 /* : Int */;
2450 long var70 /* : Int */;
2451 short int var72 /* : Bool */;
2452 int cltype73;
2453 int idtype74;
2454 const char* var_class_name75;
2455 long var76 /* : Int */;
2456 /* Covariant cast for argument 0 (items) <p0:Collection[nullable Object]> isa Collection[E] */
2457 /* <p0:Collection[nullable Object]> isa Collection[E] */
2458 type_struct = self->type->resolution_table->types[COLOR_standard__Collection__standard__Array___35dE];
2459 cltype = type_struct->color;
2460 idtype = type_struct->id;
2461 if(cltype >= p0->type->table_size) {
2462 var = 0;
2463 } else {
2464 var = p0->type->type_table[cltype] == idtype;
2465 }
2466 if (unlikely(!var)) {
2467 var_class_name = p0 == NULL ? "null" : p0->type->name;
2468 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name);
2469 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 284);
2470 show_backtrace(1);
2471 }
2472 var_items = p0;
2473 var1 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:Array[nullable Object]> */
2474 var_l = var1;
2475 {
2476 var2 = ((long (*)(val* self))(var_items->class->vft[COLOR_standard__abstract_collection__Collection__length]))(var_items) /* length on <var_items:Collection[nullable Object]>*/;
2477 }
2478 {
2479 { /* Inline kernel#Int#+ (var_l,var2) on <var_l:Int> */
2480 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
2481 /* <var2:Int> isa OTHER */
2482 var5 = 1; /* easy <var2:Int> isa OTHER*/
2483 if (unlikely(!var5)) {
2484 var_class_name8 = type_standard__Int.name;
2485 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8);
2486 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2487 show_backtrace(1);
2488 }
2489 var9 = var_l + var2;
2490 var3 = var9;
2491 goto RET_LABEL4;
2492 RET_LABEL4:(void)0;
2493 }
2494 }
2495 var_nl = var3;
2496 var10 = self->attrs[COLOR_standard__array__Array___capacity].l; /* _capacity on <self:Array[nullable Object]> */
2497 {
2498 { /* Inline kernel#Int#< (var10,var_nl) on <var10:Int> */
2499 /* Covariant cast for argument 0 (i) <var_nl:Int> isa OTHER */
2500 /* <var_nl:Int> isa OTHER */
2501 var13 = 1; /* easy <var_nl:Int> isa OTHER*/
2502 if (unlikely(!var13)) {
2503 var_class_name16 = type_standard__Int.name;
2504 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16);
2505 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2506 show_backtrace(1);
2507 }
2508 var17 = var10 < var_nl;
2509 var11 = var17;
2510 goto RET_LABEL12;
2511 RET_LABEL12:(void)0;
2512 }
2513 }
2514 if (var11){
2515 {
2516 standard___standard__Array___AbstractArray__enlarge(self, var_nl); /* Direct call array#Array#enlarge on <self:Array[nullable Object]>*/
2517 }
2518 } else {
2519 }
2520 /* <var_items:Collection[nullable Object]> isa Array[E] */
2521 type_struct21 = self->type->resolution_table->types[COLOR_standard__Array__standard__Array___35dE];
2522 cltype19 = type_struct21->color;
2523 idtype20 = type_struct21->id;
2524 if(cltype19 >= var_items->type->table_size) {
2525 var18 = 0;
2526 } else {
2527 var18 = var_items->type->type_table[cltype19] == idtype20;
2528 }
2529 if (var18){
2530 var22 = 0;
2531 var_k = var22;
2532 for(;;) {
2533 {
2534 { /* Inline kernel#Int#< (var_l,var_nl) on <var_l:Int> */
2535 /* Covariant cast for argument 0 (i) <var_nl:Int> isa OTHER */
2536 /* <var_nl:Int> isa OTHER */
2537 var25 = 1; /* easy <var_nl:Int> isa OTHER*/
2538 if (unlikely(!var25)) {
2539 var_class_name28 = type_standard__Int.name;
2540 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
2541 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2542 show_backtrace(1);
2543 }
2544 var29 = var_l < var_nl;
2545 var23 = var29;
2546 goto RET_LABEL24;
2547 RET_LABEL24:(void)0;
2548 }
2549 }
2550 if (var23){
2551 var30 = self->attrs[COLOR_standard__array__Array___items].val; /* _items on <self:Array[nullable Object]> */
2552 var31 = var_items->attrs[COLOR_standard__array__Array___items].val; /* _items on <var_items:Collection[nullable Object](Array[nullable Object])> */
2553 if (var31 == NULL) {
2554 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2555 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 296);
2556 show_backtrace(1);
2557 } else {
2558 { /* Inline array#NativeArray#[] (var31,var_k) on <var31:nullable NativeArray[nullable Object]> */
2559 var34 = ((struct instance_standard__NativeArray*)var31)->values[var_k];
2560 var32 = var34;
2561 goto RET_LABEL33;
2562 RET_LABEL33:(void)0;
2563 }
2564 }
2565 if (var30 == NULL) {
2566 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2567 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 296);
2568 show_backtrace(1);
2569 } else {
2570 { /* Inline array#NativeArray#[]= (var30,var_l,var32) on <var30:nullable NativeArray[nullable Object]> */
2571 /* Covariant cast for argument 1 (item) <var32:nullable Object> isa E */
2572 /* <var32:nullable Object> isa E */
2573 type_struct39 = var30->type->resolution_table->types[COLOR_standard__NativeArray___35dE];
2574 cltype37 = type_struct39->color;
2575 idtype38 = type_struct39->id;
2576 is_nullable = type_struct39->is_nullable;
2577 if(var32 == NULL) {
2578 var36 = is_nullable;
2579 } else {
2580 if(cltype37 >= var32->type->table_size) {
2581 var36 = 0;
2582 } else {
2583 var36 = var32->type->type_table[cltype37] == idtype38;
2584 }
2585 }
2586 if (unlikely(!var36)) {
2587 var_class_name40 = var32 == NULL ? "null" : var32->type->name;
2588 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name40);
2589 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 808);
2590 show_backtrace(1);
2591 }
2592 ((struct instance_standard__NativeArray*)var30)->values[var_l]=var32;
2593 RET_LABEL35:(void)0;
2594 }
2595 }
2596 var41 = 1;
2597 {
2598 { /* Inline kernel#Int#+ (var_l,var41) on <var_l:Int> */
2599 /* Covariant cast for argument 0 (i) <var41:Int> isa OTHER */
2600 /* <var41:Int> isa OTHER */
2601 var44 = 1; /* easy <var41:Int> isa OTHER*/
2602 if (unlikely(!var44)) {
2603 var_class_name47 = type_standard__Int.name;
2604 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47);
2605 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2606 show_backtrace(1);
2607 }
2608 var48 = var_l + var41;
2609 var42 = var48;
2610 goto RET_LABEL43;
2611 RET_LABEL43:(void)0;
2612 }
2613 }
2614 var_l = var42;
2615 var49 = 1;
2616 {
2617 { /* Inline kernel#Int#+ (var_k,var49) on <var_k:Int> */
2618 /* Covariant cast for argument 0 (i) <var49:Int> isa OTHER */
2619 /* <var49:Int> isa OTHER */
2620 var52 = 1; /* easy <var49:Int> isa OTHER*/
2621 if (unlikely(!var52)) {
2622 var_class_name55 = type_standard__Int.name;
2623 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55);
2624 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2625 show_backtrace(1);
2626 }
2627 var56 = var_k + var49;
2628 var50 = var56;
2629 goto RET_LABEL51;
2630 RET_LABEL51:(void)0;
2631 }
2632 }
2633 var_k = var50;
2634 } else {
2635 goto BREAK_label;
2636 }
2637 }
2638 BREAK_label: (void)0;
2639 } else {
2640 var_ = var_items;
2641 {
2642 var57 = ((val* (*)(val* self))(var_->class->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_) /* iterator on <var_:Collection[nullable Object]>*/;
2643 }
2644 var_58 = var57;
2645 for(;;) {
2646 {
2647 var59 = ((short int (*)(val* self))(var_58->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_58) /* is_ok on <var_58:Iterator[nullable Object]>*/;
2648 }
2649 if (var59){
2650 {
2651 var60 = ((val* (*)(val* self))(var_58->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_58) /* item on <var_58:Iterator[nullable Object]>*/;
2652 }
2653 var_item = var60;
2654 var61 = self->attrs[COLOR_standard__array__Array___items].val; /* _items on <self:Array[nullable Object]> */
2655 if (var61 == NULL) {
2656 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2657 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 302);
2658 show_backtrace(1);
2659 } else {
2660 { /* Inline array#NativeArray#[]= (var61,var_l,var_item) on <var61:nullable NativeArray[nullable Object]> */
2661 /* Covariant cast for argument 1 (item) <var_item:nullable Object> isa E */
2662 /* <var_item:nullable Object> isa E */
2663 type_struct66 = var61->type->resolution_table->types[COLOR_standard__NativeArray___35dE];
2664 cltype64 = type_struct66->color;
2665 idtype65 = type_struct66->id;
2666 is_nullable67 = type_struct66->is_nullable;
2667 if(var_item == NULL) {
2668 var63 = is_nullable67;
2669 } else {
2670 if(cltype64 >= var_item->type->table_size) {
2671 var63 = 0;
2672 } else {
2673 var63 = var_item->type->type_table[cltype64] == idtype65;
2674 }
2675 }
2676 if (unlikely(!var63)) {
2677 var_class_name68 = var_item == NULL ? "null" : var_item->type->name;
2678 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name68);
2679 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 808);
2680 show_backtrace(1);
2681 }
2682 ((struct instance_standard__NativeArray*)var61)->values[var_l]=var_item;
2683 RET_LABEL62:(void)0;
2684 }
2685 }
2686 var69 = 1;
2687 {
2688 { /* Inline kernel#Int#+ (var_l,var69) on <var_l:Int> */
2689 /* Covariant cast for argument 0 (i) <var69:Int> isa OTHER */
2690 /* <var69:Int> isa OTHER */
2691 var72 = 1; /* easy <var69:Int> isa OTHER*/
2692 if (unlikely(!var72)) {
2693 var_class_name75 = type_standard__Int.name;
2694 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75);
2695 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2696 show_backtrace(1);
2697 }
2698 var76 = var_l + var69;
2699 var70 = var76;
2700 goto RET_LABEL71;
2701 RET_LABEL71:(void)0;
2702 }
2703 }
2704 var_l = var70;
2705 {
2706 ((void (*)(val* self))(var_58->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_58) /* next on <var_58:Iterator[nullable Object]>*/;
2707 }
2708 } else {
2709 goto BREAK_label77;
2710 }
2711 }
2712 BREAK_label77: (void)0;
2713 {
2714 { /* Inline abstract_collection#Iterator#finish (var_58) on <var_58:Iterator[nullable Object]> */
2715 RET_LABEL78:(void)0;
2716 }
2717 }
2718 }
2719 self->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var_nl; /* _length on <self:Array[nullable Object]> */
2720 RET_LABEL:;
2721 }
2722 /* method array#Array#enlarge for (self: Array[nullable Object], Int) */
2723 void standard___standard__Array___AbstractArray__enlarge(val* self, long p0) {
2724 long var_cap /* var cap: Int */;
2725 long var /* : Int */;
2726 long var_c /* var c: Int */;
2727 short int var1 /* : Bool */;
2728 short int var3 /* : Bool */;
2729 int cltype;
2730 int idtype;
2731 const char* var_class_name;
2732 short int var4 /* : Bool */;
2733 short int var5 /* : Bool */;
2734 short int var7 /* : Bool */;
2735 int cltype8;
2736 int idtype9;
2737 const char* var_class_name10;
2738 short int var11 /* : Bool */;
2739 long var12 /* : Int */;
2740 long var13 /* : Int */;
2741 short int var15 /* : Bool */;
2742 int cltype16;
2743 int idtype17;
2744 const char* var_class_name18;
2745 long var19 /* : Int */;
2746 long var20 /* : Int */;
2747 long var21 /* : Int */;
2748 short int var23 /* : Bool */;
2749 int cltype24;
2750 int idtype25;
2751 const char* var_class_name26;
2752 long var27 /* : Int */;
2753 val* var28 /* : NativeArray[nullable Object] */;
2754 val* var_a /* var a: NativeArray[nullable Object] */;
2755 long var29 /* : Int */;
2756 long var30 /* : Int */;
2757 short int var31 /* : Bool */;
2758 short int var33 /* : Bool */;
2759 int cltype34;
2760 int idtype35;
2761 const char* var_class_name36;
2762 short int var37 /* : Bool */;
2763 val* var38 /* : nullable NativeArray[nullable Object] */;
2764 long var39 /* : Int */;
2765 short int var41 /* : Bool */;
2766 int cltype42;
2767 int idtype43;
2768 const struct type* type_struct;
2769 const char* var_class_name44;
2770 var_cap = p0;
2771 var = self->attrs[COLOR_standard__array__Array___capacity].l; /* _capacity on <self:Array[nullable Object]> */
2772 var_c = var;
2773 {
2774 { /* Inline kernel#Int#<= (var_cap,var_c) on <var_cap:Int> */
2775 /* Covariant cast for argument 0 (i) <var_c:Int> isa OTHER */
2776 /* <var_c:Int> isa OTHER */
2777 var3 = 1; /* easy <var_c:Int> isa OTHER*/
2778 if (unlikely(!var3)) {
2779 var_class_name = type_standard__Int.name;
2780 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2781 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
2782 show_backtrace(1);
2783 }
2784 var4 = var_cap <= var_c;
2785 var1 = var4;
2786 goto RET_LABEL2;
2787 RET_LABEL2:(void)0;
2788 }
2789 }
2790 if (var1){
2791 goto RET_LABEL;
2792 } else {
2793 }
2794 for(;;) {
2795 {
2796 { /* Inline kernel#Int#<= (var_c,var_cap) on <var_c:Int> */
2797 /* Covariant cast for argument 0 (i) <var_cap:Int> isa OTHER */
2798 /* <var_cap:Int> isa OTHER */
2799 var7 = 1; /* easy <var_cap:Int> isa OTHER*/
2800 if (unlikely(!var7)) {
2801 var_class_name10 = type_standard__Int.name;
2802 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10);
2803 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
2804 show_backtrace(1);
2805 }
2806 var11 = var_c <= var_cap;
2807 var5 = var11;
2808 goto RET_LABEL6;
2809 RET_LABEL6:(void)0;
2810 }
2811 }
2812 if (var5){
2813 var12 = 2;
2814 {
2815 { /* Inline kernel#Int#* (var_c,var12) on <var_c:Int> */
2816 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2817 /* <var12:Int> isa OTHER */
2818 var15 = 1; /* easy <var12:Int> isa OTHER*/
2819 if (unlikely(!var15)) {
2820 var_class_name18 = type_standard__Int.name;
2821 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
2822 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417);
2823 show_backtrace(1);
2824 }
2825 var19 = var_c * var12;
2826 var13 = var19;
2827 goto RET_LABEL14;
2828 RET_LABEL14:(void)0;
2829 }
2830 }
2831 var20 = 2;
2832 {
2833 { /* Inline kernel#Int#+ (var13,var20) on <var13:Int> */
2834 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
2835 /* <var20:Int> isa OTHER */
2836 var23 = 1; /* easy <var20:Int> isa OTHER*/
2837 if (unlikely(!var23)) {
2838 var_class_name26 = type_standard__Int.name;
2839 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26);
2840 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2841 show_backtrace(1);
2842 }
2843 var27 = var13 + var20;
2844 var21 = var27;
2845 goto RET_LABEL22;
2846 RET_LABEL22:(void)0;
2847 }
2848 }
2849 var_c = var21;
2850 } else {
2851 goto BREAK_label;
2852 }
2853 }
2854 BREAK_label: (void)0;
2855 var28 = NEW_standard__NativeArray(var_c, self->type->resolution_table->types[COLOR_standard__NativeArray__standard__Array___35dE]);
2856 var_a = var28;
2857 var29 = self->attrs[COLOR_standard__array__Array___capacity].l; /* _capacity on <self:Array[nullable Object]> */
2858 var30 = 0;
2859 {
2860 { /* Inline kernel#Int#> (var29,var30) on <var29:Int> */
2861 /* Covariant cast for argument 0 (i) <var30:Int> isa OTHER */
2862 /* <var30:Int> isa OTHER */
2863 var33 = 1; /* easy <var30:Int> isa OTHER*/
2864 if (unlikely(!var33)) {
2865 var_class_name36 = type_standard__Int.name;
2866 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36);
2867 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
2868 show_backtrace(1);
2869 }
2870 var37 = var29 > var30;
2871 var31 = var37;
2872 goto RET_LABEL32;
2873 RET_LABEL32:(void)0;
2874 }
2875 }
2876 if (var31){
2877 var38 = self->attrs[COLOR_standard__array__Array___items].val; /* _items on <self:Array[nullable Object]> */
2878 var39 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:Array[nullable Object]> */
2879 if (var38 == NULL) {
2880 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2881 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 316);
2882 show_backtrace(1);
2883 } else {
2884 { /* Inline array#NativeArray#copy_to (var38,var_a,var39) on <var38:nullable NativeArray[nullable Object]> */
2885 /* Covariant cast for argument 0 (dest) <var_a:NativeArray[nullable Object]> isa NativeArray[E] */
2886 /* <var_a:NativeArray[nullable Object]> isa NativeArray[E] */
2887 type_struct = var38->type->resolution_table->types[COLOR_standard__NativeArray__standard__NativeArray___35dE];
2888 cltype42 = type_struct->color;
2889 idtype43 = type_struct->id;
2890 if(cltype42 >= var_a->type->table_size) {
2891 var41 = 0;
2892 } else {
2893 var41 = var_a->type->type_table[cltype42] == idtype43;
2894 }
2895 if (unlikely(!var41)) {
2896 var_class_name44 = var_a == NULL ? "null" : var_a->type->name;
2897 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[E]", var_class_name44);
2898 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 811);
2899 show_backtrace(1);
2900 }
2901 memmove(((struct instance_standard__NativeArray*)var_a)->values, ((struct instance_standard__NativeArray*)var38)->values, var39*sizeof(val*));
2902 RET_LABEL40:(void)0;
2903 }
2904 }
2905 } else {
2906 }
2907 self->attrs[COLOR_standard__array__Array___items].val = var_a; /* _items on <self:Array[nullable Object]> */
2908 self->attrs[COLOR_standard__array__Array___capacity].l = var_c; /* _capacity on <self:Array[nullable Object]> */
2909 RET_LABEL:;
2910 }
2911 /* method array#Array#init for (self: Array[nullable Object]) */
2912 void standard___standard__Array___standard__kernel__Object__init(val* self) {
2913 long var /* : Int */;
2914 long var1 /* : Int */;
2915 {
2916 ((void (*)(val* self))(self->class->vft[COLOR_standard___standard__Array___standard__kernel__Object__init]))(self) /* init on <self:Array[nullable Object]>*/;
2917 }
2918 var = 0;
2919 self->attrs[COLOR_standard__array__Array___capacity].l = var; /* _capacity on <self:Array[nullable Object]> */
2920 var1 = 0;
2921 self->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var1; /* _length on <self:Array[nullable Object]> */
2922 RET_LABEL:;
2923 }
2924 /* method array#Array#with_items for (self: Array[nullable Object], Array[nullable Object]) */
2925 void standard___standard__Array___with_items(val* self, val* p0) {
2926 val* var_objects /* var objects: Array[nullable Object] */;
2927 val* var /* : nullable NativeArray[nullable Object] */;
2928 long var1 /* : Int */;
2929 long var2 /* : Int */;
2930 long var4 /* : Int */;
2931 {
2932 standard___standard__Array___standard__kernel__Object__init(self); /* Direct call array#Array#init on <self:Array[nullable Object]>*/
2933 }
2934 var_objects = p0;
2935 var = var_objects->attrs[COLOR_standard__array__Array___items].val; /* _items on <var_objects:Array[nullable Object]> */
2936 self->attrs[COLOR_standard__array__Array___items].val = var; /* _items on <self:Array[nullable Object]> */
2937 var1 = var_objects->attrs[COLOR_standard__array__Array___capacity].l; /* _capacity on <var_objects:Array[nullable Object]> */
2938 self->attrs[COLOR_standard__array__Array___capacity].l = var1; /* _capacity on <self:Array[nullable Object]> */
2939 {
2940 { /* Inline array#AbstractArrayRead#length (var_objects) on <var_objects:Array[nullable Object]> */
2941 var4 = var_objects->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_objects:Array[nullable Object]> */
2942 var2 = var4;
2943 RET_LABEL3:(void)0;
2944 }
2945 }
2946 self->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var2; /* _length on <self:Array[nullable Object]> */
2947 RET_LABEL:;
2948 }
2949 /* method array#Array#with_capacity for (self: Array[nullable Object], Int) */
2950 void standard___standard__Array___with_capacity(val* self, long p0) {
2951 long var_cap /* var cap: Int */;
2952 long var /* : Int */;
2953 short int var1 /* : Bool */;
2954 short int var3 /* : Bool */;
2955 int cltype;
2956 int idtype;
2957 const char* var_class_name;
2958 short int var4 /* : Bool */;
2959 val* var5 /* : NativeArray[nullable Object] */;
2960 long var6 /* : Int */;
2961 {
2962 standard___standard__Array___standard__kernel__Object__init(self); /* Direct call array#Array#init on <self:Array[nullable Object]>*/
2963 }
2964 var_cap = p0;
2965 var = 0;
2966 {
2967 { /* Inline kernel#Int#>= (var_cap,var) on <var_cap:Int> */
2968 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
2969 /* <var:Int> isa OTHER */
2970 var3 = 1; /* easy <var:Int> isa OTHER*/
2971 if (unlikely(!var3)) {
2972 var_class_name = type_standard__Int.name;
2973 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2974 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
2975 show_backtrace(1);
2976 }
2977 var4 = var_cap >= var;
2978 var1 = var4;
2979 goto RET_LABEL2;
2980 RET_LABEL2:(void)0;
2981 }
2982 }
2983 if (unlikely(!var1)) {
2984 PRINT_ERROR("Runtime error: %s", "Assert \'positive\' failed");
2985 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 345);
2986 show_backtrace(1);
2987 }
2988 var5 = NEW_standard__NativeArray(var_cap, self->type->resolution_table->types[COLOR_standard__NativeArray__standard__Array___35dE]);
2989 self->attrs[COLOR_standard__array__Array___items].val = var5; /* _items on <self:Array[nullable Object]> */
2990 self->attrs[COLOR_standard__array__Array___capacity].l = var_cap; /* _capacity on <self:Array[nullable Object]> */
2991 var6 = 0;
2992 self->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var6; /* _length on <self:Array[nullable Object]> */
2993 RET_LABEL:;
2994 }
2995 /* method array#Array#with_native for (self: Array[nullable Object], NativeArray[nullable Object], Int) */
2996 void standard___standard__Array___with_native(val* self, val* p0, long p1) {
2997 short int var /* : Bool */;
2998 int cltype;
2999 int idtype;
3000 const struct type* type_struct;
3001 const char* var_class_name;
3002 val* var_nat /* var nat: NativeArray[nullable Object] */;
3003 long var_size /* var size: Int */;
3004 long var1 /* : Int */;
3005 short int var2 /* : Bool */;
3006 short int var4 /* : Bool */;
3007 int cltype5;
3008 int idtype6;
3009 const char* var_class_name7;
3010 short int var8 /* : Bool */;
3011 /* Covariant cast for argument 0 (nat) <p0:NativeArray[nullable Object]> isa NativeArray[E] */
3012 /* <p0:NativeArray[nullable Object]> isa NativeArray[E] */
3013 type_struct = self->type->resolution_table->types[COLOR_standard__NativeArray__standard__Array___35dE];
3014 cltype = type_struct->color;
3015 idtype = type_struct->id;
3016 if(cltype >= p0->type->table_size) {
3017 var = 0;
3018 } else {
3019 var = p0->type->type_table[cltype] == idtype;
3020 }
3021 if (unlikely(!var)) {
3022 var_class_name = p0 == NULL ? "null" : p0->type->name;
3023 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[E]", var_class_name);
3024 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 365);
3025 show_backtrace(1);
3026 }
3027 {
3028 standard___standard__Array___standard__kernel__Object__init(self); /* Direct call array#Array#init on <self:Array[nullable Object]>*/
3029 }
3030 var_nat = p0;
3031 var_size = p1;
3032 var1 = 0;
3033 {
3034 { /* Inline kernel#Int#>= (var_size,var1) on <var_size:Int> */
3035 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
3036 /* <var1:Int> isa OTHER */
3037 var4 = 1; /* easy <var1:Int> isa OTHER*/
3038 if (unlikely(!var4)) {
3039 var_class_name7 = type_standard__Int.name;
3040 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7);
3041 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
3042 show_backtrace(1);
3043 }
3044 var8 = var_size >= var1;
3045 var2 = var8;
3046 goto RET_LABEL3;
3047 RET_LABEL3:(void)0;
3048 }
3049 }
3050 if (unlikely(!var2)) {
3051 PRINT_ERROR("Runtime error: %s", "Assert \'positive\' failed");
3052 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 368);
3053 show_backtrace(1);
3054 }
3055 self->attrs[COLOR_standard__array__Array___items].val = var_nat; /* _items on <self:Array[nullable Object]> */
3056 self->attrs[COLOR_standard__array__Array___capacity].l = var_size; /* _capacity on <self:Array[nullable Object]> */
3057 self->attrs[COLOR_standard__array__AbstractArrayRead___length].l = var_size; /* _length on <self:Array[nullable Object]> */
3058 RET_LABEL:;
3059 }
3060 /* method array#Array#== for (self: Array[nullable Object], nullable Object): Bool */
3061 short int standard___standard__Array___standard__kernel__Object___61d_61d(val* self, val* p0) {
3062 short int var /* : Bool */;
3063 val* var_o /* var o: nullable Object */;
3064 short int var1 /* : Bool */;
3065 int cltype;
3066 int idtype;
3067 short int var2 /* : Bool */;
3068 short int var3 /* : Bool */;
3069 long var4 /* : Int */;
3070 long var6 /* : Int */;
3071 long var_l /* var l: Int */;
3072 long var7 /* : Int */;
3073 long var9 /* : Int */;
3074 short int var10 /* : Bool */;
3075 short int var12 /* : Bool */;
3076 short int var13 /* : Bool */;
3077 short int var14 /* : Bool */;
3078 long var15 /* : Int */;
3079 long var_i /* var i: Int */;
3080 val* var16 /* : nullable NativeArray[nullable Object] */;
3081 val* var_it /* var it: nullable NativeArray[nullable Object] */;
3082 val* var17 /* : nullable NativeArray[nullable Object] */;
3083 val* var_oit /* var oit: nullable NativeArray[nullable Object] */;
3084 short int var18 /* : Bool */;
3085 short int var20 /* : Bool */;
3086 int cltype21;
3087 int idtype22;
3088 const char* var_class_name;
3089 short int var23 /* : Bool */;
3090 val* var24 /* : nullable Object */;
3091 val* var26 /* : nullable Object */;
3092 val* var27 /* : nullable Object */;
3093 val* var29 /* : nullable Object */;
3094 short int var30 /* : Bool */;
3095 short int var31 /* : Bool */;
3096 short int var32 /* : Bool */;
3097 long var33 /* : Int */;
3098 long var34 /* : Int */;
3099 short int var36 /* : Bool */;
3100 int cltype37;
3101 int idtype38;
3102 const char* var_class_name39;
3103 long var40 /* : Int */;
3104 short int var41 /* : Bool */;
3105 var_o = p0;
3106 /* <var_o:nullable Object> isa Array[nullable Object] */
3107 cltype = type_standard__Array__nullable__standard__Object.color;
3108 idtype = type_standard__Array__nullable__standard__Object.id;
3109 if(var_o == NULL) {
3110 var1 = 0;
3111 } else {
3112 if(cltype >= var_o->type->table_size) {
3113 var1 = 0;
3114 } else {
3115 var1 = var_o->type->type_table[cltype] == idtype;
3116 }
3117 }
3118 var2 = !var1;
3119 if (var2){
3120 {
3121 var3 = ((short int (*)(val* self, val* p0))(self->class->vft[COLOR_standard___standard__Array___standard__kernel__Object___61d_61d]))(self, p0) /* == on <self:Array[nullable Object]>*/;
3122 }
3123 var = var3;
3124 goto RET_LABEL;
3125 } else {
3126 }
3127 {
3128 { /* Inline array#AbstractArrayRead#length (self) on <self:Array[nullable Object]> */
3129 var6 = self->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <self:Array[nullable Object]> */
3130 var4 = var6;
3131 RET_LABEL5:(void)0;
3132 }
3133 }
3134 var_l = var4;
3135 {
3136 { /* Inline array#AbstractArrayRead#length (var_o) on <var_o:nullable Object(Array[nullable Object])> */
3137 var9 = var_o->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var_o:nullable Object(Array[nullable Object])> */
3138 var7 = var9;
3139 RET_LABEL8:(void)0;
3140 }
3141 }
3142 {
3143 { /* Inline kernel#Int#!= (var_l,var7) on <var_l:Int> */
3144 var12 = var_l == var7;
3145 var13 = !var12;
3146 var10 = var13;
3147 goto RET_LABEL11;
3148 RET_LABEL11:(void)0;
3149 }
3150 }
3151 if (var10){
3152 var14 = 0;
3153 var = var14;
3154 goto RET_LABEL;
3155 } else {
3156 }
3157 var15 = 0;
3158 var_i = var15;
3159 var16 = self->attrs[COLOR_standard__array__Array___items].val; /* _items on <self:Array[nullable Object]> */
3160 var_it = var16;
3161 var17 = var_o->attrs[COLOR_standard__array__Array___items].val; /* _items on <var_o:nullable Object(Array[nullable Object])> */
3162 var_oit = var17;
3163 for(;;) {
3164 {
3165 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
3166 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
3167 /* <var_l:Int> isa OTHER */
3168 var20 = 1; /* easy <var_l:Int> isa OTHER*/
3169 if (unlikely(!var20)) {
3170 var_class_name = type_standard__Int.name;
3171 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3172 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
3173 show_backtrace(1);
3174 }
3175 var23 = var_i < var_l;
3176 var18 = var23;
3177 goto RET_LABEL19;
3178 RET_LABEL19:(void)0;
3179 }
3180 }
3181 if (var18){
3182 if (var_it == NULL) {
3183 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3184 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 390);
3185 show_backtrace(1);
3186 } else {
3187 { /* Inline array#NativeArray#[] (var_it,var_i) on <var_it:nullable NativeArray[nullable Object]> */
3188 var26 = ((struct instance_standard__NativeArray*)var_it)->values[var_i];
3189 var24 = var26;
3190 goto RET_LABEL25;
3191 RET_LABEL25:(void)0;
3192 }
3193 }
3194 if (var_oit == NULL) {
3195 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3196 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 390);
3197 show_backtrace(1);
3198 } else {
3199 { /* Inline array#NativeArray#[] (var_oit,var_i) on <var_oit:nullable NativeArray[nullable Object]> */
3200 var29 = ((struct instance_standard__NativeArray*)var_oit)->values[var_i];
3201 var27 = var29;
3202 goto RET_LABEL28;
3203 RET_LABEL28:(void)0;
3204 }
3205 }
3206 if (var24 == NULL) {
3207 var30 = (var27 != NULL);
3208 } else {
3209 var31 = ((short int (*)(val* self, val* p0))(var24->class->vft[COLOR_standard__kernel__Object___33d_61d]))(var24, var27) /* != on <var24:nullable Object>*/;
3210 var30 = var31;
3211 }
3212 if (var30){
3213 var32 = 0;
3214 var = var32;
3215 goto RET_LABEL;
3216 } else {
3217 }
3218 var33 = 1;
3219 {
3220 { /* Inline kernel#Int#+ (var_i,var33) on <var_i:Int> */
3221 /* Covariant cast for argument 0 (i) <var33:Int> isa OTHER */
3222 /* <var33:Int> isa OTHER */
3223 var36 = 1; /* easy <var33:Int> isa OTHER*/
3224 if (unlikely(!var36)) {
3225 var_class_name39 = type_standard__Int.name;
3226 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39);
3227 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
3228 show_backtrace(1);
3229 }
3230 var40 = var_i + var33;
3231 var34 = var40;
3232 goto RET_LABEL35;
3233 RET_LABEL35:(void)0;
3234 }
3235 }
3236 var_i = var34;
3237 } else {
3238 goto BREAK_label;
3239 }
3240 }
3241 BREAK_label: (void)0;
3242 var41 = 1;
3243 var = var41;
3244 goto RET_LABEL;
3245 RET_LABEL:;
3246 return var;
3247 }
3248 /* method array#ArrayIterator#item for (self: ArrayIterator[nullable Object]): nullable Object */
3249 val* standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(val* self) {
3250 val* var /* : nullable Object */;
3251 val* var1 /* : AbstractArrayRead[nullable Object] */;
3252 long var2 /* : Int */;
3253 val* var3 /* : nullable Object */;
3254 var1 = self->attrs[COLOR_standard__array__ArrayIterator___array].val; /* _array on <self:ArrayIterator[nullable Object]> */
3255 if (unlikely(var1 == NULL)) {
3256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3257 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 445);
3258 show_backtrace(1);
3259 }
3260 var2 = self->attrs[COLOR_standard__array__ArrayIterator___index].l; /* _index on <self:ArrayIterator[nullable Object]> */
3261 {
3262 var3 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var1, var2);
3263 }
3264 var = var3;
3265 goto RET_LABEL;
3266 RET_LABEL:;
3267 return var;
3268 }
3269 /* method array#ArrayIterator#is_ok for (self: ArrayIterator[nullable Object]): Bool */
3270 short int standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(val* self) {
3271 short int var /* : Bool */;
3272 long var1 /* : Int */;
3273 val* var2 /* : AbstractArrayRead[nullable Object] */;
3274 long var3 /* : Int */;
3275 long var5 /* : Int */;
3276 short int var6 /* : Bool */;
3277 short int var8 /* : Bool */;
3278 int cltype;
3279 int idtype;
3280 const char* var_class_name;
3281 short int var9 /* : Bool */;
3282 var1 = self->attrs[COLOR_standard__array__ArrayIterator___index].l; /* _index on <self:ArrayIterator[nullable Object]> */
3283 var2 = self->attrs[COLOR_standard__array__ArrayIterator___array].val; /* _array on <self:ArrayIterator[nullable Object]> */
3284 if (unlikely(var2 == NULL)) {
3285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3286 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 449);
3287 show_backtrace(1);
3288 }
3289 {
3290 { /* Inline array#AbstractArrayRead#length (var2) on <var2:AbstractArrayRead[nullable Object]> */
3291 var5 = var2->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var2:AbstractArrayRead[nullable Object]> */
3292 var3 = var5;
3293 RET_LABEL4:(void)0;
3294 }
3295 }
3296 {
3297 { /* Inline kernel#Int#< (var1,var3) on <var1:Int> */
3298 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3299 /* <var3:Int> isa OTHER */
3300 var8 = 1; /* easy <var3:Int> isa OTHER*/
3301 if (unlikely(!var8)) {
3302 var_class_name = type_standard__Int.name;
3303 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3304 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
3305 show_backtrace(1);
3306 }
3307 var9 = var1 < var3;
3308 var6 = var9;
3309 goto RET_LABEL7;
3310 RET_LABEL7:(void)0;
3311 }
3312 }
3313 var = var6;
3314 goto RET_LABEL;
3315 RET_LABEL:;
3316 return var;
3317 }
3318 /* method array#ArrayIterator#next for (self: ArrayIterator[nullable Object]) */
3319 void standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(val* self) {
3320 val* var_ /* var : ArrayIterator[nullable Object] */;
3321 long var /* : Int */;
3322 long var1 /* : Int */;
3323 long var2 /* : Int */;
3324 short int var4 /* : Bool */;
3325 int cltype;
3326 int idtype;
3327 const char* var_class_name;
3328 long var5 /* : Int */;
3329 var_ = self;
3330 var = var_->attrs[COLOR_standard__array__ArrayIterator___index].l; /* _index on <var_:ArrayIterator[nullable Object]> */
3331 var1 = 1;
3332 {
3333 { /* Inline kernel#Int#+ (var,var1) on <var:Int> */
3334 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
3335 /* <var1:Int> isa OTHER */
3336 var4 = 1; /* easy <var1:Int> isa OTHER*/
3337 if (unlikely(!var4)) {
3338 var_class_name = type_standard__Int.name;
3339 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3340 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
3341 show_backtrace(1);
3342 }
3343 var5 = var + var1;
3344 var2 = var5;
3345 goto RET_LABEL3;
3346 RET_LABEL3:(void)0;
3347 }
3348 }
3349 var_->attrs[COLOR_standard__array__ArrayIterator___index].l = var2; /* _index on <var_:ArrayIterator[nullable Object]> */
3350 RET_LABEL:;
3351 }
3352 /* method array#ArrayIterator#index for (self: ArrayIterator[nullable Object]): Int */
3353 long standard__array___standard__array__ArrayIterator___standard__abstract_collection__IndexedIterator__index(val* self) {
3354 long var /* : Int */;
3355 long var1 /* : Int */;
3356 var1 = self->attrs[COLOR_standard__array__ArrayIterator___index].l; /* _index on <self:ArrayIterator[nullable Object]> */
3357 var = var1;
3358 RET_LABEL:;
3359 return var;
3360 }
3361 /* method array#ArrayIterator#array= for (self: ArrayIterator[nullable Object], AbstractArrayRead[nullable Object]) */
3362 void standard__array___standard__array__ArrayIterator___array_61d(val* self, val* p0) {
3363 short int var /* : Bool */;
3364 int cltype;
3365 int idtype;
3366 const struct type* type_struct;
3367 const char* var_class_name;
3368 /* Covariant cast for argument 0 (array) <p0:AbstractArrayRead[nullable Object]> isa AbstractArrayRead[E] */
3369 /* <p0:AbstractArrayRead[nullable Object]> isa AbstractArrayRead[E] */
3370 type_struct = self->type->resolution_table->types[COLOR_standard__AbstractArrayRead__standard__array__ArrayIterator___35dE];
3371 cltype = type_struct->color;
3372 idtype = type_struct->id;
3373 if(cltype >= p0->type->table_size) {
3374 var = 0;
3375 } else {
3376 var = p0->type->type_table[cltype] == idtype;
3377 }
3378 if (unlikely(!var)) {
3379 var_class_name = p0 == NULL ? "null" : p0->type->name;
3380 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArrayRead[E]", var_class_name);
3381 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 455);
3382 show_backtrace(1);
3383 }
3384 self->attrs[COLOR_standard__array__ArrayIterator___array].val = p0; /* _array on <self:ArrayIterator[nullable Object]> */
3385 RET_LABEL:;
3386 }
3387 /* method array#ArrayIterator#init for (self: ArrayIterator[nullable Object]) */
3388 void standard__array___standard__array__ArrayIterator___standard__kernel__Object__init(val* self) {
3389 {
3390 ((void (*)(val* self))(self->class->vft[COLOR_standard__array___standard__array__ArrayIterator___standard__kernel__Object__init]))(self) /* init on <self:ArrayIterator[nullable Object]>*/;
3391 }
3392 RET_LABEL:;
3393 }
3394 /* method array#ArraySet#has for (self: ArraySet[nullable Object], nullable Object): Bool */
3395 short int standard___standard__ArraySet___standard__abstract_collection__Collection__has(val* self, val* p0) {
3396 short int var /* : Bool */;
3397 short int var1 /* : Bool */;
3398 int cltype;
3399 int idtype;
3400 const struct type* type_struct;
3401 short int is_nullable;
3402 const char* var_class_name;
3403 val* var_e /* var e: nullable Object */;
3404 val* var2 /* : Array[nullable Object] */;
3405 short int var3 /* : Bool */;
3406 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
3407 /* <p0:nullable Object> isa E */
3408 type_struct = self->type->resolution_table->types[COLOR_standard__ArraySet___35dE];
3409 cltype = type_struct->color;
3410 idtype = type_struct->id;
3411 is_nullable = type_struct->is_nullable;
3412 if(p0 == NULL) {
3413 var1 = is_nullable;
3414 } else {
3415 if(cltype >= p0->type->table_size) {
3416 var1 = 0;
3417 } else {
3418 var1 = p0->type->type_table[cltype] == idtype;
3419 }
3420 }
3421 if (unlikely(!var1)) {
3422 var_class_name = p0 == NULL ? "null" : p0->type->name;
3423 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
3424 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 480);
3425 show_backtrace(1);
3426 }
3427 var_e = p0;
3428 var2 = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3429 if (unlikely(var2 == NULL)) {
3430 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3431 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 480);
3432 show_backtrace(1);
3433 }
3434 {
3435 var3 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var2, var_e);
3436 }
3437 var = var3;
3438 goto RET_LABEL;
3439 RET_LABEL:;
3440 return var;
3441 }
3442 /* method array#ArraySet#add for (self: ArraySet[nullable Object], nullable Object) */
3443 void standard___standard__ArraySet___standard__abstract_collection__SimpleCollection__add(val* self, val* p0) {
3444 short int var /* : Bool */;
3445 int cltype;
3446 int idtype;
3447 const struct type* type_struct;
3448 short int is_nullable;
3449 const char* var_class_name;
3450 val* var_e /* var e: nullable Object */;
3451 val* var1 /* : Array[nullable Object] */;
3452 short int var2 /* : Bool */;
3453 short int var3 /* : Bool */;
3454 val* var4 /* : Array[nullable Object] */;
3455 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
3456 /* <p0:nullable Object> isa E */
3457 type_struct = self->type->resolution_table->types[COLOR_standard__ArraySet___35dE];
3458 cltype = type_struct->color;
3459 idtype = type_struct->id;
3460 is_nullable = type_struct->is_nullable;
3461 if(p0 == NULL) {
3462 var = is_nullable;
3463 } else {
3464 if(cltype >= p0->type->table_size) {
3465 var = 0;
3466 } else {
3467 var = p0->type->type_table[cltype] == idtype;
3468 }
3469 }
3470 if (unlikely(!var)) {
3471 var_class_name = p0 == NULL ? "null" : p0->type->name;
3472 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
3473 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 482);
3474 show_backtrace(1);
3475 }
3476 var_e = p0;
3477 var1 = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3478 if (unlikely(var1 == NULL)) {
3479 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3480 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 482);
3481 show_backtrace(1);
3482 }
3483 {
3484 var2 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var1, var_e);
3485 }
3486 var3 = !var2;
3487 if (var3){
3488 var4 = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3489 if (unlikely(var4 == NULL)) {
3490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3491 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 482);
3492 show_backtrace(1);
3493 }
3494 {
3495 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var4, var_e); /* Direct call array#Array#add on <var4:Array[nullable Object]>*/
3496 }
3497 } else {
3498 }
3499 RET_LABEL:;
3500 }
3501 /* method array#ArraySet#is_empty for (self: ArraySet[nullable Object]): Bool */
3502 short int standard___standard__ArraySet___standard__abstract_collection__Collection__is_empty(val* self) {
3503 short int var /* : Bool */;
3504 val* var1 /* : Array[nullable Object] */;
3505 short int var2 /* : Bool */;
3506 var1 = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3507 if (unlikely(var1 == NULL)) {
3508 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3509 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 484);
3510 show_backtrace(1);
3511 }
3512 {
3513 var2 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var1);
3514 }
3515 var = var2;
3516 goto RET_LABEL;
3517 RET_LABEL:;
3518 return var;
3519 }
3520 /* method array#ArraySet#length for (self: ArraySet[nullable Object]): Int */
3521 long standard___standard__ArraySet___standard__abstract_collection__Collection__length(val* self) {
3522 long var /* : Int */;
3523 val* var1 /* : Array[nullable Object] */;
3524 long var2 /* : Int */;
3525 long var4 /* : Int */;
3526 var1 = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3527 if (unlikely(var1 == NULL)) {
3528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3529 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 486);
3530 show_backtrace(1);
3531 }
3532 {
3533 { /* Inline array#AbstractArrayRead#length (var1) on <var1:Array[nullable Object]> */
3534 var4 = var1->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var1:Array[nullable Object]> */
3535 var2 = var4;
3536 RET_LABEL3:(void)0;
3537 }
3538 }
3539 var = var2;
3540 goto RET_LABEL;
3541 RET_LABEL:;
3542 return var;
3543 }
3544 /* method array#ArraySet#first for (self: ArraySet[nullable Object]): nullable Object */
3545 val* standard___standard__ArraySet___standard__abstract_collection__Collection__first(val* self) {
3546 val* var /* : nullable Object */;
3547 val* var1 /* : Array[nullable Object] */;
3548 long var2 /* : Int */;
3549 long var4 /* : Int */;
3550 long var5 /* : Int */;
3551 short int var6 /* : Bool */;
3552 short int var8 /* : Bool */;
3553 int cltype;
3554 int idtype;
3555 const char* var_class_name;
3556 short int var9 /* : Bool */;
3557 val* var10 /* : Array[nullable Object] */;
3558 val* var11 /* : nullable Object */;
3559 var1 = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3560 if (unlikely(var1 == NULL)) {
3561 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3562 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 490);
3563 show_backtrace(1);
3564 }
3565 {
3566 { /* Inline array#AbstractArrayRead#length (var1) on <var1:Array[nullable Object]> */
3567 var4 = var1->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var1:Array[nullable Object]> */
3568 var2 = var4;
3569 RET_LABEL3:(void)0;
3570 }
3571 }
3572 var5 = 0;
3573 {
3574 { /* Inline kernel#Int#> (var2,var5) on <var2:Int> */
3575 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
3576 /* <var5:Int> isa OTHER */
3577 var8 = 1; /* easy <var5:Int> isa OTHER*/
3578 if (unlikely(!var8)) {
3579 var_class_name = type_standard__Int.name;
3580 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
3581 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
3582 show_backtrace(1);
3583 }
3584 var9 = var2 > var5;
3585 var6 = var9;
3586 goto RET_LABEL7;
3587 RET_LABEL7:(void)0;
3588 }
3589 }
3590 if (unlikely(!var6)) {
3591 PRINT_ERROR("Runtime error: %s", "Assert failed");
3592 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 490);
3593 show_backtrace(1);
3594 }
3595 var10 = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3596 if (unlikely(var10 == NULL)) {
3597 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3598 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 491);
3599 show_backtrace(1);
3600 }
3601 {
3602 var11 = standard___standard__SequenceRead___Collection__first(var10);
3603 }
3604 var = var11;
3605 goto RET_LABEL;
3606 RET_LABEL:;
3607 return var;
3608 }
3609 /* method array#ArraySet#remove for (self: ArraySet[nullable Object], nullable Object) */
3610 void standard___standard__ArraySet___standard__abstract_collection__RemovableCollection__remove(val* self, val* p0) {
3611 short int var /* : Bool */;
3612 int cltype;
3613 int idtype;
3614 const struct type* type_struct;
3615 short int is_nullable;
3616 const char* var_class_name;
3617 val* var_item /* var item: nullable Object */;
3618 val* var1 /* : Array[nullable Object] */;
3619 long var2 /* : Int */;
3620 long var_i /* var i: Int */;
3621 long var3 /* : Int */;
3622 short int var4 /* : Bool */;
3623 short int var6 /* : Bool */;
3624 int cltype7;
3625 int idtype8;
3626 const char* var_class_name9;
3627 short int var10 /* : Bool */;
3628 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
3629 /* <p0:nullable Object> isa E */
3630 type_struct = self->type->resolution_table->types[COLOR_standard__ArraySet___35dE];
3631 cltype = type_struct->color;
3632 idtype = type_struct->id;
3633 is_nullable = type_struct->is_nullable;
3634 if(p0 == NULL) {
3635 var = is_nullable;
3636 } else {
3637 if(cltype >= p0->type->table_size) {
3638 var = 0;
3639 } else {
3640 var = p0->type->type_table[cltype] == idtype;
3641 }
3642 }
3643 if (unlikely(!var)) {
3644 var_class_name = p0 == NULL ? "null" : p0->type->name;
3645 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
3646 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 494);
3647 show_backtrace(1);
3648 }
3649 var_item = p0;
3650 var1 = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3651 if (unlikely(var1 == NULL)) {
3652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3653 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 496);
3654 show_backtrace(1);
3655 }
3656 {
3657 var2 = standard___standard__AbstractArrayRead___standard__abstract_collection__SequenceRead__index_of(var1, var_item);
3658 }
3659 var_i = var2;
3660 var3 = 0;
3661 {
3662 { /* Inline kernel#Int#>= (var_i,var3) on <var_i:Int> */
3663 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3664 /* <var3:Int> isa OTHER */
3665 var6 = 1; /* easy <var3:Int> isa OTHER*/
3666 if (unlikely(!var6)) {
3667 var_class_name9 = type_standard__Int.name;
3668 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9);
3669 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
3670 show_backtrace(1);
3671 }
3672 var10 = var_i >= var3;
3673 var4 = var10;
3674 goto RET_LABEL5;
3675 RET_LABEL5:(void)0;
3676 }
3677 }
3678 if (var4){
3679 {
3680 standard___standard__ArraySet___remove_at(self, var_i); /* Direct call array#ArraySet#remove_at on <self:ArraySet[nullable Object]>*/
3681 }
3682 } else {
3683 }
3684 RET_LABEL:;
3685 }
3686 /* method array#ArraySet#clear for (self: ArraySet[nullable Object]) */
3687 void standard___standard__ArraySet___standard__abstract_collection__RemovableCollection__clear(val* self) {
3688 val* var /* : Array[nullable Object] */;
3689 var = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3690 if (unlikely(var == NULL)) {
3691 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3692 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 502);
3693 show_backtrace(1);
3694 }
3695 {
3696 standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var); /* Direct call array#AbstractArray#clear on <var:Array[nullable Object]>*/
3697 }
3698 RET_LABEL:;
3699 }
3700 /* method array#ArraySet#iterator for (self: ArraySet[nullable Object]): Iterator[nullable Object] */
3701 val* standard___standard__ArraySet___standard__abstract_collection__Collection__iterator(val* self) {
3702 val* var /* : Iterator[nullable Object] */;
3703 val* var1 /* : ArraySetIterator[nullable Object] */;
3704 val* var2 /* : Array[nullable Object] */;
3705 val* var3 /* : ArrayIterator[nullable Object] */;
3706 var1 = NEW_standard__array__ArraySetIterator(self->type->resolution_table->types[COLOR_standard__array__ArraySetIterator__standard__ArraySet___35dE]);
3707 var2 = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3708 if (unlikely(var2 == NULL)) {
3709 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3710 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 504);
3711 show_backtrace(1);
3712 }
3713 {
3714 var3 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var2);
3715 }
3716 {
3717 ((void (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__array__ArraySetIterator__iter_61d]))(var1, var3) /* iter= on <var1:ArraySetIterator[nullable Object]>*/;
3718 }
3719 {
3720 ((void (*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1) /* init on <var1:ArraySetIterator[nullable Object]>*/;
3721 }
3722 var = var1;
3723 goto RET_LABEL;
3724 RET_LABEL:;
3725 return var;
3726 }
3727 /* method array#ArraySet#remove_at for (self: ArraySet[nullable Object], Int) */
3728 void standard___standard__ArraySet___remove_at(val* self, long p0) {
3729 long var_i /* var i: Int */;
3730 val* var /* : Array[nullable Object] */;
3731 val* var1 /* : Array[nullable Object] */;
3732 val* var2 /* : nullable Object */;
3733 val* var3 /* : Array[nullable Object] */;
3734 val* var4 /* : nullable Object */;
3735 var_i = p0;
3736 var = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3737 if (unlikely(var == NULL)) {
3738 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3739 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 511);
3740 show_backtrace(1);
3741 }
3742 var1 = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3743 if (unlikely(var1 == NULL)) {
3744 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3745 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 511);
3746 show_backtrace(1);
3747 }
3748 {
3749 var2 = standard___standard__SequenceRead___last(var1);
3750 }
3751 {
3752 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var, var_i, var2); /* Direct call array#Array#[]= on <var:Array[nullable Object]>*/
3753 }
3754 var3 = self->attrs[COLOR_standard__array__ArraySet___array].val; /* _array on <self:ArraySet[nullable Object]> */
3755 if (unlikely(var3 == NULL)) {
3756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3757 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 512);
3758 show_backtrace(1);
3759 }
3760 {
3761 var4 = standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(var3);
3762 }
3763 RET_LABEL:;
3764 }
3765 /* method array#ArraySet#init for (self: ArraySet[nullable Object]) */
3766 void standard___standard__ArraySet___standard__kernel__Object__init(val* self) {
3767 val* var /* : Array[nullable Object] */;
3768 var = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__standard__ArraySet___35dE]);
3769 {
3770 standard___standard__Array___standard__kernel__Object__init(var); /* Direct call array#Array#init on <var:Array[nullable Object]>*/
3771 }
3772 self->attrs[COLOR_standard__array__ArraySet___array].val = var; /* _array on <self:ArraySet[nullable Object]> */
3773 RET_LABEL:;
3774 }
3775 /* method array#ArraySetIterator#is_ok for (self: ArraySetIterator[nullable Object]): Bool */
3776 short int standard__array___standard__array__ArraySetIterator___standard__abstract_collection__Iterator__is_ok(val* self) {
3777 short int var /* : Bool */;
3778 val* var1 /* : ArrayIterator[nullable Object] */;
3779 short int var2 /* : Bool */;
3780 var1 = self->attrs[COLOR_standard__array__ArraySetIterator___iter].val; /* _iter on <self:ArraySetIterator[nullable Object]> */
3781 if (unlikely(var1 == NULL)) {
3782 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
3783 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 528);
3784 show_backtrace(1);
3785 }
3786 {
3787 var2 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var1);
3788 }
3789 var = var2;
3790 goto RET_LABEL;
3791 RET_LABEL:;
3792 return var;
3793 }
3794 /* method array#ArraySetIterator#next for (self: ArraySetIterator[nullable Object]) */
3795 void standard__array___standard__array__ArraySetIterator___standard__abstract_collection__Iterator__next(val* self) {
3796 val* var /* : ArrayIterator[nullable Object] */;
3797 var = self->attrs[COLOR_standard__array__ArraySetIterator___iter].val; /* _iter on <self:ArraySetIterator[nullable Object]> */
3798 if (unlikely(var == NULL)) {
3799 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
3800 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 530);
3801 show_backtrace(1);
3802 }
3803 {
3804 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var); /* Direct call array#ArrayIterator#next on <var:ArrayIterator[nullable Object]>*/
3805 }
3806 RET_LABEL:;
3807 }
3808 /* method array#ArraySetIterator#item for (self: ArraySetIterator[nullable Object]): nullable Object */
3809 val* standard__array___standard__array__ArraySetIterator___standard__abstract_collection__Iterator__item(val* self) {
3810 val* var /* : nullable Object */;
3811 val* var1 /* : ArrayIterator[nullable Object] */;
3812 val* var2 /* : nullable Object */;
3813 var1 = self->attrs[COLOR_standard__array__ArraySetIterator___iter].val; /* _iter on <self:ArraySetIterator[nullable Object]> */
3814 if (unlikely(var1 == NULL)) {
3815 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
3816 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 532);
3817 show_backtrace(1);
3818 }
3819 {
3820 var2 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var1);
3821 }
3822 var = var2;
3823 goto RET_LABEL;
3824 RET_LABEL:;
3825 return var;
3826 }
3827 /* method array#ArraySetIterator#iter= for (self: ArraySetIterator[nullable Object], ArrayIterator[nullable Object]) */
3828 void standard__array___standard__array__ArraySetIterator___iter_61d(val* self, val* p0) {
3829 short int var /* : Bool */;
3830 int cltype;
3831 int idtype;
3832 const struct type* type_struct;
3833 const char* var_class_name;
3834 /* Covariant cast for argument 0 (iter) <p0:ArrayIterator[nullable Object]> isa ArrayIterator[E] */
3835 /* <p0:ArrayIterator[nullable Object]> isa ArrayIterator[E] */
3836 type_struct = self->type->resolution_table->types[COLOR_standard__array__ArrayIterator__standard__array__ArraySetIterator___35dE];
3837 cltype = type_struct->color;
3838 idtype = type_struct->id;
3839 if(cltype >= p0->type->table_size) {
3840 var = 0;
3841 } else {
3842 var = p0->type->type_table[cltype] == idtype;
3843 }
3844 if (unlikely(!var)) {
3845 var_class_name = p0 == NULL ? "null" : p0->type->name;
3846 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayIterator[E]", var_class_name);
3847 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 534);
3848 show_backtrace(1);
3849 }
3850 self->attrs[COLOR_standard__array__ArraySetIterator___iter].val = p0; /* _iter on <self:ArraySetIterator[nullable Object]> */
3851 RET_LABEL:;
3852 }
3853 /* method array#ArraySetIterator#init for (self: ArraySetIterator[nullable Object]) */
3854 void standard__array___standard__array__ArraySetIterator___standard__kernel__Object__init(val* self) {
3855 {
3856 ((void (*)(val* self))(self->class->vft[COLOR_standard__array___standard__array__ArraySetIterator___standard__kernel__Object__init]))(self) /* init on <self:ArraySetIterator[nullable Object]>*/;
3857 }
3858 RET_LABEL:;
3859 }
3860 /* method array#ArrayMap#[] for (self: ArrayMap[nullable Object, nullable Object], nullable Object): nullable Object */
3861 val* standard___standard__ArrayMap___standard__abstract_collection__MapRead___91d_93d(val* self, val* p0) {
3862 val* var /* : nullable Object */;
3863 short int var1 /* : Bool */;
3864 int cltype;
3865 int idtype;
3866 const struct type* type_struct;
3867 short int is_nullable;
3868 const char* var_class_name;
3869 val* var_key /* var key: nullable Object */;
3870 long var2 /* : Int */;
3871 long var_i /* var i: Int */;
3872 long var3 /* : Int */;
3873 short int var4 /* : Bool */;
3874 short int var6 /* : Bool */;
3875 int cltype7;
3876 int idtype8;
3877 const char* var_class_name9;
3878 short int var10 /* : Bool */;
3879 val* var11 /* : Array[Couple[nullable Object, nullable Object]] */;
3880 val* var12 /* : nullable Object */;
3881 val* var13 /* : nullable Object */;
3882 val* var15 /* : nullable Object */;
3883 val* var16 /* : nullable Object */;
3884 /* Covariant cast for argument 0 (key) <p0:nullable Object> isa K */
3885 /* <p0:nullable Object> isa K */
3886 type_struct = self->type->resolution_table->types[COLOR_standard__ArrayMap___35dK];
3887 cltype = type_struct->color;
3888 idtype = type_struct->id;
3889 is_nullable = type_struct->is_nullable;
3890 if(p0 == NULL) {
3891 var1 = is_nullable;
3892 } else {
3893 if(cltype >= p0->type->table_size) {
3894 var1 = 0;
3895 } else {
3896 var1 = p0->type->type_table[cltype] == idtype;
3897 }
3898 }
3899 if (unlikely(!var1)) {
3900 var_class_name = p0 == NULL ? "null" : p0->type->name;
3901 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "K", var_class_name);
3902 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 542);
3903 show_backtrace(1);
3904 }
3905 var_key = p0;
3906 {
3907 var2 = standard___standard__ArrayMap___index(self, var_key);
3908 }
3909 var_i = var2;
3910 var3 = 0;
3911 {
3912 { /* Inline kernel#Int#>= (var_i,var3) on <var_i:Int> */
3913 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3914 /* <var3:Int> isa OTHER */
3915 var6 = 1; /* easy <var3:Int> isa OTHER*/
3916 if (unlikely(!var6)) {
3917 var_class_name9 = type_standard__Int.name;
3918 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9);
3919 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
3920 show_backtrace(1);
3921 }
3922 var10 = var_i >= var3;
3923 var4 = var10;
3924 goto RET_LABEL5;
3925 RET_LABEL5:(void)0;
3926 }
3927 }
3928 if (var4){
3929 var11 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
3930 if (unlikely(var11 == NULL)) {
3931 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3932 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 547);
3933 show_backtrace(1);
3934 }
3935 {
3936 var12 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var11, var_i);
3937 }
3938 {
3939 { /* Inline abstract_collection#Couple#second (var12) on <var12:nullable Object(Couple[nullable Object, nullable Object])> */
3940 var15 = var12->attrs[COLOR_standard__abstract_collection__Couple___second].val; /* _second on <var12:nullable Object(Couple[nullable Object, nullable Object])> */
3941 var13 = var15;
3942 RET_LABEL14:(void)0;
3943 }
3944 }
3945 var = var13;
3946 goto RET_LABEL;
3947 } else {
3948 {
3949 var16 = standard___standard__MapRead___provide_default_value(self, var_key);
3950 }
3951 var = var16;
3952 goto RET_LABEL;
3953 }
3954 RET_LABEL:;
3955 return var;
3956 }
3957 /* method array#ArrayMap#[]= for (self: ArrayMap[nullable Object, nullable Object], nullable Object, nullable Object) */
3958 void standard___standard__ArrayMap___standard__abstract_collection__Map___91d_93d_61d(val* self, val* p0, val* p1) {
3959 short int var /* : Bool */;
3960 int cltype;
3961 int idtype;
3962 const struct type* type_struct;
3963 short int is_nullable;
3964 const char* var_class_name;
3965 short int var1 /* : Bool */;
3966 int cltype2;
3967 int idtype3;
3968 const struct type* type_struct4;
3969 short int is_nullable5;
3970 const char* var_class_name6;
3971 val* var_key /* var key: nullable Object */;
3972 val* var_item /* var item: nullable Object */;
3973 long var7 /* : Int */;
3974 long var_i /* var i: Int */;
3975 long var8 /* : Int */;
3976 short int var9 /* : Bool */;
3977 short int var11 /* : Bool */;
3978 int cltype12;
3979 int idtype13;
3980 const char* var_class_name14;
3981 short int var15 /* : Bool */;
3982 val* var16 /* : Array[Couple[nullable Object, nullable Object]] */;
3983 val* var17 /* : nullable Object */;
3984 short int var19 /* : Bool */;
3985 int cltype20;
3986 int idtype21;
3987 const struct type* type_struct22;
3988 short int is_nullable23;
3989 const char* var_class_name24;
3990 val* var25 /* : Array[Couple[nullable Object, nullable Object]] */;
3991 val* var26 /* : Couple[nullable Object, nullable Object] */;
3992 /* Covariant cast for argument 0 (key) <p0:nullable Object> isa K */
3993 /* <p0:nullable Object> isa K */
3994 type_struct = self->type->resolution_table->types[COLOR_standard__ArrayMap___35dK];
3995 cltype = type_struct->color;
3996 idtype = type_struct->id;
3997 is_nullable = type_struct->is_nullable;
3998 if(p0 == NULL) {
3999 var = is_nullable;
4000 } else {
4001 if(cltype >= p0->type->table_size) {
4002 var = 0;
4003 } else {
4004 var = p0->type->type_table[cltype] == idtype;
4005 }
4006 }
4007 if (unlikely(!var)) {
4008 var_class_name = p0 == NULL ? "null" : p0->type->name;
4009 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "K", var_class_name);
4010 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 553);
4011 show_backtrace(1);
4012 }
4013 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa E */
4014 /* <p1:nullable Object> isa E */
4015 type_struct4 = self->type->resolution_table->types[COLOR_standard__ArrayMap___35dE];
4016 cltype2 = type_struct4->color;
4017 idtype3 = type_struct4->id;
4018 is_nullable5 = type_struct4->is_nullable;
4019 if(p1 == NULL) {
4020 var1 = is_nullable5;
4021 } else {
4022 if(cltype2 >= p1->type->table_size) {
4023 var1 = 0;
4024 } else {
4025 var1 = p1->type->type_table[cltype2] == idtype3;
4026 }
4027 }
4028 if (unlikely(!var1)) {
4029 var_class_name6 = p1 == NULL ? "null" : p1->type->name;
4030 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name6);
4031 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 553);
4032 show_backtrace(1);
4033 }
4034 var_key = p0;
4035 var_item = p1;
4036 {
4037 var7 = standard___standard__ArrayMap___index(self, var_key);
4038 }
4039 var_i = var7;
4040 var8 = 0;
4041 {
4042 { /* Inline kernel#Int#>= (var_i,var8) on <var_i:Int> */
4043 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
4044 /* <var8:Int> isa OTHER */
4045 var11 = 1; /* easy <var8:Int> isa OTHER*/
4046 if (unlikely(!var11)) {
4047 var_class_name14 = type_standard__Int.name;
4048 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
4049 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
4050 show_backtrace(1);
4051 }
4052 var15 = var_i >= var8;
4053 var9 = var15;
4054 goto RET_LABEL10;
4055 RET_LABEL10:(void)0;
4056 }
4057 }
4058 if (var9){
4059 var16 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4060 if (unlikely(var16 == NULL)) {
4061 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4062 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 558);
4063 show_backtrace(1);
4064 }
4065 {
4066 var17 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var16, var_i);
4067 }
4068 {
4069 { /* Inline abstract_collection#Couple#second= (var17,var_item) on <var17:nullable Object(Couple[nullable Object, nullable Object])> */
4070 /* Covariant cast for argument 0 (second) <var_item:nullable Object> isa S */
4071 /* <var_item:nullable Object> isa S */
4072 type_struct22 = var17->type->resolution_table->types[COLOR_standard__Couple___35dS];
4073 cltype20 = type_struct22->color;
4074 idtype21 = type_struct22->id;
4075 is_nullable23 = type_struct22->is_nullable;
4076 if(var_item == NULL) {
4077 var19 = is_nullable23;
4078 } else {
4079 if(cltype20 >= var_item->type->table_size) {
4080 var19 = 0;
4081 } else {
4082 var19 = var_item->type->type_table[cltype20] == idtype21;
4083 }
4084 }
4085 if (unlikely(!var19)) {
4086 var_class_name24 = var_item == NULL ? "null" : var_item->type->name;
4087 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "S", var_class_name24);
4088 PRINT_ERROR(" (%s:%d)\n", FILE_standard__abstract_collection, 997);
4089 show_backtrace(1);
4090 }
4091 var17->attrs[COLOR_standard__abstract_collection__Couple___second].val = var_item; /* _second on <var17:nullable Object(Couple[nullable Object, nullable Object])> */
4092 RET_LABEL18:(void)0;
4093 }
4094 }
4095 } else {
4096 var25 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4097 if (unlikely(var25 == NULL)) {
4098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4099 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 560);
4100 show_backtrace(1);
4101 }
4102 var26 = NEW_standard__Couple(self->type->resolution_table->types[COLOR_standard__Couple__standard__ArrayMap___35dK__standard__ArrayMap___35dE]);
4103 {
4104 ((void (*)(val* self, val* p0))(var26->class->vft[COLOR_standard__abstract_collection__Couple__first_61d]))(var26, var_key) /* first= on <var26:Couple[nullable Object, nullable Object]>*/;
4105 }
4106 {
4107 ((void (*)(val* self, val* p0))(var26->class->vft[COLOR_standard__abstract_collection__Couple__second_61d]))(var26, var_item) /* second= on <var26:Couple[nullable Object, nullable Object]>*/;
4108 }
4109 {
4110 ((void (*)(val* self))(var26->class->vft[COLOR_standard__kernel__Object__init]))(var26) /* init on <var26:Couple[nullable Object, nullable Object]>*/;
4111 }
4112 {
4113 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var25, var26); /* Direct call array#AbstractArray#push on <var25:Array[Couple[nullable Object, nullable Object]]>*/
4114 }
4115 }
4116 RET_LABEL:;
4117 }
4118 /* method array#ArrayMap#keys for (self: ArrayMap[nullable Object, nullable Object]): RemovableCollection[nullable Object] */
4119 val* standard___standard__ArrayMap___standard__abstract_collection__MapRead__keys(val* self) {
4120 val* var /* : RemovableCollection[nullable Object] */;
4121 val* var1 /* : RemovableCollection[nullable Object] */;
4122 var1 = self->attrs[COLOR_standard__array__ArrayMap___keys].val; /* _keys on <self:ArrayMap[nullable Object, nullable Object]> */
4123 if (unlikely(var1 == NULL)) {
4124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
4125 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 564);
4126 show_backtrace(1);
4127 }
4128 var = var1;
4129 RET_LABEL:;
4130 return var;
4131 }
4132 /* method array#ArrayMap#values for (self: ArrayMap[nullable Object, nullable Object]): RemovableCollection[nullable Object] */
4133 val* standard___standard__ArrayMap___standard__abstract_collection__MapRead__values(val* self) {
4134 val* var /* : RemovableCollection[nullable Object] */;
4135 val* var1 /* : RemovableCollection[nullable Object] */;
4136 var1 = self->attrs[COLOR_standard__array__ArrayMap___values].val; /* _values on <self:ArrayMap[nullable Object, nullable Object]> */
4137 if (unlikely(var1 == NULL)) {
4138 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
4139 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 565);
4140 show_backtrace(1);
4141 }
4142 var = var1;
4143 RET_LABEL:;
4144 return var;
4145 }
4146 /* method array#ArrayMap#length for (self: ArrayMap[nullable Object, nullable Object]): Int */
4147 long standard___standard__ArrayMap___standard__abstract_collection__MapRead__length(val* self) {
4148 long var /* : Int */;
4149 val* var1 /* : Array[Couple[nullable Object, nullable Object]] */;
4150 long var2 /* : Int */;
4151 long var4 /* : Int */;
4152 var1 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4153 if (unlikely(var1 == NULL)) {
4154 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4155 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 568);
4156 show_backtrace(1);
4157 }
4158 {
4159 { /* Inline array#AbstractArrayRead#length (var1) on <var1:Array[Couple[nullable Object, nullable Object]]> */
4160 var4 = var1->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var1:Array[Couple[nullable Object, nullable Object]]> */
4161 var2 = var4;
4162 RET_LABEL3:(void)0;
4163 }
4164 }
4165 var = var2;
4166 goto RET_LABEL;
4167 RET_LABEL:;
4168 return var;
4169 }
4170 /* method array#ArrayMap#couple_iterator for (self: ArrayMap[nullable Object, nullable Object]): Iterator[Couple[nullable Object, nullable Object]] */
4171 val* standard___standard__ArrayMap___standard__abstract_collection__CoupleMap__couple_iterator(val* self) {
4172 val* var /* : Iterator[Couple[nullable Object, nullable Object]] */;
4173 val* var1 /* : Array[Couple[nullable Object, nullable Object]] */;
4174 val* var2 /* : ArrayIterator[nullable Object] */;
4175 var1 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4176 if (unlikely(var1 == NULL)) {
4177 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4178 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 570);
4179 show_backtrace(1);
4180 }
4181 {
4182 var2 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var1);
4183 }
4184 var = var2;
4185 goto RET_LABEL;
4186 RET_LABEL:;
4187 return var;
4188 }
4189 /* method array#ArrayMap#is_empty for (self: ArrayMap[nullable Object, nullable Object]): Bool */
4190 short int standard___standard__ArrayMap___standard__abstract_collection__MapRead__is_empty(val* self) {
4191 short int var /* : Bool */;
4192 val* var1 /* : Array[Couple[nullable Object, nullable Object]] */;
4193 short int var2 /* : Bool */;
4194 var1 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4195 if (unlikely(var1 == NULL)) {
4196 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4197 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 572);
4198 show_backtrace(1);
4199 }
4200 {
4201 var2 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var1);
4202 }
4203 var = var2;
4204 goto RET_LABEL;
4205 RET_LABEL:;
4206 return var;
4207 }
4208 /* method array#ArrayMap#clear for (self: ArrayMap[nullable Object, nullable Object]) */
4209 void standard___standard__ArrayMap___standard__abstract_collection__Map__clear(val* self) {
4210 val* var /* : Array[Couple[nullable Object, nullable Object]] */;
4211 var = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4212 if (unlikely(var == NULL)) {
4213 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4214 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 574);
4215 show_backtrace(1);
4216 }
4217 {
4218 standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var); /* Direct call array#AbstractArray#clear on <var:Array[Couple[nullable Object, nullable Object]]>*/
4219 }
4220 RET_LABEL:;
4221 }
4222 /* method array#ArrayMap#remove_at_index for (self: ArrayMap[nullable Object, nullable Object], Int) */
4223 void standard___standard__ArrayMap___remove_at_index(val* self, long p0) {
4224 long var_i /* var i: Int */;
4225 val* var /* : Array[Couple[nullable Object, nullable Object]] */;
4226 val* var1 /* : Array[Couple[nullable Object, nullable Object]] */;
4227 val* var2 /* : nullable Object */;
4228 val* var3 /* : Array[Couple[nullable Object, nullable Object]] */;
4229 val* var4 /* : nullable Object */;
4230 var_i = p0;
4231 var = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4232 if (unlikely(var == NULL)) {
4233 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4234 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 595);
4235 show_backtrace(1);
4236 }
4237 var1 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4238 if (unlikely(var1 == NULL)) {
4239 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4240 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 595);
4241 show_backtrace(1);
4242 }
4243 {
4244 var2 = standard___standard__SequenceRead___last(var1);
4245 }
4246 {
4247 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var, var_i, var2); /* Direct call array#Array#[]= on <var:Array[Couple[nullable Object, nullable Object]]>*/
4248 }
4249 var3 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4250 if (unlikely(var3 == NULL)) {
4251 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4252 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 596);
4253 show_backtrace(1);
4254 }
4255 {
4256 var4 = standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(var3);
4257 }
4258 RET_LABEL:;
4259 }
4260 /* method array#ArrayMap#index for (self: ArrayMap[nullable Object, nullable Object], nullable Object): Int */
4261 long standard___standard__ArrayMap___index(val* self, val* p0) {
4262 long var /* : Int */;
4263 short int var1 /* : Bool */;
4264 int cltype;
4265 int idtype;
4266 const struct type* type_struct;
4267 short int is_nullable;
4268 const char* var_class_name;
4269 val* var_key /* var key: nullable Object */;
4270 long var2 /* : Int */;
4271 long var_l /* var l: Int */;
4272 short int var3 /* : Bool */;
4273 val* var4 /* : Array[Couple[nullable Object, nullable Object]] */;
4274 long var5 /* : Int */;
4275 long var7 /* : Int */;
4276 short int var8 /* : Bool */;
4277 short int var10 /* : Bool */;
4278 int cltype11;
4279 int idtype12;
4280 const char* var_class_name13;
4281 short int var14 /* : Bool */;
4282 short int var_ /* var : Bool */;
4283 val* var15 /* : Array[Couple[nullable Object, nullable Object]] */;
4284 val* var16 /* : nullable Object */;
4285 val* var17 /* : nullable Object */;
4286 val* var19 /* : nullable Object */;
4287 short int var20 /* : Bool */;
4288 short int var21 /* : Bool */;
4289 long var22 /* : Int */;
4290 long var_i /* var i: Int */;
4291 val* var23 /* : Array[Couple[nullable Object, nullable Object]] */;
4292 long var24 /* : Int */;
4293 long var26 /* : Int */;
4294 short int var27 /* : Bool */;
4295 short int var29 /* : Bool */;
4296 int cltype30;
4297 int idtype31;
4298 const char* var_class_name32;
4299 short int var33 /* : Bool */;
4300 val* var34 /* : Array[Couple[nullable Object, nullable Object]] */;
4301 val* var35 /* : nullable Object */;
4302 val* var36 /* : nullable Object */;
4303 val* var38 /* : nullable Object */;
4304 short int var39 /* : Bool */;
4305 short int var40 /* : Bool */;
4306 long var41 /* : Int */;
4307 long var42 /* : Int */;
4308 short int var44 /* : Bool */;
4309 int cltype45;
4310 int idtype46;
4311 const char* var_class_name47;
4312 long var48 /* : Int */;
4313 long var49 /* : Int */;
4314 long var50 /* : Int */;
4315 long var52 /* : Int */;
4316 /* Covariant cast for argument 0 (key) <p0:nullable Object> isa K */
4317 /* <p0:nullable Object> isa K */
4318 type_struct = self->type->resolution_table->types[COLOR_standard__ArrayMap___35dK];
4319 cltype = type_struct->color;
4320 idtype = type_struct->id;
4321 is_nullable = type_struct->is_nullable;
4322 if(p0 == NULL) {
4323 var1 = is_nullable;
4324 } else {
4325 if(cltype >= p0->type->table_size) {
4326 var1 = 0;
4327 } else {
4328 var1 = p0->type->type_table[cltype] == idtype;
4329 }
4330 }
4331 if (unlikely(!var1)) {
4332 var_class_name = p0 == NULL ? "null" : p0->type->name;
4333 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "K", var_class_name);
4334 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 602);
4335 show_backtrace(1);
4336 }
4337 var_key = p0;
4338 var2 = self->attrs[COLOR_standard__array__ArrayMap___last_index].l; /* _last_index on <self:ArrayMap[nullable Object, nullable Object]> */
4339 var_l = var2;
4340 var4 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4341 if (unlikely(var4 == NULL)) {
4342 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4343 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 607);
4344 show_backtrace(1);
4345 }
4346 {
4347 { /* Inline array#AbstractArrayRead#length (var4) on <var4:Array[Couple[nullable Object, nullable Object]]> */
4348 var7 = var4->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var4:Array[Couple[nullable Object, nullable Object]]> */
4349 var5 = var7;
4350 RET_LABEL6:(void)0;
4351 }
4352 }
4353 {
4354 { /* Inline kernel#Int#< (var_l,var5) on <var_l:Int> */
4355 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
4356 /* <var5:Int> isa OTHER */
4357 var10 = 1; /* easy <var5:Int> isa OTHER*/
4358 if (unlikely(!var10)) {
4359 var_class_name13 = type_standard__Int.name;
4360 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
4361 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
4362 show_backtrace(1);
4363 }
4364 var14 = var_l < var5;
4365 var8 = var14;
4366 goto RET_LABEL9;
4367 RET_LABEL9:(void)0;
4368 }
4369 }
4370 var_ = var8;
4371 if (var8){
4372 var15 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4373 if (unlikely(var15 == NULL)) {
4374 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4375 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 607);
4376 show_backtrace(1);
4377 }
4378 {
4379 var16 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var15, var_l);
4380 }
4381 {
4382 { /* Inline abstract_collection#Couple#first (var16) on <var16:nullable Object(Couple[nullable Object, nullable Object])> */
4383 var19 = var16->attrs[COLOR_standard__abstract_collection__Couple___first].val; /* _first on <var16:nullable Object(Couple[nullable Object, nullable Object])> */
4384 var17 = var19;
4385 RET_LABEL18:(void)0;
4386 }
4387 }
4388 if (var17 == NULL) {
4389 var20 = (var_key == NULL);
4390 } else {
4391 var21 = ((short int (*)(val* self, val* p0))(var17->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var17, var_key) /* == on <var17:nullable Object>*/;
4392 var20 = var21;
4393 }
4394 var3 = var20;
4395 } else {
4396 var3 = var_;
4397 }
4398 if (var3){
4399 var = var_l;
4400 goto RET_LABEL;
4401 } else {
4402 }
4403 var22 = 0;
4404 var_i = var22;
4405 for(;;) {
4406 var23 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4407 if (unlikely(var23 == NULL)) {
4408 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4409 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 610);
4410 show_backtrace(1);
4411 }
4412 {
4413 { /* Inline array#AbstractArrayRead#length (var23) on <var23:Array[Couple[nullable Object, nullable Object]]> */
4414 var26 = var23->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var23:Array[Couple[nullable Object, nullable Object]]> */
4415 var24 = var26;
4416 RET_LABEL25:(void)0;
4417 }
4418 }
4419 {
4420 { /* Inline kernel#Int#< (var_i,var24) on <var_i:Int> */
4421 /* Covariant cast for argument 0 (i) <var24:Int> isa OTHER */
4422 /* <var24:Int> isa OTHER */
4423 var29 = 1; /* easy <var24:Int> isa OTHER*/
4424 if (unlikely(!var29)) {
4425 var_class_name32 = type_standard__Int.name;
4426 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32);
4427 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
4428 show_backtrace(1);
4429 }
4430 var33 = var_i < var24;
4431 var27 = var33;
4432 goto RET_LABEL28;
4433 RET_LABEL28:(void)0;
4434 }
4435 }
4436 if (var27){
4437 var34 = self->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <self:ArrayMap[nullable Object, nullable Object]> */
4438 if (unlikely(var34 == NULL)) {
4439 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4440 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 611);
4441 show_backtrace(1);
4442 }
4443 {
4444 var35 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var34, var_i);
4445 }
4446 {
4447 { /* Inline abstract_collection#Couple#first (var35) on <var35:nullable Object(Couple[nullable Object, nullable Object])> */
4448 var38 = var35->attrs[COLOR_standard__abstract_collection__Couple___first].val; /* _first on <var35:nullable Object(Couple[nullable Object, nullable Object])> */
4449 var36 = var38;
4450 RET_LABEL37:(void)0;
4451 }
4452 }
4453 if (var36 == NULL) {
4454 var39 = (var_key == NULL);
4455 } else {
4456 var40 = ((short int (*)(val* self, val* p0))(var36->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var36, var_key) /* == on <var36:nullable Object>*/;
4457 var39 = var40;
4458 }
4459 if (var39){
4460 self->attrs[COLOR_standard__array__ArrayMap___last_index].l = var_i; /* _last_index on <self:ArrayMap[nullable Object, nullable Object]> */
4461 var = var_i;
4462 goto RET_LABEL;
4463 } else {
4464 }
4465 var41 = 1;
4466 {
4467 { /* Inline kernel#Int#+ (var_i,var41) on <var_i:Int> */
4468 /* Covariant cast for argument 0 (i) <var41:Int> isa OTHER */
4469 /* <var41:Int> isa OTHER */
4470 var44 = 1; /* easy <var41:Int> isa OTHER*/
4471 if (unlikely(!var44)) {
4472 var_class_name47 = type_standard__Int.name;
4473 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47);
4474 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
4475 show_backtrace(1);
4476 }
4477 var48 = var_i + var41;
4478 var42 = var48;
4479 goto RET_LABEL43;
4480 RET_LABEL43:(void)0;
4481 }
4482 }
4483 var_i = var42;
4484 } else {
4485 goto BREAK_label;
4486 }
4487 }
4488 BREAK_label: (void)0;
4489 var49 = 1;
4490 {
4491 { /* Inline kernel#Int#unary - (var49) on <var49:Int> */
4492 var52 = -var49;
4493 var50 = var52;
4494 goto RET_LABEL51;
4495 RET_LABEL51:(void)0;
4496 }
4497 }
4498 var = var50;
4499 goto RET_LABEL;
4500 RET_LABEL:;
4501 return var;
4502 }
4503 /* method array#ArrayMapKeys#map for (self: ArrayMapKeys[nullable Object, nullable Object]): ArrayMap[nullable Object, nullable Object] */
4504 val* standard__array___standard__array__ArrayMapKeys___map(val* self) {
4505 val* var /* : ArrayMap[nullable Object, nullable Object] */;
4506 val* var1 /* : ArrayMap[nullable Object, nullable Object] */;
4507 var1 = self->attrs[COLOR_standard__array__ArrayMapKeys___map].val; /* _map on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4508 if (unlikely(var1 == NULL)) {
4509 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4510 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 623);
4511 show_backtrace(1);
4512 }
4513 var = var1;
4514 RET_LABEL:;
4515 return var;
4516 }
4517 /* method array#ArrayMapKeys#map= for (self: ArrayMapKeys[nullable Object, nullable Object], ArrayMap[nullable Object, nullable Object]) */
4518 void standard__array___standard__array__ArrayMapKeys___map_61d(val* self, val* p0) {
4519 short int var /* : Bool */;
4520 int cltype;
4521 int idtype;
4522 const struct type* type_struct;
4523 const char* var_class_name;
4524 /* Covariant cast for argument 0 (map) <p0:ArrayMap[nullable Object, nullable Object]> isa ArrayMap[K, E] */
4525 /* <p0:ArrayMap[nullable Object, nullable Object]> isa ArrayMap[K, E] */
4526 type_struct = self->type->resolution_table->types[COLOR_standard__ArrayMap__standard__array__ArrayMapKeys___35dK__standard__array__ArrayMapKeys___35dE];
4527 cltype = type_struct->color;
4528 idtype = type_struct->id;
4529 if(cltype >= p0->type->table_size) {
4530 var = 0;
4531 } else {
4532 var = p0->type->type_table[cltype] == idtype;
4533 }
4534 if (unlikely(!var)) {
4535 var_class_name = p0 == NULL ? "null" : p0->type->name;
4536 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[K, E]", var_class_name);
4537 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 623);
4538 show_backtrace(1);
4539 }
4540 self->attrs[COLOR_standard__array__ArrayMapKeys___map].val = p0; /* _map on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4541 RET_LABEL:;
4542 }
4543 /* method array#ArrayMapKeys#first for (self: ArrayMapKeys[nullable Object, nullable Object]): nullable Object */
4544 val* standard__array___standard__array__ArrayMapKeys___standard__abstract_collection__Collection__first(val* self) {
4545 val* var /* : nullable Object */;
4546 val* var1 /* : ArrayMap[nullable Object, nullable Object] */;
4547 val* var3 /* : ArrayMap[nullable Object, nullable Object] */;
4548 val* var4 /* : Array[Couple[nullable Object, nullable Object]] */;
4549 val* var5 /* : nullable Object */;
4550 val* var6 /* : nullable Object */;
4551 val* var8 /* : nullable Object */;
4552 {
4553 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4554 var3 = self->attrs[COLOR_standard__array__ArrayMapKeys___map].val; /* _map on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4555 if (unlikely(var3 == NULL)) {
4556 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4557 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 623);
4558 show_backtrace(1);
4559 }
4560 var1 = var3;
4561 RET_LABEL2:(void)0;
4562 }
4563 }
4564 var4 = var1->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <var1:ArrayMap[nullable Object, nullable Object]> */
4565 if (unlikely(var4 == NULL)) {
4566 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4567 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 626);
4568 show_backtrace(1);
4569 }
4570 {
4571 var5 = standard___standard__SequenceRead___Collection__first(var4);
4572 }
4573 {
4574 { /* Inline abstract_collection#Couple#first (var5) on <var5:nullable Object(Couple[nullable Object, nullable Object])> */
4575 var8 = var5->attrs[COLOR_standard__abstract_collection__Couple___first].val; /* _first on <var5:nullable Object(Couple[nullable Object, nullable Object])> */
4576 var6 = var8;
4577 RET_LABEL7:(void)0;
4578 }
4579 }
4580 var = var6;
4581 goto RET_LABEL;
4582 RET_LABEL:;
4583 return var;
4584 }
4585 /* method array#ArrayMapKeys#has for (self: ArrayMapKeys[nullable Object, nullable Object], nullable Object): Bool */
4586 short int standard__array___standard__array__ArrayMapKeys___standard__abstract_collection__Collection__has(val* self, val* p0) {
4587 short int var /* : Bool */;
4588 short int var1 /* : Bool */;
4589 int cltype;
4590 int idtype;
4591 const struct type* type_struct;
4592 short int is_nullable;
4593 const char* var_class_name;
4594 val* var_k /* var k: nullable Object */;
4595 val* var2 /* : ArrayMap[nullable Object, nullable Object] */;
4596 val* var4 /* : ArrayMap[nullable Object, nullable Object] */;
4597 long var5 /* : Int */;
4598 long var6 /* : Int */;
4599 short int var7 /* : Bool */;
4600 short int var9 /* : Bool */;
4601 int cltype10;
4602 int idtype11;
4603 const char* var_class_name12;
4604 short int var13 /* : Bool */;
4605 /* Covariant cast for argument 0 (k) <p0:nullable Object> isa K */
4606 /* <p0:nullable Object> isa K */
4607 type_struct = self->type->resolution_table->types[COLOR_standard__array__ArrayMapKeys___35dK];
4608 cltype = type_struct->color;
4609 idtype = type_struct->id;
4610 is_nullable = type_struct->is_nullable;
4611 if(p0 == NULL) {
4612 var1 = is_nullable;
4613 } else {
4614 if(cltype >= p0->type->table_size) {
4615 var1 = 0;
4616 } else {
4617 var1 = p0->type->type_table[cltype] == idtype;
4618 }
4619 }
4620 if (unlikely(!var1)) {
4621 var_class_name = p0 == NULL ? "null" : p0->type->name;
4622 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "K", var_class_name);
4623 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 627);
4624 show_backtrace(1);
4625 }
4626 var_k = p0;
4627 {
4628 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4629 var4 = self->attrs[COLOR_standard__array__ArrayMapKeys___map].val; /* _map on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4630 if (unlikely(var4 == NULL)) {
4631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4632 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 623);
4633 show_backtrace(1);
4634 }
4635 var2 = var4;
4636 RET_LABEL3:(void)0;
4637 }
4638 }
4639 {
4640 var5 = standard___standard__ArrayMap___index(var2, var_k);
4641 }
4642 var6 = 0;
4643 {
4644 { /* Inline kernel#Int#>= (var5,var6) on <var5:Int> */
4645 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
4646 /* <var6:Int> isa OTHER */
4647 var9 = 1; /* easy <var6:Int> isa OTHER*/
4648 if (unlikely(!var9)) {
4649 var_class_name12 = type_standard__Int.name;
4650 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12);
4651 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
4652 show_backtrace(1);
4653 }
4654 var13 = var5 >= var6;
4655 var7 = var13;
4656 goto RET_LABEL8;
4657 RET_LABEL8:(void)0;
4658 }
4659 }
4660 var = var7;
4661 goto RET_LABEL;
4662 RET_LABEL:;
4663 return var;
4664 }
4665 /* method array#ArrayMapKeys#is_empty for (self: ArrayMapKeys[nullable Object, nullable Object]): Bool */
4666 short int standard__array___standard__array__ArrayMapKeys___standard__abstract_collection__Collection__is_empty(val* self) {
4667 short int var /* : Bool */;
4668 val* var1 /* : ArrayMap[nullable Object, nullable Object] */;
4669 val* var3 /* : ArrayMap[nullable Object, nullable Object] */;
4670 short int var4 /* : Bool */;
4671 {
4672 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4673 var3 = self->attrs[COLOR_standard__array__ArrayMapKeys___map].val; /* _map on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4674 if (unlikely(var3 == NULL)) {
4675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4676 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 623);
4677 show_backtrace(1);
4678 }
4679 var1 = var3;
4680 RET_LABEL2:(void)0;
4681 }
4682 }
4683 {
4684 var4 = standard___standard__ArrayMap___standard__abstract_collection__MapRead__is_empty(var1);
4685 }
4686 var = var4;
4687 goto RET_LABEL;
4688 RET_LABEL:;
4689 return var;
4690 }
4691 /* method array#ArrayMapKeys#length for (self: ArrayMapKeys[nullable Object, nullable Object]): Int */
4692 long standard__array___standard__array__ArrayMapKeys___standard__abstract_collection__Collection__length(val* self) {
4693 long var /* : Int */;
4694 val* var1 /* : ArrayMap[nullable Object, nullable Object] */;
4695 val* var3 /* : ArrayMap[nullable Object, nullable Object] */;
4696 long var4 /* : Int */;
4697 {
4698 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4699 var3 = self->attrs[COLOR_standard__array__ArrayMapKeys___map].val; /* _map on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4700 if (unlikely(var3 == NULL)) {
4701 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4702 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 623);
4703 show_backtrace(1);
4704 }
4705 var1 = var3;
4706 RET_LABEL2:(void)0;
4707 }
4708 }
4709 {
4710 var4 = standard___standard__ArrayMap___standard__abstract_collection__MapRead__length(var1);
4711 }
4712 var = var4;
4713 goto RET_LABEL;
4714 RET_LABEL:;
4715 return var;
4716 }
4717 /* method array#ArrayMapKeys#iterator for (self: ArrayMapKeys[nullable Object, nullable Object]): Iterator[nullable Object] */
4718 val* standard__array___standard__array__ArrayMapKeys___standard__abstract_collection__Collection__iterator(val* self) {
4719 val* var /* : Iterator[nullable Object] */;
4720 val* var1 /* : MapKeysIterator[nullable Object, nullable Object] */;
4721 val* var2 /* : ArrayMap[nullable Object, nullable Object] */;
4722 val* var4 /* : ArrayMap[nullable Object, nullable Object] */;
4723 val* var5 /* : MapIterator[nullable Object, nullable Object] */;
4724 var1 = NEW_standard__MapKeysIterator(self->type->resolution_table->types[COLOR_standard__MapKeysIterator__standard__array__ArrayMapKeys___35dK__standard__array__ArrayMapKeys___35dE]);
4725 {
4726 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4727 var4 = self->attrs[COLOR_standard__array__ArrayMapKeys___map].val; /* _map on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4728 if (unlikely(var4 == NULL)) {
4729 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4730 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 623);
4731 show_backtrace(1);
4732 }
4733 var2 = var4;
4734 RET_LABEL3:(void)0;
4735 }
4736 }
4737 {
4738 var5 = standard___standard__CoupleMap___MapRead__iterator(var2);
4739 }
4740 {
4741 ((void (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__abstract_collection__MapKeysIterator__original_iterator_61d]))(var1, var5) /* original_iterator= on <var1:MapKeysIterator[nullable Object, nullable Object]>*/;
4742 }
4743 {
4744 ((void (*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1) /* init on <var1:MapKeysIterator[nullable Object, nullable Object]>*/;
4745 }
4746 var = var1;
4747 goto RET_LABEL;
4748 RET_LABEL:;
4749 return var;
4750 }
4751 /* method array#ArrayMapKeys#clear for (self: ArrayMapKeys[nullable Object, nullable Object]) */
4752 void standard__array___standard__array__ArrayMapKeys___standard__abstract_collection__RemovableCollection__clear(val* self) {
4753 val* var /* : ArrayMap[nullable Object, nullable Object] */;
4754 val* var2 /* : ArrayMap[nullable Object, nullable Object] */;
4755 {
4756 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4757 var2 = self->attrs[COLOR_standard__array__ArrayMapKeys___map].val; /* _map on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4758 if (unlikely(var2 == NULL)) {
4759 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4760 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 623);
4761 show_backtrace(1);
4762 }
4763 var = var2;
4764 RET_LABEL1:(void)0;
4765 }
4766 }
4767 {
4768 standard___standard__ArrayMap___standard__abstract_collection__Map__clear(var); /* Direct call array#ArrayMap#clear on <var:ArrayMap[nullable Object, nullable Object]>*/
4769 }
4770 RET_LABEL:;
4771 }
4772 /* method array#ArrayMapKeys#remove for (self: ArrayMapKeys[nullable Object, nullable Object], nullable Object) */
4773 void standard__array___standard__array__ArrayMapKeys___standard__abstract_collection__RemovableCollection__remove(val* self, val* p0) {
4774 short int var /* : Bool */;
4775 int cltype;
4776 int idtype;
4777 const struct type* type_struct;
4778 short int is_nullable;
4779 const char* var_class_name;
4780 val* var_key /* var key: nullable Object */;
4781 val* var1 /* : ArrayMap[nullable Object, nullable Object] */;
4782 val* var3 /* : ArrayMap[nullable Object, nullable Object] */;
4783 long var4 /* : Int */;
4784 long var_i /* var i: Int */;
4785 long var5 /* : Int */;
4786 short int var6 /* : Bool */;
4787 short int var8 /* : Bool */;
4788 int cltype9;
4789 int idtype10;
4790 const char* var_class_name11;
4791 short int var12 /* : Bool */;
4792 val* var13 /* : ArrayMap[nullable Object, nullable Object] */;
4793 val* var15 /* : ArrayMap[nullable Object, nullable Object] */;
4794 /* Covariant cast for argument 0 (key) <p0:nullable Object> isa K */
4795 /* <p0:nullable Object> isa K */
4796 type_struct = self->type->resolution_table->types[COLOR_standard__array__ArrayMapKeys___35dK];
4797 cltype = type_struct->color;
4798 idtype = type_struct->id;
4799 is_nullable = type_struct->is_nullable;
4800 if(p0 == NULL) {
4801 var = is_nullable;
4802 } else {
4803 if(cltype >= p0->type->table_size) {
4804 var = 0;
4805 } else {
4806 var = p0->type->type_table[cltype] == idtype;
4807 }
4808 }
4809 if (unlikely(!var)) {
4810 var_class_name = p0 == NULL ? "null" : p0->type->name;
4811 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "K", var_class_name);
4812 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 633);
4813 show_backtrace(1);
4814 }
4815 var_key = p0;
4816 {
4817 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4818 var3 = self->attrs[COLOR_standard__array__ArrayMapKeys___map].val; /* _map on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4819 if (unlikely(var3 == NULL)) {
4820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4821 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 623);
4822 show_backtrace(1);
4823 }
4824 var1 = var3;
4825 RET_LABEL2:(void)0;
4826 }
4827 }
4828 {
4829 var4 = standard___standard__ArrayMap___index(var1, var_key);
4830 }
4831 var_i = var4;
4832 var5 = 0;
4833 {
4834 { /* Inline kernel#Int#>= (var_i,var5) on <var_i:Int> */
4835 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
4836 /* <var5:Int> isa OTHER */
4837 var8 = 1; /* easy <var5:Int> isa OTHER*/
4838 if (unlikely(!var8)) {
4839 var_class_name11 = type_standard__Int.name;
4840 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11);
4841 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
4842 show_backtrace(1);
4843 }
4844 var12 = var_i >= var5;
4845 var6 = var12;
4846 goto RET_LABEL7;
4847 RET_LABEL7:(void)0;
4848 }
4849 }
4850 if (var6){
4851 {
4852 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4853 var15 = self->attrs[COLOR_standard__array__ArrayMapKeys___map].val; /* _map on <self:ArrayMapKeys[nullable Object, nullable Object]> */
4854 if (unlikely(var15 == NULL)) {
4855 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4856 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 623);
4857 show_backtrace(1);
4858 }
4859 var13 = var15;
4860 RET_LABEL14:(void)0;
4861 }
4862 }
4863 {
4864 standard___standard__ArrayMap___remove_at_index(var13, var_i); /* Direct call array#ArrayMap#remove_at_index on <var13:ArrayMap[nullable Object, nullable Object]>*/
4865 }
4866 } else {
4867 }
4868 RET_LABEL:;
4869 }
4870 /* method array#ArrayMapKeys#init for (self: ArrayMapKeys[nullable Object, nullable Object]) */
4871 void standard__array___standard__array__ArrayMapKeys___standard__kernel__Object__init(val* self) {
4872 {
4873 ((void (*)(val* self))(self->class->vft[COLOR_standard__array___standard__array__ArrayMapKeys___standard__kernel__Object__init]))(self) /* init on <self:ArrayMapKeys[nullable Object, nullable Object]>*/;
4874 }
4875 RET_LABEL:;
4876 }
4877 /* method array#ArrayMapValues#map for (self: ArrayMapValues[nullable Object, nullable Object]): ArrayMap[nullable Object, nullable Object] */
4878 val* standard__array___standard__array__ArrayMapValues___map(val* self) {
4879 val* var /* : ArrayMap[nullable Object, nullable Object] */;
4880 val* var1 /* : ArrayMap[nullable Object, nullable Object] */;
4881 var1 = self->attrs[COLOR_standard__array__ArrayMapValues___map].val; /* _map on <self:ArrayMapValues[nullable Object, nullable Object]> */
4882 if (unlikely(var1 == NULL)) {
4883 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4884 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 643);
4885 show_backtrace(1);
4886 }
4887 var = var1;
4888 RET_LABEL:;
4889 return var;
4890 }
4891 /* method array#ArrayMapValues#map= for (self: ArrayMapValues[nullable Object, nullable Object], ArrayMap[nullable Object, nullable Object]) */
4892 void standard__array___standard__array__ArrayMapValues___map_61d(val* self, val* p0) {
4893 short int var /* : Bool */;
4894 int cltype;
4895 int idtype;
4896 const struct type* type_struct;
4897 const char* var_class_name;
4898 /* Covariant cast for argument 0 (map) <p0:ArrayMap[nullable Object, nullable Object]> isa ArrayMap[K, E] */
4899 /* <p0:ArrayMap[nullable Object, nullable Object]> isa ArrayMap[K, E] */
4900 type_struct = self->type->resolution_table->types[COLOR_standard__ArrayMap__standard__array__ArrayMapValues___35dK__standard__array__ArrayMapValues___35dE];
4901 cltype = type_struct->color;
4902 idtype = type_struct->id;
4903 if(cltype >= p0->type->table_size) {
4904 var = 0;
4905 } else {
4906 var = p0->type->type_table[cltype] == idtype;
4907 }
4908 if (unlikely(!var)) {
4909 var_class_name = p0 == NULL ? "null" : p0->type->name;
4910 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[K, E]", var_class_name);
4911 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 643);
4912 show_backtrace(1);
4913 }
4914 self->attrs[COLOR_standard__array__ArrayMapValues___map].val = p0; /* _map on <self:ArrayMapValues[nullable Object, nullable Object]> */
4915 RET_LABEL:;
4916 }
4917 /* method array#ArrayMapValues#first for (self: ArrayMapValues[nullable Object, nullable Object]): nullable Object */
4918 val* standard__array___standard__array__ArrayMapValues___standard__abstract_collection__Collection__first(val* self) {
4919 val* var /* : nullable Object */;
4920 val* var1 /* : ArrayMap[nullable Object, nullable Object] */;
4921 val* var3 /* : ArrayMap[nullable Object, nullable Object] */;
4922 val* var4 /* : Array[Couple[nullable Object, nullable Object]] */;
4923 val* var5 /* : nullable Object */;
4924 val* var6 /* : nullable Object */;
4925 val* var8 /* : nullable Object */;
4926 {
4927 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[nullable Object, nullable Object]> */
4928 var3 = self->attrs[COLOR_standard__array__ArrayMapValues___map].val; /* _map on <self:ArrayMapValues[nullable Object, nullable Object]> */
4929 if (unlikely(var3 == NULL)) {
4930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4931 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 643);
4932 show_backtrace(1);
4933 }
4934 var1 = var3;
4935 RET_LABEL2:(void)0;
4936 }
4937 }
4938 var4 = var1->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <var1:ArrayMap[nullable Object, nullable Object]> */
4939 if (unlikely(var4 == NULL)) {
4940 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4941 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 645);
4942 show_backtrace(1);
4943 }
4944 {
4945 var5 = standard___standard__SequenceRead___Collection__first(var4);
4946 }
4947 {
4948 { /* Inline abstract_collection#Couple#second (var5) on <var5:nullable Object(Couple[nullable Object, nullable Object])> */
4949 var8 = var5->attrs[COLOR_standard__abstract_collection__Couple___second].val; /* _second on <var5:nullable Object(Couple[nullable Object, nullable Object])> */
4950 var6 = var8;
4951 RET_LABEL7:(void)0;
4952 }
4953 }
4954 var = var6;
4955 goto RET_LABEL;
4956 RET_LABEL:;
4957 return var;
4958 }
4959 /* method array#ArrayMapValues#is_empty for (self: ArrayMapValues[nullable Object, nullable Object]): Bool */
4960 short int standard__array___standard__array__ArrayMapValues___standard__abstract_collection__Collection__is_empty(val* self) {
4961 short int var /* : Bool */;
4962 val* var1 /* : ArrayMap[nullable Object, nullable Object] */;
4963 val* var3 /* : ArrayMap[nullable Object, nullable Object] */;
4964 short int var4 /* : Bool */;
4965 {
4966 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[nullable Object, nullable Object]> */
4967 var3 = self->attrs[COLOR_standard__array__ArrayMapValues___map].val; /* _map on <self:ArrayMapValues[nullable Object, nullable Object]> */
4968 if (unlikely(var3 == NULL)) {
4969 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4970 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 643);
4971 show_backtrace(1);
4972 }
4973 var1 = var3;
4974 RET_LABEL2:(void)0;
4975 }
4976 }
4977 {
4978 var4 = standard___standard__ArrayMap___standard__abstract_collection__MapRead__is_empty(var1);
4979 }
4980 var = var4;
4981 goto RET_LABEL;
4982 RET_LABEL:;
4983 return var;
4984 }
4985 /* method array#ArrayMapValues#length for (self: ArrayMapValues[nullable Object, nullable Object]): Int */
4986 long standard__array___standard__array__ArrayMapValues___standard__abstract_collection__Collection__length(val* self) {
4987 long var /* : Int */;
4988 val* var1 /* : ArrayMap[nullable Object, nullable Object] */;
4989 val* var3 /* : ArrayMap[nullable Object, nullable Object] */;
4990 long var4 /* : Int */;
4991 {
4992 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[nullable Object, nullable Object]> */
4993 var3 = self->attrs[COLOR_standard__array__ArrayMapValues___map].val; /* _map on <self:ArrayMapValues[nullable Object, nullable Object]> */
4994 if (unlikely(var3 == NULL)) {
4995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4996 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 643);
4997 show_backtrace(1);
4998 }
4999 var1 = var3;
5000 RET_LABEL2:(void)0;
5001 }
5002 }
5003 {
5004 var4 = standard___standard__ArrayMap___standard__abstract_collection__MapRead__length(var1);
5005 }
5006 var = var4;
5007 goto RET_LABEL;
5008 RET_LABEL:;
5009 return var;
5010 }
5011 /* method array#ArrayMapValues#iterator for (self: ArrayMapValues[nullable Object, nullable Object]): Iterator[nullable Object] */
5012 val* standard__array___standard__array__ArrayMapValues___standard__abstract_collection__Collection__iterator(val* self) {
5013 val* var /* : Iterator[nullable Object] */;
5014 val* var1 /* : MapValuesIterator[nullable Object, nullable Object] */;
5015 val* var2 /* : ArrayMap[nullable Object, nullable Object] */;
5016 val* var4 /* : ArrayMap[nullable Object, nullable Object] */;
5017 val* var5 /* : MapIterator[nullable Object, nullable Object] */;
5018 var1 = NEW_standard__MapValuesIterator(self->type->resolution_table->types[COLOR_standard__MapValuesIterator__standard__array__ArrayMapValues___35dK__standard__array__ArrayMapValues___35dE]);
5019 {
5020 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[nullable Object, nullable Object]> */
5021 var4 = self->attrs[COLOR_standard__array__ArrayMapValues___map].val; /* _map on <self:ArrayMapValues[nullable Object, nullable Object]> */
5022 if (unlikely(var4 == NULL)) {
5023 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5024 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 643);
5025 show_backtrace(1);
5026 }
5027 var2 = var4;
5028 RET_LABEL3:(void)0;
5029 }
5030 }
5031 {
5032 var5 = standard___standard__CoupleMap___MapRead__iterator(var2);
5033 }
5034 {
5035 ((void (*)(val* self, val* p0))(var1->class->vft[COLOR_standard__abstract_collection__MapValuesIterator__original_iterator_61d]))(var1, var5) /* original_iterator= on <var1:MapValuesIterator[nullable Object, nullable Object]>*/;
5036 }
5037 {
5038 ((void (*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1) /* init on <var1:MapValuesIterator[nullable Object, nullable Object]>*/;
5039 }
5040 var = var1;
5041 goto RET_LABEL;
5042 RET_LABEL:;
5043 return var;
5044 }
5045 /* method array#ArrayMapValues#has for (self: ArrayMapValues[nullable Object, nullable Object], nullable Object): Bool */
5046 short int standard__array___standard__array__ArrayMapValues___standard__abstract_collection__Collection__has(val* self, val* p0) {
5047 short int var /* : Bool */;
5048 short int var1 /* : Bool */;
5049 int cltype;
5050 int idtype;
5051 const struct type* type_struct;
5052 short int is_nullable;
5053 const char* var_class_name;
5054 val* var_item /* var item: nullable Object */;
5055 val* var2 /* : ArrayMap[nullable Object, nullable Object] */;
5056 val* var4 /* : ArrayMap[nullable Object, nullable Object] */;
5057 val* var5 /* : Array[Couple[nullable Object, nullable Object]] */;
5058 val* var_ /* var : Array[Couple[nullable Object, nullable Object]] */;
5059 val* var6 /* : ArrayIterator[nullable Object] */;
5060 val* var_7 /* var : ArrayIterator[Couple[nullable Object, nullable Object]] */;
5061 short int var8 /* : Bool */;
5062 val* var9 /* : nullable Object */;
5063 val* var_i /* var i: Couple[nullable Object, nullable Object] */;
5064 val* var10 /* : nullable Object */;
5065 val* var12 /* : nullable Object */;
5066 short int var13 /* : Bool */;
5067 short int var14 /* : Bool */;
5068 short int var15 /* : Bool */;
5069 short int var17 /* : Bool */;
5070 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
5071 /* <p0:nullable Object> isa E */
5072 type_struct = self->type->resolution_table->types[COLOR_standard__array__ArrayMapValues___35dE];
5073 cltype = type_struct->color;
5074 idtype = type_struct->id;
5075 is_nullable = type_struct->is_nullable;
5076 if(p0 == NULL) {
5077 var1 = is_nullable;
5078 } else {
5079 if(cltype >= p0->type->table_size) {
5080 var1 = 0;
5081 } else {
5082 var1 = p0->type->type_table[cltype] == idtype;
5083 }
5084 }
5085 if (unlikely(!var1)) {
5086 var_class_name = p0 == NULL ? "null" : p0->type->name;
5087 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
5088 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 650);
5089 show_backtrace(1);
5090 }
5091 var_item = p0;
5092 {
5093 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[nullable Object, nullable Object]> */
5094 var4 = self->attrs[COLOR_standard__array__ArrayMapValues___map].val; /* _map on <self:ArrayMapValues[nullable Object, nullable Object]> */
5095 if (unlikely(var4 == NULL)) {
5096 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5097 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 643);
5098 show_backtrace(1);
5099 }
5100 var2 = var4;
5101 RET_LABEL3:(void)0;
5102 }
5103 }
5104 var5 = var2->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <var2:ArrayMap[nullable Object, nullable Object]> */
5105 if (unlikely(var5 == NULL)) {
5106 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
5107 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 653);
5108 show_backtrace(1);
5109 }
5110 var_ = var5;
5111 {
5112 var6 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_);
5113 }
5114 var_7 = var6;
5115 for(;;) {
5116 {
5117 var8 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_7);
5118 }
5119 if (var8){
5120 {
5121 var9 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_7);
5122 }
5123 var_i = var9;
5124 {
5125 { /* Inline abstract_collection#Couple#second (var_i) on <var_i:Couple[nullable Object, nullable Object]> */
5126 var12 = var_i->attrs[COLOR_standard__abstract_collection__Couple___second].val; /* _second on <var_i:Couple[nullable Object, nullable Object]> */
5127 var10 = var12;
5128 RET_LABEL11:(void)0;
5129 }
5130 }
5131 if (var10 == NULL) {
5132 var13 = (var_item == NULL);
5133 } else {
5134 var14 = ((short int (*)(val* self, val* p0))(var10->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var10, var_item) /* == on <var10:nullable Object>*/;
5135 var13 = var14;
5136 }
5137 if (var13){
5138 var15 = 1;
5139 var = var15;
5140 goto RET_LABEL;
5141 } else {
5142 }
5143 {
5144 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_7); /* Direct call array#ArrayIterator#next on <var_7:ArrayIterator[Couple[nullable Object, nullable Object]]>*/
5145 }
5146 } else {
5147 goto BREAK_label;
5148 }
5149 }
5150 BREAK_label: (void)0;
5151 {
5152 { /* Inline abstract_collection#Iterator#finish (var_7) on <var_7:ArrayIterator[Couple[nullable Object, nullable Object]]> */
5153 RET_LABEL16:(void)0;
5154 }
5155 }
5156 var17 = 0;
5157 var = var17;
5158 goto RET_LABEL;
5159 RET_LABEL:;
5160 return var;
5161 }
5162 /* method array#ArrayMapValues#clear for (self: ArrayMapValues[nullable Object, nullable Object]) */
5163 void standard__array___standard__array__ArrayMapValues___standard__abstract_collection__RemovableCollection__clear(val* self) {
5164 val* var /* : ArrayMap[nullable Object, nullable Object] */;
5165 val* var2 /* : ArrayMap[nullable Object, nullable Object] */;
5166 {
5167 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[nullable Object, nullable Object]> */
5168 var2 = self->attrs[COLOR_standard__array__ArrayMapValues___map].val; /* _map on <self:ArrayMapValues[nullable Object, nullable Object]> */
5169 if (unlikely(var2 == NULL)) {
5170 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5171 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 643);
5172 show_backtrace(1);
5173 }
5174 var = var2;
5175 RET_LABEL1:(void)0;
5176 }
5177 }
5178 {
5179 standard___standard__ArrayMap___standard__abstract_collection__Map__clear(var); /* Direct call array#ArrayMap#clear on <var:ArrayMap[nullable Object, nullable Object]>*/
5180 }
5181 RET_LABEL:;
5182 }
5183 /* method array#ArrayMapValues#remove for (self: ArrayMapValues[nullable Object, nullable Object], nullable Object) */
5184 void standard__array___standard__array__ArrayMapValues___standard__abstract_collection__RemovableCollection__remove(val* self, val* p0) {
5185 short int var /* : Bool */;
5186 int cltype;
5187 int idtype;
5188 const struct type* type_struct;
5189 short int is_nullable;
5190 const char* var_class_name;
5191 val* var_item /* var item: nullable Object */;
5192 val* var1 /* : ArrayMap[nullable Object, nullable Object] */;
5193 val* var3 /* : ArrayMap[nullable Object, nullable Object] */;
5194 val* var_map /* var map: ArrayMap[nullable Object, nullable Object] */;
5195 val* var4 /* : Array[Couple[nullable Object, nullable Object]] */;
5196 long var5 /* : Int */;
5197 long var7 /* : Int */;
5198 long var8 /* : Int */;
5199 long var9 /* : Int */;
5200 short int var11 /* : Bool */;
5201 int cltype12;
5202 int idtype13;
5203 const char* var_class_name14;
5204 long var15 /* : Int */;
5205 long var_i /* var i: Int */;
5206 long var16 /* : Int */;
5207 short int var17 /* : Bool */;
5208 short int var19 /* : Bool */;
5209 int cltype20;
5210 int idtype21;
5211 const char* var_class_name22;
5212 short int var23 /* : Bool */;
5213 val* var24 /* : Array[Couple[nullable Object, nullable Object]] */;
5214 val* var25 /* : nullable Object */;
5215 val* var26 /* : nullable Object */;
5216 val* var28 /* : nullable Object */;
5217 short int var29 /* : Bool */;
5218 short int var30 /* : Bool */;
5219 long var31 /* : Int */;
5220 long var32 /* : Int */;
5221 short int var34 /* : Bool */;
5222 int cltype35;
5223 int idtype36;
5224 const char* var_class_name37;
5225 long var38 /* : Int */;
5226 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
5227 /* <p0:nullable Object> isa E */
5228 type_struct = self->type->resolution_table->types[COLOR_standard__array__ArrayMapValues___35dE];
5229 cltype = type_struct->color;
5230 idtype = type_struct->id;
5231 is_nullable = type_struct->is_nullable;
5232 if(p0 == NULL) {
5233 var = is_nullable;
5234 } else {
5235 if(cltype >= p0->type->table_size) {
5236 var = 0;
5237 } else {
5238 var = p0->type->type_table[cltype] == idtype;
5239 }
5240 }
5241 if (unlikely(!var)) {
5242 var_class_name = p0 == NULL ? "null" : p0->type->name;
5243 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
5244 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 674);
5245 show_backtrace(1);
5246 }
5247 var_item = p0;
5248 {
5249 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[nullable Object, nullable Object]> */
5250 var3 = self->attrs[COLOR_standard__array__ArrayMapValues___map].val; /* _map on <self:ArrayMapValues[nullable Object, nullable Object]> */
5251 if (unlikely(var3 == NULL)) {
5252 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5253 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 643);
5254 show_backtrace(1);
5255 }
5256 var1 = var3;
5257 RET_LABEL2:(void)0;
5258 }
5259 }
5260 var_map = var1;
5261 var4 = var_map->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <var_map:ArrayMap[nullable Object, nullable Object]> */
5262 if (unlikely(var4 == NULL)) {
5263 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
5264 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 677);
5265 show_backtrace(1);
5266 }
5267 {
5268 { /* Inline array#AbstractArrayRead#length (var4) on <var4:Array[Couple[nullable Object, nullable Object]]> */
5269 var7 = var4->attrs[COLOR_standard__array__AbstractArrayRead___length].l; /* _length on <var4:Array[Couple[nullable Object, nullable Object]]> */
5270 var5 = var7;
5271 RET_LABEL6:(void)0;
5272 }
5273 }
5274 var8 = 1;
5275 {
5276 { /* Inline kernel#Int#- (var5,var8) on <var5:Int> */
5277 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
5278 /* <var8:Int> isa OTHER */
5279 var11 = 1; /* easy <var8:Int> isa OTHER*/
5280 if (unlikely(!var11)) {
5281 var_class_name14 = type_standard__Int.name;
5282 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
5283 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
5284 show_backtrace(1);
5285 }
5286 var15 = var5 - var8;
5287 var9 = var15;
5288 goto RET_LABEL10;
5289 RET_LABEL10:(void)0;
5290 }
5291 }
5292 var_i = var9;
5293 for(;;) {
5294 var16 = 0;
5295 {
5296 { /* Inline kernel#Int#>= (var_i,var16) on <var_i:Int> */
5297 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
5298 /* <var16:Int> isa OTHER */
5299 var19 = 1; /* easy <var16:Int> isa OTHER*/
5300 if (unlikely(!var19)) {
5301 var_class_name22 = type_standard__Int.name;
5302 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22);
5303 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411);
5304 show_backtrace(1);
5305 }
5306 var23 = var_i >= var16;
5307 var17 = var23;
5308 goto RET_LABEL18;
5309 RET_LABEL18:(void)0;
5310 }
5311 }
5312 if (var17){
5313 var24 = var_map->attrs[COLOR_standard__array__ArrayMap___items].val; /* _items on <var_map:ArrayMap[nullable Object, nullable Object]> */
5314 if (unlikely(var24 == NULL)) {
5315 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
5316 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 679);
5317 show_backtrace(1);
5318 }
5319 {
5320 var25 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var24, var_i);
5321 }
5322 {
5323 { /* Inline abstract_collection#Couple#second (var25) on <var25:nullable Object(Couple[nullable Object, nullable Object])> */
5324 var28 = var25->attrs[COLOR_standard__abstract_collection__Couple___second].val; /* _second on <var25:nullable Object(Couple[nullable Object, nullable Object])> */
5325 var26 = var28;
5326 RET_LABEL27:(void)0;
5327 }
5328 }
5329 if (var26 == NULL) {
5330 var29 = (var_item == NULL);
5331 } else {
5332 var30 = ((short int (*)(val* self, val* p0))(var26->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var26, var_item) /* == on <var26:nullable Object>*/;
5333 var29 = var30;
5334 }
5335 if (var29){
5336 {
5337 standard___standard__ArrayMap___remove_at_index(var_map, var_i); /* Direct call array#ArrayMap#remove_at_index on <var_map:ArrayMap[nullable Object, nullable Object]>*/
5338 }
5339 goto RET_LABEL;
5340 } else {
5341 }
5342 var31 = 1;
5343 {
5344 { /* Inline kernel#Int#- (var_i,var31) on <var_i:Int> */
5345 /* Covariant cast for argument 0 (i) <var31:Int> isa OTHER */
5346 /* <var31:Int> isa OTHER */
5347 var34 = 1; /* easy <var31:Int> isa OTHER*/
5348 if (unlikely(!var34)) {
5349 var_class_name37 = type_standard__Int.name;
5350 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
5351 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
5352 show_backtrace(1);
5353 }
5354 var38 = var_i - var31;
5355 var32 = var38;
5356 goto RET_LABEL33;
5357 RET_LABEL33:(void)0;
5358 }
5359 }
5360 var_i = var32;
5361 } else {
5362 goto BREAK_label;
5363 }
5364 }
5365 BREAK_label: (void)0;
5366 RET_LABEL:;
5367 }
5368 /* method array#ArrayMapValues#init for (self: ArrayMapValues[nullable Object, nullable Object]) */
5369 void standard__array___standard__array__ArrayMapValues___standard__kernel__Object__init(val* self) {
5370 {
5371 ((void (*)(val* self))(self->class->vft[COLOR_standard__array___standard__array__ArrayMapValues___standard__kernel__Object__init]))(self) /* init on <self:ArrayMapValues[nullable Object, nullable Object]>*/;
5372 }
5373 RET_LABEL:;
5374 }
5375 /* method array#Iterator#to_a for (self: Iterator[nullable Object]): Array[nullable Object] */
5376 val* standard__array___Iterator___to_a(val* self) {
5377 val* var /* : Array[nullable Object] */;
5378 val* var1 /* : Array[nullable Object] */;
5379 val* var_res /* var res: Array[nullable Object] */;
5380 short int var2 /* : Bool */;
5381 val* var3 /* : nullable Object */;
5382 var1 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__standard__Iterator___35dE]);
5383 {
5384 standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on <var1:Array[nullable Object]>*/
5385 }
5386 var_res = var1;
5387 for(;;) {
5388 {
5389 var2 = ((short int (*)(val* self))(self->class->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(self) /* is_ok on <self:Iterator[nullable Object]>*/;
5390 }
5391 if (var2){
5392 {
5393 var3 = ((val* (*)(val* self))(self->class->vft[COLOR_standard__abstract_collection__Iterator__item]))(self) /* item on <self:Iterator[nullable Object]>*/;
5394 }
5395 {
5396 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var3); /* Direct call array#Array#add on <var_res:Array[nullable Object]>*/
5397 }
5398 {
5399 ((void (*)(val* self))(self->class->vft[COLOR_standard__abstract_collection__Iterator__next]))(self) /* next on <self:Iterator[nullable Object]>*/;
5400 }
5401 } else {
5402 goto BREAK_label;
5403 }
5404 }
5405 BREAK_label: (void)0;
5406 var = var_res;
5407 goto RET_LABEL;
5408 RET_LABEL:;
5409 return var;
5410 }
5411 /* method array#Collection#to_a for (self: Collection[nullable Object]): Array[nullable Object] */
5412 val* standard__array___Collection___to_a(val* self) {
5413 val* var /* : Array[nullable Object] */;
5414 val* var1 /* : Array[nullable Object] */;
5415 long var2 /* : Int */;
5416 val* var_res /* var res: Array[nullable Object] */;
5417 var1 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__standard__Collection___35dE]);
5418 {
5419 var2 = ((long (*)(val* self))(self->class->vft[COLOR_standard__abstract_collection__Collection__length]))(self) /* length on <self:Collection[nullable Object]>*/;
5420 }
5421 {
5422 standard___standard__Array___with_capacity(var1, var2); /* Direct call array#Array#with_capacity on <var1:Array[nullable Object]>*/
5423 }
5424 var_res = var1;
5425 {
5426 standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_res, self); /* Direct call array#Array#add_all on <var_res:Array[nullable Object]>*/
5427 }
5428 var = var_res;
5429 goto RET_LABEL;
5430 RET_LABEL:;
5431 return var;
5432 }
5433 /* method array#NativeArray#new for (self: NativeArray[nullable Object], Int): NativeArray[nullable Object] */
5434 val* standard___standard__NativeArray___new(val* self, long p0) {
5435 val* var /* : NativeArray[nullable Object] */;
5436 RET_LABEL:;
5437 return var;
5438 }
5439 /* method array#NativeArray#[] for (self: NativeArray[nullable Object], Int): nullable Object */
5440 val* standard___standard__NativeArray____91d_93d(val* self, long p0) {
5441 val* var /* : nullable Object */;
5442 val* var1 /* : nullable Object */;
5443 var1 = ((struct instance_standard__NativeArray*)self)->values[p0];
5444 var = var1;
5445 goto RET_LABEL;
5446 RET_LABEL:;
5447 return var;
5448 }
5449 /* method array#NativeArray#[]= for (self: NativeArray[nullable Object], Int, nullable Object) */
5450 void standard___standard__NativeArray____91d_93d_61d(val* self, long p0, val* p1) {
5451 short int var /* : Bool */;
5452 int cltype;
5453 int idtype;
5454 const struct type* type_struct;
5455 short int is_nullable;
5456 const char* var_class_name;
5457 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa E */
5458 /* <p1:nullable Object> isa E */
5459 type_struct = self->type->resolution_table->types[COLOR_standard__NativeArray___35dE];
5460 cltype = type_struct->color;
5461 idtype = type_struct->id;
5462 is_nullable = type_struct->is_nullable;
5463 if(p1 == NULL) {
5464 var = is_nullable;
5465 } else {
5466 if(cltype >= p1->type->table_size) {
5467 var = 0;
5468 } else {
5469 var = p1->type->type_table[cltype] == idtype;
5470 }
5471 }
5472 if (unlikely(!var)) {
5473 var_class_name = p1 == NULL ? "null" : p1->type->name;
5474 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
5475 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 808);
5476 show_backtrace(1);
5477 }
5478 ((struct instance_standard__NativeArray*)self)->values[p0]=p1;
5479 RET_LABEL:;
5480 }
5481 /* method array#NativeArray#copy_to for (self: NativeArray[nullable Object], NativeArray[nullable Object], Int) */
5482 void standard___standard__NativeArray___copy_to(val* self, val* p0, long p1) {
5483 short int var /* : Bool */;
5484 int cltype;
5485 int idtype;
5486 const struct type* type_struct;
5487 const char* var_class_name;
5488 /* Covariant cast for argument 0 (dest) <p0:NativeArray[nullable Object]> isa NativeArray[E] */
5489 /* <p0:NativeArray[nullable Object]> isa NativeArray[E] */
5490 type_struct = self->type->resolution_table->types[COLOR_standard__NativeArray__standard__NativeArray___35dE];
5491 cltype = type_struct->color;
5492 idtype = type_struct->id;
5493 if(cltype >= p0->type->table_size) {
5494 var = 0;
5495 } else {
5496 var = p0->type->type_table[cltype] == idtype;
5497 }
5498 if (unlikely(!var)) {
5499 var_class_name = p0 == NULL ? "null" : p0->type->name;
5500 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[E]", var_class_name);
5501 PRINT_ERROR(" (%s:%d)\n", FILE_standard__array, 811);
5502 show_backtrace(1);
5503 }
5504 memmove(((struct instance_standard__NativeArray*)p0)->values, ((struct instance_standard__NativeArray*)self)->values, p1*sizeof(val*));
5505 RET_LABEL:;
5506 }