1 #include "array.sep.0.h"
2 /* method array#AbstractArrayRead#length for (self: AbstractArrayRead[nullable Object]): Int */
3 long array__AbstractArrayRead__length(val
* self
) {
6 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
11 /* method array#AbstractArrayRead#length for (self: Object): Int */
12 long VIRTUAL_array__AbstractArrayRead__length(val
* self
) {
14 long var1
/* : Int */;
15 long var3
/* : Int */;
16 { /* Inline array#AbstractArrayRead#length (self) on <self:Object(AbstractArrayRead[nullable Object])> */
17 var3
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Object(AbstractArrayRead[nullable Object])> */
25 /* method array#AbstractArrayRead#is_empty for (self: AbstractArrayRead[nullable Object]): Bool */
26 short int array__AbstractArrayRead__is_empty(val
* self
) {
27 short int var
/* : Bool */;
28 long var1
/* : Int */;
29 long var2
/* : Int */;
30 short int var3
/* : Bool */;
31 short int var4
/* : Bool */;
32 short int var6
/* : Bool */;
33 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
36 { /* Inline kernel#Int#== (var1,var2) on <var1:Int> */
49 /* method array#AbstractArrayRead#is_empty for (self: Object): Bool */
50 short int VIRTUAL_array__AbstractArrayRead__is_empty(val
* self
) {
51 short int var
/* : Bool */;
52 short int var1
/* : Bool */;
53 var1
= array__AbstractArrayRead__is_empty(self
);
58 /* method array#AbstractArrayRead#has for (self: AbstractArrayRead[nullable Object], nullable Object): Bool */
59 short int array__AbstractArrayRead__has(val
* self
, val
* p0
) {
60 short int var
/* : Bool */;
61 short int var1
/* : Bool */;
64 const struct type
* type_struct
;
65 short int is_nullable
;
66 const char* var_class_name
;
67 val
* var_item
/* var item: nullable Object */;
68 long var2
/* : Int */;
69 long var_i
/* var i: Int */;
70 long var3
/* : Int */;
71 long var5
/* : Int */;
72 long var_l
/* var l: Int */;
73 short int var6
/* : Bool */;
74 short int var8
/* : Bool */;
77 const char* var_class_name11
;
78 short int var12
/* : Bool */;
79 val
* var13
/* : nullable Object */;
80 short int var14
/* : Bool */;
81 short int var15
/* : Bool */;
82 short int var16
/* : Bool */;
83 long var17
/* : Int */;
84 long var18
/* : Int */;
85 short int var20
/* : Bool */;
88 const char* var_class_name23
;
89 long var24
/* : Int */;
90 short int var25
/* : Bool */;
91 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
92 /* <p0:nullable Object> isa E */
93 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
94 cltype
= type_struct
->color
;
95 idtype
= type_struct
->id
;
96 is_nullable
= type_struct
->is_nullable
;
100 if(cltype
>= p0
->type
->table_size
) {
103 var1
= p0
->type
->type_table
[cltype
] == idtype
;
106 if (unlikely(!var1
)) {
107 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
108 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
109 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 28);
116 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArrayRead[nullable Object]> */
117 var5
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
125 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
126 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
127 /* <var_l:Int> isa OTHER */
128 var8
= 1; /* easy <var_l:Int> isa OTHER*/
129 if (unlikely(!var8
)) {
130 var_class_name11
= type_kernel__Int
.name
;
131 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
132 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
135 var12
= var_i
< var_l
;
143 var13
= array__Array___91d_93d(self
, var_i
);
146 var14
= (var_item
== NULL
);
148 var15
= ((short int (*)(val
*, val
*))(var13
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var13
, var_item
) /* == on <var13:nullable Object>*/;
159 { /* Inline kernel#Int#+ (var_i,var17) on <var_i:Int> */
160 /* Covariant cast for argument 0 (i) <var17:Int> isa OTHER */
161 /* <var17:Int> isa OTHER */
162 var20
= 1; /* easy <var17:Int> isa OTHER*/
163 if (unlikely(!var20
)) {
164 var_class_name23
= type_kernel__Int
.name
;
165 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23
);
166 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
169 var24
= var_i
+ var17
;
180 BREAK_label
: (void)0;
187 /* method array#AbstractArrayRead#has for (self: Object, nullable Object): Bool */
188 short int VIRTUAL_array__AbstractArrayRead__has(val
* self
, val
* p0
) {
189 short int var
/* : Bool */;
190 short int var1
/* : Bool */;
191 var1
= array__AbstractArrayRead__has(self
, p0
);
196 /* method array#AbstractArrayRead#index_of for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
197 long array__AbstractArrayRead__index_of(val
* self
, val
* p0
) {
198 long var
/* : Int */;
199 short int var1
/* : Bool */;
202 const struct type
* type_struct
;
203 short int is_nullable
;
204 const char* var_class_name
;
205 val
* var_item
/* var item: nullable Object */;
206 long var2
/* : Int */;
207 long var3
/* : Int */;
208 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
209 /* <p0:nullable Object> isa E */
210 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SequenceRead_FT0
];
211 cltype
= type_struct
->color
;
212 idtype
= type_struct
->id
;
213 is_nullable
= type_struct
->is_nullable
;
217 if(cltype
>= p0
->type
->table_size
) {
220 var1
= p0
->type
->type_table
[cltype
] == idtype
;
223 if (unlikely(!var1
)) {
224 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
225 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
226 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 62);
232 var3
= array__AbstractArrayRead__index_of_from(self
, var_item
, var2
);
239 /* method array#AbstractArrayRead#index_of for (self: Object, nullable Object): Int */
240 long VIRTUAL_array__AbstractArrayRead__index_of(val
* self
, val
* p0
) {
241 long var
/* : Int */;
242 long var1
/* : Int */;
243 var1
= array__AbstractArrayRead__index_of(self
, p0
);
248 /* method array#AbstractArrayRead#last_index_of for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
249 long array__AbstractArrayRead__last_index_of(val
* self
, val
* p0
) {
250 long var
/* : Int */;
251 short int var1
/* : Bool */;
254 const struct type
* type_struct
;
255 short int is_nullable
;
256 const char* var_class_name
;
257 val
* var_item
/* var item: nullable Object */;
258 long var2
/* : Int */;
259 long var4
/* : Int */;
260 long var5
/* : Int */;
261 long var6
/* : Int */;
262 short int var8
/* : Bool */;
265 const char* var_class_name11
;
266 long var12
/* : Int */;
267 long var13
/* : Int */;
268 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
269 /* <p0:nullable Object> isa E */
270 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
271 cltype
= type_struct
->color
;
272 idtype
= type_struct
->id
;
273 is_nullable
= type_struct
->is_nullable
;
277 if(cltype
>= p0
->type
->table_size
) {
280 var1
= p0
->type
->type_table
[cltype
] == idtype
;
283 if (unlikely(!var1
)) {
284 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
285 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
286 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 64);
291 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArrayRead[nullable Object]> */
292 var4
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
299 { /* Inline kernel#Int#- (var2,var5) on <var2:Int> */
300 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
301 /* <var5:Int> isa OTHER */
302 var8
= 1; /* easy <var5:Int> isa OTHER*/
303 if (unlikely(!var8
)) {
304 var_class_name11
= type_kernel__Int
.name
;
305 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
306 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
316 var13
= array__AbstractArrayRead__last_index_of_from(self
, var_item
, var6
);
323 /* method array#AbstractArrayRead#last_index_of for (self: Object, nullable Object): Int */
324 long VIRTUAL_array__AbstractArrayRead__last_index_of(val
* self
, val
* p0
) {
325 long var
/* : Int */;
326 long var1
/* : Int */;
327 var1
= array__AbstractArrayRead__last_index_of(self
, p0
);
332 /* method array#AbstractArrayRead#index_of_from for (self: AbstractArrayRead[nullable Object], nullable Object, Int): Int */
333 long array__AbstractArrayRead__index_of_from(val
* self
, val
* p0
, long p1
) {
334 long var
/* : Int */;
335 short int var1
/* : Bool */;
338 const struct type
* type_struct
;
339 short int is_nullable
;
340 const char* var_class_name
;
341 val
* var_item
/* var item: nullable Object */;
342 long var_pos
/* var pos: Int */;
343 long var_i
/* var i: Int */;
344 long var2
/* : Int */;
345 long var4
/* : Int */;
346 long var_len
/* var len: Int */;
347 short int var5
/* : Bool */;
348 short int var7
/* : Bool */;
351 const char* var_class_name10
;
352 short int var11
/* : Bool */;
353 val
* var12
/* : nullable Object */;
354 short int var13
/* : Bool */;
355 short int var14
/* : Bool */;
356 long var15
/* : Int */;
357 long var16
/* : Int */;
358 short int var18
/* : Bool */;
361 const char* var_class_name21
;
362 long var22
/* : Int */;
363 long var23
/* : Int */;
364 long var24
/* : Int */;
365 long var26
/* : Int */;
366 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
367 /* <p0:nullable Object> isa E */
368 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
369 cltype
= type_struct
->color
;
370 idtype
= type_struct
->id
;
371 is_nullable
= type_struct
->is_nullable
;
375 if(cltype
>= p0
->type
->table_size
) {
378 var1
= p0
->type
->type_table
[cltype
] == idtype
;
381 if (unlikely(!var1
)) {
382 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
383 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
384 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 66);
391 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArrayRead[nullable Object]> */
392 var4
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
400 { /* Inline kernel#Int#< (var_i,var_len) on <var_i:Int> */
401 /* Covariant cast for argument 0 (i) <var_len:Int> isa OTHER */
402 /* <var_len:Int> isa OTHER */
403 var7
= 1; /* easy <var_len:Int> isa OTHER*/
404 if (unlikely(!var7
)) {
405 var_class_name10
= type_kernel__Int
.name
;
406 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
407 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
410 var11
= var_i
< var_len
;
418 var12
= array__Array___91d_93d(self
, var_i
);
421 var13
= (var_item
== NULL
);
423 var14
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var_item
) /* == on <var12:nullable Object>*/;
433 { /* Inline kernel#Int#+ (var_i,var15) on <var_i:Int> */
434 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
435 /* <var15:Int> isa OTHER */
436 var18
= 1; /* easy <var15:Int> isa OTHER*/
437 if (unlikely(!var18
)) {
438 var_class_name21
= type_kernel__Int
.name
;
439 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
440 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
443 var22
= var_i
+ var15
;
454 BREAK_label
: (void)0;
457 { /* Inline kernel#Int#unary - (var23) on <var23:Int> */
469 /* method array#AbstractArrayRead#index_of_from for (self: Object, nullable Object, Int): Int */
470 long VIRTUAL_array__AbstractArrayRead__index_of_from(val
* self
, val
* p0
, long p1
) {
471 long var
/* : Int */;
472 long var1
/* : Int */;
473 var1
= array__AbstractArrayRead__index_of_from(self
, p0
, p1
);
478 /* method array#AbstractArrayRead#last_index_of_from for (self: AbstractArrayRead[nullable Object], nullable Object, Int): Int */
479 long array__AbstractArrayRead__last_index_of_from(val
* self
, val
* p0
, long p1
) {
480 long var
/* : Int */;
481 short int var1
/* : Bool */;
484 const struct type
* type_struct
;
485 short int is_nullable
;
486 const char* var_class_name
;
487 val
* var_item
/* var item: nullable Object */;
488 long var_pos
/* var pos: Int */;
489 long var_i
/* var i: Int */;
490 long var2
/* : Int */;
491 short int var3
/* : Bool */;
492 short int var5
/* : Bool */;
495 const char* var_class_name8
;
496 short int var9
/* : Bool */;
497 val
* var10
/* : nullable Object */;
498 short int var11
/* : Bool */;
499 short int var12
/* : Bool */;
500 long var13
/* : Int */;
501 long var14
/* : Int */;
502 short int var16
/* : Bool */;
505 const char* var_class_name19
;
506 long var20
/* : Int */;
507 long var21
/* : Int */;
508 long var22
/* : Int */;
509 long var24
/* : Int */;
510 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
511 /* <p0:nullable Object> isa E */
512 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
513 cltype
= type_struct
->color
;
514 idtype
= type_struct
->id
;
515 is_nullable
= type_struct
->is_nullable
;
519 if(cltype
>= p0
->type
->table_size
) {
522 var1
= p0
->type
->type_table
[cltype
] == idtype
;
525 if (unlikely(!var1
)) {
526 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
527 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
528 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 79);
537 { /* Inline kernel#Int#>= (var_i,var2) on <var_i:Int> */
538 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
539 /* <var2:Int> isa OTHER */
540 var5
= 1; /* easy <var2:Int> isa OTHER*/
541 if (unlikely(!var5
)) {
542 var_class_name8
= type_kernel__Int
.name
;
543 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
544 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
547 var9
= var_i
>= var2
;
555 var10
= array__Array___91d_93d(self
, var_i
);
558 var11
= (var_item
== NULL
);
560 var12
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var_item
) /* == on <var10:nullable Object>*/;
569 { /* Inline kernel#Int#- (var_i,var13) on <var_i:Int> */
570 /* Covariant cast for argument 0 (i) <var13:Int> isa OTHER */
571 /* <var13:Int> isa OTHER */
572 var16
= 1; /* easy <var13:Int> isa OTHER*/
573 if (unlikely(!var16
)) {
574 var_class_name19
= type_kernel__Int
.name
;
575 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
576 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
579 var20
= var_i
- var13
;
591 BREAK_label
: (void)0;
594 { /* Inline kernel#Int#unary - (var21) on <var21:Int> */
606 /* method array#AbstractArrayRead#last_index_of_from for (self: Object, nullable Object, Int): Int */
607 long VIRTUAL_array__AbstractArrayRead__last_index_of_from(val
* self
, val
* p0
, long p1
) {
608 long var
/* : Int */;
609 long var1
/* : Int */;
610 var1
= array__AbstractArrayRead__last_index_of_from(self
, p0
, p1
);
615 /* method array#AbstractArrayRead#reversed for (self: AbstractArrayRead[nullable Object]): Array[nullable Object] */
616 val
* array__AbstractArrayRead__reversed(val
* self
) {
617 val
* var
/* : Array[nullable Object] */;
618 long var1
/* : Int */;
619 long var_cmp
/* var cmp: Int */;
620 val
* var2
/* : Array[nullable Object] */;
621 val
* var_result
/* var result: Array[nullable Object] */;
622 long var3
/* : Int */;
623 short int var4
/* : Bool */;
624 short int var6
/* : Bool */;
627 const char* var_class_name
;
628 short int var7
/* : Bool */;
629 long var8
/* : Int */;
630 long var9
/* : Int */;
631 short int var11
/* : Bool */;
634 const char* var_class_name14
;
635 long var15
/* : Int */;
636 val
* var16
/* : nullable Object */;
637 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
639 var2
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__AbstractArrayRead_FT0
]);
641 array__Array__with_capacity(var2
, var_cmp
); /* Direct call array#Array#with_capacity on <var2:Array[nullable Object]>*/
647 { /* Inline kernel#Int#> (var_cmp,var3) on <var_cmp:Int> */
648 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
649 /* <var3:Int> isa OTHER */
650 var6
= 1; /* easy <var3:Int> isa OTHER*/
651 if (unlikely(!var6
)) {
652 var_class_name
= type_kernel__Int
.name
;
653 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
654 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
657 var7
= var_cmp
> var3
;
666 { /* Inline kernel#Int#- (var_cmp,var8) on <var_cmp:Int> */
667 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
668 /* <var8:Int> isa OTHER */
669 var11
= 1; /* easy <var8:Int> isa OTHER*/
670 if (unlikely(!var11
)) {
671 var_class_name14
= type_kernel__Int
.name
;
672 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
673 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
676 var15
= var_cmp
- var8
;
684 var16
= array__Array___91d_93d(self
, var_cmp
);
687 array__Array__add(var_result
, var16
); /* Direct call array#Array#add on <var_result:Array[nullable Object]>*/
693 BREAK_label
: (void)0;
699 /* method array#AbstractArrayRead#reversed for (self: Object): Array[nullable Object] */
700 val
* VIRTUAL_array__AbstractArrayRead__reversed(val
* self
) {
701 val
* var
/* : Array[nullable Object] */;
702 val
* var1
/* : Array[nullable Object] */;
703 var1
= array__AbstractArrayRead__reversed(self
);
708 /* method array#AbstractArrayRead#copy_to for (self: AbstractArrayRead[nullable Object], Int, Int, AbstractArray[nullable Object], Int) */
709 void array__AbstractArrayRead__copy_to(val
* self
, long p0
, long p1
, val
* p2
, long p3
) {
710 short int var
/* : Bool */;
713 const struct type
* type_struct
;
714 const char* var_class_name
;
715 long var_start
/* var start: Int */;
716 long var_len
/* var len: Int */;
717 val
* var_dest
/* var dest: AbstractArray[nullable Object] */;
718 long var_new_start
/* var new_start: Int */;
719 long var_i
/* var i: Int */;
720 long var1
/* : Int */;
721 short int var2
/* : Bool */;
722 short int var4
/* : Bool */;
725 const char* var_class_name7
;
726 short int var8
/* : Bool */;
727 long var9
/* : Int */;
728 long var10
/* : Int */;
729 short int var12
/* : Bool */;
732 const char* var_class_name15
;
733 long var16
/* : Int */;
734 long var17
/* : Int */;
735 short int var19
/* : Bool */;
738 const char* var_class_name22
;
739 long var23
/* : Int */;
740 long var24
/* : Int */;
741 short int var26
/* : Bool */;
744 const char* var_class_name29
;
745 long var30
/* : Int */;
746 val
* var31
/* : nullable Object */;
747 /* Covariant cast for argument 2 (dest) <p2:AbstractArray[nullable Object]> isa AbstractArray[E] */
748 /* <p2:AbstractArray[nullable Object]> isa AbstractArray[E] */
749 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayarray__AbstractArrayRead_FT0
];
750 cltype
= type_struct
->color
;
751 idtype
= type_struct
->id
;
752 if(cltype
>= p2
->type
->table_size
) {
755 var
= p2
->type
->type_table
[cltype
] == idtype
;
757 if (unlikely(!var
)) {
758 var_class_name
= p2
== NULL ?
"null" : p2
->type
->name
;
759 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArray[E]", var_class_name
);
760 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 106);
771 { /* Inline kernel#Int#> (var_i,var1) on <var_i:Int> */
772 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
773 /* <var1:Int> isa OTHER */
774 var4
= 1; /* easy <var1:Int> isa OTHER*/
775 if (unlikely(!var4
)) {
776 var_class_name7
= type_kernel__Int
.name
;
777 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7
);
778 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
790 { /* Inline kernel#Int#- (var_i,var9) on <var_i:Int> */
791 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
792 /* <var9:Int> isa OTHER */
793 var12
= 1; /* easy <var9:Int> isa OTHER*/
794 if (unlikely(!var12
)) {
795 var_class_name15
= type_kernel__Int
.name
;
796 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
797 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
800 var16
= var_i
- var9
;
808 { /* Inline kernel#Int#+ (var_new_start,var_i) on <var_new_start:Int> */
809 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
810 /* <var_i:Int> isa OTHER */
811 var19
= 1; /* easy <var_i:Int> isa OTHER*/
812 if (unlikely(!var19
)) {
813 var_class_name22
= type_kernel__Int
.name
;
814 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
815 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
818 var23
= var_new_start
+ var_i
;
825 { /* Inline kernel#Int#+ (var_start,var_i) on <var_start:Int> */
826 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
827 /* <var_i:Int> isa OTHER */
828 var26
= 1; /* easy <var_i:Int> isa OTHER*/
829 if (unlikely(!var26
)) {
830 var_class_name29
= type_kernel__Int
.name
;
831 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29
);
832 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
835 var30
= var_start
+ var_i
;
842 var31
= array__Array___91d_93d(self
, var24
);
845 array__Array___91d_93d_61d(var_dest
, var17
, var31
); /* Direct call array#Array#[]= on <var_dest:AbstractArray[nullable Object]>*/
851 BREAK_label
: (void)0;
854 /* method array#AbstractArrayRead#copy_to for (self: Object, Int, Int, AbstractArray[nullable Object], Int) */
855 void VIRTUAL_array__AbstractArrayRead__copy_to(val
* self
, long p0
, long p1
, val
* p2
, long p3
) {
856 array__AbstractArrayRead__copy_to(self
, p0
, p1
, p2
, p3
); /* Direct call array#AbstractArrayRead#copy_to on <self:Object(AbstractArrayRead[nullable Object])>*/
859 /* method array#AbstractArrayRead#iterator for (self: AbstractArrayRead[nullable Object]): ArrayIterator[nullable Object] */
860 val
* array__AbstractArrayRead__iterator(val
* self
) {
861 val
* var
/* : ArrayIterator[nullable Object] */;
862 val
* var1
/* : ArrayIterator[nullable Object] */;
863 var1
= NEW_array__ArrayIterator(self
->type
->resolution_table
->types
[COLOR_array__ArrayIteratorarray__AbstractArrayRead_FT0
]);
865 array__ArrayIterator__init(var1
, self
); /* Direct call array#ArrayIterator#init on <var1:ArrayIterator[nullable Object]>*/
872 /* method array#AbstractArrayRead#iterator for (self: Object): Iterator[nullable Object] */
873 val
* VIRTUAL_array__AbstractArrayRead__iterator(val
* self
) {
874 val
* var
/* : Iterator[nullable Object] */;
875 val
* var1
/* : ArrayIterator[nullable Object] */;
876 var1
= array__AbstractArrayRead__iterator(self
);
881 /* method array#AbstractArray#push for (self: AbstractArray[nullable Object], nullable Object) */
882 void array__AbstractArray__push(val
* self
, val
* p0
) {
883 short int var
/* : Bool */;
886 const struct type
* type_struct
;
887 short int is_nullable
;
888 const char* var_class_name
;
889 val
* var_item
/* var item: nullable Object */;
890 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
891 /* <p0:nullable Object> isa E */
892 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
893 cltype
= type_struct
->color
;
894 idtype
= type_struct
->id
;
895 is_nullable
= type_struct
->is_nullable
;
899 if(cltype
>= p0
->type
->table_size
) {
902 var
= p0
->type
->type_table
[cltype
] == idtype
;
905 if (unlikely(!var
)) {
906 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
907 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
908 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 147);
913 array__Array__add(self
, var_item
); /* Direct call array#Array#add on <self:AbstractArray[nullable Object]>*/
917 /* method array#AbstractArray#push for (self: Object, nullable Object) */
918 void VIRTUAL_array__AbstractArray__push(val
* self
, val
* p0
) {
919 array__AbstractArray__push(self
, p0
); /* Direct call array#AbstractArray#push on <self:Object(AbstractArray[nullable Object])>*/
922 /* method array#AbstractArray#pop for (self: AbstractArray[nullable Object]): nullable Object */
923 val
* array__AbstractArray__pop(val
* self
) {
924 val
* var
/* : nullable Object */;
925 short int var1
/* : Bool */;
926 short int var2
/* : Bool */;
927 val
* var3
/* : nullable Object */;
928 val
* var_r
/* var r: nullable Object */;
929 val
* var_
/* var : AbstractArray[nullable Object] */;
930 long var4
/* : Int */;
931 long var5
/* : Int */;
932 long var6
/* : Int */;
933 short int var8
/* : Bool */;
936 const char* var_class_name
;
937 long var9
/* : Int */;
939 var1
= array__AbstractArrayRead__is_empty(self
);
942 if (unlikely(!var2
)) {
943 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
944 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 151);
948 var3
= abstract_collection__SequenceRead__last(self
);
952 var4
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:AbstractArray[nullable Object]> */
955 { /* Inline kernel#Int#- (var4,var5) on <var4:Int> */
956 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
957 /* <var5:Int> isa OTHER */
958 var8
= 1; /* easy <var5:Int> isa OTHER*/
959 if (unlikely(!var8
)) {
960 var_class_name
= type_kernel__Int
.name
;
961 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
962 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
971 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var6
; /* _length on <var_:AbstractArray[nullable Object]> */
977 /* method array#AbstractArray#pop for (self: Object): nullable Object */
978 val
* VIRTUAL_array__AbstractArray__pop(val
* self
) {
979 val
* var
/* : nullable Object */;
980 val
* var1
/* : nullable Object */;
981 var1
= array__AbstractArray__pop(self
);
986 /* method array#AbstractArray#shift for (self: AbstractArray[nullable Object]): nullable Object */
987 val
* array__AbstractArray__shift(val
* self
) {
988 val
* var
/* : nullable Object */;
989 short int var1
/* : Bool */;
990 short int var2
/* : Bool */;
991 val
* var3
/* : nullable Object */;
992 val
* var_r
/* var r: nullable Object */;
993 long var4
/* : Int */;
994 long var_i
/* var i: Int */;
995 long var5
/* : Int */;
996 long var7
/* : Int */;
997 long var_l
/* var l: Int */;
998 short int var8
/* : Bool */;
999 short int var10
/* : Bool */;
1002 const char* var_class_name
;
1003 short int var11
/* : Bool */;
1004 long var12
/* : Int */;
1005 long var13
/* : Int */;
1006 short int var15
/* : Bool */;
1009 const char* var_class_name18
;
1010 long var19
/* : Int */;
1011 val
* var20
/* : nullable Object */;
1012 long var21
/* : Int */;
1013 long var22
/* : Int */;
1014 short int var24
/* : Bool */;
1017 const char* var_class_name27
;
1018 long var28
/* : Int */;
1019 long var29
/* : Int */;
1020 long var30
/* : Int */;
1021 short int var32
/* : Bool */;
1024 const char* var_class_name35
;
1025 long var36
/* : Int */;
1027 var1
= array__AbstractArrayRead__is_empty(self
);
1030 if (unlikely(!var2
)) {
1031 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
1032 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 159);
1036 var3
= abstract_collection__SequenceRead__first(self
);
1042 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1043 var7
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArray[nullable Object]> */
1051 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
1052 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1053 /* <var_l:Int> isa OTHER */
1054 var10
= 1; /* easy <var_l:Int> isa OTHER*/
1055 if (unlikely(!var10
)) {
1056 var_class_name
= type_kernel__Int
.name
;
1057 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1058 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
1061 var11
= var_i
< var_l
;
1070 { /* Inline kernel#Int#- (var_i,var12) on <var_i:Int> */
1071 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
1072 /* <var12:Int> isa OTHER */
1073 var15
= 1; /* easy <var12:Int> isa OTHER*/
1074 if (unlikely(!var15
)) {
1075 var_class_name18
= type_kernel__Int
.name
;
1076 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
1077 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1080 var19
= var_i
- var12
;
1083 RET_LABEL14
:(void)0;
1087 var20
= array__Array___91d_93d(self
, var_i
);
1090 array__Array___91d_93d_61d(self
, var13
, var20
); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1094 { /* Inline kernel#Int#+ (var_i,var21) on <var_i:Int> */
1095 /* Covariant cast for argument 0 (i) <var21:Int> isa OTHER */
1096 /* <var21:Int> isa OTHER */
1097 var24
= 1; /* easy <var21:Int> isa OTHER*/
1098 if (unlikely(!var24
)) {
1099 var_class_name27
= type_kernel__Int
.name
;
1100 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
1101 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1104 var28
= var_i
+ var21
;
1107 RET_LABEL23
:(void)0;
1115 BREAK_label
: (void)0;
1118 { /* Inline kernel#Int#- (var_l,var29) on <var_l:Int> */
1119 /* Covariant cast for argument 0 (i) <var29:Int> isa OTHER */
1120 /* <var29:Int> isa OTHER */
1121 var32
= 1; /* easy <var29:Int> isa OTHER*/
1122 if (unlikely(!var32
)) {
1123 var_class_name35
= type_kernel__Int
.name
;
1124 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
1125 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1128 var36
= var_l
- var29
;
1131 RET_LABEL31
:(void)0;
1134 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var30
; /* _length on <self:AbstractArray[nullable Object]> */
1140 /* method array#AbstractArray#shift for (self: Object): nullable Object */
1141 val
* VIRTUAL_array__AbstractArray__shift(val
* self
) {
1142 val
* var
/* : nullable Object */;
1143 val
* var1
/* : nullable Object */;
1144 var1
= array__AbstractArray__shift(self
);
1149 /* method array#AbstractArray#unshift for (self: AbstractArray[nullable Object], nullable Object) */
1150 void array__AbstractArray__unshift(val
* self
, val
* p0
) {
1151 short int var
/* : Bool */;
1154 const struct type
* type_struct
;
1155 short int is_nullable
;
1156 const char* var_class_name
;
1157 val
* var_item
/* var item: nullable Object */;
1158 long var1
/* : Int */;
1159 long var3
/* : Int */;
1160 long var4
/* : Int */;
1161 long var5
/* : Int */;
1162 short int var7
/* : Bool */;
1165 const char* var_class_name10
;
1166 long var11
/* : Int */;
1167 long var_i
/* var i: Int */;
1168 long var12
/* : Int */;
1169 short int var13
/* : Bool */;
1170 short int var15
/* : Bool */;
1173 const char* var_class_name18
;
1174 short int var19
/* : Bool */;
1175 long var20
/* : Int */;
1176 long var21
/* : Int */;
1177 short int var23
/* : Bool */;
1180 const char* var_class_name26
;
1181 long var27
/* : Int */;
1182 val
* var28
/* : nullable Object */;
1183 long var29
/* : Int */;
1184 long var30
/* : Int */;
1185 short int var32
/* : Bool */;
1188 const char* var_class_name35
;
1189 long var36
/* : Int */;
1190 long var37
/* : Int */;
1191 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
1192 /* <p0:nullable Object> isa E */
1193 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
1194 cltype
= type_struct
->color
;
1195 idtype
= type_struct
->id
;
1196 is_nullable
= type_struct
->is_nullable
;
1200 if(cltype
>= p0
->type
->table_size
) {
1203 var
= p0
->type
->type_table
[cltype
] == idtype
;
1206 if (unlikely(!var
)) {
1207 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1208 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1209 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 171);
1214 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1215 var3
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArray[nullable Object]> */
1222 { /* Inline kernel#Int#- (var1,var4) on <var1:Int> */
1223 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
1224 /* <var4:Int> isa OTHER */
1225 var7
= 1; /* easy <var4:Int> isa OTHER*/
1226 if (unlikely(!var7
)) {
1227 var_class_name10
= type_kernel__Int
.name
;
1228 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
1229 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1232 var11
= var1
- var4
;
1242 { /* Inline kernel#Int#>= (var_i,var12) on <var_i:Int> */
1243 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
1244 /* <var12:Int> isa OTHER */
1245 var15
= 1; /* easy <var12:Int> isa OTHER*/
1246 if (unlikely(!var15
)) {
1247 var_class_name18
= type_kernel__Int
.name
;
1248 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
1249 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
1252 var19
= var_i
>= var12
;
1255 RET_LABEL14
:(void)0;
1261 { /* Inline kernel#Int#+ (var_i,var20) on <var_i:Int> */
1262 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
1263 /* <var20:Int> isa OTHER */
1264 var23
= 1; /* easy <var20:Int> isa OTHER*/
1265 if (unlikely(!var23
)) {
1266 var_class_name26
= type_kernel__Int
.name
;
1267 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
1268 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1271 var27
= var_i
+ var20
;
1274 RET_LABEL22
:(void)0;
1278 var28
= array__Array___91d_93d(self
, var_i
);
1281 array__Array___91d_93d_61d(self
, var21
, var28
); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1285 { /* Inline kernel#Int#- (var_i,var29) on <var_i:Int> */
1286 /* Covariant cast for argument 0 (i) <var29:Int> isa OTHER */
1287 /* <var29:Int> isa OTHER */
1288 var32
= 1; /* easy <var29:Int> isa OTHER*/
1289 if (unlikely(!var32
)) {
1290 var_class_name35
= type_kernel__Int
.name
;
1291 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
1292 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1295 var36
= var_i
- var29
;
1298 RET_LABEL31
:(void)0;
1306 BREAK_label
: (void)0;
1309 array__Array___91d_93d_61d(self
, var37
, var_item
); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1313 /* method array#AbstractArray#unshift for (self: Object, nullable Object) */
1314 void VIRTUAL_array__AbstractArray__unshift(val
* self
, val
* p0
) {
1315 array__AbstractArray__unshift(self
, p0
); /* Direct call array#AbstractArray#unshift on <self:Object(AbstractArray[nullable Object])>*/
1318 /* method array#AbstractArray#insert for (self: AbstractArray[nullable Object], nullable Object, Int) */
1319 void array__AbstractArray__insert(val
* self
, val
* p0
, long p1
) {
1320 short int var
/* : Bool */;
1323 const struct type
* type_struct
;
1324 short int is_nullable
;
1325 const char* var_class_name
;
1326 val
* var_item
/* var item: nullable Object */;
1327 long var_pos
/* var pos: Int */;
1328 long var1
/* : Int */;
1329 long var3
/* : Int */;
1330 long var4
/* : Int */;
1331 long var5
/* : Int */;
1332 short int var7
/* : Bool */;
1335 const char* var_class_name10
;
1336 long var11
/* : Int */;
1337 long var12
/* : Int */;
1338 long var14
/* : Int */;
1339 long var15
/* : Int */;
1340 short int var17
/* : Bool */;
1343 const char* var_class_name20
;
1344 long var21
/* : Int */;
1345 long var22
/* : Int */;
1346 long var23
/* : Int */;
1347 short int var25
/* : Bool */;
1350 const char* var_class_name28
;
1351 long var29
/* : Int */;
1352 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
1353 /* <p0:nullable Object> isa E */
1354 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArray_FT0
];
1355 cltype
= type_struct
->color
;
1356 idtype
= type_struct
->id
;
1357 is_nullable
= type_struct
->is_nullable
;
1361 if(cltype
>= p0
->type
->table_size
) {
1364 var
= p0
->type
->type_table
[cltype
] == idtype
;
1367 if (unlikely(!var
)) {
1368 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1369 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1370 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 181);
1376 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1377 var3
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArray[nullable Object]> */
1384 { /* Inline kernel#Int#+ (var1,var4) on <var1:Int> */
1385 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
1386 /* <var4:Int> isa OTHER */
1387 var7
= 1; /* easy <var4:Int> isa OTHER*/
1388 if (unlikely(!var7
)) {
1389 var_class_name10
= type_kernel__Int
.name
;
1390 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
1391 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1394 var11
= var1
+ var4
;
1401 array__Array__enlarge(self
, var5
); /* Direct call array#Array#enlarge on <self:AbstractArray[nullable Object]>*/
1404 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1405 var14
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArray[nullable Object]> */
1407 RET_LABEL13
:(void)0;
1411 { /* Inline kernel#Int#- (var12,var_pos) on <var12:Int> */
1412 /* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
1413 /* <var_pos:Int> isa OTHER */
1414 var17
= 1; /* easy <var_pos:Int> isa OTHER*/
1415 if (unlikely(!var17
)) {
1416 var_class_name20
= type_kernel__Int
.name
;
1417 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
1418 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1421 var21
= var12
- var_pos
;
1424 RET_LABEL16
:(void)0;
1429 { /* Inline kernel#Int#+ (var_pos,var22) on <var_pos:Int> */
1430 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
1431 /* <var22:Int> isa OTHER */
1432 var25
= 1; /* easy <var22:Int> isa OTHER*/
1433 if (unlikely(!var25
)) {
1434 var_class_name28
= type_kernel__Int
.name
;
1435 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
1436 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1439 var29
= var_pos
+ var22
;
1442 RET_LABEL24
:(void)0;
1446 array__AbstractArrayRead__copy_to(self
, var_pos
, var15
, self
, var23
); /* Direct call array#AbstractArrayRead#copy_to on <self:AbstractArray[nullable Object]>*/
1449 array__Array___91d_93d_61d(self
, var_pos
, var_item
); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1453 /* method array#AbstractArray#insert for (self: Object, nullable Object, Int) */
1454 void VIRTUAL_array__AbstractArray__insert(val
* self
, val
* p0
, long p1
) {
1455 array__AbstractArray__insert(self
, p0
, p1
); /* Direct call array#AbstractArray#insert on <self:Object(AbstractArray[nullable Object])>*/
1458 /* method array#AbstractArray#insert_all for (self: AbstractArray[nullable Object], Collection[nullable Object], Int) */
1459 void array__AbstractArray__insert_all(val
* self
, val
* p0
, long p1
) {
1460 short int var
/* : Bool */;
1463 const struct type
* type_struct
;
1464 const char* var_class_name
;
1465 val
* var_coll
/* var coll: Collection[nullable Object] */;
1466 long var_pos
/* var pos: Int */;
1467 long var1
/* : Int */;
1468 long var_l
/* var l: Int */;
1469 long var2
/* : Int */;
1470 short int var3
/* : Bool */;
1471 short int var4
/* : Bool */;
1472 short int var6
/* : Bool */;
1473 long var7
/* : Int */;
1474 long var9
/* : Int */;
1475 long var10
/* : Int */;
1476 short int var12
/* : Bool */;
1479 const char* var_class_name15
;
1480 long var16
/* : Int */;
1481 val
* var_
/* var : AbstractArray[nullable Object] */;
1482 long var17
/* : Int */;
1483 long var18
/* : Int */;
1484 short int var20
/* : Bool */;
1487 const char* var_class_name23
;
1488 long var24
/* : Int */;
1489 long var25
/* : Int */;
1490 long var27
/* : Int */;
1491 long var28
/* : Int */;
1492 short int var30
/* : Bool */;
1495 const char* var_class_name33
;
1496 long var34
/* : Int */;
1497 long var35
/* : Int */;
1498 short int var37
/* : Bool */;
1501 const char* var_class_name40
;
1502 long var41
/* : Int */;
1503 long var42
/* : Int */;
1504 short int var44
/* : Bool */;
1507 const char* var_class_name47
;
1508 long var48
/* : Int */;
1509 val
* var_49
/* var : Collection[nullable Object] */;
1510 val
* var50
/* : Iterator[nullable Object] */;
1511 val
* var_51
/* var : Iterator[nullable Object] */;
1512 short int var52
/* : Bool */;
1513 val
* var53
/* : nullable Object */;
1514 val
* var_c
/* var c: nullable Object */;
1515 long var54
/* : Int */;
1516 long var55
/* : Int */;
1517 short int var57
/* : Bool */;
1520 const char* var_class_name60
;
1521 long var61
/* : Int */;
1522 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
1523 /* <p0:Collection[nullable Object]> isa Collection[E] */
1524 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collectionabstract_collection__Sequence_FT0
];
1525 cltype
= type_struct
->color
;
1526 idtype
= type_struct
->id
;
1527 if(cltype
>= p0
->type
->table_size
) {
1530 var
= p0
->type
->type_table
[cltype
] == idtype
;
1532 if (unlikely(!var
)) {
1533 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1534 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
1535 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 188);
1541 var1
= ((long (*)(val
*))(var_coll
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_coll
) /* length on <var_coll:Collection[nullable Object]>*/;
1546 { /* Inline kernel#Int#== (var_l,var2) on <var_l:Int> */
1547 var6
= var_l
== var2
;
1559 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1560 var9
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArray[nullable Object]> */
1566 { /* Inline kernel#Int#+ (var7,var_l) on <var7:Int> */
1567 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1568 /* <var_l:Int> isa OTHER */
1569 var12
= 1; /* easy <var_l:Int> isa OTHER*/
1570 if (unlikely(!var12
)) {
1571 var_class_name15
= type_kernel__Int
.name
;
1572 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
1573 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1576 var16
= var7
+ var_l
;
1579 RET_LABEL11
:(void)0;
1583 array__Array__enlarge(self
, var10
); /* Direct call array#Array#enlarge on <self:AbstractArray[nullable Object]>*/
1586 var17
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:AbstractArray[nullable Object]> */
1588 { /* Inline kernel#Int#+ (var17,var_l) on <var17:Int> */
1589 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1590 /* <var_l:Int> isa OTHER */
1591 var20
= 1; /* easy <var_l:Int> isa OTHER*/
1592 if (unlikely(!var20
)) {
1593 var_class_name23
= type_kernel__Int
.name
;
1594 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23
);
1595 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1598 var24
= var17
+ var_l
;
1601 RET_LABEL19
:(void)0;
1604 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var18
; /* _length on <var_:AbstractArray[nullable Object]> */
1606 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1607 var27
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArray[nullable Object]> */
1609 RET_LABEL26
:(void)0;
1613 { /* Inline kernel#Int#- (var25,var_pos) on <var25:Int> */
1614 /* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
1615 /* <var_pos:Int> isa OTHER */
1616 var30
= 1; /* easy <var_pos:Int> isa OTHER*/
1617 if (unlikely(!var30
)) {
1618 var_class_name33
= type_kernel__Int
.name
;
1619 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
1620 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1623 var34
= var25
- var_pos
;
1626 RET_LABEL29
:(void)0;
1630 { /* Inline kernel#Int#- (var28,var_l) on <var28:Int> */
1631 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1632 /* <var_l:Int> isa OTHER */
1633 var37
= 1; /* easy <var_l:Int> isa OTHER*/
1634 if (unlikely(!var37
)) {
1635 var_class_name40
= type_kernel__Int
.name
;
1636 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
1637 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1640 var41
= var28
- var_l
;
1643 RET_LABEL36
:(void)0;
1647 { /* Inline kernel#Int#+ (var_pos,var_l) on <var_pos:Int> */
1648 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1649 /* <var_l:Int> isa OTHER */
1650 var44
= 1; /* easy <var_l:Int> isa OTHER*/
1651 if (unlikely(!var44
)) {
1652 var_class_name47
= type_kernel__Int
.name
;
1653 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47
);
1654 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1657 var48
= var_pos
+ var_l
;
1660 RET_LABEL43
:(void)0;
1664 array__AbstractArrayRead__copy_to(self
, var_pos
, var35
, self
, var42
); /* Direct call array#AbstractArrayRead#copy_to on <self:AbstractArray[nullable Object]>*/
1668 var50
= ((val
* (*)(val
*))(var_49
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_49
) /* iterator on <var_49:Collection[nullable Object]>*/;
1673 var52
= ((short int (*)(val
*))(var_51
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_51
) /* is_ok on <var_51:Iterator[nullable Object]>*/;
1677 var53
= ((val
* (*)(val
*))(var_51
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_51
) /* item on <var_51:Iterator[nullable Object]>*/;
1681 array__Array___91d_93d_61d(self
, var_pos
, var_c
); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1685 { /* Inline kernel#Int#+ (var_pos,var54) on <var_pos:Int> */
1686 /* Covariant cast for argument 0 (i) <var54:Int> isa OTHER */
1687 /* <var54:Int> isa OTHER */
1688 var57
= 1; /* easy <var54:Int> isa OTHER*/
1689 if (unlikely(!var57
)) {
1690 var_class_name60
= type_kernel__Int
.name
;
1691 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name60
);
1692 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1695 var61
= var_pos
+ var54
;
1698 RET_LABEL56
:(void)0;
1703 ((void (*)(val
*))(var_51
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_51
) /* next on <var_51:Iterator[nullable Object]>*/;
1709 BREAK_label
: (void)0;
1711 { /* Inline abstract_collection#Iterator#finish (var_51) on <var_51:Iterator[nullable Object]> */
1712 RET_LABEL62
:(void)0;
1717 /* method array#AbstractArray#insert_all for (self: Object, Collection[nullable Object], Int) */
1718 void VIRTUAL_array__AbstractArray__insert_all(val
* self
, val
* p0
, long p1
) {
1719 array__AbstractArray__insert_all(self
, p0
, p1
); /* Direct call array#AbstractArray#insert_all on <self:Object(AbstractArray[nullable Object])>*/
1722 /* method array#AbstractArray#clear for (self: AbstractArray[nullable Object]) */
1723 void array__AbstractArray__clear(val
* self
) {
1724 long var
/* : Int */;
1726 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var
; /* _length on <self:AbstractArray[nullable Object]> */
1729 /* method array#AbstractArray#clear for (self: Object) */
1730 void VIRTUAL_array__AbstractArray__clear(val
* self
) {
1731 array__AbstractArray__clear(self
); /* Direct call array#AbstractArray#clear on <self:Object(AbstractArray[nullable Object])>*/
1734 /* method array#AbstractArray#remove for (self: AbstractArray[nullable Object], nullable Object) */
1735 void array__AbstractArray__remove(val
* self
, val
* p0
) {
1736 short int var
/* : Bool */;
1739 const struct type
* type_struct
;
1740 short int is_nullable
;
1741 const char* var_class_name
;
1742 val
* var_item
/* var item: nullable Object */;
1743 long var1
/* : Int */;
1744 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
1745 /* <p0:nullable Object> isa E */
1746 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
1747 cltype
= type_struct
->color
;
1748 idtype
= type_struct
->id
;
1749 is_nullable
= type_struct
->is_nullable
;
1753 if(cltype
>= p0
->type
->table_size
) {
1756 var
= p0
->type
->type_table
[cltype
] == idtype
;
1759 if (unlikely(!var
)) {
1760 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1761 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1762 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 205);
1767 var1
= array__AbstractArrayRead__index_of(self
, var_item
);
1770 array__AbstractArray__remove_at(self
, var1
); /* Direct call array#AbstractArray#remove_at on <self:AbstractArray[nullable Object]>*/
1774 /* method array#AbstractArray#remove for (self: Object, nullable Object) */
1775 void VIRTUAL_array__AbstractArray__remove(val
* self
, val
* p0
) {
1776 array__AbstractArray__remove(self
, p0
); /* Direct call array#AbstractArray#remove on <self:Object(AbstractArray[nullable Object])>*/
1779 /* method array#AbstractArray#remove_at for (self: AbstractArray[nullable Object], Int) */
1780 void array__AbstractArray__remove_at(val
* self
, long p0
) {
1781 long var_i
/* var i: Int */;
1782 long var
/* : Int */;
1783 long var2
/* : Int */;
1784 long var_l
/* var l: Int */;
1785 short int var3
/* : Bool */;
1786 long var4
/* : Int */;
1787 short int var5
/* : Bool */;
1788 short int var7
/* : Bool */;
1791 const char* var_class_name
;
1792 short int var8
/* : Bool */;
1793 short int var_
/* var : Bool */;
1794 short int var9
/* : Bool */;
1795 short int var11
/* : Bool */;
1798 const char* var_class_name14
;
1799 short int var15
/* : Bool */;
1800 long var16
/* : Int */;
1801 long var17
/* : Int */;
1802 short int var19
/* : Bool */;
1805 const char* var_class_name22
;
1806 long var23
/* : Int */;
1807 long var_j
/* var j: Int */;
1808 short int var24
/* : Bool */;
1809 short int var26
/* : Bool */;
1812 const char* var_class_name29
;
1813 short int var30
/* : Bool */;
1814 long var31
/* : Int */;
1815 long var32
/* : Int */;
1816 short int var34
/* : Bool */;
1819 const char* var_class_name37
;
1820 long var38
/* : Int */;
1821 val
* var39
/* : nullable Object */;
1822 long var40
/* : Int */;
1823 long var41
/* : Int */;
1824 short int var43
/* : Bool */;
1827 const char* var_class_name46
;
1828 long var47
/* : Int */;
1829 long var48
/* : Int */;
1830 long var49
/* : Int */;
1831 short int var51
/* : Bool */;
1834 const char* var_class_name54
;
1835 long var55
/* : Int */;
1838 { /* Inline array#AbstractArrayRead#length (self) on <self:AbstractArray[nullable Object]> */
1839 var2
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArray[nullable Object]> */
1847 { /* Inline kernel#Int#>= (var_i,var4) on <var_i:Int> */
1848 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
1849 /* <var4:Int> isa OTHER */
1850 var7
= 1; /* easy <var4:Int> isa OTHER*/
1851 if (unlikely(!var7
)) {
1852 var_class_name
= type_kernel__Int
.name
;
1853 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1854 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
1857 var8
= var_i
>= var4
;
1866 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
1867 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1868 /* <var_l:Int> isa OTHER */
1869 var11
= 1; /* easy <var_l:Int> isa OTHER*/
1870 if (unlikely(!var11
)) {
1871 var_class_name14
= type_kernel__Int
.name
;
1872 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
1873 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
1876 var15
= var_i
< var_l
;
1879 RET_LABEL10
:(void)0;
1889 { /* Inline kernel#Int#+ (var_i,var16) on <var_i:Int> */
1890 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
1891 /* <var16:Int> isa OTHER */
1892 var19
= 1; /* easy <var16:Int> isa OTHER*/
1893 if (unlikely(!var19
)) {
1894 var_class_name22
= type_kernel__Int
.name
;
1895 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
1896 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1899 var23
= var_i
+ var16
;
1902 RET_LABEL18
:(void)0;
1908 { /* Inline kernel#Int#< (var_j,var_l) on <var_j:Int> */
1909 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1910 /* <var_l:Int> isa OTHER */
1911 var26
= 1; /* easy <var_l:Int> isa OTHER*/
1912 if (unlikely(!var26
)) {
1913 var_class_name29
= type_kernel__Int
.name
;
1914 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29
);
1915 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
1918 var30
= var_j
< var_l
;
1921 RET_LABEL25
:(void)0;
1927 { /* Inline kernel#Int#- (var_j,var31) on <var_j:Int> */
1928 /* Covariant cast for argument 0 (i) <var31:Int> isa OTHER */
1929 /* <var31:Int> isa OTHER */
1930 var34
= 1; /* easy <var31:Int> isa OTHER*/
1931 if (unlikely(!var34
)) {
1932 var_class_name37
= type_kernel__Int
.name
;
1933 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37
);
1934 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1937 var38
= var_j
- var31
;
1940 RET_LABEL33
:(void)0;
1944 var39
= array__Array___91d_93d(self
, var_j
);
1947 array__Array___91d_93d_61d(self
, var32
, var39
); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1951 { /* Inline kernel#Int#+ (var_j,var40) on <var_j:Int> */
1952 /* Covariant cast for argument 0 (i) <var40:Int> isa OTHER */
1953 /* <var40:Int> isa OTHER */
1954 var43
= 1; /* easy <var40:Int> isa OTHER*/
1955 if (unlikely(!var43
)) {
1956 var_class_name46
= type_kernel__Int
.name
;
1957 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46
);
1958 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
1961 var47
= var_j
+ var40
;
1964 RET_LABEL42
:(void)0;
1972 BREAK_label
: (void)0;
1975 { /* Inline kernel#Int#- (var_l,var48) on <var_l:Int> */
1976 /* Covariant cast for argument 0 (i) <var48:Int> isa OTHER */
1977 /* <var48:Int> isa OTHER */
1978 var51
= 1; /* easy <var48:Int> isa OTHER*/
1979 if (unlikely(!var51
)) {
1980 var_class_name54
= type_kernel__Int
.name
;
1981 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54
);
1982 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
1985 var55
= var_l
- var48
;
1988 RET_LABEL50
:(void)0;
1991 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var49
; /* _length on <self:AbstractArray[nullable Object]> */
1996 /* method array#AbstractArray#remove_at for (self: Object, Int) */
1997 void VIRTUAL_array__AbstractArray__remove_at(val
* self
, long p0
) {
1998 array__AbstractArray__remove_at(self
, p0
); /* Direct call array#AbstractArray#remove_at on <self:Object(AbstractArray[nullable Object])>*/
2001 /* method array#Array#[] for (self: Array[nullable Object], Int): nullable Object */
2002 val
* array__Array___91d_93d(val
* self
, long p0
) {
2003 val
* var
/* : nullable Object */;
2004 long var_index
/* var index: Int */;
2005 short int var1
/* : Bool */;
2006 long var2
/* : Int */;
2007 short int var3
/* : Bool */;
2008 short int var5
/* : Bool */;
2011 const char* var_class_name
;
2012 short int var6
/* : Bool */;
2013 short int var_
/* var : Bool */;
2014 long var7
/* : Int */;
2015 short int var8
/* : Bool */;
2016 short int var10
/* : Bool */;
2019 const char* var_class_name13
;
2020 short int var14
/* : Bool */;
2021 val
* var15
/* : nullable NativeArray[nullable Object] */;
2022 val
* var16
/* : nullable Object */;
2023 val
* var18
/* : nullable Object */;
2027 { /* Inline kernel#Int#>= (var_index,var2) on <var_index:Int> */
2028 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
2029 /* <var2:Int> isa OTHER */
2030 var5
= 1; /* easy <var2:Int> isa OTHER*/
2031 if (unlikely(!var5
)) {
2032 var_class_name
= type_kernel__Int
.name
;
2033 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2034 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
2037 var6
= var_index
>= var2
;
2045 var7
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
2047 { /* Inline kernel#Int#< (var_index,var7) on <var_index:Int> */
2048 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
2049 /* <var7:Int> isa OTHER */
2050 var10
= 1; /* easy <var7:Int> isa OTHER*/
2051 if (unlikely(!var10
)) {
2052 var_class_name13
= type_kernel__Int
.name
;
2053 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
2054 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
2057 var14
= var_index
< var7
;
2067 if (unlikely(!var1
)) {
2068 PRINT_ERROR("Runtime error: %s", "Assert \'index\' failed");
2069 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 258);
2072 var15
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
2073 if (var15
== NULL
) {
2074 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2075 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 259);
2078 { /* Inline array#NativeArray#[] (var15,var_index) on <var15:nullable NativeArray[nullable Object]> */
2079 var18
= ((struct instance_array__NativeArray
*)var15
)->values
[var_index
];
2082 RET_LABEL17
:(void)0;
2090 /* method array#Array#[] for (self: Object, Int): nullable Object */
2091 val
* VIRTUAL_array__Array___91d_93d(val
* self
, long p0
) {
2092 val
* var
/* : nullable Object */;
2093 val
* var1
/* : nullable Object */;
2094 var1
= array__Array___91d_93d(self
, p0
);
2099 /* method array#Array#[]= for (self: Array[nullable Object], Int, nullable Object) */
2100 void array__Array___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
2101 short int var
/* : Bool */;
2104 const struct type
* type_struct
;
2105 short int is_nullable
;
2106 const char* var_class_name
;
2107 long var_index
/* var index: Int */;
2108 val
* var_item
/* var item: nullable Object */;
2109 short int var1
/* : Bool */;
2110 long var2
/* : Int */;
2111 short int var3
/* : Bool */;
2112 short int var5
/* : Bool */;
2115 const char* var_class_name8
;
2116 short int var9
/* : Bool */;
2117 short int var_
/* var : Bool */;
2118 long var10
/* : Int */;
2119 long var11
/* : Int */;
2120 long var12
/* : Int */;
2121 short int var14
/* : Bool */;
2124 const char* var_class_name17
;
2125 long var18
/* : Int */;
2126 short int var19
/* : Bool */;
2127 short int var21
/* : Bool */;
2130 const char* var_class_name24
;
2131 short int var25
/* : Bool */;
2132 long var26
/* : Int */;
2133 short int var27
/* : Bool */;
2134 short int var29
/* : Bool */;
2137 const char* var_class_name32
;
2138 short int var33
/* : Bool */;
2139 long var34
/* : Int */;
2140 long var35
/* : Int */;
2141 short int var37
/* : Bool */;
2144 const char* var_class_name40
;
2145 long var41
/* : Int */;
2146 long var42
/* : Int */;
2147 short int var43
/* : Bool */;
2148 short int var45
/* : Bool */;
2151 const char* var_class_name48
;
2152 short int var49
/* : Bool */;
2153 long var50
/* : Int */;
2154 long var51
/* : Int */;
2155 short int var53
/* : Bool */;
2158 const char* var_class_name56
;
2159 long var57
/* : Int */;
2160 val
* var58
/* : nullable NativeArray[nullable Object] */;
2161 short int var60
/* : Bool */;
2164 const struct type
* type_struct63
;
2165 short int is_nullable64
;
2166 const char* var_class_name65
;
2167 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa E */
2168 /* <p1:nullable Object> isa E */
2169 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
2170 cltype
= type_struct
->color
;
2171 idtype
= type_struct
->id
;
2172 is_nullable
= type_struct
->is_nullable
;
2176 if(cltype
>= p1
->type
->table_size
) {
2179 var
= p1
->type
->type_table
[cltype
] == idtype
;
2182 if (unlikely(!var
)) {
2183 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
2184 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
2185 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 262);
2192 { /* Inline kernel#Int#>= (var_index,var2) on <var_index:Int> */
2193 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
2194 /* <var2:Int> isa OTHER */
2195 var5
= 1; /* easy <var2:Int> isa OTHER*/
2196 if (unlikely(!var5
)) {
2197 var_class_name8
= type_kernel__Int
.name
;
2198 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
2199 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
2202 var9
= var_index
>= var2
;
2210 var10
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
2213 { /* Inline kernel#Int#+ (var10,var11) on <var10:Int> */
2214 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
2215 /* <var11:Int> isa OTHER */
2216 var14
= 1; /* easy <var11:Int> isa OTHER*/
2217 if (unlikely(!var14
)) {
2218 var_class_name17
= type_kernel__Int
.name
;
2219 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
2220 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
2223 var18
= var10
+ var11
;
2226 RET_LABEL13
:(void)0;
2230 { /* Inline kernel#Int#< (var_index,var12) on <var_index:Int> */
2231 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2232 /* <var12:Int> isa OTHER */
2233 var21
= 1; /* easy <var12:Int> isa OTHER*/
2234 if (unlikely(!var21
)) {
2235 var_class_name24
= type_kernel__Int
.name
;
2236 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
2237 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
2240 var25
= var_index
< var12
;
2243 RET_LABEL20
:(void)0;
2250 if (unlikely(!var1
)) {
2251 PRINT_ERROR("Runtime error: %s", "Assert \'index\' failed");
2252 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 264);
2255 var26
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
2257 { /* Inline kernel#Int#<= (var26,var_index) on <var26:Int> */
2258 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
2259 /* <var_index:Int> isa OTHER */
2260 var29
= 1; /* easy <var_index:Int> isa OTHER*/
2261 if (unlikely(!var29
)) {
2262 var_class_name32
= type_kernel__Int
.name
;
2263 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
2264 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
2267 var33
= var26
<= var_index
;
2270 RET_LABEL28
:(void)0;
2276 { /* Inline kernel#Int#+ (var_index,var34) on <var_index:Int> */
2277 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
2278 /* <var34:Int> isa OTHER */
2279 var37
= 1; /* easy <var34:Int> isa OTHER*/
2280 if (unlikely(!var37
)) {
2281 var_class_name40
= type_kernel__Int
.name
;
2282 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
2283 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
2286 var41
= var_index
+ var34
;
2289 RET_LABEL36
:(void)0;
2293 array__Array__enlarge(self
, var35
); /* Direct call array#Array#enlarge on <self:Array[nullable Object]>*/
2297 var42
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
2299 { /* Inline kernel#Int#<= (var42,var_index) on <var42:Int> */
2300 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
2301 /* <var_index:Int> isa OTHER */
2302 var45
= 1; /* easy <var_index:Int> isa OTHER*/
2303 if (unlikely(!var45
)) {
2304 var_class_name48
= type_kernel__Int
.name
;
2305 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
2306 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
2309 var49
= var42
<= var_index
;
2312 RET_LABEL44
:(void)0;
2318 { /* Inline kernel#Int#+ (var_index,var50) on <var_index:Int> */
2319 /* Covariant cast for argument 0 (i) <var50:Int> isa OTHER */
2320 /* <var50:Int> isa OTHER */
2321 var53
= 1; /* easy <var50:Int> isa OTHER*/
2322 if (unlikely(!var53
)) {
2323 var_class_name56
= type_kernel__Int
.name
;
2324 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56
);
2325 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
2328 var57
= var_index
+ var50
;
2331 RET_LABEL52
:(void)0;
2334 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var51
; /* _length on <self:Array[nullable Object]> */
2337 var58
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
2338 if (var58
== NULL
) {
2339 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2340 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 271);
2343 { /* Inline array#NativeArray#[]= (var58,var_index,var_item) on <var58:nullable NativeArray[nullable Object]> */
2344 /* Covariant cast for argument 1 (item) <var_item:nullable Object> isa E */
2345 /* <var_item:nullable Object> isa E */
2346 type_struct63
= var58
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
2347 cltype61
= type_struct63
->color
;
2348 idtype62
= type_struct63
->id
;
2349 is_nullable64
= type_struct63
->is_nullable
;
2350 if(var_item
== NULL
) {
2351 var60
= is_nullable64
;
2353 if(cltype61
>= var_item
->type
->table_size
) {
2356 var60
= var_item
->type
->type_table
[cltype61
] == idtype62
;
2359 if (unlikely(!var60
)) {
2360 var_class_name65
= var_item
== NULL ?
"null" : var_item
->type
->name
;
2361 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name65
);
2362 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 778);
2365 ((struct instance_array__NativeArray
*)var58
)->values
[var_index
]=var_item
;
2366 RET_LABEL59
:(void)0;
2371 /* method array#Array#[]= for (self: Object, Int, nullable Object) */
2372 void VIRTUAL_array__Array___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
2373 array__Array___91d_93d_61d(self
, p0
, p1
); /* Direct call array#Array#[]= on <self:Object(Array[nullable Object])>*/
2376 /* method array#Array#add for (self: Array[nullable Object], nullable Object) */
2377 void array__Array__add(val
* self
, val
* p0
) {
2378 short int var
/* : Bool */;
2381 const struct type
* type_struct
;
2382 short int is_nullable
;
2383 const char* var_class_name
;
2384 val
* var_item
/* var item: nullable Object */;
2385 long var1
/* : Int */;
2386 long var_l
/* var l: Int */;
2387 long var2
/* : Int */;
2388 short int var3
/* : Bool */;
2389 short int var5
/* : Bool */;
2392 const char* var_class_name8
;
2393 short int var9
/* : Bool */;
2394 long var10
/* : Int */;
2395 long var11
/* : Int */;
2396 short int var13
/* : Bool */;
2399 const char* var_class_name16
;
2400 long var17
/* : Int */;
2401 long var18
/* : Int */;
2402 long var19
/* : Int */;
2403 short int var21
/* : Bool */;
2406 const char* var_class_name24
;
2407 long var25
/* : Int */;
2408 val
* var26
/* : nullable NativeArray[nullable Object] */;
2409 short int var28
/* : Bool */;
2412 const struct type
* type_struct31
;
2413 short int is_nullable32
;
2414 const char* var_class_name33
;
2415 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
2416 /* <p0:nullable Object> isa E */
2417 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SimpleCollection_FT0
];
2418 cltype
= type_struct
->color
;
2419 idtype
= type_struct
->id
;
2420 is_nullable
= type_struct
->is_nullable
;
2424 if(cltype
>= p0
->type
->table_size
) {
2427 var
= p0
->type
->type_table
[cltype
] == idtype
;
2430 if (unlikely(!var
)) {
2431 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2432 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
2433 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 274);
2437 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
2439 var2
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
2441 { /* Inline kernel#Int#<= (var2,var_l) on <var2:Int> */
2442 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
2443 /* <var_l:Int> isa OTHER */
2444 var5
= 1; /* easy <var_l:Int> isa OTHER*/
2445 if (unlikely(!var5
)) {
2446 var_class_name8
= type_kernel__Int
.name
;
2447 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
2448 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
2451 var9
= var2
<= var_l
;
2460 { /* Inline kernel#Int#+ (var_l,var10) on <var_l:Int> */
2461 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2462 /* <var10:Int> isa OTHER */
2463 var13
= 1; /* easy <var10:Int> isa OTHER*/
2464 if (unlikely(!var13
)) {
2465 var_class_name16
= type_kernel__Int
.name
;
2466 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
2467 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
2470 var17
= var_l
+ var10
;
2473 RET_LABEL12
:(void)0;
2477 array__Array__enlarge(self
, var11
); /* Direct call array#Array#enlarge on <self:Array[nullable Object]>*/
2483 { /* Inline kernel#Int#+ (var_l,var18) on <var_l:Int> */
2484 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
2485 /* <var18:Int> isa OTHER */
2486 var21
= 1; /* easy <var18:Int> isa OTHER*/
2487 if (unlikely(!var21
)) {
2488 var_class_name24
= type_kernel__Int
.name
;
2489 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
2490 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
2493 var25
= var_l
+ var18
;
2496 RET_LABEL20
:(void)0;
2499 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var19
; /* _length on <self:Array[nullable Object]> */
2500 var26
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
2501 if (var26
== NULL
) {
2502 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2503 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 281);
2506 { /* Inline array#NativeArray#[]= (var26,var_l,var_item) on <var26:nullable NativeArray[nullable Object]> */
2507 /* Covariant cast for argument 1 (item) <var_item:nullable Object> isa E */
2508 /* <var_item:nullable Object> isa E */
2509 type_struct31
= var26
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
2510 cltype29
= type_struct31
->color
;
2511 idtype30
= type_struct31
->id
;
2512 is_nullable32
= type_struct31
->is_nullable
;
2513 if(var_item
== NULL
) {
2514 var28
= is_nullable32
;
2516 if(cltype29
>= var_item
->type
->table_size
) {
2519 var28
= var_item
->type
->type_table
[cltype29
] == idtype30
;
2522 if (unlikely(!var28
)) {
2523 var_class_name33
= var_item
== NULL ?
"null" : var_item
->type
->name
;
2524 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name33
);
2525 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 778);
2528 ((struct instance_array__NativeArray
*)var26
)->values
[var_l
]=var_item
;
2529 RET_LABEL27
:(void)0;
2534 /* method array#Array#add for (self: Object, nullable Object) */
2535 void VIRTUAL_array__Array__add(val
* self
, val
* p0
) {
2536 array__Array__add(self
, p0
); /* Direct call array#Array#add on <self:Object(Array[nullable Object])>*/
2539 /* method array#Array#enlarge for (self: Array[nullable Object], Int) */
2540 void array__Array__enlarge(val
* self
, long p0
) {
2541 long var_cap
/* var cap: Int */;
2542 long var
/* : Int */;
2543 long var_c
/* var c: Int */;
2544 short int var1
/* : Bool */;
2545 short int var3
/* : Bool */;
2548 const char* var_class_name
;
2549 short int var4
/* : Bool */;
2550 short int var5
/* : Bool */;
2551 short int var7
/* : Bool */;
2554 const char* var_class_name10
;
2555 short int var11
/* : Bool */;
2556 long var12
/* : Int */;
2557 long var13
/* : Int */;
2558 short int var15
/* : Bool */;
2561 const char* var_class_name18
;
2562 long var19
/* : Int */;
2563 long var20
/* : Int */;
2564 long var21
/* : Int */;
2565 short int var23
/* : Bool */;
2568 const char* var_class_name26
;
2569 long var27
/* : Int */;
2570 val
* var28
/* : NativeArray[nullable Object] */;
2571 val
* var30
/* : NativeArray[nullable Object] */;
2572 val
* var_a
/* var a: NativeArray[nullable Object] */;
2573 long var31
/* : Int */;
2574 long var32
/* : Int */;
2575 short int var33
/* : Bool */;
2576 short int var35
/* : Bool */;
2579 const char* var_class_name38
;
2580 short int var39
/* : Bool */;
2581 val
* var40
/* : nullable NativeArray[nullable Object] */;
2582 long var41
/* : Int */;
2583 short int var43
/* : Bool */;
2586 const struct type
* type_struct
;
2587 const char* var_class_name46
;
2589 var
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
2592 { /* Inline kernel#Int#<= (var_cap,var_c) on <var_cap:Int> */
2593 /* Covariant cast for argument 0 (i) <var_c:Int> isa OTHER */
2594 /* <var_c:Int> isa OTHER */
2595 var3
= 1; /* easy <var_c:Int> isa OTHER*/
2596 if (unlikely(!var3
)) {
2597 var_class_name
= type_kernel__Int
.name
;
2598 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2599 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
2602 var4
= var_cap
<= var_c
;
2614 { /* Inline kernel#Int#<= (var_c,var_cap) on <var_c:Int> */
2615 /* Covariant cast for argument 0 (i) <var_cap:Int> isa OTHER */
2616 /* <var_cap:Int> isa OTHER */
2617 var7
= 1; /* easy <var_cap:Int> isa OTHER*/
2618 if (unlikely(!var7
)) {
2619 var_class_name10
= type_kernel__Int
.name
;
2620 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
2621 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
2624 var11
= var_c
<= var_cap
;
2633 { /* Inline kernel#Int#* (var_c,var12) on <var_c:Int> */
2634 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2635 /* <var12:Int> isa OTHER */
2636 var15
= 1; /* easy <var12:Int> isa OTHER*/
2637 if (unlikely(!var15
)) {
2638 var_class_name18
= type_kernel__Int
.name
;
2639 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
2640 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 378);
2643 var19
= var_c
* var12
;
2646 RET_LABEL14
:(void)0;
2651 { /* Inline kernel#Int#+ (var13,var20) on <var13:Int> */
2652 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
2653 /* <var20:Int> isa OTHER */
2654 var23
= 1; /* easy <var20:Int> isa OTHER*/
2655 if (unlikely(!var23
)) {
2656 var_class_name26
= type_kernel__Int
.name
;
2657 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
2658 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
2661 var27
= var13
+ var20
;
2664 RET_LABEL22
:(void)0;
2672 BREAK_label
: (void)0;
2674 { /* Inline array#ArrayCapable#calloc_array (self,var_c) on <self:Array[nullable Object]> */
2675 var30
= NEW_array__NativeArray(var_c
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
2678 RET_LABEL29
:(void)0;
2682 var31
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
2685 { /* Inline kernel#Int#> (var31,var32) on <var31:Int> */
2686 /* Covariant cast for argument 0 (i) <var32:Int> isa OTHER */
2687 /* <var32:Int> isa OTHER */
2688 var35
= 1; /* easy <var32:Int> isa OTHER*/
2689 if (unlikely(!var35
)) {
2690 var_class_name38
= type_kernel__Int
.name
;
2691 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38
);
2692 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
2695 var39
= var31
> var32
;
2698 RET_LABEL34
:(void)0;
2702 var40
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
2703 var41
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
2704 if (var40
== NULL
) {
2705 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2706 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 290);
2709 { /* Inline array#NativeArray#copy_to (var40,var_a,var41) on <var40:nullable NativeArray[nullable Object]> */
2710 /* Covariant cast for argument 0 (dest) <var_a:NativeArray[nullable Object]> isa NativeArray[E] */
2711 /* <var_a:NativeArray[nullable Object]> isa NativeArray[E] */
2712 type_struct
= var40
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
2713 cltype44
= type_struct
->color
;
2714 idtype45
= type_struct
->id
;
2715 if(cltype44
>= var_a
->type
->table_size
) {
2718 var43
= var_a
->type
->type_table
[cltype44
] == idtype45
;
2720 if (unlikely(!var43
)) {
2721 var_class_name46
= var_a
== NULL ?
"null" : var_a
->type
->name
;
2722 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[E]", var_class_name46
);
2723 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 779);
2726 memmove(((struct instance_array__NativeArray
*)var_a
)->values
, ((struct instance_array__NativeArray
*)var40
)->values
, var41
*sizeof(val
*));
2727 RET_LABEL42
:(void)0;
2732 self
->attrs
[COLOR_array__Array___items
].val
= var_a
; /* _items on <self:Array[nullable Object]> */
2733 self
->attrs
[COLOR_array__Array___capacity
].l
= var_c
; /* _capacity on <self:Array[nullable Object]> */
2736 /* method array#Array#enlarge for (self: Object, Int) */
2737 void VIRTUAL_array__Array__enlarge(val
* self
, long p0
) {
2738 array__Array__enlarge(self
, p0
); /* Direct call array#Array#enlarge on <self:Object(Array[nullable Object])>*/
2741 /* method array#Array#init for (self: Array[nullable Object]) */
2742 void array__Array__init(val
* self
) {
2743 long var
/* : Int */;
2744 long var1
/* : Int */;
2746 ((void (*)(val
*))(self
->class->vft
[COLOR_array__Array__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2749 self
->attrs
[COLOR_array__Array___capacity
].l
= var
; /* _capacity on <self:Array[nullable Object]> */
2751 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var1
; /* _length on <self:Array[nullable Object]> */
2754 /* method array#Array#init for (self: Object) */
2755 void VIRTUAL_array__Array__init(val
* self
) {
2756 array__Array__init(self
); /* Direct call array#Array#init on <self:Object(Array[nullable Object])>*/
2759 /* method array#Array#with_items for (self: Array[nullable Object], Array[nullable Object]) */
2760 void array__Array__with_items(val
* self
, val
* p0
) {
2761 val
* var_objects
/* var objects: Array[nullable Object] */;
2762 val
* var
/* : nullable NativeArray[nullable Object] */;
2763 long var1
/* : Int */;
2764 long var2
/* : Int */;
2765 long var4
/* : Int */;
2767 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2770 var
= var_objects
->attrs
[COLOR_array__Array___items
].val
; /* _items on <var_objects:Array[nullable Object]> */
2771 self
->attrs
[COLOR_array__Array___items
].val
= var
; /* _items on <self:Array[nullable Object]> */
2772 var1
= var_objects
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <var_objects:Array[nullable Object]> */
2773 self
->attrs
[COLOR_array__Array___capacity
].l
= var1
; /* _capacity on <self:Array[nullable Object]> */
2775 { /* Inline array#AbstractArrayRead#length (var_objects) on <var_objects:Array[nullable Object]> */
2776 var4
= var_objects
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_objects:Array[nullable Object]> */
2781 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var2
; /* _length on <self:Array[nullable Object]> */
2784 /* method array#Array#with_items for (self: Object, Array[nullable Object]) */
2785 void VIRTUAL_array__Array__with_items(val
* self
, val
* p0
) {
2786 array__Array__with_items(self
, p0
); /* Direct call array#Array#with_items on <self:Object(Array[nullable Object])>*/
2789 /* method array#Array#with_capacity for (self: Array[nullable Object], Int) */
2790 void array__Array__with_capacity(val
* self
, long p0
) {
2791 long var_cap
/* var cap: Int */;
2792 long var
/* : Int */;
2793 short int var1
/* : Bool */;
2794 short int var3
/* : Bool */;
2797 const char* var_class_name
;
2798 short int var4
/* : Bool */;
2799 val
* var5
/* : NativeArray[nullable Object] */;
2800 val
* var7
/* : NativeArray[nullable Object] */;
2801 long var8
/* : Int */;
2803 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2808 { /* Inline kernel#Int#>= (var_cap,var) on <var_cap:Int> */
2809 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
2810 /* <var:Int> isa OTHER */
2811 var3
= 1; /* easy <var:Int> isa OTHER*/
2812 if (unlikely(!var3
)) {
2813 var_class_name
= type_kernel__Int
.name
;
2814 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2815 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
2818 var4
= var_cap
>= var
;
2824 if (unlikely(!var1
)) {
2825 PRINT_ERROR("Runtime error: %s", "Assert \'positive\' failed");
2826 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 319);
2830 { /* Inline array#ArrayCapable#calloc_array (self,var_cap) on <self:Array[nullable Object]> */
2831 var7
= NEW_array__NativeArray(var_cap
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
2837 self
->attrs
[COLOR_array__Array___items
].val
= var5
; /* _items on <self:Array[nullable Object]> */
2838 self
->attrs
[COLOR_array__Array___capacity
].l
= var_cap
; /* _capacity on <self:Array[nullable Object]> */
2840 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var8
; /* _length on <self:Array[nullable Object]> */
2843 /* method array#Array#with_capacity for (self: Object, Int) */
2844 void VIRTUAL_array__Array__with_capacity(val
* self
, long p0
) {
2845 array__Array__with_capacity(self
, p0
); /* Direct call array#Array#with_capacity on <self:Object(Array[nullable Object])>*/
2848 /* method array#Array#with_native for (self: Array[nullable Object], NativeArray[nullable Object], Int) */
2849 void array__Array__with_native(val
* self
, val
* p0
, long p1
) {
2850 short int var
/* : Bool */;
2853 const struct type
* type_struct
;
2854 const char* var_class_name
;
2855 val
* var_nat
/* var nat: NativeArray[nullable Object] */;
2856 long var_size
/* var size: Int */;
2857 long var1
/* : Int */;
2858 short int var2
/* : Bool */;
2859 short int var4
/* : Bool */;
2862 const char* var_class_name7
;
2863 short int var8
/* : Bool */;
2864 /* Covariant cast for argument 0 (nat) <p0:NativeArray[nullable Object]> isa NativeArray[E] */
2865 /* <p0:NativeArray[nullable Object]> isa NativeArray[E] */
2866 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__Array_FT0
];
2867 cltype
= type_struct
->color
;
2868 idtype
= type_struct
->id
;
2869 if(cltype
>= p0
->type
->table_size
) {
2872 var
= p0
->type
->type_table
[cltype
] == idtype
;
2874 if (unlikely(!var
)) {
2875 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2876 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[E]", var_class_name
);
2877 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 339);
2881 ((void (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2887 { /* Inline kernel#Int#>= (var_size,var1) on <var_size:Int> */
2888 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2889 /* <var1:Int> isa OTHER */
2890 var4
= 1; /* easy <var1:Int> isa OTHER*/
2891 if (unlikely(!var4
)) {
2892 var_class_name7
= type_kernel__Int
.name
;
2893 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7
);
2894 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
2897 var8
= var_size
>= var1
;
2903 if (unlikely(!var2
)) {
2904 PRINT_ERROR("Runtime error: %s", "Assert \'positive\' failed");
2905 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 342);
2908 self
->attrs
[COLOR_array__Array___items
].val
= var_nat
; /* _items on <self:Array[nullable Object]> */
2909 self
->attrs
[COLOR_array__Array___capacity
].l
= var_size
; /* _capacity on <self:Array[nullable Object]> */
2910 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var_size
; /* _length on <self:Array[nullable Object]> */
2913 /* method array#Array#with_native for (self: Object, NativeArray[nullable Object], Int) */
2914 void VIRTUAL_array__Array__with_native(val
* self
, val
* p0
, long p1
) {
2915 array__Array__with_native(self
, p0
, p1
); /* Direct call array#Array#with_native on <self:Object(Array[nullable Object])>*/
2918 /* method array#Array#== for (self: Array[nullable Object], nullable Object): Bool */
2919 short int array__Array___61d_61d(val
* self
, val
* p0
) {
2920 short int var
/* : Bool */;
2921 val
* var_o
/* var o: nullable Object */;
2922 short int var1
/* : Bool */;
2925 short int var2
/* : Bool */;
2926 short int var3
/* : Bool */;
2927 short int var4
/* : Bool */;
2928 long var5
/* : Int */;
2929 long var7
/* : Int */;
2930 long var_l
/* var l: Int */;
2931 long var8
/* : Int */;
2932 long var10
/* : Int */;
2933 short int var11
/* : Bool */;
2934 short int var12
/* : Bool */;
2935 short int var14
/* : Bool */;
2936 short int var15
/* : Bool */;
2937 short int var16
/* : Bool */;
2938 long var17
/* : Int */;
2939 long var_i
/* var i: Int */;
2940 val
* var18
/* : nullable NativeArray[nullable Object] */;
2941 val
* var_it
/* var it: nullable NativeArray[nullable Object] */;
2942 val
* var19
/* : nullable NativeArray[nullable Object] */;
2943 val
* var_oit
/* var oit: nullable NativeArray[nullable Object] */;
2944 short int var20
/* : Bool */;
2945 short int var22
/* : Bool */;
2948 const char* var_class_name
;
2949 short int var25
/* : Bool */;
2950 val
* var26
/* : nullable Object */;
2951 val
* var28
/* : nullable Object */;
2952 val
* var29
/* : nullable Object */;
2953 val
* var31
/* : nullable Object */;
2954 short int var32
/* : Bool */;
2955 short int var33
/* : Bool */;
2956 short int var34
/* : Bool */;
2957 long var35
/* : Int */;
2958 long var36
/* : Int */;
2959 short int var38
/* : Bool */;
2962 const char* var_class_name41
;
2963 long var42
/* : Int */;
2964 short int var43
/* : Bool */;
2966 /* <var_o:nullable Object> isa Array[nullable Object] */
2967 cltype
= type_array__Arraynullable_kernel__Object
.color
;
2968 idtype
= type_array__Arraynullable_kernel__Object
.id
;
2972 if(cltype
>= var_o
->type
->table_size
) {
2975 var1
= var_o
->type
->type_table
[cltype
] == idtype
;
2981 var4
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_array__Array___61d_61d
]))(self
, p0
) /* == on <self:Array[nullable Object]>*/;
2989 { /* Inline array#AbstractArrayRead#length (self) on <self:Array[nullable Object]> */
2990 var7
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
2997 { /* Inline array#AbstractArrayRead#length (var_o) on <var_o:nullable Object(Array[nullable Object])> */
2998 var10
= var_o
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_o:nullable Object(Array[nullable Object])> */
3004 { /* Inline kernel#Int#!= (var_l,var8) on <var_l:Int> */
3005 var14
= var_l
== var8
;
3009 RET_LABEL13
:(void)0;
3021 var18
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
3023 var19
= var_o
->attrs
[COLOR_array__Array___items
].val
; /* _items on <var_o:nullable Object(Array[nullable Object])> */
3027 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
3028 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
3029 /* <var_l:Int> isa OTHER */
3030 var22
= 1; /* easy <var_l:Int> isa OTHER*/
3031 if (unlikely(!var22
)) {
3032 var_class_name
= type_kernel__Int
.name
;
3033 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3034 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
3037 var25
= var_i
< var_l
;
3040 RET_LABEL21
:(void)0;
3044 if (var_it
== NULL
) {
3045 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3046 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 368);
3049 { /* Inline array#NativeArray#[] (var_it,var_i) on <var_it:nullable NativeArray[nullable Object]> */
3050 var28
= ((struct instance_array__NativeArray
*)var_it
)->values
[var_i
];
3053 RET_LABEL27
:(void)0;
3056 if (var_oit
== NULL
) {
3057 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3058 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 368);
3061 { /* Inline array#NativeArray#[] (var_oit,var_i) on <var_oit:nullable NativeArray[nullable Object]> */
3062 var31
= ((struct instance_array__NativeArray
*)var_oit
)->values
[var_i
];
3065 RET_LABEL30
:(void)0;
3068 if (var26
== NULL
) {
3069 var32
= (var29
!= NULL
);
3071 var33
= ((short int (*)(val
*, val
*))(var26
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var26
, var29
) /* != on <var26:nullable Object>*/;
3082 { /* Inline kernel#Int#+ (var_i,var35) on <var_i:Int> */
3083 /* Covariant cast for argument 0 (i) <var35:Int> isa OTHER */
3084 /* <var35:Int> isa OTHER */
3085 var38
= 1; /* easy <var35:Int> isa OTHER*/
3086 if (unlikely(!var38
)) {
3087 var_class_name41
= type_kernel__Int
.name
;
3088 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
3089 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
3092 var42
= var_i
+ var35
;
3095 RET_LABEL37
:(void)0;
3103 BREAK_label
: (void)0;
3110 /* method array#Array#== for (self: Object, nullable Object): Bool */
3111 short int VIRTUAL_array__Array___61d_61d(val
* self
, val
* p0
) {
3112 short int var
/* : Bool */;
3113 short int var1
/* : Bool */;
3114 var1
= array__Array___61d_61d(self
, p0
);
3119 /* method array#ArrayIterator#item for (self: ArrayIterator[nullable Object]): nullable Object */
3120 val
* array__ArrayIterator__item(val
* self
) {
3121 val
* var
/* : nullable Object */;
3122 val
* var1
/* : AbstractArrayRead[nullable Object] */;
3123 long var2
/* : Int */;
3124 val
* var3
/* : nullable Object */;
3125 var1
= self
->attrs
[COLOR_array__ArrayIterator___array
].val
; /* _array on <self:ArrayIterator[nullable Object]> */
3126 if (unlikely(var1
== NULL
)) {
3127 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3128 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 403);
3131 var2
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
3133 var3
= array__Array___91d_93d(var1
, var2
);
3140 /* method array#ArrayIterator#item for (self: Object): nullable Object */
3141 val
* VIRTUAL_array__ArrayIterator__item(val
* self
) {
3142 val
* var
/* : nullable Object */;
3143 val
* var1
/* : nullable Object */;
3144 var1
= array__ArrayIterator__item(self
);
3149 /* method array#ArrayIterator#is_ok for (self: ArrayIterator[nullable Object]): Bool */
3150 short int array__ArrayIterator__is_ok(val
* self
) {
3151 short int var
/* : Bool */;
3152 long var1
/* : Int */;
3153 val
* var2
/* : AbstractArrayRead[nullable Object] */;
3154 long var3
/* : Int */;
3155 long var5
/* : Int */;
3156 short int var6
/* : Bool */;
3157 short int var8
/* : Bool */;
3160 const char* var_class_name
;
3161 short int var9
/* : Bool */;
3162 var1
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
3163 var2
= self
->attrs
[COLOR_array__ArrayIterator___array
].val
; /* _array on <self:ArrayIterator[nullable Object]> */
3164 if (unlikely(var2
== NULL
)) {
3165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3166 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 407);
3170 { /* Inline array#AbstractArrayRead#length (var2) on <var2:AbstractArrayRead[nullable Object]> */
3171 var5
= var2
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var2:AbstractArrayRead[nullable Object]> */
3177 { /* Inline kernel#Int#< (var1,var3) on <var1:Int> */
3178 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3179 /* <var3:Int> isa OTHER */
3180 var8
= 1; /* easy <var3:Int> isa OTHER*/
3181 if (unlikely(!var8
)) {
3182 var_class_name
= type_kernel__Int
.name
;
3183 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3184 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
3198 /* method array#ArrayIterator#is_ok for (self: Object): Bool */
3199 short int VIRTUAL_array__ArrayIterator__is_ok(val
* self
) {
3200 short int var
/* : Bool */;
3201 short int var1
/* : Bool */;
3202 var1
= array__ArrayIterator__is_ok(self
);
3207 /* method array#ArrayIterator#next for (self: ArrayIterator[nullable Object]) */
3208 void array__ArrayIterator__next(val
* self
) {
3209 val
* var_
/* var : ArrayIterator[nullable Object] */;
3210 long var
/* : Int */;
3211 long var1
/* : Int */;
3212 long var2
/* : Int */;
3213 short int var4
/* : Bool */;
3216 const char* var_class_name
;
3217 long var5
/* : Int */;
3219 var
= var_
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <var_:ArrayIterator[nullable Object]> */
3222 { /* Inline kernel#Int#+ (var,var1) on <var:Int> */
3223 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
3224 /* <var1:Int> isa OTHER */
3225 var4
= 1; /* easy <var1:Int> isa OTHER*/
3226 if (unlikely(!var4
)) {
3227 var_class_name
= type_kernel__Int
.name
;
3228 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3229 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
3238 var_
->attrs
[COLOR_array__ArrayIterator___index
].l
= var2
; /* _index on <var_:ArrayIterator[nullable Object]> */
3241 /* method array#ArrayIterator#next for (self: Object) */
3242 void VIRTUAL_array__ArrayIterator__next(val
* self
) {
3243 array__ArrayIterator__next(self
); /* Direct call array#ArrayIterator#next on <self:Object(ArrayIterator[nullable Object])>*/
3246 /* method array#ArrayIterator#init for (self: ArrayIterator[nullable Object], AbstractArrayRead[nullable Object]) */
3247 void array__ArrayIterator__init(val
* self
, val
* p0
) {
3248 short int var
/* : Bool */;
3251 const struct type
* type_struct
;
3252 const char* var_class_name
;
3253 val
* var_a
/* var a: AbstractArrayRead[nullable Object] */;
3254 long var1
/* : Int */;
3255 /* Covariant cast for argument 0 (a) <p0:AbstractArrayRead[nullable Object]> isa AbstractArrayRead[E] */
3256 /* <p0:AbstractArrayRead[nullable Object]> isa AbstractArrayRead[E] */
3257 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayReadarray__ArrayIterator_FT0
];
3258 cltype
= type_struct
->color
;
3259 idtype
= type_struct
->id
;
3260 if(cltype
>= p0
->type
->table_size
) {
3263 var
= p0
->type
->type_table
[cltype
] == idtype
;
3265 if (unlikely(!var
)) {
3266 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3267 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArrayRead[E]", var_class_name
);
3268 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 411);
3272 self
->attrs
[COLOR_array__ArrayIterator___array
].val
= var_a
; /* _array on <self:ArrayIterator[nullable Object]> */
3274 self
->attrs
[COLOR_array__ArrayIterator___index
].l
= var1
; /* _index on <self:ArrayIterator[nullable Object]> */
3277 /* method array#ArrayIterator#init for (self: Object, AbstractArrayRead[nullable Object]) */
3278 void VIRTUAL_array__ArrayIterator__init(val
* self
, val
* p0
) {
3279 array__ArrayIterator__init(self
, p0
); /* Direct call array#ArrayIterator#init on <self:Object(ArrayIterator[nullable Object])>*/
3282 /* method array#ArrayIterator#index for (self: ArrayIterator[nullable Object]): Int */
3283 long array__ArrayIterator__index(val
* self
) {
3284 long var
/* : Int */;
3285 long var1
/* : Int */;
3286 var1
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
3291 /* method array#ArrayIterator#index for (self: Object): Int */
3292 long VIRTUAL_array__ArrayIterator__index(val
* self
) {
3293 long var
/* : Int */;
3294 long var1
/* : Int */;
3295 long var3
/* : Int */;
3296 { /* Inline array#ArrayIterator#index (self) on <self:Object(ArrayIterator[nullable Object])> */
3297 var3
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:Object(ArrayIterator[nullable Object])> */
3305 /* method array#ArraySet#has for (self: ArraySet[Object], Object): Bool */
3306 short int array__ArraySet__has(val
* self
, val
* p0
) {
3307 short int var
/* : Bool */;
3308 short int var1
/* : Bool */;
3311 const struct type
* type_struct
;
3312 const char* var_class_name
;
3313 val
* var_e
/* var e: Object */;
3314 val
* var2
/* : Array[Object] */;
3315 short int var3
/* : Bool */;
3316 /* Covariant cast for argument 0 (e) <p0:Object> isa E */
3317 /* <p0:Object> isa E */
3318 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
3319 cltype
= type_struct
->color
;
3320 idtype
= type_struct
->id
;
3321 if(cltype
>= p0
->type
->table_size
) {
3324 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3326 if (unlikely(!var1
)) {
3327 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3328 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
3329 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 445);
3333 var2
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3334 if (unlikely(var2
== NULL
)) {
3335 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3336 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 445);
3340 var3
= array__AbstractArrayRead__has(var2
, var_e
);
3347 /* method array#ArraySet#has for (self: Object, nullable Object): Bool */
3348 short int VIRTUAL_array__ArraySet__has(val
* self
, val
* p0
) {
3349 short int var
/* : Bool */;
3350 short int var1
/* : Bool */;
3351 var1
= array__ArraySet__has(self
, p0
);
3356 /* method array#ArraySet#add for (self: ArraySet[Object], Object) */
3357 void array__ArraySet__add(val
* self
, val
* p0
) {
3358 short int var
/* : Bool */;
3361 const struct type
* type_struct
;
3362 const char* var_class_name
;
3363 val
* var_e
/* var e: Object */;
3364 val
* var1
/* : Array[Object] */;
3365 short int var2
/* : Bool */;
3366 short int var3
/* : Bool */;
3367 val
* var4
/* : Array[Object] */;
3368 /* Covariant cast for argument 0 (e) <p0:Object> isa E */
3369 /* <p0:Object> isa E */
3370 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SimpleCollection_FT0
];
3371 cltype
= type_struct
->color
;
3372 idtype
= type_struct
->id
;
3373 if(cltype
>= p0
->type
->table_size
) {
3376 var
= p0
->type
->type_table
[cltype
] == idtype
;
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`", "E", var_class_name
);
3381 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 447);
3385 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3386 if (unlikely(var1
== NULL
)) {
3387 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3388 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 447);
3392 var2
= array__AbstractArrayRead__has(var1
, var_e
);
3396 var4
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3397 if (unlikely(var4
== NULL
)) {
3398 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3399 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 447);
3403 array__Array__add(var4
, var_e
); /* Direct call array#Array#add on <var4:Array[Object]>*/
3409 /* method array#ArraySet#add for (self: Object, nullable Object) */
3410 void VIRTUAL_array__ArraySet__add(val
* self
, val
* p0
) {
3411 array__ArraySet__add(self
, p0
); /* Direct call array#ArraySet#add on <self:Object(ArraySet[Object])>*/
3414 /* method array#ArraySet#is_empty for (self: ArraySet[Object]): Bool */
3415 short int array__ArraySet__is_empty(val
* self
) {
3416 short int var
/* : Bool */;
3417 val
* var1
/* : Array[Object] */;
3418 short int var2
/* : Bool */;
3419 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3420 if (unlikely(var1
== NULL
)) {
3421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3422 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 449);
3426 var2
= array__AbstractArrayRead__is_empty(var1
);
3433 /* method array#ArraySet#is_empty for (self: Object): Bool */
3434 short int VIRTUAL_array__ArraySet__is_empty(val
* self
) {
3435 short int var
/* : Bool */;
3436 short int var1
/* : Bool */;
3437 var1
= array__ArraySet__is_empty(self
);
3442 /* method array#ArraySet#length for (self: ArraySet[Object]): Int */
3443 long array__ArraySet__length(val
* self
) {
3444 long var
/* : Int */;
3445 val
* var1
/* : Array[Object] */;
3446 long var2
/* : Int */;
3447 long var4
/* : Int */;
3448 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3449 if (unlikely(var1
== NULL
)) {
3450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3451 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 451);
3455 { /* Inline array#AbstractArrayRead#length (var1) on <var1:Array[Object]> */
3456 var4
= var1
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var1:Array[Object]> */
3466 /* method array#ArraySet#length for (self: Object): Int */
3467 long VIRTUAL_array__ArraySet__length(val
* self
) {
3468 long var
/* : Int */;
3469 long var1
/* : Int */;
3470 var1
= array__ArraySet__length(self
);
3475 /* method array#ArraySet#first for (self: ArraySet[Object]): Object */
3476 val
* array__ArraySet__first(val
* self
) {
3477 val
* var
/* : Object */;
3478 val
* var1
/* : Array[Object] */;
3479 long var2
/* : Int */;
3480 long var4
/* : Int */;
3481 long var5
/* : Int */;
3482 short int var6
/* : Bool */;
3483 short int var8
/* : Bool */;
3486 const char* var_class_name
;
3487 short int var9
/* : Bool */;
3488 val
* var10
/* : Array[Object] */;
3489 val
* var11
/* : nullable Object */;
3490 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3491 if (unlikely(var1
== NULL
)) {
3492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3493 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 455);
3497 { /* Inline array#AbstractArrayRead#length (var1) on <var1:Array[Object]> */
3498 var4
= var1
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var1:Array[Object]> */
3505 { /* Inline kernel#Int#> (var2,var5) on <var2:Int> */
3506 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
3507 /* <var5:Int> isa OTHER */
3508 var8
= 1; /* easy <var5:Int> isa OTHER*/
3509 if (unlikely(!var8
)) {
3510 var_class_name
= type_kernel__Int
.name
;
3511 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3512 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
3521 if (unlikely(!var6
)) {
3522 PRINT_ERROR("Runtime error: %s", "Assert failed");
3523 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 455);
3526 var10
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3527 if (unlikely(var10
== NULL
)) {
3528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3529 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 456);
3533 var11
= abstract_collection__SequenceRead__first(var10
);
3540 /* method array#ArraySet#first for (self: Object): nullable Object */
3541 val
* VIRTUAL_array__ArraySet__first(val
* self
) {
3542 val
* var
/* : nullable Object */;
3543 val
* var1
/* : Object */;
3544 var1
= array__ArraySet__first(self
);
3549 /* method array#ArraySet#remove for (self: ArraySet[Object], Object) */
3550 void array__ArraySet__remove(val
* self
, val
* p0
) {
3551 short int var
/* : Bool */;
3554 const struct type
* type_struct
;
3555 const char* var_class_name
;
3556 val
* var_item
/* var item: Object */;
3557 val
* var1
/* : Array[Object] */;
3558 long var2
/* : Int */;
3559 long var_i
/* var i: Int */;
3560 long var3
/* : Int */;
3561 short int var4
/* : Bool */;
3562 short int var6
/* : Bool */;
3565 const char* var_class_name9
;
3566 short int var10
/* : Bool */;
3567 /* Covariant cast for argument 0 (item) <p0:Object> isa E */
3568 /* <p0:Object> isa E */
3569 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
3570 cltype
= type_struct
->color
;
3571 idtype
= type_struct
->id
;
3572 if(cltype
>= p0
->type
->table_size
) {
3575 var
= p0
->type
->type_table
[cltype
] == idtype
;
3577 if (unlikely(!var
)) {
3578 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3579 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
3580 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 459);
3584 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3585 if (unlikely(var1
== NULL
)) {
3586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3587 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 461);
3591 var2
= array__AbstractArrayRead__index_of(var1
, var_item
);
3596 { /* Inline kernel#Int#>= (var_i,var3) on <var_i:Int> */
3597 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3598 /* <var3:Int> isa OTHER */
3599 var6
= 1; /* easy <var3:Int> isa OTHER*/
3600 if (unlikely(!var6
)) {
3601 var_class_name9
= type_kernel__Int
.name
;
3602 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
3603 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
3606 var10
= var_i
>= var3
;
3614 array__ArraySet__remove_at(self
, var_i
); /* Direct call array#ArraySet#remove_at on <self:ArraySet[Object]>*/
3620 /* method array#ArraySet#remove for (self: Object, nullable Object) */
3621 void VIRTUAL_array__ArraySet__remove(val
* self
, val
* p0
) {
3622 array__ArraySet__remove(self
, p0
); /* Direct call array#ArraySet#remove on <self:Object(ArraySet[Object])>*/
3625 /* method array#ArraySet#clear for (self: ArraySet[Object]) */
3626 void array__ArraySet__clear(val
* self
) {
3627 val
* var
/* : Array[Object] */;
3628 var
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3629 if (unlikely(var
== NULL
)) {
3630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3631 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 467);
3635 array__AbstractArray__clear(var
); /* Direct call array#AbstractArray#clear on <var:Array[Object]>*/
3639 /* method array#ArraySet#clear for (self: Object) */
3640 void VIRTUAL_array__ArraySet__clear(val
* self
) {
3641 array__ArraySet__clear(self
); /* Direct call array#ArraySet#clear on <self:Object(ArraySet[Object])>*/
3644 /* method array#ArraySet#iterator for (self: ArraySet[Object]): Iterator[Object] */
3645 val
* array__ArraySet__iterator(val
* self
) {
3646 val
* var
/* : Iterator[Object] */;
3647 val
* var1
/* : ArraySetIterator[Object] */;
3648 val
* var2
/* : Array[Object] */;
3649 val
* var3
/* : ArrayIterator[nullable Object] */;
3650 var1
= NEW_array__ArraySetIterator(self
->type
->resolution_table
->types
[COLOR_array__ArraySetIteratorarray__ArraySet_FT0
]);
3651 var2
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3652 if (unlikely(var2
== NULL
)) {
3653 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3654 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 469);
3658 var3
= array__AbstractArrayRead__iterator(var2
);
3661 array__ArraySetIterator__init(var1
, var3
); /* Direct call array#ArraySetIterator#init on <var1:ArraySetIterator[Object]>*/
3668 /* method array#ArraySet#iterator for (self: Object): Iterator[nullable Object] */
3669 val
* VIRTUAL_array__ArraySet__iterator(val
* self
) {
3670 val
* var
/* : Iterator[nullable Object] */;
3671 val
* var1
/* : Iterator[Object] */;
3672 var1
= array__ArraySet__iterator(self
);
3677 /* method array#ArraySet#remove_at for (self: ArraySet[Object], Int) */
3678 void array__ArraySet__remove_at(val
* self
, long p0
) {
3679 long var_i
/* var i: Int */;
3680 val
* var
/* : Array[Object] */;
3681 val
* var1
/* : Array[Object] */;
3682 val
* var2
/* : nullable Object */;
3683 val
* var3
/* : Array[Object] */;
3684 val
* var4
/* : nullable Object */;
3686 var
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3687 if (unlikely(var
== NULL
)) {
3688 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3689 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 476);
3692 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3693 if (unlikely(var1
== NULL
)) {
3694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3695 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 476);
3699 var2
= abstract_collection__SequenceRead__last(var1
);
3702 array__Array___91d_93d_61d(var
, var_i
, var2
); /* Direct call array#Array#[]= on <var:Array[Object]>*/
3704 var3
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3705 if (unlikely(var3
== NULL
)) {
3706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
3707 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 477);
3711 var4
= array__AbstractArray__pop(var3
);
3715 /* method array#ArraySet#remove_at for (self: Object, Int) */
3716 void VIRTUAL_array__ArraySet__remove_at(val
* self
, long p0
) {
3717 array__ArraySet__remove_at(self
, p0
); /* Direct call array#ArraySet#remove_at on <self:Object(ArraySet[Object])>*/
3720 /* method array#ArraySet#init for (self: ArraySet[Object]) */
3721 void array__ArraySet__init(val
* self
) {
3722 val
* var
/* : Array[Object] */;
3723 var
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__ArraySet_FT0
]);
3725 ((void (*)(val
*))(var
->class->vft
[COLOR_kernel__Object__init
]))(var
) /* init on <var:Array[Object]>*/;
3727 self
->attrs
[COLOR_array__ArraySet___array
].val
= var
; /* _array on <self:ArraySet[Object]> */
3730 /* method array#ArraySet#init for (self: Object) */
3731 void VIRTUAL_array__ArraySet__init(val
* self
) {
3732 array__ArraySet__init(self
); /* Direct call array#ArraySet#init on <self:Object(ArraySet[Object])>*/
3735 /* method array#ArraySetIterator#is_ok for (self: ArraySetIterator[Object]): Bool */
3736 short int array__ArraySetIterator__is_ok(val
* self
) {
3737 short int var
/* : Bool */;
3738 val
* var1
/* : ArrayIterator[Object] */;
3739 short int var2
/* : Bool */;
3740 var1
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
3741 if (unlikely(var1
== NULL
)) {
3742 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
3743 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 493);
3747 var2
= array__ArrayIterator__is_ok(var1
);
3754 /* method array#ArraySetIterator#is_ok for (self: Object): Bool */
3755 short int VIRTUAL_array__ArraySetIterator__is_ok(val
* self
) {
3756 short int var
/* : Bool */;
3757 short int var1
/* : Bool */;
3758 var1
= array__ArraySetIterator__is_ok(self
);
3763 /* method array#ArraySetIterator#next for (self: ArraySetIterator[Object]) */
3764 void array__ArraySetIterator__next(val
* self
) {
3765 val
* var
/* : ArrayIterator[Object] */;
3766 var
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
3767 if (unlikely(var
== NULL
)) {
3768 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
3769 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 495);
3773 array__ArrayIterator__next(var
); /* Direct call array#ArrayIterator#next on <var:ArrayIterator[Object]>*/
3777 /* method array#ArraySetIterator#next for (self: Object) */
3778 void VIRTUAL_array__ArraySetIterator__next(val
* self
) {
3779 array__ArraySetIterator__next(self
); /* Direct call array#ArraySetIterator#next on <self:Object(ArraySetIterator[Object])>*/
3782 /* method array#ArraySetIterator#item for (self: ArraySetIterator[Object]): Object */
3783 val
* array__ArraySetIterator__item(val
* self
) {
3784 val
* var
/* : Object */;
3785 val
* var1
/* : ArrayIterator[Object] */;
3786 val
* var2
/* : nullable Object */;
3787 var1
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
3788 if (unlikely(var1
== NULL
)) {
3789 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
3790 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 497);
3794 var2
= array__ArrayIterator__item(var1
);
3801 /* method array#ArraySetIterator#item for (self: Object): nullable Object */
3802 val
* VIRTUAL_array__ArraySetIterator__item(val
* self
) {
3803 val
* var
/* : nullable Object */;
3804 val
* var1
/* : Object */;
3805 var1
= array__ArraySetIterator__item(self
);
3810 /* method array#ArraySetIterator#init for (self: ArraySetIterator[Object], ArrayIterator[Object]) */
3811 void array__ArraySetIterator__init(val
* self
, val
* p0
) {
3812 short int var
/* : Bool */;
3815 const struct type
* type_struct
;
3816 const char* var_class_name
;
3817 val
* var_iter
/* var iter: ArrayIterator[Object] */;
3818 /* Covariant cast for argument 0 (iter) <p0:ArrayIterator[Object]> isa ArrayIterator[E] */
3819 /* <p0:ArrayIterator[Object]> isa ArrayIterator[E] */
3820 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayIteratorarray__ArraySetIterator_FT0
];
3821 cltype
= type_struct
->color
;
3822 idtype
= type_struct
->id
;
3823 if(cltype
>= p0
->type
->table_size
) {
3826 var
= p0
->type
->type_table
[cltype
] == idtype
;
3828 if (unlikely(!var
)) {
3829 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3830 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayIterator[E]", var_class_name
);
3831 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 499);
3835 self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
= var_iter
; /* _iter on <self:ArraySetIterator[Object]> */
3838 /* method array#ArraySetIterator#init for (self: Object, ArrayIterator[Object]) */
3839 void VIRTUAL_array__ArraySetIterator__init(val
* self
, val
* p0
) {
3840 array__ArraySetIterator__init(self
, p0
); /* Direct call array#ArraySetIterator#init on <self:Object(ArraySetIterator[Object])>*/
3843 /* method array#ArrayMap#[] for (self: ArrayMap[Object, nullable Object], Object): nullable Object */
3844 val
* array__ArrayMap___91d_93d(val
* self
, val
* p0
) {
3845 val
* var
/* : nullable Object */;
3846 short int var1
/* : Bool */;
3849 const struct type
* type_struct
;
3850 const char* var_class_name
;
3851 val
* var_key
/* var key: Object */;
3852 long var2
/* : Int */;
3853 long var_i
/* var i: Int */;
3854 long var3
/* : Int */;
3855 short int var4
/* : Bool */;
3856 short int var6
/* : Bool */;
3859 const char* var_class_name9
;
3860 short int var10
/* : Bool */;
3861 val
* var11
/* : Array[Couple[Object, nullable Object]] */;
3862 val
* var12
/* : nullable Object */;
3863 val
* var13
/* : nullable Object */;
3864 val
* var15
/* : nullable Object */;
3865 val
* var16
/* : nullable Object */;
3866 /* Covariant cast for argument 0 (key) <p0:Object> isa K */
3867 /* <p0:Object> isa K */
3868 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapRead_FT0
];
3869 cltype
= type_struct
->color
;
3870 idtype
= type_struct
->id
;
3871 if(cltype
>= p0
->type
->table_size
) {
3874 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3876 if (unlikely(!var1
)) {
3877 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3878 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "K", var_class_name
);
3879 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 509);
3884 var2
= array__ArrayMap__index(self
, var_key
);
3889 { /* Inline kernel#Int#>= (var_i,var3) on <var_i:Int> */
3890 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3891 /* <var3:Int> isa OTHER */
3892 var6
= 1; /* easy <var3:Int> isa OTHER*/
3893 if (unlikely(!var6
)) {
3894 var_class_name9
= type_kernel__Int
.name
;
3895 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
3896 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
3899 var10
= var_i
>= var3
;
3906 var11
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3907 if (unlikely(var11
== NULL
)) {
3908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3909 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 514);
3913 var12
= array__Array___91d_93d(var11
, var_i
);
3916 { /* Inline abstract_collection#Couple#second (var12) on <var12:nullable Object(Couple[Object, nullable Object])> */
3917 var15
= var12
->attrs
[COLOR_abstract_collection__Couple___second
].val
; /* _second on <var12:nullable Object(Couple[Object, nullable Object])> */
3919 RET_LABEL14
:(void)0;
3926 var16
= abstract_collection__MapRead__provide_default_value(self
, var_key
);
3934 /* method array#ArrayMap#[] for (self: Object, Object): nullable Object */
3935 val
* VIRTUAL_array__ArrayMap___91d_93d(val
* self
, val
* p0
) {
3936 val
* var
/* : nullable Object */;
3937 val
* var1
/* : nullable Object */;
3938 var1
= array__ArrayMap___91d_93d(self
, p0
);
3943 /* method array#ArrayMap#[]= for (self: ArrayMap[Object, nullable Object], Object, nullable Object) */
3944 void array__ArrayMap___91d_93d_61d(val
* self
, val
* p0
, val
* p1
) {
3945 short int var
/* : Bool */;
3948 const struct type
* type_struct
;
3949 const char* var_class_name
;
3950 short int var1
/* : Bool */;
3953 const struct type
* type_struct4
;
3954 short int is_nullable
;
3955 const char* var_class_name5
;
3956 val
* var_key
/* var key: Object */;
3957 val
* var_item
/* var item: nullable Object */;
3958 long var6
/* : Int */;
3959 long var_i
/* var i: Int */;
3960 long var7
/* : Int */;
3961 short int var8
/* : Bool */;
3962 short int var10
/* : Bool */;
3965 const char* var_class_name13
;
3966 short int var14
/* : Bool */;
3967 val
* var15
/* : Array[Couple[Object, nullable Object]] */;
3968 val
* var16
/* : nullable Object */;
3969 short int var18
/* : Bool */;
3972 const struct type
* type_struct21
;
3973 short int is_nullable22
;
3974 const char* var_class_name23
;
3975 val
* var24
/* : Array[Couple[Object, nullable Object]] */;
3976 val
* var25
/* : Couple[Object, nullable Object] */;
3977 /* Covariant cast for argument 0 (key) <p0:Object> isa K */
3978 /* <p0:Object> isa K */
3979 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Map_FT0
];
3980 cltype
= type_struct
->color
;
3981 idtype
= type_struct
->id
;
3982 if(cltype
>= p0
->type
->table_size
) {
3985 var
= p0
->type
->type_table
[cltype
] == idtype
;
3987 if (unlikely(!var
)) {
3988 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3989 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "K", var_class_name
);
3990 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 520);
3993 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa V */
3994 /* <p1:nullable Object> isa V */
3995 type_struct4
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Map_FT1
];
3996 cltype2
= type_struct4
->color
;
3997 idtype3
= type_struct4
->id
;
3998 is_nullable
= type_struct4
->is_nullable
;
4002 if(cltype2
>= p1
->type
->table_size
) {
4005 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
4008 if (unlikely(!var1
)) {
4009 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
4010 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "V", var_class_name5
);
4011 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 520);
4017 var6
= array__ArrayMap__index(self
, var_key
);
4022 { /* Inline kernel#Int#>= (var_i,var7) on <var_i:Int> */
4023 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
4024 /* <var7:Int> isa OTHER */
4025 var10
= 1; /* easy <var7:Int> isa OTHER*/
4026 if (unlikely(!var10
)) {
4027 var_class_name13
= type_kernel__Int
.name
;
4028 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
4029 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
4032 var14
= var_i
>= var7
;
4039 var15
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4040 if (unlikely(var15
== NULL
)) {
4041 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4042 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 525);
4046 var16
= array__Array___91d_93d(var15
, var_i
);
4049 { /* Inline abstract_collection#Couple#second= (var16,var_item) on <var16:nullable Object(Couple[Object, nullable Object])> */
4050 /* Covariant cast for argument 0 (second) <var_item:nullable Object> isa S */
4051 /* <var_item:nullable Object> isa S */
4052 type_struct21
= var16
->type
->resolution_table
->types
[COLOR_abstract_collection__Couple_FT1
];
4053 cltype19
= type_struct21
->color
;
4054 idtype20
= type_struct21
->id
;
4055 is_nullable22
= type_struct21
->is_nullable
;
4056 if(var_item
== NULL
) {
4057 var18
= is_nullable22
;
4059 if(cltype19
>= var_item
->type
->table_size
) {
4062 var18
= var_item
->type
->type_table
[cltype19
] == idtype20
;
4065 if (unlikely(!var18
)) {
4066 var_class_name23
= var_item
== NULL ?
"null" : var_item
->type
->name
;
4067 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "S", var_class_name23
);
4068 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/abstract_collection.nit", 965);
4071 var16
->attrs
[COLOR_abstract_collection__Couple___second
].val
= var_item
; /* _second on <var16:nullable Object(Couple[Object, nullable Object])> */
4072 RET_LABEL17
:(void)0;
4076 var24
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4077 if (unlikely(var24
== NULL
)) {
4078 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4079 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 527);
4082 var25
= NEW_abstract_collection__Couple(self
->type
->resolution_table
->types
[COLOR_abstract_collection__Couplearray__ArrayMap_FT0array__ArrayMap_FT1
]);
4084 abstract_collection__Couple__init(var25
, var_key
, var_item
); /* Direct call abstract_collection#Couple#init on <var25:Couple[Object, nullable Object]>*/
4087 array__AbstractArray__push(var24
, var25
); /* Direct call array#AbstractArray#push on <var24:Array[Couple[Object, nullable Object]]>*/
4092 /* method array#ArrayMap#[]= for (self: Object, Object, nullable Object) */
4093 void VIRTUAL_array__ArrayMap___91d_93d_61d(val
* self
, val
* p0
, val
* p1
) {
4094 array__ArrayMap___91d_93d_61d(self
, p0
, p1
); /* Direct call array#ArrayMap#[]= on <self:Object(ArrayMap[Object, nullable Object])>*/
4097 /* method array#ArrayMap#keys for (self: ArrayMap[Object, nullable Object]): RemovableCollection[Object] */
4098 val
* array__ArrayMap__keys(val
* self
) {
4099 val
* var
/* : RemovableCollection[Object] */;
4100 val
* var1
/* : RemovableCollection[Object] */;
4101 var1
= self
->attrs
[COLOR_array__ArrayMap___keys
].val
; /* _keys on <self:ArrayMap[Object, nullable Object]> */
4102 if (unlikely(var1
== NULL
)) {
4103 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
4104 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 531);
4111 /* method array#ArrayMap#keys for (self: Object): Collection[Object] */
4112 val
* VIRTUAL_array__ArrayMap__keys(val
* self
) {
4113 val
* var
/* : Collection[Object] */;
4114 val
* var1
/* : RemovableCollection[Object] */;
4115 val
* var3
/* : RemovableCollection[Object] */;
4116 { /* Inline array#ArrayMap#keys (self) on <self:Object(ArrayMap[Object, nullable Object])> */
4117 var3
= self
->attrs
[COLOR_array__ArrayMap___keys
].val
; /* _keys on <self:Object(ArrayMap[Object, nullable Object])> */
4118 if (unlikely(var3
== NULL
)) {
4119 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
4120 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 531);
4130 /* method array#ArrayMap#values for (self: ArrayMap[Object, nullable Object]): RemovableCollection[nullable Object] */
4131 val
* array__ArrayMap__values(val
* self
) {
4132 val
* var
/* : RemovableCollection[nullable Object] */;
4133 val
* var1
/* : RemovableCollection[nullable Object] */;
4134 var1
= self
->attrs
[COLOR_array__ArrayMap___values
].val
; /* _values on <self:ArrayMap[Object, nullable Object]> */
4135 if (unlikely(var1
== NULL
)) {
4136 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
4137 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 532);
4144 /* method array#ArrayMap#values for (self: Object): Collection[nullable Object] */
4145 val
* VIRTUAL_array__ArrayMap__values(val
* self
) {
4146 val
* var
/* : Collection[nullable Object] */;
4147 val
* var1
/* : RemovableCollection[nullable Object] */;
4148 val
* var3
/* : RemovableCollection[nullable Object] */;
4149 { /* Inline array#ArrayMap#values (self) on <self:Object(ArrayMap[Object, nullable Object])> */
4150 var3
= self
->attrs
[COLOR_array__ArrayMap___values
].val
; /* _values on <self:Object(ArrayMap[Object, nullable Object])> */
4151 if (unlikely(var3
== NULL
)) {
4152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
4153 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 532);
4163 /* method array#ArrayMap#length for (self: ArrayMap[Object, nullable Object]): Int */
4164 long array__ArrayMap__length(val
* self
) {
4165 long var
/* : Int */;
4166 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
4167 long var2
/* : Int */;
4168 long var4
/* : Int */;
4169 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4170 if (unlikely(var1
== NULL
)) {
4171 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4172 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 535);
4176 { /* Inline array#AbstractArrayRead#length (var1) on <var1:Array[Couple[Object, nullable Object]]> */
4177 var4
= var1
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var1:Array[Couple[Object, nullable Object]]> */
4187 /* method array#ArrayMap#length for (self: Object): Int */
4188 long VIRTUAL_array__ArrayMap__length(val
* self
) {
4189 long var
/* : Int */;
4190 long var1
/* : Int */;
4191 var1
= array__ArrayMap__length(self
);
4196 /* method array#ArrayMap#couple_iterator for (self: ArrayMap[Object, nullable Object]): Iterator[Couple[Object, nullable Object]] */
4197 val
* array__ArrayMap__couple_iterator(val
* self
) {
4198 val
* var
/* : Iterator[Couple[Object, nullable Object]] */;
4199 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
4200 val
* var2
/* : ArrayIterator[nullable Object] */;
4201 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4202 if (unlikely(var1
== NULL
)) {
4203 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4204 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 537);
4208 var2
= array__AbstractArrayRead__iterator(var1
);
4215 /* method array#ArrayMap#couple_iterator for (self: Object): Iterator[Couple[Object, nullable Object]] */
4216 val
* VIRTUAL_array__ArrayMap__couple_iterator(val
* self
) {
4217 val
* var
/* : Iterator[Couple[Object, nullable Object]] */;
4218 val
* var1
/* : Iterator[Couple[Object, nullable Object]] */;
4219 var1
= array__ArrayMap__couple_iterator(self
);
4224 /* method array#ArrayMap#is_empty for (self: ArrayMap[Object, nullable Object]): Bool */
4225 short int array__ArrayMap__is_empty(val
* self
) {
4226 short int var
/* : Bool */;
4227 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
4228 short int var2
/* : Bool */;
4229 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4230 if (unlikely(var1
== NULL
)) {
4231 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4232 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 539);
4236 var2
= array__AbstractArrayRead__is_empty(var1
);
4243 /* method array#ArrayMap#is_empty for (self: Object): Bool */
4244 short int VIRTUAL_array__ArrayMap__is_empty(val
* self
) {
4245 short int var
/* : Bool */;
4246 short int var1
/* : Bool */;
4247 var1
= array__ArrayMap__is_empty(self
);
4252 /* method array#ArrayMap#clear for (self: ArrayMap[Object, nullable Object]) */
4253 void array__ArrayMap__clear(val
* self
) {
4254 val
* var
/* : Array[Couple[Object, nullable Object]] */;
4255 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4256 if (unlikely(var
== NULL
)) {
4257 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4258 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 541);
4262 array__AbstractArray__clear(var
); /* Direct call array#AbstractArray#clear on <var:Array[Couple[Object, nullable Object]]>*/
4266 /* method array#ArrayMap#clear for (self: Object) */
4267 void VIRTUAL_array__ArrayMap__clear(val
* self
) {
4268 array__ArrayMap__clear(self
); /* Direct call array#ArrayMap#clear on <self:Object(ArrayMap[Object, nullable Object])>*/
4271 /* method array#ArrayMap#remove_at_index for (self: ArrayMap[Object, nullable Object], Int) */
4272 void array__ArrayMap__remove_at_index(val
* self
, long p0
) {
4273 long var_i
/* var i: Int */;
4274 val
* var
/* : Array[Couple[Object, nullable Object]] */;
4275 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
4276 val
* var2
/* : nullable Object */;
4277 val
* var3
/* : Array[Couple[Object, nullable Object]] */;
4278 val
* var4
/* : nullable Object */;
4280 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4281 if (unlikely(var
== NULL
)) {
4282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4283 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 562);
4286 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4287 if (unlikely(var1
== NULL
)) {
4288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4289 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 562);
4293 var2
= abstract_collection__SequenceRead__last(var1
);
4296 array__Array___91d_93d_61d(var
, var_i
, var2
); /* Direct call array#Array#[]= on <var:Array[Couple[Object, nullable Object]]>*/
4298 var3
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4299 if (unlikely(var3
== NULL
)) {
4300 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4301 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 563);
4305 var4
= array__AbstractArray__pop(var3
);
4309 /* method array#ArrayMap#remove_at_index for (self: Object, Int) */
4310 void VIRTUAL_array__ArrayMap__remove_at_index(val
* self
, long p0
) {
4311 array__ArrayMap__remove_at_index(self
, p0
); /* Direct call array#ArrayMap#remove_at_index on <self:Object(ArrayMap[Object, nullable Object])>*/
4314 /* method array#ArrayMap#index for (self: ArrayMap[Object, nullable Object], Object): Int */
4315 long array__ArrayMap__index(val
* self
, val
* p0
) {
4316 long var
/* : Int */;
4317 short int var1
/* : Bool */;
4320 const struct type
* type_struct
;
4321 const char* var_class_name
;
4322 val
* var_key
/* var key: Object */;
4323 long var2
/* : Int */;
4324 long var_l
/* var l: Int */;
4325 short int var3
/* : Bool */;
4326 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
4327 long var5
/* : Int */;
4328 long var7
/* : Int */;
4329 short int var8
/* : Bool */;
4330 short int var10
/* : Bool */;
4333 const char* var_class_name13
;
4334 short int var14
/* : Bool */;
4335 short int var_
/* var : Bool */;
4336 val
* var15
/* : Array[Couple[Object, nullable Object]] */;
4337 val
* var16
/* : nullable Object */;
4338 val
* var17
/* : nullable Object */;
4339 val
* var19
/* : nullable Object */;
4340 short int var20
/* : Bool */;
4341 short int var21
/* : Bool */;
4342 long var22
/* : Int */;
4343 long var_i
/* var i: Int */;
4344 val
* var23
/* : Array[Couple[Object, nullable Object]] */;
4345 long var24
/* : Int */;
4346 long var26
/* : Int */;
4347 short int var27
/* : Bool */;
4348 short int var29
/* : Bool */;
4351 const char* var_class_name32
;
4352 short int var33
/* : Bool */;
4353 val
* var34
/* : Array[Couple[Object, nullable Object]] */;
4354 val
* var35
/* : nullable Object */;
4355 val
* var36
/* : nullable Object */;
4356 val
* var38
/* : nullable Object */;
4357 short int var39
/* : Bool */;
4358 short int var40
/* : Bool */;
4359 long var41
/* : Int */;
4360 long var42
/* : Int */;
4361 short int var44
/* : Bool */;
4364 const char* var_class_name47
;
4365 long var48
/* : Int */;
4366 long var49
/* : Int */;
4367 long var50
/* : Int */;
4368 long var52
/* : Int */;
4369 /* Covariant cast for argument 0 (key) <p0:Object> isa K */
4370 /* <p0:Object> isa K */
4371 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMap_FT0
];
4372 cltype
= type_struct
->color
;
4373 idtype
= type_struct
->id
;
4374 if(cltype
>= p0
->type
->table_size
) {
4377 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4379 if (unlikely(!var1
)) {
4380 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4381 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "K", var_class_name
);
4382 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 569);
4386 var2
= self
->attrs
[COLOR_array__ArrayMap___last_index
].l
; /* _last_index on <self:ArrayMap[Object, nullable Object]> */
4388 var4
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4389 if (unlikely(var4
== NULL
)) {
4390 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4391 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 574);
4395 { /* Inline array#AbstractArrayRead#length (var4) on <var4:Array[Couple[Object, nullable Object]]> */
4396 var7
= var4
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var4:Array[Couple[Object, nullable Object]]> */
4402 { /* Inline kernel#Int#< (var_l,var5) on <var_l:Int> */
4403 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
4404 /* <var5:Int> isa OTHER */
4405 var10
= 1; /* easy <var5:Int> isa OTHER*/
4406 if (unlikely(!var10
)) {
4407 var_class_name13
= type_kernel__Int
.name
;
4408 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
4409 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
4412 var14
= var_l
< var5
;
4420 var15
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4421 if (unlikely(var15
== NULL
)) {
4422 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4423 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 574);
4427 var16
= array__Array___91d_93d(var15
, var_l
);
4430 { /* Inline abstract_collection#Couple#first (var16) on <var16:nullable Object(Couple[Object, nullable Object])> */
4431 var19
= var16
->attrs
[COLOR_abstract_collection__Couple___first
].val
; /* _first on <var16:nullable Object(Couple[Object, nullable Object])> */
4433 RET_LABEL18
:(void)0;
4437 var21
= ((short int (*)(val
*, val
*))(var17
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var17
, var_key
) /* == on <var17:nullable Object(Object)>*/;
4452 var23
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4453 if (unlikely(var23
== NULL
)) {
4454 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4455 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 577);
4459 { /* Inline array#AbstractArrayRead#length (var23) on <var23:Array[Couple[Object, nullable Object]]> */
4460 var26
= var23
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var23:Array[Couple[Object, nullable Object]]> */
4462 RET_LABEL25
:(void)0;
4466 { /* Inline kernel#Int#< (var_i,var24) on <var_i:Int> */
4467 /* Covariant cast for argument 0 (i) <var24:Int> isa OTHER */
4468 /* <var24:Int> isa OTHER */
4469 var29
= 1; /* easy <var24:Int> isa OTHER*/
4470 if (unlikely(!var29
)) {
4471 var_class_name32
= type_kernel__Int
.name
;
4472 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
4473 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
4476 var33
= var_i
< var24
;
4479 RET_LABEL28
:(void)0;
4483 var34
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4484 if (unlikely(var34
== NULL
)) {
4485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4486 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 578);
4490 var35
= array__Array___91d_93d(var34
, var_i
);
4493 { /* Inline abstract_collection#Couple#first (var35) on <var35:nullable Object(Couple[Object, nullable Object])> */
4494 var38
= var35
->attrs
[COLOR_abstract_collection__Couple___first
].val
; /* _first on <var35:nullable Object(Couple[Object, nullable Object])> */
4496 RET_LABEL37
:(void)0;
4500 var40
= ((short int (*)(val
*, val
*))(var36
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var36
, var_key
) /* == on <var36:nullable Object(Object)>*/;
4504 self
->attrs
[COLOR_array__ArrayMap___last_index
].l
= var_i
; /* _last_index on <self:ArrayMap[Object, nullable Object]> */
4511 { /* Inline kernel#Int#+ (var_i,var41) on <var_i:Int> */
4512 /* Covariant cast for argument 0 (i) <var41:Int> isa OTHER */
4513 /* <var41:Int> isa OTHER */
4514 var44
= 1; /* easy <var41:Int> isa OTHER*/
4515 if (unlikely(!var44
)) {
4516 var_class_name47
= type_kernel__Int
.name
;
4517 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47
);
4518 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
4521 var48
= var_i
+ var41
;
4524 RET_LABEL43
:(void)0;
4532 BREAK_label
: (void)0;
4535 { /* Inline kernel#Int#unary - (var49) on <var49:Int> */
4539 RET_LABEL51
:(void)0;
4547 /* method array#ArrayMap#index for (self: Object, Object): Int */
4548 long VIRTUAL_array__ArrayMap__index(val
* self
, val
* p0
) {
4549 long var
/* : Int */;
4550 long var1
/* : Int */;
4551 var1
= array__ArrayMap__index(self
, p0
);
4556 /* method array#ArrayMapKeys#map for (self: ArrayMapKeys[Object, nullable Object]): ArrayMap[Object, nullable Object] */
4557 val
* array__ArrayMapKeys__map(val
* self
) {
4558 val
* var
/* : ArrayMap[Object, nullable Object] */;
4559 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4560 var1
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4561 if (unlikely(var1
== NULL
)) {
4562 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4563 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4570 /* method array#ArrayMapKeys#map for (self: Object): ArrayMap[Object, nullable Object] */
4571 val
* VIRTUAL_array__ArrayMapKeys__map(val
* self
) {
4572 val
* var
/* : ArrayMap[Object, nullable Object] */;
4573 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4574 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4575 { /* Inline array#ArrayMapKeys#map (self) on <self:Object(ArrayMapKeys[Object, nullable Object])> */
4576 var3
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:Object(ArrayMapKeys[Object, nullable Object])> */
4577 if (unlikely(var3
== NULL
)) {
4578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4579 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4589 /* method array#ArrayMapKeys#map= for (self: ArrayMapKeys[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4590 void array__ArrayMapKeys__map_61d(val
* self
, val
* p0
) {
4591 short int var
/* : Bool */;
4594 const struct type
* type_struct
;
4595 const char* var_class_name
;
4596 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[K, E] */
4597 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[K, E] */
4598 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
];
4599 cltype
= type_struct
->color
;
4600 idtype
= type_struct
->id
;
4601 if(cltype
>= p0
->type
->table_size
) {
4604 var
= p0
->type
->type_table
[cltype
] == idtype
;
4606 if (unlikely(!var
)) {
4607 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4608 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[K, E]", var_class_name
);
4609 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4612 self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
= p0
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4615 /* method array#ArrayMapKeys#map= for (self: Object, ArrayMap[Object, nullable Object]) */
4616 void VIRTUAL_array__ArrayMapKeys__map_61d(val
* self
, val
* p0
) {
4617 short int var
/* : Bool */;
4620 const struct type
* type_struct
;
4621 const char* var_class_name
;
4622 { /* Inline array#ArrayMapKeys#map= (self,p0) on <self:Object(ArrayMapKeys[Object, nullable Object])> */
4623 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[K, E] */
4624 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[K, E] */
4625 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
];
4626 cltype
= type_struct
->color
;
4627 idtype
= type_struct
->id
;
4628 if(cltype
>= p0
->type
->table_size
) {
4631 var
= p0
->type
->type_table
[cltype
] == idtype
;
4633 if (unlikely(!var
)) {
4634 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4635 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[K, E]", var_class_name
);
4636 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4639 self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
= p0
; /* _map on <self:Object(ArrayMapKeys[Object, nullable Object])> */
4644 /* method array#ArrayMapKeys#first for (self: ArrayMapKeys[Object, nullable Object]): Object */
4645 val
* array__ArrayMapKeys__first(val
* self
) {
4646 val
* var
/* : Object */;
4647 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4648 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4649 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
4650 val
* var5
/* : nullable Object */;
4651 val
* var6
/* : nullable Object */;
4652 val
* var8
/* : nullable Object */;
4654 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
4655 var3
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4656 if (unlikely(var3
== NULL
)) {
4657 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4658 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4665 var4
= var1
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var1:ArrayMap[Object, nullable Object]> */
4666 if (unlikely(var4
== NULL
)) {
4667 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4668 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 593);
4672 var5
= abstract_collection__SequenceRead__first(var4
);
4675 { /* Inline abstract_collection#Couple#first (var5) on <var5:nullable Object(Couple[Object, nullable Object])> */
4676 var8
= var5
->attrs
[COLOR_abstract_collection__Couple___first
].val
; /* _first on <var5:nullable Object(Couple[Object, nullable Object])> */
4686 /* method array#ArrayMapKeys#first for (self: Object): nullable Object */
4687 val
* VIRTUAL_array__ArrayMapKeys__first(val
* self
) {
4688 val
* var
/* : nullable Object */;
4689 val
* var1
/* : Object */;
4690 var1
= array__ArrayMapKeys__first(self
);
4695 /* method array#ArrayMapKeys#has for (self: ArrayMapKeys[Object, nullable Object], Object): Bool */
4696 short int array__ArrayMapKeys__has(val
* self
, val
* p0
) {
4697 short int var
/* : Bool */;
4698 short int var1
/* : Bool */;
4701 const struct type
* type_struct
;
4702 const char* var_class_name
;
4703 val
* var_k
/* var k: Object */;
4704 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4705 val
* var4
/* : ArrayMap[Object, nullable Object] */;
4706 long var5
/* : Int */;
4707 long var6
/* : Int */;
4708 short int var7
/* : Bool */;
4709 short int var9
/* : Bool */;
4712 const char* var_class_name12
;
4713 short int var13
/* : Bool */;
4714 /* Covariant cast for argument 0 (k) <p0:Object> isa E */
4715 /* <p0:Object> isa E */
4716 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4717 cltype
= type_struct
->color
;
4718 idtype
= type_struct
->id
;
4719 if(cltype
>= p0
->type
->table_size
) {
4722 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4724 if (unlikely(!var1
)) {
4725 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4726 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
4727 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 594);
4732 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
4733 var4
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4734 if (unlikely(var4
== NULL
)) {
4735 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4736 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4744 var5
= array__ArrayMap__index(var2
, var_k
);
4748 { /* Inline kernel#Int#>= (var5,var6) on <var5:Int> */
4749 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
4750 /* <var6:Int> isa OTHER */
4751 var9
= 1; /* easy <var6:Int> isa OTHER*/
4752 if (unlikely(!var9
)) {
4753 var_class_name12
= type_kernel__Int
.name
;
4754 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
4755 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
4758 var13
= var5
>= var6
;
4769 /* method array#ArrayMapKeys#has for (self: Object, nullable Object): Bool */
4770 short int VIRTUAL_array__ArrayMapKeys__has(val
* self
, val
* p0
) {
4771 short int var
/* : Bool */;
4772 short int var1
/* : Bool */;
4773 var1
= array__ArrayMapKeys__has(self
, p0
);
4778 /* method array#ArrayMapKeys#is_empty for (self: ArrayMapKeys[Object, nullable Object]): Bool */
4779 short int array__ArrayMapKeys__is_empty(val
* self
) {
4780 short int var
/* : Bool */;
4781 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4782 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4783 short int var4
/* : Bool */;
4785 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
4786 var3
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4787 if (unlikely(var3
== NULL
)) {
4788 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4789 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4797 var4
= array__ArrayMap__is_empty(var1
);
4804 /* method array#ArrayMapKeys#is_empty for (self: Object): Bool */
4805 short int VIRTUAL_array__ArrayMapKeys__is_empty(val
* self
) {
4806 short int var
/* : Bool */;
4807 short int var1
/* : Bool */;
4808 var1
= array__ArrayMapKeys__is_empty(self
);
4813 /* method array#ArrayMapKeys#length for (self: ArrayMapKeys[Object, nullable Object]): Int */
4814 long array__ArrayMapKeys__length(val
* self
) {
4815 long var
/* : Int */;
4816 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4817 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4818 long var4
/* : Int */;
4820 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
4821 var3
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4822 if (unlikely(var3
== NULL
)) {
4823 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4824 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4832 var4
= array__ArrayMap__length(var1
);
4839 /* method array#ArrayMapKeys#length for (self: Object): Int */
4840 long VIRTUAL_array__ArrayMapKeys__length(val
* self
) {
4841 long var
/* : Int */;
4842 long var1
/* : Int */;
4843 var1
= array__ArrayMapKeys__length(self
);
4848 /* method array#ArrayMapKeys#iterator for (self: ArrayMapKeys[Object, nullable Object]): Iterator[Object] */
4849 val
* array__ArrayMapKeys__iterator(val
* self
) {
4850 val
* var
/* : Iterator[Object] */;
4851 val
* var1
/* : MapKeysIterator[Object, nullable Object] */;
4852 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4853 val
* var4
/* : ArrayMap[Object, nullable Object] */;
4854 val
* var5
/* : MapIterator[Object, nullable Object] */;
4855 var1
= NEW_abstract_collection__MapKeysIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapKeysIteratorarray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
]);
4857 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
4858 var4
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4859 if (unlikely(var4
== NULL
)) {
4860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4861 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4869 var5
= abstract_collection__CoupleMap__iterator(var2
);
4872 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapKeysIterator__original_iterator_61d
]))(var1
, var5
) /* original_iterator= on <var1:MapKeysIterator[Object, nullable Object]>*/;
4875 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:MapKeysIterator[Object, nullable Object]>*/;
4882 /* method array#ArrayMapKeys#iterator for (self: Object): Iterator[nullable Object] */
4883 val
* VIRTUAL_array__ArrayMapKeys__iterator(val
* self
) {
4884 val
* var
/* : Iterator[nullable Object] */;
4885 val
* var1
/* : Iterator[Object] */;
4886 var1
= array__ArrayMapKeys__iterator(self
);
4891 /* method array#ArrayMapKeys#clear for (self: ArrayMapKeys[Object, nullable Object]) */
4892 void array__ArrayMapKeys__clear(val
* self
) {
4893 val
* var
/* : ArrayMap[Object, nullable Object] */;
4894 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4896 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
4897 var2
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4898 if (unlikely(var2
== NULL
)) {
4899 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4900 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4908 array__ArrayMap__clear(var
); /* Direct call array#ArrayMap#clear on <var:ArrayMap[Object, nullable Object]>*/
4912 /* method array#ArrayMapKeys#clear for (self: Object) */
4913 void VIRTUAL_array__ArrayMapKeys__clear(val
* self
) {
4914 array__ArrayMapKeys__clear(self
); /* Direct call array#ArrayMapKeys#clear on <self:Object(ArrayMapKeys[Object, nullable Object])>*/
4917 /* method array#ArrayMapKeys#remove for (self: ArrayMapKeys[Object, nullable Object], Object) */
4918 void array__ArrayMapKeys__remove(val
* self
, val
* p0
) {
4919 short int var
/* : Bool */;
4922 const struct type
* type_struct
;
4923 const char* var_class_name
;
4924 val
* var_key
/* var key: Object */;
4925 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4926 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4927 long var4
/* : Int */;
4928 long var_i
/* var i: Int */;
4929 long var5
/* : Int */;
4930 short int var6
/* : Bool */;
4931 short int var8
/* : Bool */;
4934 const char* var_class_name11
;
4935 short int var12
/* : Bool */;
4936 val
* var13
/* : ArrayMap[Object, nullable Object] */;
4937 val
* var15
/* : ArrayMap[Object, nullable Object] */;
4938 /* Covariant cast for argument 0 (key) <p0:Object> isa E */
4939 /* <p0:Object> isa E */
4940 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
4941 cltype
= type_struct
->color
;
4942 idtype
= type_struct
->id
;
4943 if(cltype
>= p0
->type
->table_size
) {
4946 var
= p0
->type
->type_table
[cltype
] == idtype
;
4948 if (unlikely(!var
)) {
4949 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4950 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
4951 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 600);
4956 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
4957 var3
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4958 if (unlikely(var3
== NULL
)) {
4959 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4960 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4968 var4
= array__ArrayMap__index(var1
, var_key
);
4973 { /* Inline kernel#Int#>= (var_i,var5) on <var_i:Int> */
4974 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
4975 /* <var5:Int> isa OTHER */
4976 var8
= 1; /* easy <var5:Int> isa OTHER*/
4977 if (unlikely(!var8
)) {
4978 var_class_name11
= type_kernel__Int
.name
;
4979 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
4980 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
4983 var12
= var_i
>= var5
;
4991 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
4992 var15
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4993 if (unlikely(var15
== NULL
)) {
4994 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4995 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 590);
4999 RET_LABEL14
:(void)0;
5003 array__ArrayMap__remove_at_index(var13
, var_i
); /* Direct call array#ArrayMap#remove_at_index on <var13:ArrayMap[Object, nullable Object]>*/
5009 /* method array#ArrayMapKeys#remove for (self: Object, nullable Object) */
5010 void VIRTUAL_array__ArrayMapKeys__remove(val
* self
, val
* p0
) {
5011 array__ArrayMapKeys__remove(self
, p0
); /* Direct call array#ArrayMapKeys#remove on <self:Object(ArrayMapKeys[Object, nullable Object])>*/
5014 /* method array#ArrayMapKeys#init for (self: ArrayMapKeys[Object, nullable Object]) */
5015 void array__ArrayMapKeys__init(val
* self
) {
5017 ((void (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__init
]))(self
) /* init on <self:ArrayMapKeys[Object, nullable Object]>*/;
5021 /* method array#ArrayMapKeys#init for (self: Object) */
5022 void VIRTUAL_array__ArrayMapKeys__init(val
* self
) {
5023 { /* Inline array#ArrayMapKeys#init (self) on <self:Object(ArrayMapKeys[Object, nullable Object])> */
5025 ((void (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__init
]))(self
) /* init on <self:Object(ArrayMapKeys[Object, nullable Object])>*/;
5031 /* method array#ArrayMapValues#map for (self: ArrayMapValues[Object, nullable Object]): ArrayMap[Object, nullable Object] */
5032 val
* array__ArrayMapValues__map(val
* self
) {
5033 val
* var
/* : ArrayMap[Object, nullable Object] */;
5034 val
* var1
/* : ArrayMap[Object, nullable Object] */;
5035 var1
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
5036 if (unlikely(var1
== NULL
)) {
5037 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5038 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 610);
5045 /* method array#ArrayMapValues#map for (self: Object): ArrayMap[Object, nullable Object] */
5046 val
* VIRTUAL_array__ArrayMapValues__map(val
* self
) {
5047 val
* var
/* : ArrayMap[Object, nullable Object] */;
5048 val
* var1
/* : ArrayMap[Object, nullable Object] */;
5049 val
* var3
/* : ArrayMap[Object, nullable Object] */;
5050 { /* Inline array#ArrayMapValues#map (self) on <self:Object(ArrayMapValues[Object, nullable Object])> */
5051 var3
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:Object(ArrayMapValues[Object, nullable Object])> */
5052 if (unlikely(var3
== NULL
)) {
5053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5054 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 610);
5064 /* method array#ArrayMapValues#map= for (self: ArrayMapValues[Object, nullable Object], ArrayMap[Object, nullable Object]) */
5065 void array__ArrayMapValues__map_61d(val
* self
, val
* p0
) {
5066 short int var
/* : Bool */;
5069 const struct type
* type_struct
;
5070 const char* var_class_name
;
5071 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[K, E] */
5072 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[K, E] */
5073 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapValues_FT0array__ArrayMapValues_FT1
];
5074 cltype
= type_struct
->color
;
5075 idtype
= type_struct
->id
;
5076 if(cltype
>= p0
->type
->table_size
) {
5079 var
= p0
->type
->type_table
[cltype
] == idtype
;
5081 if (unlikely(!var
)) {
5082 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5083 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[K, E]", var_class_name
);
5084 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 610);
5087 self
->attrs
[COLOR_array__ArrayMapValues___map
].val
= p0
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
5090 /* method array#ArrayMapValues#map= for (self: Object, ArrayMap[Object, nullable Object]) */
5091 void VIRTUAL_array__ArrayMapValues__map_61d(val
* self
, val
* p0
) {
5092 short int var
/* : Bool */;
5095 const struct type
* type_struct
;
5096 const char* var_class_name
;
5097 { /* Inline array#ArrayMapValues#map= (self,p0) on <self:Object(ArrayMapValues[Object, nullable Object])> */
5098 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[K, E] */
5099 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[K, E] */
5100 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapValues_FT0array__ArrayMapValues_FT1
];
5101 cltype
= type_struct
->color
;
5102 idtype
= type_struct
->id
;
5103 if(cltype
>= p0
->type
->table_size
) {
5106 var
= p0
->type
->type_table
[cltype
] == idtype
;
5108 if (unlikely(!var
)) {
5109 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5110 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[K, E]", var_class_name
);
5111 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 610);
5114 self
->attrs
[COLOR_array__ArrayMapValues___map
].val
= p0
; /* _map on <self:Object(ArrayMapValues[Object, nullable Object])> */
5119 /* method array#ArrayMapValues#first for (self: ArrayMapValues[Object, nullable Object]): nullable Object */
5120 val
* array__ArrayMapValues__first(val
* self
) {
5121 val
* var
/* : nullable Object */;
5122 val
* var1
/* : ArrayMap[Object, nullable Object] */;
5123 val
* var3
/* : ArrayMap[Object, nullable Object] */;
5124 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
5125 val
* var5
/* : nullable Object */;
5126 val
* var6
/* : nullable Object */;
5127 val
* var8
/* : nullable Object */;
5129 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
5130 var3
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
5131 if (unlikely(var3
== NULL
)) {
5132 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5133 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 610);
5140 var4
= var1
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var1:ArrayMap[Object, nullable Object]> */
5141 if (unlikely(var4
== NULL
)) {
5142 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
5143 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 612);
5147 var5
= abstract_collection__SequenceRead__first(var4
);
5150 { /* Inline abstract_collection#Couple#second (var5) on <var5:nullable Object(Couple[Object, nullable Object])> */
5151 var8
= var5
->attrs
[COLOR_abstract_collection__Couple___second
].val
; /* _second on <var5:nullable Object(Couple[Object, nullable Object])> */
5161 /* method array#ArrayMapValues#first for (self: Object): nullable Object */
5162 val
* VIRTUAL_array__ArrayMapValues__first(val
* self
) {
5163 val
* var
/* : nullable Object */;
5164 val
* var1
/* : nullable Object */;
5165 var1
= array__ArrayMapValues__first(self
);
5170 /* method array#ArrayMapValues#is_empty for (self: ArrayMapValues[Object, nullable Object]): Bool */
5171 short int array__ArrayMapValues__is_empty(val
* self
) {
5172 short int var
/* : Bool */;
5173 val
* var1
/* : ArrayMap[Object, nullable Object] */;
5174 val
* var3
/* : ArrayMap[Object, nullable Object] */;
5175 short int var4
/* : Bool */;
5177 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
5178 var3
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
5179 if (unlikely(var3
== NULL
)) {
5180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5181 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 610);
5189 var4
= array__ArrayMap__is_empty(var1
);
5196 /* method array#ArrayMapValues#is_empty for (self: Object): Bool */
5197 short int VIRTUAL_array__ArrayMapValues__is_empty(val
* self
) {
5198 short int var
/* : Bool */;
5199 short int var1
/* : Bool */;
5200 var1
= array__ArrayMapValues__is_empty(self
);
5205 /* method array#ArrayMapValues#length for (self: ArrayMapValues[Object, nullable Object]): Int */
5206 long array__ArrayMapValues__length(val
* self
) {
5207 long var
/* : Int */;
5208 val
* var1
/* : ArrayMap[Object, nullable Object] */;
5209 val
* var3
/* : ArrayMap[Object, nullable Object] */;
5210 long var4
/* : Int */;
5212 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
5213 var3
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
5214 if (unlikely(var3
== NULL
)) {
5215 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5216 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 610);
5224 var4
= array__ArrayMap__length(var1
);
5231 /* method array#ArrayMapValues#length for (self: Object): Int */
5232 long VIRTUAL_array__ArrayMapValues__length(val
* self
) {
5233 long var
/* : Int */;
5234 long var1
/* : Int */;
5235 var1
= array__ArrayMapValues__length(self
);
5240 /* method array#ArrayMapValues#iterator for (self: ArrayMapValues[Object, nullable Object]): Iterator[nullable Object] */
5241 val
* array__ArrayMapValues__iterator(val
* self
) {
5242 val
* var
/* : Iterator[nullable Object] */;
5243 val
* var1
/* : MapValuesIterator[Object, nullable Object] */;
5244 val
* var2
/* : ArrayMap[Object, nullable Object] */;
5245 val
* var4
/* : ArrayMap[Object, nullable Object] */;
5246 val
* var5
/* : MapIterator[Object, nullable Object] */;
5247 var1
= NEW_abstract_collection__MapValuesIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapValuesIteratorarray__ArrayMapValues_FT0array__ArrayMapValues_FT1
]);
5249 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
5250 var4
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
5251 if (unlikely(var4
== NULL
)) {
5252 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5253 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 610);
5261 var5
= abstract_collection__CoupleMap__iterator(var2
);
5264 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapValuesIterator__original_iterator_61d
]))(var1
, var5
) /* original_iterator= on <var1:MapValuesIterator[Object, nullable Object]>*/;
5267 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:MapValuesIterator[Object, nullable Object]>*/;
5274 /* method array#ArrayMapValues#iterator for (self: Object): Iterator[nullable Object] */
5275 val
* VIRTUAL_array__ArrayMapValues__iterator(val
* self
) {
5276 val
* var
/* : Iterator[nullable Object] */;
5277 val
* var1
/* : Iterator[nullable Object] */;
5278 var1
= array__ArrayMapValues__iterator(self
);
5283 /* method array#ArrayMapValues#has for (self: ArrayMapValues[Object, nullable Object], nullable Object): Bool */
5284 short int array__ArrayMapValues__has(val
* self
, val
* p0
) {
5285 short int var
/* : Bool */;
5286 short int var1
/* : Bool */;
5289 const struct type
* type_struct
;
5290 short int is_nullable
;
5291 const char* var_class_name
;
5292 val
* var_item
/* var item: nullable Object */;
5293 val
* var2
/* : ArrayMap[Object, nullable Object] */;
5294 val
* var4
/* : ArrayMap[Object, nullable Object] */;
5295 val
* var5
/* : Array[Couple[Object, nullable Object]] */;
5296 val
* var_
/* var : Array[Couple[Object, nullable Object]] */;
5297 val
* var6
/* : ArrayIterator[nullable Object] */;
5298 val
* var_7
/* var : ArrayIterator[Couple[Object, nullable Object]] */;
5299 short int var8
/* : Bool */;
5300 val
* var9
/* : nullable Object */;
5301 val
* var_i
/* var i: Couple[Object, nullable Object] */;
5302 val
* var10
/* : nullable Object */;
5303 val
* var12
/* : nullable Object */;
5304 short int var13
/* : Bool */;
5305 short int var14
/* : Bool */;
5306 short int var15
/* : Bool */;
5307 short int var17
/* : Bool */;
5308 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
5309 /* <p0:nullable Object> isa E */
5310 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
5311 cltype
= type_struct
->color
;
5312 idtype
= type_struct
->id
;
5313 is_nullable
= type_struct
->is_nullable
;
5317 if(cltype
>= p0
->type
->table_size
) {
5320 var1
= p0
->type
->type_table
[cltype
] == idtype
;
5323 if (unlikely(!var1
)) {
5324 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5325 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
5326 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 617);
5331 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
5332 var4
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
5333 if (unlikely(var4
== NULL
)) {
5334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5335 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 610);
5342 var5
= var2
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var2:ArrayMap[Object, nullable Object]> */
5343 if (unlikely(var5
== NULL
)) {
5344 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
5345 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 620);
5350 var6
= array__AbstractArrayRead__iterator(var_
);
5355 var8
= array__ArrayIterator__is_ok(var_7
);
5359 var9
= array__ArrayIterator__item(var_7
);
5363 { /* Inline abstract_collection#Couple#second (var_i) on <var_i:Couple[Object, nullable Object]> */
5364 var12
= var_i
->attrs
[COLOR_abstract_collection__Couple___second
].val
; /* _second on <var_i:Couple[Object, nullable Object]> */
5366 RET_LABEL11
:(void)0;
5369 if (var10
== NULL
) {
5370 var13
= (var_item
== NULL
);
5372 var14
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var_item
) /* == on <var10:nullable Object>*/;
5382 array__ArrayIterator__next(var_7
); /* Direct call array#ArrayIterator#next on <var_7:ArrayIterator[Couple[Object, nullable Object]]>*/
5388 BREAK_label
: (void)0;
5390 { /* Inline abstract_collection#Iterator#finish (var_7) on <var_7:ArrayIterator[Couple[Object, nullable Object]]> */
5391 RET_LABEL16
:(void)0;
5400 /* method array#ArrayMapValues#has for (self: Object, nullable Object): Bool */
5401 short int VIRTUAL_array__ArrayMapValues__has(val
* self
, val
* p0
) {
5402 short int var
/* : Bool */;
5403 short int var1
/* : Bool */;
5404 var1
= array__ArrayMapValues__has(self
, p0
);
5409 /* method array#ArrayMapValues#clear for (self: ArrayMapValues[Object, nullable Object]) */
5410 void array__ArrayMapValues__clear(val
* self
) {
5411 val
* var
/* : ArrayMap[Object, nullable Object] */;
5412 val
* var2
/* : ArrayMap[Object, nullable Object] */;
5414 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
5415 var2
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
5416 if (unlikely(var2
== NULL
)) {
5417 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5418 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 610);
5426 array__ArrayMap__clear(var
); /* Direct call array#ArrayMap#clear on <var:ArrayMap[Object, nullable Object]>*/
5430 /* method array#ArrayMapValues#clear for (self: Object) */
5431 void VIRTUAL_array__ArrayMapValues__clear(val
* self
) {
5432 array__ArrayMapValues__clear(self
); /* Direct call array#ArrayMapValues#clear on <self:Object(ArrayMapValues[Object, nullable Object])>*/
5435 /* method array#ArrayMapValues#remove for (self: ArrayMapValues[Object, nullable Object], nullable Object) */
5436 void array__ArrayMapValues__remove(val
* self
, val
* p0
) {
5437 short int var
/* : Bool */;
5440 const struct type
* type_struct
;
5441 short int is_nullable
;
5442 const char* var_class_name
;
5443 val
* var_item
/* var item: nullable Object */;
5444 val
* var1
/* : ArrayMap[Object, nullable Object] */;
5445 val
* var3
/* : ArrayMap[Object, nullable Object] */;
5446 val
* var_map
/* var map: ArrayMap[Object, nullable Object] */;
5447 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
5448 long var5
/* : Int */;
5449 long var7
/* : Int */;
5450 long var8
/* : Int */;
5451 long var9
/* : Int */;
5452 short int var11
/* : Bool */;
5455 const char* var_class_name14
;
5456 long var15
/* : Int */;
5457 long var_i
/* var i: Int */;
5458 long var16
/* : Int */;
5459 short int var17
/* : Bool */;
5460 short int var19
/* : Bool */;
5463 const char* var_class_name22
;
5464 short int var23
/* : Bool */;
5465 val
* var24
/* : Array[Couple[Object, nullable Object]] */;
5466 val
* var25
/* : nullable Object */;
5467 val
* var26
/* : nullable Object */;
5468 val
* var28
/* : nullable Object */;
5469 short int var29
/* : Bool */;
5470 short int var30
/* : Bool */;
5471 long var31
/* : Int */;
5472 long var32
/* : Int */;
5473 short int var34
/* : Bool */;
5476 const char* var_class_name37
;
5477 long var38
/* : Int */;
5478 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
5479 /* <p0:nullable Object> isa E */
5480 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
5481 cltype
= type_struct
->color
;
5482 idtype
= type_struct
->id
;
5483 is_nullable
= type_struct
->is_nullable
;
5487 if(cltype
>= p0
->type
->table_size
) {
5490 var
= p0
->type
->type_table
[cltype
] == idtype
;
5493 if (unlikely(!var
)) {
5494 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5495 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
5496 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 641);
5501 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
5502 var3
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
5503 if (unlikely(var3
== NULL
)) {
5504 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
5505 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 610);
5513 var4
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
5514 if (unlikely(var4
== NULL
)) {
5515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
5516 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 644);
5520 { /* Inline array#AbstractArrayRead#length (var4) on <var4:Array[Couple[Object, nullable Object]]> */
5521 var7
= var4
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var4:Array[Couple[Object, nullable Object]]> */
5528 { /* Inline kernel#Int#- (var5,var8) on <var5:Int> */
5529 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
5530 /* <var8:Int> isa OTHER */
5531 var11
= 1; /* easy <var8:Int> isa OTHER*/
5532 if (unlikely(!var11
)) {
5533 var_class_name14
= type_kernel__Int
.name
;
5534 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
5535 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
5538 var15
= var5
- var8
;
5541 RET_LABEL10
:(void)0;
5548 { /* Inline kernel#Int#>= (var_i,var16) on <var_i:Int> */
5549 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
5550 /* <var16:Int> isa OTHER */
5551 var19
= 1; /* easy <var16:Int> isa OTHER*/
5552 if (unlikely(!var19
)) {
5553 var_class_name22
= type_kernel__Int
.name
;
5554 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
5555 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 372);
5558 var23
= var_i
>= var16
;
5561 RET_LABEL18
:(void)0;
5565 var24
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
5566 if (unlikely(var24
== NULL
)) {
5567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
5568 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 646);
5572 var25
= array__Array___91d_93d(var24
, var_i
);
5575 { /* Inline abstract_collection#Couple#second (var25) on <var25:nullable Object(Couple[Object, nullable Object])> */
5576 var28
= var25
->attrs
[COLOR_abstract_collection__Couple___second
].val
; /* _second on <var25:nullable Object(Couple[Object, nullable Object])> */
5578 RET_LABEL27
:(void)0;
5581 if (var26
== NULL
) {
5582 var29
= (var_item
== NULL
);
5584 var30
= ((short int (*)(val
*, val
*))(var26
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var26
, var_item
) /* == on <var26:nullable Object>*/;
5589 array__ArrayMap__remove_at_index(var_map
, var_i
); /* Direct call array#ArrayMap#remove_at_index on <var_map:ArrayMap[Object, nullable Object]>*/
5596 { /* Inline kernel#Int#- (var_i,var31) on <var_i:Int> */
5597 /* Covariant cast for argument 0 (i) <var31:Int> isa OTHER */
5598 /* <var31:Int> isa OTHER */
5599 var34
= 1; /* easy <var31:Int> isa OTHER*/
5600 if (unlikely(!var34
)) {
5601 var_class_name37
= type_kernel__Int
.name
;
5602 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37
);
5603 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
5606 var38
= var_i
- var31
;
5609 RET_LABEL33
:(void)0;
5617 BREAK_label
: (void)0;
5620 /* method array#ArrayMapValues#remove for (self: Object, nullable Object) */
5621 void VIRTUAL_array__ArrayMapValues__remove(val
* self
, val
* p0
) {
5622 array__ArrayMapValues__remove(self
, p0
); /* Direct call array#ArrayMapValues#remove on <self:Object(ArrayMapValues[Object, nullable Object])>*/
5625 /* method array#ArrayMapValues#init for (self: ArrayMapValues[Object, nullable Object]) */
5626 void array__ArrayMapValues__init(val
* self
) {
5628 ((void (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__init
]))(self
) /* init on <self:ArrayMapValues[Object, nullable Object]>*/;
5632 /* method array#ArrayMapValues#init for (self: Object) */
5633 void VIRTUAL_array__ArrayMapValues__init(val
* self
) {
5634 { /* Inline array#ArrayMapValues#init (self) on <self:Object(ArrayMapValues[Object, nullable Object])> */
5636 ((void (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__init
]))(self
) /* init on <self:Object(ArrayMapValues[Object, nullable Object])>*/;
5642 /* method array#Iterator#to_a for (self: Iterator[nullable Object]): Array[nullable Object] */
5643 val
* array__Iterator__to_a(val
* self
) {
5644 val
* var
/* : Array[nullable Object] */;
5645 val
* var1
/* : Array[nullable Object] */;
5646 val
* var_res
/* var res: Array[nullable Object] */;
5647 short int var2
/* : Bool */;
5648 val
* var3
/* : nullable Object */;
5649 var1
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayabstract_collection__Iterator_FT0
]);
5651 ((void (*)(val
*))(var1
->class->vft
[COLOR_kernel__Object__init
]))(var1
) /* init on <var1:Array[nullable Object]>*/;
5656 var2
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(self
) /* is_ok on <self:Iterator[nullable Object]>*/;
5660 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(self
) /* item on <self:Iterator[nullable Object]>*/;
5663 array__Array__add(var_res
, var3
); /* Direct call array#Array#add on <var_res:Array[nullable Object]>*/
5666 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(self
) /* next on <self:Iterator[nullable Object]>*/;
5672 BREAK_label
: (void)0;
5678 /* method array#Iterator#to_a for (self: Object): Array[nullable Object] */
5679 val
* VIRTUAL_array__Iterator__to_a(val
* self
) {
5680 val
* var
/* : Array[nullable Object] */;
5681 val
* var1
/* : Array[nullable Object] */;
5682 var1
= array__Iterator__to_a(self
);
5687 /* method array#Collection#to_a for (self: Collection[nullable Object]): Array[nullable Object] */
5688 val
* array__Collection__to_a(val
* self
) {
5689 val
* var
/* : Array[nullable Object] */;
5690 val
* var1
/* : Array[nullable Object] */;
5691 long var2
/* : Int */;
5692 val
* var_res
/* var res: Array[nullable Object] */;
5693 var1
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayabstract_collection__Collection_FT0
]);
5695 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Collection[nullable Object]>*/;
5698 array__Array__with_capacity(var1
, var2
); /* Direct call array#Array#with_capacity on <var1:Array[nullable Object]>*/
5702 abstract_collection__SimpleCollection__add_all(var_res
, self
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_res:Array[nullable Object]>*/
5709 /* method array#Collection#to_a for (self: Object): Array[nullable Object] */
5710 val
* VIRTUAL_array__Collection__to_a(val
* self
) {
5711 val
* var
/* : Array[nullable Object] */;
5712 val
* var1
/* : Array[nullable Object] */;
5713 var1
= array__Collection__to_a(self
);
5718 /* method array#ArrayCapable#calloc_array for (self: ArrayCapable[nullable Object], Int): NativeArray[nullable Object] */
5719 val
* array__ArrayCapable__calloc_array(val
* self
, long p0
) {
5720 val
* var
/* : NativeArray[nullable Object] */;
5721 val
* var1
/* : NativeArray[nullable Object] */;
5722 var1
= NEW_array__NativeArray(p0
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
5728 /* method array#ArrayCapable#calloc_array for (self: Object, Int): NativeArray[nullable Object] */
5729 val
* VIRTUAL_array__ArrayCapable__calloc_array(val
* self
, long p0
) {
5730 val
* var
/* : NativeArray[nullable Object] */;
5731 val
* var1
/* : NativeArray[nullable Object] */;
5732 val
* var3
/* : NativeArray[nullable Object] */;
5733 { /* Inline array#ArrayCapable#calloc_array (self,p0) on <self:Object(ArrayCapable[nullable Object])> */
5734 var3
= NEW_array__NativeArray(p0
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
5743 /* method array#NativeArray#new for (self: NativeArray[nullable Object], Int): NativeArray[nullable Object] */
5744 val
* array__NativeArray__new(val
* self
, long p0
) {
5745 val
* var
/* : NativeArray[nullable Object] */;
5749 /* method array#NativeArray#new for (self: Object, Int): NativeArray[nullable Object] */
5750 val
* VIRTUAL_array__NativeArray__new(val
* self
, long p0
) {
5751 val
* var
/* : NativeArray[nullable Object] */;
5752 val
* var1
/* : NativeArray[nullable Object] */;
5753 { /* Inline array#NativeArray#new (self,p0) on <self:Object(NativeArray[nullable Object])> */
5760 /* method array#NativeArray#[] for (self: NativeArray[nullable Object], Int): nullable Object */
5761 val
* array__NativeArray___91d_93d(val
* self
, long p0
) {
5762 val
* var
/* : nullable Object */;
5763 val
* var1
/* : nullable Object */;
5764 var1
= ((struct instance_array__NativeArray
*)self
)->values
[p0
];
5770 /* method array#NativeArray#[] for (self: Object, Int): nullable Object */
5771 val
* VIRTUAL_array__NativeArray___91d_93d(val
* self
, long p0
) {
5772 val
* var
/* : nullable Object */;
5773 val
* var1
/* : nullable Object */;
5774 val
* var3
/* : nullable Object */;
5775 { /* Inline array#NativeArray#[] (self,p0) on <self:Object(NativeArray[nullable Object])> */
5776 var3
= ((struct instance_array__NativeArray
*)self
)->values
[p0
];
5785 /* method array#NativeArray#[]= for (self: NativeArray[nullable Object], Int, nullable Object) */
5786 void array__NativeArray___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
5787 short int var
/* : Bool */;
5790 const struct type
* type_struct
;
5791 short int is_nullable
;
5792 const char* var_class_name
;
5793 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa E */
5794 /* <p1:nullable Object> isa E */
5795 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
5796 cltype
= type_struct
->color
;
5797 idtype
= type_struct
->id
;
5798 is_nullable
= type_struct
->is_nullable
;
5802 if(cltype
>= p1
->type
->table_size
) {
5805 var
= p1
->type
->type_table
[cltype
] == idtype
;
5808 if (unlikely(!var
)) {
5809 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
5810 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
5811 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 778);
5814 ((struct instance_array__NativeArray
*)self
)->values
[p0
]=p1
;
5817 /* method array#NativeArray#[]= for (self: Object, Int, nullable Object) */
5818 void VIRTUAL_array__NativeArray___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
5819 short int var
/* : Bool */;
5822 const struct type
* type_struct
;
5823 short int is_nullable
;
5824 const char* var_class_name
;
5825 { /* Inline array#NativeArray#[]= (self,p0,p1) on <self:Object(NativeArray[nullable Object])> */
5826 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa E */
5827 /* <p1:nullable Object> isa E */
5828 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
5829 cltype
= type_struct
->color
;
5830 idtype
= type_struct
->id
;
5831 is_nullable
= type_struct
->is_nullable
;
5835 if(cltype
>= p1
->type
->table_size
) {
5838 var
= p1
->type
->type_table
[cltype
] == idtype
;
5841 if (unlikely(!var
)) {
5842 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
5843 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
5844 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 778);
5847 ((struct instance_array__NativeArray
*)self
)->values
[p0
]=p1
;
5852 /* method array#NativeArray#copy_to for (self: NativeArray[nullable Object], NativeArray[nullable Object], Int) */
5853 void array__NativeArray__copy_to(val
* self
, val
* p0
, long p1
) {
5854 short int var
/* : Bool */;
5857 const struct type
* type_struct
;
5858 const char* var_class_name
;
5859 /* Covariant cast for argument 0 (dest) <p0:NativeArray[nullable Object]> isa NativeArray[E] */
5860 /* <p0:NativeArray[nullable Object]> isa NativeArray[E] */
5861 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
5862 cltype
= type_struct
->color
;
5863 idtype
= type_struct
->id
;
5864 if(cltype
>= p0
->type
->table_size
) {
5867 var
= p0
->type
->type_table
[cltype
] == idtype
;
5869 if (unlikely(!var
)) {
5870 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5871 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[E]", var_class_name
);
5872 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 779);
5875 memmove(((struct instance_array__NativeArray
*)p0
)->values
, ((struct instance_array__NativeArray
*)self
)->values
, p1
*sizeof(val
*));
5878 /* method array#NativeArray#copy_to for (self: Object, NativeArray[nullable Object], Int) */
5879 void VIRTUAL_array__NativeArray__copy_to(val
* self
, val
* p0
, long p1
) {
5880 short int var
/* : Bool */;
5883 const struct type
* type_struct
;
5884 const char* var_class_name
;
5885 { /* Inline array#NativeArray#copy_to (self,p0,p1) on <self:Object(NativeArray[nullable Object])> */
5886 /* Covariant cast for argument 0 (dest) <p0:NativeArray[nullable Object]> isa NativeArray[E] */
5887 /* <p0:NativeArray[nullable Object]> isa NativeArray[E] */
5888 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
5889 cltype
= type_struct
->color
;
5890 idtype
= type_struct
->id
;
5891 if(cltype
>= p0
->type
->table_size
) {
5894 var
= p0
->type
->type_table
[cltype
] == idtype
;
5896 if (unlikely(!var
)) {
5897 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5898 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[E]", var_class_name
);
5899 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/collection/array.nit", 779);
5902 memmove(((struct instance_array__NativeArray
*)p0
)->values
, ((struct instance_array__NativeArray
*)self
)->values
, p1
*sizeof(val
*));