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 var1
= array__AbstractArrayRead__length(self
);
20 /* method array#AbstractArrayRead#is_empty for (self: AbstractArrayRead[nullable Object]): Bool */
21 short int array__AbstractArrayRead__is_empty(val
* self
) {
22 short int var
/* : Bool */;
23 long var1
/* : Int */;
24 long var2
/* : Int */;
25 short int var3
/* : Bool */;
26 short int var5
/* : Bool */;
27 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
29 { /* Inline kernel#Int#== (var1,var2) */
40 /* method array#AbstractArrayRead#is_empty for (self: Object): Bool */
41 short int VIRTUAL_array__AbstractArrayRead__is_empty(val
* self
) {
42 short int var
/* : Bool */;
43 short int var1
/* : Bool */;
44 var1
= array__AbstractArrayRead__is_empty(self
);
49 /* method array#AbstractArrayRead#has for (self: AbstractArrayRead[nullable Object], nullable Object): Bool */
50 short int array__AbstractArrayRead__has(val
* self
, val
* p0
) {
51 short int var
/* : Bool */;
52 short int var1
/* : Bool */;
55 const struct type
* type_struct
;
56 short int is_nullable
;
57 val
* var_item
/* var item: nullable Object */;
58 long var2
/* : Int */;
59 long var_i
/* var i: Int */;
60 long var3
/* : Int */;
61 long var_l
/* var l: Int */;
62 short int var4
/* : Bool */;
63 short int var6
/* : Bool */;
66 short int var9
/* : Bool */;
67 val
* var10
/* : nullable Object */;
68 short int var11
/* : Bool */;
69 short int var12
/* : Bool */;
70 long var13
/* : Int */;
71 long var14
/* : Int */;
72 long var16
/* : Int */;
73 short int var17
/* : Bool */;
74 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
75 /* <p0:nullable Object> isa Collection#0 */
76 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
77 cltype
= type_struct
->color
;
78 idtype
= type_struct
->id
;
79 is_nullable
= type_struct
->is_nullable
;
83 if(cltype
>= p0
->type
->table_size
) {
86 var1
= p0
->type
->type_table
[cltype
] == idtype
;
90 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 28);
96 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
99 { /* Inline kernel#Int#< (var_i,var_l) */
100 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
101 /* <var_l:Int> isa OTHER */
102 var6
= 1; /* easy <var_l:Int> isa OTHER*/
104 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
107 var9
= var_i
< var_l
;
113 var10
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
115 var11
= (var_item
== NULL
);
117 var11
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var_item
) /* == on <var10:nullable Object>*/;
126 { /* Inline kernel#Int#+ (var_i,var13) */
127 var16
= var_i
+ var13
;
133 CONTINUE_label
: (void)0;
135 BREAK_label
: (void)0;
142 /* method array#AbstractArrayRead#has for (self: Object, nullable Object): Bool */
143 short int VIRTUAL_array__AbstractArrayRead__has(val
* self
, val
* p0
) {
144 short int var
/* : Bool */;
145 short int var1
/* : Bool */;
146 var1
= array__AbstractArrayRead__has(self
, p0
);
151 /* method array#AbstractArrayRead#has_only for (self: AbstractArrayRead[nullable Object], nullable Object): Bool */
152 short int array__AbstractArrayRead__has_only(val
* self
, val
* p0
) {
153 short int var
/* : Bool */;
154 short int var1
/* : Bool */;
157 const struct type
* type_struct
;
158 short int is_nullable
;
159 val
* var_item
/* var item: nullable Object */;
160 long var2
/* : Int */;
161 long var_i
/* var i: Int */;
162 long var3
/* : Int */;
163 long var_l
/* var l: Int */;
164 short int var4
/* : Bool */;
165 short int var6
/* : Bool */;
168 short int var9
/* : Bool */;
169 val
* var10
/* : nullable Object */;
170 short int var11
/* : Bool */;
171 short int var12
/* : Bool */;
172 long var13
/* : Int */;
173 long var14
/* : Int */;
174 long var16
/* : Int */;
175 short int var17
/* : Bool */;
176 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
177 /* <p0:nullable Object> isa Collection#0 */
178 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
179 cltype
= type_struct
->color
;
180 idtype
= type_struct
->id
;
181 is_nullable
= type_struct
->is_nullable
;
185 if(cltype
>= p0
->type
->table_size
) {
188 var1
= p0
->type
->type_table
[cltype
] == idtype
;
192 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 39);
198 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
201 { /* Inline kernel#Int#< (var_i,var_l) */
202 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
203 /* <var_l:Int> isa OTHER */
204 var6
= 1; /* easy <var_l:Int> isa OTHER*/
206 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
209 var9
= var_i
< var_l
;
215 var10
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
217 var11
= (var_item
!= NULL
);
219 var11
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var10
, var_item
) /* != on <var10:nullable Object>*/;
228 { /* Inline kernel#Int#+ (var_i,var13) */
229 var16
= var_i
+ var13
;
235 CONTINUE_label
: (void)0;
237 BREAK_label
: (void)0;
244 /* method array#AbstractArrayRead#has_only for (self: Object, nullable Object): Bool */
245 short int VIRTUAL_array__AbstractArrayRead__has_only(val
* self
, val
* p0
) {
246 short int var
/* : Bool */;
247 short int var1
/* : Bool */;
248 var1
= array__AbstractArrayRead__has_only(self
, p0
);
253 /* method array#AbstractArrayRead#count for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
254 long array__AbstractArrayRead__count(val
* self
, val
* p0
) {
255 long var
/* : Int */;
256 short int var1
/* : Bool */;
259 const struct type
* type_struct
;
260 short int is_nullable
;
261 val
* var_item
/* var item: nullable Object */;
262 long var2
/* : Int */;
263 long var_res
/* var res: Int */;
264 long var3
/* : Int */;
265 long var_i
/* var i: Int */;
266 long var4
/* : Int */;
267 long var_l
/* var l: Int */;
268 short int var5
/* : Bool */;
269 short int var7
/* : Bool */;
272 short int var10
/* : Bool */;
273 val
* var11
/* : nullable Object */;
274 short int var12
/* : Bool */;
275 long var13
/* : Int */;
276 long var14
/* : Int */;
277 long var16
/* : Int */;
278 long var17
/* : Int */;
279 long var18
/* : Int */;
280 long var20
/* : Int */;
281 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
282 /* <p0:nullable Object> isa Collection#0 */
283 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
284 cltype
= type_struct
->color
;
285 idtype
= type_struct
->id
;
286 is_nullable
= type_struct
->is_nullable
;
290 if(cltype
>= p0
->type
->table_size
) {
293 var1
= p0
->type
->type_table
[cltype
] == idtype
;
297 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 50);
305 var4
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
308 { /* Inline kernel#Int#< (var_i,var_l) */
309 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
310 /* <var_l:Int> isa OTHER */
311 var7
= 1; /* easy <var_l:Int> isa OTHER*/
313 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
316 var10
= var_i
< var_l
;
322 var11
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
324 var12
= (var_item
== NULL
);
326 var12
= ((short int (*)(val
*, val
*))(var11
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var11
, var_item
) /* == on <var11:nullable Object>*/;
330 { /* Inline kernel#Int#+ (var_res,var13) */
331 var16
= var_res
+ var13
;
340 { /* Inline kernel#Int#+ (var_i,var17) */
341 var20
= var_i
+ var17
;
347 CONTINUE_label
: (void)0;
349 BREAK_label
: (void)0;
355 /* method array#AbstractArrayRead#count for (self: Object, nullable Object): Int */
356 long VIRTUAL_array__AbstractArrayRead__count(val
* self
, val
* p0
) {
357 long var
/* : Int */;
358 long var1
/* : Int */;
359 var1
= array__AbstractArrayRead__count(self
, p0
);
364 /* method array#AbstractArrayRead#index_of for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
365 long array__AbstractArrayRead__index_of(val
* self
, val
* p0
) {
366 long var
/* : Int */;
367 short int var1
/* : Bool */;
370 const struct type
* type_struct
;
371 short int is_nullable
;
372 val
* var_item
/* var item: nullable Object */;
373 long var2
/* : Int */;
374 long var3
/* : Int */;
375 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa SequenceRead#0 */
376 /* <p0:nullable Object> isa SequenceRead#0 */
377 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SequenceRead_FT0
];
378 cltype
= type_struct
->color
;
379 idtype
= type_struct
->id
;
380 is_nullable
= type_struct
->is_nullable
;
384 if(cltype
>= p0
->type
->table_size
) {
387 var1
= p0
->type
->type_table
[cltype
] == idtype
;
391 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 62);
396 var3
= ((long (*)(val
*, val
*, long))(self
->class->vft
[COLOR_array__AbstractArrayRead__index_of_from
]))(self
, var_item
, var2
) /* index_of_from on <self:AbstractArrayRead[nullable Object]>*/;
402 /* method array#AbstractArrayRead#index_of for (self: Object, nullable Object): Int */
403 long VIRTUAL_array__AbstractArrayRead__index_of(val
* self
, val
* p0
) {
404 long var
/* : Int */;
405 long var1
/* : Int */;
406 var1
= array__AbstractArrayRead__index_of(self
, p0
);
411 /* method array#AbstractArrayRead#last_index_of for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
412 long array__AbstractArrayRead__last_index_of(val
* self
, val
* p0
) {
413 long var
/* : Int */;
414 short int var1
/* : Bool */;
417 const struct type
* type_struct
;
418 short int is_nullable
;
419 val
* var_item
/* var item: nullable Object */;
420 long var2
/* : Int */;
421 long var3
/* : Int */;
422 long var4
/* : Int */;
423 long var6
/* : Int */;
424 long var7
/* : Int */;
425 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa AbstractArrayRead#0 */
426 /* <p0:nullable Object> isa AbstractArrayRead#0 */
427 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
428 cltype
= type_struct
->color
;
429 idtype
= type_struct
->id
;
430 is_nullable
= type_struct
->is_nullable
;
434 if(cltype
>= p0
->type
->table_size
) {
437 var1
= p0
->type
->type_table
[cltype
] == idtype
;
441 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 64);
445 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
447 { /* Inline kernel#Int#- (var2,var3) */
453 var7
= ((long (*)(val
*, val
*, long))(self
->class->vft
[COLOR_array__AbstractArrayRead__last_index_of_from
]))(self
, var_item
, var4
) /* last_index_of_from on <self:AbstractArrayRead[nullable Object]>*/;
459 /* method array#AbstractArrayRead#last_index_of for (self: Object, nullable Object): Int */
460 long VIRTUAL_array__AbstractArrayRead__last_index_of(val
* self
, val
* p0
) {
461 long var
/* : Int */;
462 long var1
/* : Int */;
463 var1
= array__AbstractArrayRead__last_index_of(self
, p0
);
468 /* method array#AbstractArrayRead#index_of_from for (self: AbstractArrayRead[nullable Object], nullable Object, Int): Int */
469 long array__AbstractArrayRead__index_of_from(val
* self
, val
* p0
, long p1
) {
470 long var
/* : Int */;
471 short int var1
/* : Bool */;
474 const struct type
* type_struct
;
475 short int is_nullable
;
476 val
* var_item
/* var item: nullable Object */;
477 long var_pos
/* var pos: Int */;
478 long var_i
/* var i: Int */;
479 long var2
/* : Int */;
480 long var_len
/* var len: Int */;
481 short int var3
/* : Bool */;
482 short int var5
/* : Bool */;
485 short int var8
/* : Bool */;
486 val
* var9
/* : nullable Object */;
487 short int var10
/* : Bool */;
488 long var11
/* : Int */;
489 long var12
/* : Int */;
490 long var14
/* : Int */;
491 long var15
/* : Int */;
492 long var16
/* : Int */;
493 long var18
/* : Int */;
494 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa AbstractArrayRead#0 */
495 /* <p0:nullable Object> isa AbstractArrayRead#0 */
496 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
497 cltype
= type_struct
->color
;
498 idtype
= type_struct
->id
;
499 is_nullable
= type_struct
->is_nullable
;
503 if(cltype
>= p0
->type
->table_size
) {
506 var1
= p0
->type
->type_table
[cltype
] == idtype
;
510 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 68);
516 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
519 { /* Inline kernel#Int#< (var_i,var_len) */
520 /* Covariant cast for argument 0 (i) <var_len:Int> isa OTHER */
521 /* <var_len:Int> isa OTHER */
522 var5
= 1; /* easy <var_len:Int> isa OTHER*/
524 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
527 var8
= var_i
< var_len
;
533 var9
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
535 var10
= (var_item
== NULL
);
537 var10
= ((short int (*)(val
*, val
*))(var9
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var9
, var_item
) /* == on <var9:nullable Object>*/;
545 { /* Inline kernel#Int#+ (var_i,var11) */
546 var14
= var_i
+ var11
;
552 CONTINUE_label
: (void)0;
554 BREAK_label
: (void)0;
556 { /* Inline kernel#Int#unary - (var15) */
567 /* method array#AbstractArrayRead#index_of_from for (self: Object, nullable Object, Int): Int */
568 long VIRTUAL_array__AbstractArrayRead__index_of_from(val
* self
, val
* p0
, long p1
) {
569 long var
/* : Int */;
570 long var1
/* : Int */;
571 var1
= array__AbstractArrayRead__index_of_from(self
, p0
, p1
);
576 /* method array#AbstractArrayRead#last_index_of_from for (self: AbstractArrayRead[nullable Object], nullable Object, Int): Int */
577 long array__AbstractArrayRead__last_index_of_from(val
* self
, val
* p0
, long p1
) {
578 long var
/* : Int */;
579 short int var1
/* : Bool */;
582 const struct type
* type_struct
;
583 short int is_nullable
;
584 val
* var_item
/* var item: nullable Object */;
585 long var_pos
/* var pos: Int */;
586 long var_i
/* var i: Int */;
587 long var2
/* : Int */;
588 short int var3
/* : Bool */;
589 short int var5
/* : Bool */;
592 short int var8
/* : Bool */;
593 val
* var9
/* : nullable Object */;
594 short int var10
/* : Bool */;
595 long var11
/* : Int */;
596 long var12
/* : Int */;
597 long var14
/* : Int */;
598 long var15
/* : Int */;
599 long var16
/* : Int */;
600 long var18
/* : Int */;
601 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa AbstractArrayRead#0 */
602 /* <p0:nullable Object> isa AbstractArrayRead#0 */
603 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
604 cltype
= type_struct
->color
;
605 idtype
= type_struct
->id
;
606 is_nullable
= type_struct
->is_nullable
;
610 if(cltype
>= p0
->type
->table_size
) {
613 var1
= p0
->type
->type_table
[cltype
] == idtype
;
617 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 83);
625 { /* Inline kernel#Int#>= (var_i,var2) */
626 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
627 /* <var2:Int> isa OTHER */
628 var5
= 1; /* easy <var2:Int> isa OTHER*/
630 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
633 var8
= var_i
>= var2
;
639 var9
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
641 var10
= (var_item
== NULL
);
643 var10
= ((short int (*)(val
*, val
*))(var9
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var9
, var_item
) /* == on <var9:nullable Object>*/;
650 { /* Inline kernel#Int#- (var_i,var11) */
651 var14
= var_i
- var11
;
658 CONTINUE_label
: (void)0;
660 BREAK_label
: (void)0;
662 { /* Inline kernel#Int#unary - (var15) */
673 /* method array#AbstractArrayRead#last_index_of_from for (self: Object, nullable Object, Int): Int */
674 long VIRTUAL_array__AbstractArrayRead__last_index_of_from(val
* self
, val
* p0
, long p1
) {
675 long var
/* : Int */;
676 long var1
/* : Int */;
677 var1
= array__AbstractArrayRead__last_index_of_from(self
, p0
, p1
);
682 /* method array#AbstractArrayRead#reversed for (self: AbstractArrayRead[nullable Object]): Array[nullable Object] */
683 val
* array__AbstractArrayRead__reversed(val
* self
) {
684 val
* var
/* : Array[nullable Object] */;
685 long var1
/* : Int */;
686 long var_cmp
/* var cmp: Int */;
687 val
* var2
/* : Array[nullable Object] */;
688 val
* var_result
/* var result: Array[nullable Object] */;
689 long var3
/* : Int */;
690 short int var4
/* : Bool */;
691 short int var6
/* : Bool */;
694 short int var7
/* : Bool */;
695 long var8
/* : Int */;
696 long var9
/* : Int */;
697 long var11
/* : Int */;
698 val
* var12
/* : nullable Object */;
699 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
701 var2
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__AbstractArrayRead_FT0
]);
702 ((void (*)(val
*, long))(var2
->class->vft
[COLOR_array__Array__with_capacity
]))(var2
, var_cmp
) /* with_capacity on <var2:Array[nullable Object]>*/;
703 CHECK_NEW_array__Array(var2
);
707 { /* Inline kernel#Int#> (var_cmp,var3) */
708 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
709 /* <var3:Int> isa OTHER */
710 var6
= 1; /* easy <var3:Int> isa OTHER*/
712 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
715 var7
= var_cmp
> var3
;
722 { /* Inline kernel#Int#- (var_cmp,var8) */
723 var11
= var_cmp
- var8
;
729 var12
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_cmp
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
730 ((void (*)(val
*, val
*))(var_result
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_result
, var12
) /* add on <var_result:Array[nullable Object]>*/;
731 CONTINUE_label
: (void)0;
733 BREAK_label
: (void)0;
739 /* method array#AbstractArrayRead#reversed for (self: Object): Array[nullable Object] */
740 val
* VIRTUAL_array__AbstractArrayRead__reversed(val
* self
) {
741 val
* var
/* : Array[nullable Object] */;
742 val
* var1
/* : Array[nullable Object] */;
743 var1
= array__AbstractArrayRead__reversed(self
);
748 /* method array#AbstractArrayRead#copy_to for (self: AbstractArrayRead[nullable Object], Int, Int, AbstractArray[nullable Object], Int) */
749 void array__AbstractArrayRead__copy_to(val
* self
, long p0
, long p1
, val
* p2
, long p3
) {
750 short int var
/* : Bool */;
753 const struct type
* type_struct
;
754 long var_start
/* var start: Int */;
755 long var_len
/* var len: Int */;
756 val
* var_dest
/* var dest: AbstractArray[nullable Object] */;
757 long var_new_start
/* var new_start: Int */;
758 long var_i
/* var i: Int */;
759 long var1
/* : Int */;
760 short int var2
/* : Bool */;
761 short int var4
/* : Bool */;
764 short int var7
/* : Bool */;
765 long var8
/* : Int */;
766 long var9
/* : Int */;
767 long var11
/* : Int */;
768 long var12
/* : Int */;
769 long var14
/* : Int */;
770 long var15
/* : Int */;
771 long var17
/* : Int */;
772 val
* var18
/* : nullable Object */;
773 /* Covariant cast for argument 2 (dest) <p2:AbstractArray[nullable Object]> isa AbstractArray[AbstractArrayRead#0] */
774 /* <p2:AbstractArray[nullable Object]> isa AbstractArray[AbstractArrayRead#0] */
775 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayarray__AbstractArrayRead_FT0
];
776 cltype
= type_struct
->color
;
777 idtype
= type_struct
->id
;
778 if(cltype
>= p2
->type
->table_size
) {
781 var
= p2
->type
->type_table
[cltype
] == idtype
;
784 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 112);
794 { /* Inline kernel#Int#> (var_i,var1) */
795 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
796 /* <var1:Int> isa OTHER */
797 var4
= 1; /* easy <var1:Int> isa OTHER*/
799 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
809 { /* Inline kernel#Int#- (var_i,var8) */
810 var11
= var_i
- var8
;
816 { /* Inline kernel#Int#+ (var_new_start,var_i) */
817 var14
= var_new_start
+ var_i
;
822 { /* Inline kernel#Int#+ (var_start,var_i) */
823 var17
= var_start
+ var_i
;
828 var18
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var15
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
829 ((void (*)(val
*, long, val
*))(var_dest
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_dest
, var12
, var18
) /* []= on <var_dest:AbstractArray[nullable Object]>*/;
830 CONTINUE_label
: (void)0;
832 BREAK_label
: (void)0;
835 /* method array#AbstractArrayRead#copy_to for (self: Object, Int, Int, AbstractArray[nullable Object], Int) */
836 void VIRTUAL_array__AbstractArrayRead__copy_to(val
* self
, long p0
, long p1
, val
* p2
, long p3
) {
837 array__AbstractArrayRead__copy_to(self
, p0
, p1
, p2
, p3
);
840 /* method array#AbstractArrayRead#output for (self: AbstractArrayRead[nullable Object]) */
841 void array__AbstractArrayRead__output(val
* self
) {
842 long var
/* : Int */;
843 long var_i
/* var i: Int */;
844 long var1
/* : Int */;
845 long var_l
/* var l: Int */;
846 short int var2
/* : Bool */;
847 short int var4
/* : Bool */;
850 short int var5
/* : Bool */;
851 val
* var6
/* : nullable Object */;
852 val
* var_e
/* var e: nullable Object */;
853 val
* var7
/* : null */;
854 short int var8
/* : Bool */;
855 long var9
/* : Int */;
856 long var10
/* : Int */;
857 long var12
/* : Int */;
860 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
863 { /* Inline kernel#Int#< (var_i,var_l) */
864 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
865 /* <var_l:Int> isa OTHER */
866 var4
= 1; /* easy <var_l:Int> isa OTHER*/
868 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
871 var5
= var_i
< var_l
;
877 var6
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
881 var8
= 0; /* is null */
883 var8
= 1; /* arg is null and recv is not */
887 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/collection/array.nit", 134);
890 ((void (*)(val
*))(var_e
->class->vft
[COLOR_kernel__Object__output
]))(var_e
) /* output on <var_e:nullable Object>*/;
895 { /* Inline kernel#Int#+ (var_i,var9) */
896 var12
= var_i
+ var9
;
902 CONTINUE_label
: (void)0;
904 BREAK_label
: (void)0;
907 /* method array#AbstractArrayRead#output for (self: Object) */
908 void VIRTUAL_array__AbstractArrayRead__output(val
* self
) {
909 array__AbstractArrayRead__output(self
);
912 /* method array#AbstractArrayRead#iterator for (self: AbstractArrayRead[nullable Object]): ArrayIterator[nullable Object] */
913 val
* array__AbstractArrayRead__iterator(val
* self
) {
914 val
* var
/* : ArrayIterator[nullable Object] */;
915 val
* var1
/* : ArrayIterator[nullable Object] */;
916 var1
= NEW_array__ArrayIterator(self
->type
->resolution_table
->types
[COLOR_array__ArrayIteratorarray__AbstractArrayRead_FT0
]);
917 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_array__ArrayIterator__init
]))(var1
, self
) /* init on <var1:ArrayIterator[nullable Object]>*/;
918 CHECK_NEW_array__ArrayIterator(var1
);
924 /* method array#AbstractArrayRead#iterator for (self: Object): Iterator[nullable Object] */
925 val
* VIRTUAL_array__AbstractArrayRead__iterator(val
* self
) {
926 val
* var
/* : Iterator[nullable Object] */;
927 val
* var1
/* : ArrayIterator[nullable Object] */;
928 var1
= array__AbstractArrayRead__iterator(self
);
933 /* method array#AbstractArrayRead#init for (self: AbstractArrayRead[nullable Object]) */
934 void array__AbstractArrayRead__init(val
* self
) {
937 /* method array#AbstractArrayRead#init for (self: Object) */
938 void VIRTUAL_array__AbstractArrayRead__init(val
* self
) {
939 array__AbstractArrayRead__init(self
);
942 /* method array#AbstractArray#enlarge for (self: AbstractArray[nullable Object], Int) */
943 void array__AbstractArray__enlarge(val
* self
, long p0
) {
944 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/standard/collection/array.nit", 147);
948 /* method array#AbstractArray#enlarge for (self: Object, Int) */
949 void VIRTUAL_array__AbstractArray__enlarge(val
* self
, long p0
) {
950 array__AbstractArray__enlarge(self
, p0
);
953 /* method array#AbstractArray#push for (self: AbstractArray[nullable Object], nullable Object) */
954 void array__AbstractArray__push(val
* self
, val
* p0
) {
955 short int var
/* : Bool */;
958 const struct type
* type_struct
;
959 short int is_nullable
;
960 val
* var_item
/* var item: nullable Object */;
961 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Sequence#0 */
962 /* <p0:nullable Object> isa Sequence#0 */
963 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
964 cltype
= type_struct
->color
;
965 idtype
= type_struct
->id
;
966 is_nullable
= type_struct
->is_nullable
;
970 if(cltype
>= p0
->type
->table_size
) {
973 var
= p0
->type
->type_table
[cltype
] == idtype
;
977 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 152);
981 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(self
, var_item
) /* add on <self:AbstractArray[nullable Object]>*/;
984 /* method array#AbstractArray#push for (self: Object, nullable Object) */
985 void VIRTUAL_array__AbstractArray__push(val
* self
, val
* p0
) {
986 array__AbstractArray__push(self
, p0
);
989 /* method array#AbstractArray#pop for (self: AbstractArray[nullable Object]): nullable Object */
990 val
* array__AbstractArray__pop(val
* self
) {
991 val
* var
/* : nullable Object */;
992 short int var1
/* : Bool */;
993 short int var2
/* : Bool */;
994 val
* var3
/* : nullable Object */;
995 val
* var_r
/* var r: nullable Object */;
996 val
* var_
/* var : AbstractArray[nullable Object] */;
997 long var4
/* : Int */;
998 long var5
/* : Int */;
999 long var6
/* : Int */;
1000 long var8
/* : Int */;
1001 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:AbstractArray[nullable Object]>*/;
1004 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert \'not_empty\' failed", "lib/standard/collection/array.nit", 156);
1007 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(self
) /* last on <self:AbstractArray[nullable Object]>*/;
1010 var4
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:AbstractArray[nullable Object]> */
1012 { /* Inline kernel#Int#- (var4,var5) */
1018 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var6
; /* _length on <var_:AbstractArray[nullable Object]> */
1024 /* method array#AbstractArray#pop for (self: Object): nullable Object */
1025 val
* VIRTUAL_array__AbstractArray__pop(val
* self
) {
1026 val
* var
/* : nullable Object */;
1027 val
* var1
/* : nullable Object */;
1028 var1
= array__AbstractArray__pop(self
);
1033 /* method array#AbstractArray#shift for (self: AbstractArray[nullable Object]): nullable Object */
1034 val
* array__AbstractArray__shift(val
* self
) {
1035 val
* var
/* : nullable Object */;
1036 short int var1
/* : Bool */;
1037 short int var2
/* : Bool */;
1038 val
* var3
/* : nullable Object */;
1039 val
* var_r
/* var r: nullable Object */;
1040 long var4
/* : Int */;
1041 long var_i
/* var i: Int */;
1042 long var5
/* : Int */;
1043 long var_l
/* var l: Int */;
1044 short int var6
/* : Bool */;
1045 short int var8
/* : Bool */;
1048 short int var9
/* : Bool */;
1049 long var10
/* : Int */;
1050 long var11
/* : Int */;
1051 long var13
/* : Int */;
1052 val
* var14
/* : nullable Object */;
1053 long var15
/* : Int */;
1054 long var16
/* : Int */;
1055 long var18
/* : Int */;
1056 long var19
/* : Int */;
1057 long var20
/* : Int */;
1058 long var22
/* : Int */;
1059 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:AbstractArray[nullable Object]>*/;
1062 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert \'not_empty\' failed", "lib/standard/collection/array.nit", 164);
1065 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__first
]))(self
) /* first on <self:AbstractArray[nullable Object]>*/;
1069 var5
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1072 { /* Inline kernel#Int#< (var_i,var_l) */
1073 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1074 /* <var_l:Int> isa OTHER */
1075 var8
= 1; /* easy <var_l:Int> isa OTHER*/
1077 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
1080 var9
= var_i
< var_l
;
1087 { /* Inline kernel#Int#- (var_i,var10) */
1088 var13
= var_i
- var10
;
1091 RET_LABEL12
:(void)0;
1093 var14
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArray[nullable Object]>*/;
1094 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var11
, var14
) /* []= on <self:AbstractArray[nullable Object]>*/;
1096 { /* Inline kernel#Int#+ (var_i,var15) */
1097 var18
= var_i
+ var15
;
1100 RET_LABEL17
:(void)0;
1103 CONTINUE_label
: (void)0;
1105 BREAK_label
: (void)0;
1107 { /* Inline kernel#Int#- (var_l,var19) */
1108 var22
= var_l
- var19
;
1111 RET_LABEL21
:(void)0;
1113 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var20
; /* _length on <self:AbstractArray[nullable Object]> */
1119 /* method array#AbstractArray#shift for (self: Object): nullable Object */
1120 val
* VIRTUAL_array__AbstractArray__shift(val
* self
) {
1121 val
* var
/* : nullable Object */;
1122 val
* var1
/* : nullable Object */;
1123 var1
= array__AbstractArray__shift(self
);
1128 /* method array#AbstractArray#unshift for (self: AbstractArray[nullable Object], nullable Object) */
1129 void array__AbstractArray__unshift(val
* self
, val
* p0
) {
1130 short int var
/* : Bool */;
1133 const struct type
* type_struct
;
1134 short int is_nullable
;
1135 val
* var_item
/* var item: nullable Object */;
1136 long var1
/* : Int */;
1137 long var2
/* : Int */;
1138 long var3
/* : Int */;
1139 long var5
/* : Int */;
1140 long var_i
/* var i: Int */;
1141 long var6
/* : Int */;
1142 short int var7
/* : Bool */;
1143 short int var9
/* : Bool */;
1146 short int var12
/* : Bool */;
1147 long var13
/* : Int */;
1148 long var14
/* : Int */;
1149 long var16
/* : Int */;
1150 val
* var17
/* : nullable Object */;
1151 long var18
/* : Int */;
1152 long var19
/* : Int */;
1153 long var21
/* : Int */;
1154 long var22
/* : Int */;
1155 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Sequence#0 */
1156 /* <p0:nullable Object> isa Sequence#0 */
1157 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
1158 cltype
= type_struct
->color
;
1159 idtype
= type_struct
->id
;
1160 is_nullable
= type_struct
->is_nullable
;
1164 if(cltype
>= p0
->type
->table_size
) {
1167 var
= p0
->type
->type_table
[cltype
] == idtype
;
1171 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 176);
1175 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1177 { /* Inline kernel#Int#- (var1,var2) */
1186 { /* Inline kernel#Int#> (var_i,var6) */
1187 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
1188 /* <var6:Int> isa OTHER */
1189 var9
= 1; /* easy <var6:Int> isa OTHER*/
1191 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
1194 var12
= var_i
> var6
;
1201 { /* Inline kernel#Int#+ (var_i,var13) */
1202 var16
= var_i
+ var13
;
1205 RET_LABEL15
:(void)0;
1207 var17
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArray[nullable Object]>*/;
1208 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var14
, var17
) /* []= on <self:AbstractArray[nullable Object]>*/;
1210 { /* Inline kernel#Int#- (var_i,var18) */
1211 var21
= var_i
- var18
;
1214 RET_LABEL20
:(void)0;
1217 CONTINUE_label
: (void)0;
1219 BREAK_label
: (void)0;
1221 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var22
, var_item
) /* []= on <self:AbstractArray[nullable Object]>*/;
1224 /* method array#AbstractArray#unshift for (self: Object, nullable Object) */
1225 void VIRTUAL_array__AbstractArray__unshift(val
* self
, val
* p0
) {
1226 array__AbstractArray__unshift(self
, p0
);
1229 /* method array#AbstractArray#insert for (self: AbstractArray[nullable Object], nullable Object, Int) */
1230 void array__AbstractArray__insert(val
* self
, val
* p0
, long p1
) {
1231 short int var
/* : Bool */;
1234 const struct type
* type_struct
;
1235 short int is_nullable
;
1236 val
* var_item
/* var item: nullable Object */;
1237 long var_pos
/* var pos: Int */;
1238 long var1
/* : Int */;
1239 long var2
/* : Int */;
1240 long var3
/* : Int */;
1241 long var5
/* : Int */;
1242 long var6
/* : Int */;
1243 long var7
/* : Int */;
1244 long var9
/* : Int */;
1245 long var10
/* : Int */;
1246 long var11
/* : Int */;
1247 long var13
/* : Int */;
1248 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa AbstractArray#0 */
1249 /* <p0:nullable Object> isa AbstractArray#0 */
1250 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArray_FT0
];
1251 cltype
= type_struct
->color
;
1252 idtype
= type_struct
->id
;
1253 is_nullable
= type_struct
->is_nullable
;
1257 if(cltype
>= p0
->type
->table_size
) {
1260 var
= p0
->type
->type_table
[cltype
] == idtype
;
1264 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 186);
1269 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1271 { /* Inline kernel#Int#+ (var1,var2) */
1277 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var3
) /* enlarge on <self:AbstractArray[nullable Object]>*/;
1278 var6
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1279 { /* Inline kernel#Int#- (var6,var_pos) */
1280 var9
= var6
- var_pos
;
1286 { /* Inline kernel#Int#+ (var_pos,var10) */
1287 var13
= var_pos
+ var10
;
1290 RET_LABEL12
:(void)0;
1292 ((void (*)(val
*, long, long, val
*, long))(self
->class->vft
[COLOR_array__AbstractArrayRead__copy_to
]))(self
, var_pos
, var7
, self
, var11
) /* copy_to on <self:AbstractArray[nullable Object]>*/;
1293 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_pos
, var_item
) /* []= on <self:AbstractArray[nullable Object]>*/;
1296 /* method array#AbstractArray#insert for (self: Object, nullable Object, Int) */
1297 void VIRTUAL_array__AbstractArray__insert(val
* self
, val
* p0
, long p1
) {
1298 array__AbstractArray__insert(self
, p0
, p1
);
1301 /* method array#AbstractArray#add for (self: AbstractArray[nullable Object], nullable Object) */
1302 void array__AbstractArray__add(val
* self
, val
* p0
) {
1303 short int var
/* : Bool */;
1306 const struct type
* type_struct
;
1307 short int is_nullable
;
1308 val
* var_item
/* var item: nullable Object */;
1309 long var1
/* : Int */;
1310 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa SimpleCollection#0 */
1311 /* <p0:nullable Object> isa SimpleCollection#0 */
1312 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SimpleCollection_FT0
];
1313 cltype
= type_struct
->color
;
1314 idtype
= type_struct
->id
;
1315 is_nullable
= type_struct
->is_nullable
;
1319 if(cltype
>= p0
->type
->table_size
) {
1322 var
= p0
->type
->type_table
[cltype
] == idtype
;
1326 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 198);
1330 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1331 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var1
, var_item
) /* []= on <self:AbstractArray[nullable Object]>*/;
1334 /* method array#AbstractArray#add for (self: Object, nullable Object) */
1335 void VIRTUAL_array__AbstractArray__add(val
* self
, val
* p0
) {
1336 array__AbstractArray__add(self
, p0
);
1339 /* method array#AbstractArray#clear for (self: AbstractArray[nullable Object]) */
1340 void array__AbstractArray__clear(val
* self
) {
1341 long var
/* : Int */;
1343 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var
; /* _length on <self:AbstractArray[nullable Object]> */
1346 /* method array#AbstractArray#clear for (self: Object) */
1347 void VIRTUAL_array__AbstractArray__clear(val
* self
) {
1348 array__AbstractArray__clear(self
);
1351 /* method array#AbstractArray#remove for (self: AbstractArray[nullable Object], nullable Object) */
1352 void array__AbstractArray__remove(val
* self
, val
* p0
) {
1353 short int var
/* : Bool */;
1356 const struct type
* type_struct
;
1357 short int is_nullable
;
1358 val
* var_item
/* var item: nullable Object */;
1359 long var1
/* : Int */;
1360 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
1361 /* <p0:nullable Object> isa RemovableCollection#0 */
1362 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
1363 cltype
= type_struct
->color
;
1364 idtype
= type_struct
->id
;
1365 is_nullable
= type_struct
->is_nullable
;
1369 if(cltype
>= p0
->type
->table_size
) {
1372 var
= p0
->type
->type_table
[cltype
] == idtype
;
1376 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 202);
1380 var1
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SequenceRead__index_of
]))(self
, var_item
) /* index_of on <self:AbstractArray[nullable Object]>*/;
1381 ((void (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__Sequence__remove_at
]))(self
, var1
) /* remove_at on <self:AbstractArray[nullable Object]>*/;
1384 /* method array#AbstractArray#remove for (self: Object, nullable Object) */
1385 void VIRTUAL_array__AbstractArray__remove(val
* self
, val
* p0
) {
1386 array__AbstractArray__remove(self
, p0
);
1389 /* method array#AbstractArray#remove_all for (self: AbstractArray[nullable Object], nullable Object) */
1390 void array__AbstractArray__remove_all(val
* self
, val
* p0
) {
1391 short int var
/* : Bool */;
1394 const struct type
* type_struct
;
1395 short int is_nullable
;
1396 val
* var_item
/* var item: nullable Object */;
1397 long var1
/* : Int */;
1398 long var_i
/* var i: Int */;
1399 long var2
/* : Int */;
1400 short int var3
/* : Bool */;
1401 short int var5
/* : Bool */;
1404 short int var8
/* : Bool */;
1405 long var9
/* : Int */;
1406 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
1407 /* <p0:nullable Object> isa RemovableCollection#0 */
1408 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
1409 cltype
= type_struct
->color
;
1410 idtype
= type_struct
->id
;
1411 is_nullable
= type_struct
->is_nullable
;
1415 if(cltype
>= p0
->type
->table_size
) {
1418 var
= p0
->type
->type_table
[cltype
] == idtype
;
1422 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 204);
1426 var1
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SequenceRead__index_of
]))(self
, var_item
) /* index_of on <self:AbstractArray[nullable Object]>*/;
1430 { /* Inline kernel#Int#>= (var_i,var2) */
1431 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1432 /* <var2:Int> isa OTHER */
1433 var5
= 1; /* easy <var2:Int> isa OTHER*/
1435 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
1438 var8
= var_i
>= var2
;
1444 ((void (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__Sequence__remove_at
]))(self
, var_i
) /* remove_at on <self:AbstractArray[nullable Object]>*/;
1445 var9
= ((long (*)(val
*, val
*, long))(self
->class->vft
[COLOR_array__AbstractArrayRead__index_of_from
]))(self
, var_item
, var_i
) /* index_of_from on <self:AbstractArray[nullable Object]>*/;
1447 CONTINUE_label
: (void)0;
1449 BREAK_label
: (void)0;
1452 /* method array#AbstractArray#remove_all for (self: Object, nullable Object) */
1453 void VIRTUAL_array__AbstractArray__remove_all(val
* self
, val
* p0
) {
1454 array__AbstractArray__remove_all(self
, p0
);
1457 /* method array#AbstractArray#remove_at for (self: AbstractArray[nullable Object], Int) */
1458 void array__AbstractArray__remove_at(val
* self
, long p0
) {
1459 long var_i
/* var i: Int */;
1460 long var
/* : Int */;
1461 long var_l
/* var l: Int */;
1462 short int var1
/* : Bool */;
1463 long var2
/* : Int */;
1464 short int var3
/* : Bool */;
1465 short int var5
/* : Bool */;
1468 short int var6
/* : Bool */;
1469 short int var_
/* var : Bool */;
1470 short int var7
/* : Bool */;
1471 short int var9
/* : Bool */;
1474 short int var12
/* : Bool */;
1475 long var13
/* : Int */;
1476 long var14
/* : Int */;
1477 long var16
/* : Int */;
1478 long var_j
/* var j: Int */;
1479 short int var17
/* : Bool */;
1480 short int var19
/* : Bool */;
1483 short int var22
/* : Bool */;
1484 long var23
/* : Int */;
1485 long var24
/* : Int */;
1486 long var26
/* : Int */;
1487 val
* var27
/* : nullable Object */;
1488 long var28
/* : Int */;
1489 long var29
/* : Int */;
1490 long var31
/* : Int */;
1491 long var32
/* : Int */;
1492 long var33
/* : Int */;
1493 long var35
/* : Int */;
1495 var
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1498 { /* Inline kernel#Int#>= (var_i,var2) */
1499 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1500 /* <var2:Int> isa OTHER */
1501 var5
= 1; /* easy <var2:Int> isa OTHER*/
1503 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
1506 var6
= var_i
>= var2
;
1513 { /* Inline kernel#Int#< (var_i,var_l) */
1514 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1515 /* <var_l:Int> isa OTHER */
1516 var9
= 1; /* easy <var_l:Int> isa OTHER*/
1518 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
1521 var12
= var_i
< var_l
;
1532 { /* Inline kernel#Int#+ (var_i,var13) */
1533 var16
= var_i
+ var13
;
1536 RET_LABEL15
:(void)0;
1540 { /* Inline kernel#Int#< (var_j,var_l) */
1541 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1542 /* <var_l:Int> isa OTHER */
1543 var19
= 1; /* easy <var_l:Int> isa OTHER*/
1545 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
1548 var22
= var_j
< var_l
;
1551 RET_LABEL18
:(void)0;
1555 { /* Inline kernel#Int#- (var_j,var23) */
1556 var26
= var_j
- var23
;
1559 RET_LABEL25
:(void)0;
1561 var27
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_j
) /* [] on <self:AbstractArray[nullable Object]>*/;
1562 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var24
, var27
) /* []= on <self:AbstractArray[nullable Object]>*/;
1564 { /* Inline kernel#Int#+ (var_j,var28) */
1565 var31
= var_j
+ var28
;
1568 RET_LABEL30
:(void)0;
1571 CONTINUE_label
: (void)0;
1573 BREAK_label
: (void)0;
1575 { /* Inline kernel#Int#- (var_l,var32) */
1576 var35
= var_l
- var32
;
1579 RET_LABEL34
:(void)0;
1581 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var33
; /* _length on <self:AbstractArray[nullable Object]> */
1586 /* method array#AbstractArray#remove_at for (self: Object, Int) */
1587 void VIRTUAL_array__AbstractArray__remove_at(val
* self
, long p0
) {
1588 array__AbstractArray__remove_at(self
, p0
);
1591 /* method array#AbstractArray#swap_at for (self: AbstractArray[nullable Object], Int, Int) */
1592 void array__AbstractArray__swap_at(val
* self
, long p0
, long p1
) {
1593 long var_a
/* var a: Int */;
1594 long var_b
/* var b: Int */;
1595 val
* var
/* : nullable Object */;
1596 val
* var_e
/* var e: nullable Object */;
1597 val
* var1
/* : nullable Object */;
1600 var
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_a
) /* [] on <self:AbstractArray[nullable Object]>*/;
1602 var1
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_b
) /* [] on <self:AbstractArray[nullable Object]>*/;
1603 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_a
, var1
) /* []= on <self:AbstractArray[nullable Object]>*/;
1604 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_b
, var_e
) /* []= on <self:AbstractArray[nullable Object]>*/;
1607 /* method array#AbstractArray#swap_at for (self: Object, Int, Int) */
1608 void VIRTUAL_array__AbstractArray__swap_at(val
* self
, long p0
, long p1
) {
1609 array__AbstractArray__swap_at(self
, p0
, p1
);
1612 /* method array#AbstractArray#init for (self: AbstractArray[nullable Object]) */
1613 void array__AbstractArray__init(val
* self
) {
1614 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArrayRead__init
]))(self
) /* init on <self:AbstractArray[nullable Object]>*/;
1617 /* method array#AbstractArray#init for (self: Object) */
1618 void VIRTUAL_array__AbstractArray__init(val
* self
) {
1619 array__AbstractArray__init(self
);
1622 /* method array#Array#iterate for (self: Array[nullable Object]) */
1623 void array__Array__iterate(val
* self
) {
1624 long var
/* : Int */;
1625 long var_i
/* var i: Int */;
1626 long var1
/* : Int */;
1627 long var_l
/* var l: Int */;
1628 val
* var2
/* : nullable NativeArray[nullable Object] */;
1629 val
* var_items
/* var items: nullable NativeArray[nullable Object] */;
1630 long var3
/* : Int */;
1631 short int var4
/* : Bool */;
1632 short int var6
/* : Bool */;
1635 short int var7
/* : Bool */;
1636 long var8
/* : Int */;
1637 long var9
/* : Int */;
1638 long var11
/* : Int */;
1641 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1643 var2
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
1646 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Array[nullable Object]>*/;
1647 { /* Inline kernel#Int#< (var_i,var3) */
1648 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
1649 /* <var3:Int> isa OTHER */
1650 var6
= 1; /* easy <var3:Int> isa OTHER*/
1652 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
1655 var7
= var_i
< var3
;
1661 printf("NOT YET IMPLEMENTED AClosureCallExpr:lib/standard/collection/array.nit:260,4--17\n");
1663 { /* Inline kernel#Int#+ (var_i,var8) */
1664 var11
= var_i
+ var8
;
1667 RET_LABEL10
:(void)0;
1670 CONTINUE_label
: (void)0;
1672 BREAK_label
: (void)0;
1675 /* method array#Array#iterate for (self: Object) */
1676 void VIRTUAL_array__Array__iterate(val
* self
) {
1677 array__Array__iterate(self
);
1680 /* method array#Array#[] for (self: Array[nullable Object], Int): nullable Object */
1681 val
* array__Array___91d_93d(val
* self
, long p0
) {
1682 val
* var
/* : nullable Object */;
1683 long var_index
/* var index: Int */;
1684 short int var1
/* : Bool */;
1685 long var2
/* : Int */;
1686 short int var3
/* : Bool */;
1687 short int var5
/* : Bool */;
1690 short int var6
/* : Bool */;
1691 short int var_
/* var : Bool */;
1692 long var7
/* : Int */;
1693 short int var8
/* : Bool */;
1694 short int var10
/* : Bool */;
1697 short int var13
/* : Bool */;
1698 val
* var14
/* : nullable NativeArray[nullable Object] */;
1699 val
* var15
/* : nullable Object */;
1702 { /* Inline kernel#Int#>= (var_index,var2) */
1703 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1704 /* <var2:Int> isa OTHER */
1705 var5
= 1; /* easy <var2:Int> isa OTHER*/
1707 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
1710 var6
= var_index
>= var2
;
1717 var7
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1718 { /* Inline kernel#Int#< (var_index,var7) */
1719 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
1720 /* <var7:Int> isa OTHER */
1721 var10
= 1; /* easy <var7:Int> isa OTHER*/
1723 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
1726 var13
= var_index
< var7
;
1736 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert \'index\' failed", "lib/standard/collection/array.nit", 267);
1739 var14
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
1740 if (var14
== NULL
) {
1741 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/collection/array.nit", 268);
1744 var15
= ((val
* (*)(val
*, long))(var14
->class->vft
[COLOR_array__NativeArray___91d_93d
]))(var14
, var_index
) /* [] on <var14:nullable NativeArray[nullable Object]>*/;
1751 /* method array#Array#[] for (self: Object, Int): nullable Object */
1752 val
* VIRTUAL_array__Array___91d_93d(val
* self
, long p0
) {
1753 val
* var
/* : nullable Object */;
1754 val
* var1
/* : nullable Object */;
1755 var1
= array__Array___91d_93d(self
, p0
);
1760 /* method array#Array#[]= for (self: Array[nullable Object], Int, nullable Object) */
1761 void array__Array___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
1762 short int var
/* : Bool */;
1765 const struct type
* type_struct
;
1766 short int is_nullable
;
1767 long var_index
/* var index: Int */;
1768 val
* var_item
/* var item: nullable Object */;
1769 short int var1
/* : Bool */;
1770 long var2
/* : Int */;
1771 short int var3
/* : Bool */;
1772 short int var5
/* : Bool */;
1775 short int var8
/* : Bool */;
1776 short int var_
/* var : Bool */;
1777 long var9
/* : Int */;
1778 long var10
/* : Int */;
1779 long var11
/* : Int */;
1780 long var13
/* : Int */;
1781 short int var14
/* : Bool */;
1782 short int var16
/* : Bool */;
1785 short int var19
/* : Bool */;
1786 long var20
/* : Int */;
1787 short int var21
/* : Bool */;
1788 short int var23
/* : Bool */;
1791 short int var26
/* : Bool */;
1792 long var27
/* : Int */;
1793 long var28
/* : Int */;
1794 long var30
/* : Int */;
1795 long var31
/* : Int */;
1796 short int var32
/* : Bool */;
1797 short int var34
/* : Bool */;
1800 short int var37
/* : Bool */;
1801 long var38
/* : Int */;
1802 long var39
/* : Int */;
1803 long var41
/* : Int */;
1804 val
* var42
/* : nullable NativeArray[nullable Object] */;
1805 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa Sequence#0 */
1806 /* <p1:nullable Object> isa Sequence#0 */
1807 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
1808 cltype
= type_struct
->color
;
1809 idtype
= type_struct
->id
;
1810 is_nullable
= type_struct
->is_nullable
;
1814 if(cltype
>= p1
->type
->table_size
) {
1817 var
= p1
->type
->type_table
[cltype
] == idtype
;
1821 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 271);
1827 { /* Inline kernel#Int#>= (var_index,var2) */
1828 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1829 /* <var2:Int> isa OTHER */
1830 var5
= 1; /* easy <var2:Int> isa OTHER*/
1832 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
1835 var8
= var_index
>= var2
;
1842 var9
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1844 { /* Inline kernel#Int#+ (var9,var10) */
1845 var13
= var9
+ var10
;
1848 RET_LABEL12
:(void)0;
1850 { /* Inline kernel#Int#< (var_index,var11) */
1851 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
1852 /* <var11:Int> isa OTHER */
1853 var16
= 1; /* easy <var11:Int> isa OTHER*/
1855 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
1858 var19
= var_index
< var11
;
1861 RET_LABEL15
:(void)0;
1868 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert \'index\' failed", "lib/standard/collection/array.nit", 273);
1871 var20
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
1872 { /* Inline kernel#Int#<= (var20,var_index) */
1873 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
1874 /* <var_index:Int> isa OTHER */
1875 var23
= 1; /* easy <var_index:Int> isa OTHER*/
1877 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
1880 var26
= var20
<= var_index
;
1883 RET_LABEL22
:(void)0;
1887 { /* Inline kernel#Int#+ (var_index,var27) */
1888 var30
= var_index
+ var27
;
1891 RET_LABEL29
:(void)0;
1893 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var28
) /* enlarge on <self:Array[nullable Object]>*/;
1896 var31
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1897 { /* Inline kernel#Int#<= (var31,var_index) */
1898 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
1899 /* <var_index:Int> isa OTHER */
1900 var34
= 1; /* easy <var_index:Int> isa OTHER*/
1902 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
1905 var37
= var31
<= var_index
;
1908 RET_LABEL33
:(void)0;
1912 { /* Inline kernel#Int#+ (var_index,var38) */
1913 var41
= var_index
+ var38
;
1916 RET_LABEL40
:(void)0;
1918 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var39
; /* _length on <self:Array[nullable Object]> */
1921 var42
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
1922 if (var42
== NULL
) {
1923 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/collection/array.nit", 280);
1926 ((void (*)(val
*, long, val
*))(var42
->class->vft
[COLOR_array__NativeArray___91d_93d_61d
]))(var42
, var_index
, var_item
) /* []= on <var42:nullable NativeArray[nullable Object]>*/;
1930 /* method array#Array#[]= for (self: Object, Int, nullable Object) */
1931 void VIRTUAL_array__Array___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
1932 array__Array___91d_93d_61d(self
, p0
, p1
);
1935 /* method array#Array#add for (self: Array[nullable Object], nullable Object) */
1936 void array__Array__add(val
* self
, val
* p0
) {
1937 short int var
/* : Bool */;
1940 const struct type
* type_struct
;
1941 short int is_nullable
;
1942 val
* var_item
/* var item: nullable Object */;
1943 long var1
/* : Int */;
1944 long var_l
/* var l: Int */;
1945 long var2
/* : Int */;
1946 short int var3
/* : Bool */;
1947 short int var5
/* : Bool */;
1950 short int var8
/* : Bool */;
1951 long var9
/* : Int */;
1952 long var10
/* : Int */;
1953 long var12
/* : Int */;
1954 long var13
/* : Int */;
1955 long var14
/* : Int */;
1956 long var16
/* : Int */;
1957 val
* var17
/* : nullable NativeArray[nullable Object] */;
1958 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa SimpleCollection#0 */
1959 /* <p0:nullable Object> isa SimpleCollection#0 */
1960 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SimpleCollection_FT0
];
1961 cltype
= type_struct
->color
;
1962 idtype
= type_struct
->id
;
1963 is_nullable
= type_struct
->is_nullable
;
1967 if(cltype
>= p0
->type
->table_size
) {
1970 var
= p0
->type
->type_table
[cltype
] == idtype
;
1974 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 283);
1978 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1980 var2
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
1981 { /* Inline kernel#Int#<= (var2,var_l) */
1982 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1983 /* <var_l:Int> isa OTHER */
1984 var5
= 1; /* easy <var_l:Int> isa OTHER*/
1986 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
1989 var8
= var2
<= var_l
;
1996 { /* Inline kernel#Int#+ (var_l,var9) */
1997 var12
= var_l
+ var9
;
2000 RET_LABEL11
:(void)0;
2002 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var10
) /* enlarge on <self:Array[nullable Object]>*/;
2006 { /* Inline kernel#Int#+ (var_l,var13) */
2007 var16
= var_l
+ var13
;
2010 RET_LABEL15
:(void)0;
2012 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var14
; /* _length on <self:Array[nullable Object]> */
2013 var17
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
2014 if (var17
== NULL
) {
2015 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/collection/array.nit", 290);
2018 ((void (*)(val
*, long, val
*))(var17
->class->vft
[COLOR_array__NativeArray___91d_93d_61d
]))(var17
, var_l
, var_item
) /* []= on <var17:nullable NativeArray[nullable Object]>*/;
2022 /* method array#Array#add for (self: Object, nullable Object) */
2023 void VIRTUAL_array__Array__add(val
* self
, val
* p0
) {
2024 array__Array__add(self
, p0
);
2027 /* method array#Array#enlarge for (self: Array[nullable Object], Int) */
2028 void array__Array__enlarge(val
* self
, long p0
) {
2029 long var_cap
/* var cap: Int */;
2030 long var
/* : Int */;
2031 long var_c
/* var c: Int */;
2032 short int var1
/* : Bool */;
2033 short int var3
/* : Bool */;
2036 short int var4
/* : Bool */;
2037 short int var5
/* : Bool */;
2038 short int var7
/* : Bool */;
2041 short int var10
/* : Bool */;
2042 long var11
/* : Int */;
2043 long var12
/* : Int */;
2044 long var14
/* : Int */;
2045 long var15
/* : Int */;
2046 long var16
/* : Int */;
2047 long var18
/* : Int */;
2048 val
* var19
/* : NativeArray[nullable Object] */;
2049 val
* var_a
/* var a: NativeArray[nullable Object] */;
2050 long var20
/* : Int */;
2051 long var21
/* : Int */;
2052 short int var22
/* : Bool */;
2053 short int var24
/* : Bool */;
2056 short int var27
/* : Bool */;
2057 val
* var28
/* : nullable NativeArray[nullable Object] */;
2058 long var29
/* : Int */;
2060 var
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
2062 { /* Inline kernel#Int#<= (var_cap,var_c) */
2063 /* Covariant cast for argument 0 (i) <var_c:Int> isa OTHER */
2064 /* <var_c:Int> isa OTHER */
2065 var3
= 1; /* easy <var_c:Int> isa OTHER*/
2067 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
2070 var4
= var_cap
<= var_c
;
2080 { /* Inline kernel#Int#<= (var_c,var_cap) */
2081 /* Covariant cast for argument 0 (i) <var_cap:Int> isa OTHER */
2082 /* <var_cap:Int> isa OTHER */
2083 var7
= 1; /* easy <var_cap:Int> isa OTHER*/
2085 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
2088 var10
= var_c
<= var_cap
;
2095 { /* Inline kernel#Int#* (var_c,var11) */
2096 var14
= var_c
* var11
;
2099 RET_LABEL13
:(void)0;
2102 { /* Inline kernel#Int#+ (var12,var15) */
2103 var18
= var12
+ var15
;
2106 RET_LABEL17
:(void)0;
2109 CONTINUE_label
: (void)0;
2111 BREAK_label
: (void)0;
2112 var19
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_array__ArrayCapable__calloc_array
]))(self
, var_c
) /* calloc_array on <self:Array[nullable Object]>*/;
2114 var20
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
2116 { /* Inline kernel#Int#> (var20,var21) */
2117 /* Covariant cast for argument 0 (i) <var21:Int> isa OTHER */
2118 /* <var21:Int> isa OTHER */
2119 var24
= 1; /* easy <var21:Int> isa OTHER*/
2121 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
2124 var27
= var20
> var21
;
2127 RET_LABEL23
:(void)0;
2130 var28
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
2131 var29
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
2132 if (var28
== NULL
) {
2133 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/collection/array.nit", 299);
2136 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__NativeArray__copy_to
]))(var28
, var_a
, var29
) /* copy_to on <var28:nullable NativeArray[nullable Object]>*/;
2140 self
->attrs
[COLOR_array__Array___items
].val
= var_a
; /* _items on <self:Array[nullable Object]> */
2141 self
->attrs
[COLOR_array__Array___capacity
].l
= var_c
; /* _capacity on <self:Array[nullable Object]> */
2144 /* method array#Array#enlarge for (self: Object, Int) */
2145 void VIRTUAL_array__Array__enlarge(val
* self
, long p0
) {
2146 array__Array__enlarge(self
, p0
);
2149 /* method array#Array#init for (self: Array[nullable Object]) */
2150 void array__Array__init(val
* self
) {
2151 long var
/* : Int */;
2152 long var1
/* : Int */;
2153 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2155 self
->attrs
[COLOR_array__Array___capacity
].l
= var
; /* _capacity on <self:Array[nullable Object]> */
2157 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var1
; /* _length on <self:Array[nullable Object]> */
2160 /* method array#Array#init for (self: Object) */
2161 void VIRTUAL_array__Array__init(val
* self
) {
2162 array__Array__init(self
);
2165 /* method array#Array#from for (self: Array[nullable Object], Collection[nullable Object]) */
2166 void array__Array__from(val
* self
, val
* p0
) {
2167 short int var
/* : Bool */;
2170 const struct type
* type_struct
;
2171 val
* var_items
/* var items: Collection[nullable Object] */;
2172 long var1
/* : Int */;
2173 /* Covariant cast for argument 0 (items) <p0:Collection[nullable Object]> isa Collection[Array#0] */
2174 /* <p0:Collection[nullable Object]> isa Collection[Array#0] */
2175 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collectionarray__Array_FT0
];
2176 cltype
= type_struct
->color
;
2177 idtype
= type_struct
->id
;
2178 if(cltype
>= p0
->type
->table_size
) {
2181 var
= p0
->type
->type_table
[cltype
] == idtype
;
2184 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 311);
2188 var1
= ((long (*)(val
*))(var_items
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_items
) /* length on <var_items:Collection[nullable Object]>*/;
2189 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__Array__with_capacity
]))(self
, var1
) /* with_capacity on <self:Array[nullable Object]>*/;
2190 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(self
, var_items
) /* add_all on <self:Array[nullable Object]>*/;
2193 /* method array#Array#from for (self: Object, Collection[nullable Object]) */
2194 void VIRTUAL_array__Array__from(val
* self
, val
* p0
) {
2195 array__Array__from(self
, p0
);
2198 /* method array#Array#with_items for (self: Array[nullable Object], Array[nullable Object]) */
2199 void array__Array__with_items(val
* self
, val
* p0
) {
2200 val
* var_objects
/* var objects: Array[nullable Object] */;
2201 val
* var
/* : nullable NativeArray[nullable Object] */;
2202 long var1
/* : Int */;
2203 long var2
/* : Int */;
2205 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2206 var
= var_objects
->attrs
[COLOR_array__Array___items
].val
; /* _items on <var_objects:Array[nullable Object]> */
2207 self
->attrs
[COLOR_array__Array___items
].val
= var
; /* _items on <self:Array[nullable Object]> */
2208 var1
= var_objects
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <var_objects:Array[nullable Object]> */
2209 self
->attrs
[COLOR_array__Array___capacity
].l
= var1
; /* _capacity on <self:Array[nullable Object]> */
2210 var2
= ((long (*)(val
*))(var_objects
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_objects
) /* length on <var_objects:Array[nullable Object]>*/;
2211 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var2
; /* _length on <self:Array[nullable Object]> */
2214 /* method array#Array#with_items for (self: Object, Array[nullable Object]) */
2215 void VIRTUAL_array__Array__with_items(val
* self
, val
* p0
) {
2216 array__Array__with_items(self
, p0
);
2219 /* method array#Array#with_capacity for (self: Array[nullable Object], Int) */
2220 void array__Array__with_capacity(val
* self
, long p0
) {
2221 long var_cap
/* var cap: Int */;
2222 long var
/* : Int */;
2223 short int var1
/* : Bool */;
2224 short int var3
/* : Bool */;
2227 short int var4
/* : Bool */;
2228 val
* var5
/* : NativeArray[nullable Object] */;
2229 long var6
/* : Int */;
2231 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2233 { /* Inline kernel#Int#>= (var_cap,var) */
2234 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
2235 /* <var:Int> isa OTHER */
2236 var3
= 1; /* easy <var:Int> isa OTHER*/
2238 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
2241 var4
= var_cap
>= var
;
2247 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert \'positive\' failed", "lib/standard/collection/array.nit", 328);
2250 var5
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_array__ArrayCapable__calloc_array
]))(self
, var_cap
) /* calloc_array on <self:Array[nullable Object]>*/;
2251 self
->attrs
[COLOR_array__Array___items
].val
= var5
; /* _items on <self:Array[nullable Object]> */
2252 self
->attrs
[COLOR_array__Array___capacity
].l
= var_cap
; /* _capacity on <self:Array[nullable Object]> */
2254 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var6
; /* _length on <self:Array[nullable Object]> */
2257 /* method array#Array#with_capacity for (self: Object, Int) */
2258 void VIRTUAL_array__Array__with_capacity(val
* self
, long p0
) {
2259 array__Array__with_capacity(self
, p0
);
2262 /* method array#Array#filled_with for (self: Array[nullable Object], nullable Object, Int) */
2263 void array__Array__filled_with(val
* self
, val
* p0
, long p1
) {
2264 short int var
/* : Bool */;
2267 const struct type
* type_struct
;
2268 short int is_nullable
;
2269 val
* var_value
/* var value: nullable Object */;
2270 long var_count
/* var count: Int */;
2271 long var1
/* : Int */;
2272 short int var2
/* : Bool */;
2273 short int var4
/* : Bool */;
2276 short int var7
/* : Bool */;
2277 val
* var8
/* : NativeArray[nullable Object] */;
2278 long var9
/* : Int */;
2279 long var_i
/* var i: Int */;
2280 short int var10
/* : Bool */;
2281 short int var12
/* : Bool */;
2284 short int var15
/* : Bool */;
2285 long var16
/* : Int */;
2286 long var17
/* : Int */;
2287 long var19
/* : Int */;
2288 /* Covariant cast for argument 0 (value) <p0:nullable Object> isa Array#0 */
2289 /* <p0:nullable Object> isa Array#0 */
2290 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__Array_FT0
];
2291 cltype
= type_struct
->color
;
2292 idtype
= type_struct
->id
;
2293 is_nullable
= type_struct
->is_nullable
;
2297 if(cltype
>= p0
->type
->table_size
) {
2300 var
= p0
->type
->type_table
[cltype
] == idtype
;
2304 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 334);
2309 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2311 { /* Inline kernel#Int#>= (var_count,var1) */
2312 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2313 /* <var1:Int> isa OTHER */
2314 var4
= 1; /* easy <var1:Int> isa OTHER*/
2316 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
2319 var7
= var_count
>= var1
;
2325 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert \'positive\' failed", "lib/standard/collection/array.nit", 337);
2328 var8
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_array__ArrayCapable__calloc_array
]))(self
, var_count
) /* calloc_array on <self:Array[nullable Object]>*/;
2329 self
->attrs
[COLOR_array__Array___items
].val
= var8
; /* _items on <self:Array[nullable Object]> */
2330 self
->attrs
[COLOR_array__Array___capacity
].l
= var_count
; /* _capacity on <self:Array[nullable Object]> */
2331 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var_count
; /* _length on <self:Array[nullable Object]> */
2335 { /* Inline kernel#Int#< (var_i,var_count) */
2336 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
2337 /* <var_count:Int> isa OTHER */
2338 var12
= 1; /* easy <var_count:Int> isa OTHER*/
2340 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
2343 var15
= var_i
< var_count
;
2346 RET_LABEL11
:(void)0;
2349 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_i
, var_value
) /* []= on <self:Array[nullable Object]>*/;
2351 { /* Inline kernel#Int#+ (var_i,var16) */
2352 var19
= var_i
+ var16
;
2355 RET_LABEL18
:(void)0;
2358 CONTINUE_label
: (void)0;
2360 BREAK_label
: (void)0;
2363 /* method array#Array#filled_with for (self: Object, nullable Object, Int) */
2364 void VIRTUAL_array__Array__filled_with(val
* self
, val
* p0
, long p1
) {
2365 array__Array__filled_with(self
, p0
, p1
);
2368 /* method array#Array#with_native for (self: Array[nullable Object], NativeArray[nullable Object], Int) */
2369 void array__Array__with_native(val
* self
, val
* p0
, long p1
) {
2370 short int var
/* : Bool */;
2373 const struct type
* type_struct
;
2374 val
* var_nat
/* var nat: NativeArray[nullable Object] */;
2375 long var_size
/* var size: Int */;
2376 long var1
/* : Int */;
2377 short int var2
/* : Bool */;
2378 short int var4
/* : Bool */;
2381 short int var7
/* : Bool */;
2382 /* Covariant cast for argument 0 (nat) <p0:NativeArray[nullable Object]> isa NativeArray[Array#0] */
2383 /* <p0:NativeArray[nullable Object]> isa NativeArray[Array#0] */
2384 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__Array_FT0
];
2385 cltype
= type_struct
->color
;
2386 idtype
= type_struct
->id
;
2387 if(cltype
>= p0
->type
->table_size
) {
2390 var
= p0
->type
->type_table
[cltype
] == idtype
;
2393 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 348);
2398 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2400 { /* Inline kernel#Int#>= (var_size,var1) */
2401 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2402 /* <var1:Int> isa OTHER */
2403 var4
= 1; /* easy <var1:Int> isa OTHER*/
2405 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
2408 var7
= var_size
>= var1
;
2414 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert \'positive\' failed", "lib/standard/collection/array.nit", 351);
2417 self
->attrs
[COLOR_array__Array___items
].val
= var_nat
; /* _items on <self:Array[nullable Object]> */
2418 self
->attrs
[COLOR_array__Array___capacity
].l
= var_size
; /* _capacity on <self:Array[nullable Object]> */
2419 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var_size
; /* _length on <self:Array[nullable Object]> */
2422 /* method array#Array#with_native for (self: Object, NativeArray[nullable Object], Int) */
2423 void VIRTUAL_array__Array__with_native(val
* self
, val
* p0
, long p1
) {
2424 array__Array__with_native(self
, p0
, p1
);
2427 /* method array#Array#intern_items for (self: Array[nullable Object]): NativeArray[nullable Object] */
2428 val
* array__Array__intern_items(val
* self
) {
2429 val
* var
/* : NativeArray[nullable Object] */;
2430 val
* var1
/* : nullable NativeArray[nullable Object] */;
2431 var1
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
2433 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 362);
2441 /* method array#Array#intern_items for (self: Object): NativeArray[nullable Object] */
2442 val
* VIRTUAL_array__Array__intern_items(val
* self
) {
2443 val
* var
/* : NativeArray[nullable Object] */;
2444 val
* var1
/* : NativeArray[nullable Object] */;
2445 var1
= array__Array__intern_items(self
);
2450 /* method array#Array#sort for (self: Array[nullable Object]) */
2451 void array__Array__sort(val
* self
) {
2452 long var
/* : Int */;
2453 long var1
/* : Int */;
2454 long var2
/* : Int */;
2455 long var3
/* : Int */;
2456 long var5
/* : Int */;
2458 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Array[nullable Object]>*/;
2460 { /* Inline kernel#Int#- (var1,var2) */
2466 ((void (*)(val
*, long, long))(self
->class->vft
[COLOR_array__Array__sub_sort
]))(self
, var
, var3
) /* sub_sort on <self:Array[nullable Object]>*/;
2469 /* method array#Array#sort for (self: Object) */
2470 void VIRTUAL_array__Array__sort(val
* self
) {
2471 array__Array__sort(self
);
2474 /* method array#Array#sub_sort for (self: Array[nullable Object], Int, Int) */
2475 void array__Array__sub_sort(val
* self
, long p0
, long p1
) {
2476 long var_from
/* var from: Int */;
2477 long var_to
/* var to: Int */;
2478 short int var
/* : Bool */;
2479 short int var2
/* : Bool */;
2482 short int var3
/* : Bool */;
2483 long var4
/* : Int */;
2484 long var5
/* : Int */;
2485 long var7
/* : Int */;
2486 short int var8
/* : Bool */;
2487 short int var10
/* : Bool */;
2490 short int var13
/* : Bool */;
2491 val
* var14
/* : nullable Object */;
2492 val
* var_pivot
/* var pivot: nullable Object */;
2493 long var_i
/* var i: Int */;
2494 long var_j
/* var j: Int */;
2495 short int var15
/* : Bool */;
2496 short int var17
/* : Bool */;
2499 short int var20
/* : Bool */;
2500 short int var21
/* : Bool */;
2501 short int var22
/* : Bool */;
2502 short int var24
/* : Bool */;
2505 short int var27
/* : Bool */;
2506 short int var_
/* var : Bool */;
2507 long var28
/* : Int */;
2508 long var29
/* : Int */;
2509 short int var30
/* : Bool */;
2510 short int var32
/* : Bool */;
2513 short int var35
/* : Bool */;
2514 long var36
/* : Int */;
2515 long var37
/* : Int */;
2516 long var39
/* : Int */;
2517 short int var40
/* : Bool */;
2518 short int var41
/* : Bool */;
2519 short int var43
/* : Bool */;
2522 short int var46
/* : Bool */;
2523 short int var_47
/* var : Bool */;
2524 long var48
/* : Int */;
2525 long var49
/* : Int */;
2526 short int var50
/* : Bool */;
2527 short int var52
/* : Bool */;
2530 short int var55
/* : Bool */;
2531 long var56
/* : Int */;
2532 long var57
/* : Int */;
2533 long var59
/* : Int */;
2534 short int var61
/* : Bool */;
2535 short int var63
/* : Bool */;
2538 short int var66
/* : Bool */;
2539 val
* var67
/* : nullable Object */;
2540 val
* var_t
/* var t: nullable Object */;
2541 val
* var68
/* : nullable Object */;
2542 long var70
/* : Int */;
2543 long var71
/* : Int */;
2544 long var73
/* : Int */;
2545 val
* var74
/* : nullable Object */;
2546 long var75
/* : Int */;
2547 long var76
/* : Int */;
2548 long var78
/* : Int */;
2549 long var79
/* : Int */;
2550 long var80
/* : Int */;
2551 long var82
/* : Int */;
2552 long var_i83
/* var i: Int */;
2553 short int var84
/* : Bool */;
2554 short int var86
/* : Bool */;
2557 short int var89
/* : Bool */;
2558 long var_min
/* var min: Int */;
2559 val
* var90
/* : nullable Object */;
2560 val
* var_min_v
/* var min_v: nullable Object */;
2561 long var_j91
/* var j: Int */;
2562 short int var92
/* : Bool */;
2563 short int var94
/* : Bool */;
2566 short int var97
/* : Bool */;
2567 long var98
/* : Int */;
2568 long var99
/* : Int */;
2569 short int var100
/* : Bool */;
2570 short int var102
/* : Bool */;
2573 short int var105
/* : Bool */;
2574 val
* var106
/* : nullable Object */;
2575 long var107
/* : Int */;
2576 long var108
/* : Int */;
2577 long var110
/* : Int */;
2578 short int var112
/* : Bool */;
2579 short int var114
/* : Bool */;
2580 short int var115
/* : Bool */;
2581 val
* var116
/* : nullable Object */;
2582 long var117
/* : Int */;
2583 long var118
/* : Int */;
2584 long var120
/* : Int */;
2587 { /* Inline kernel#Int#>= (var_from,var_to) */
2588 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
2589 /* <var_to:Int> isa OTHER */
2590 var2
= 1; /* easy <var_to:Int> isa OTHER*/
2592 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
2595 var3
= var_from
>= var_to
;
2604 { /* Inline kernel#Int#+ (var_from,var4) */
2605 var7
= var_from
+ var4
;
2610 { /* Inline kernel#Int#< (var5,var_to) */
2611 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
2612 /* <var_to:Int> isa OTHER */
2613 var10
= 1; /* easy <var_to:Int> isa OTHER*/
2615 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
2618 var13
= var5
< var_to
;
2624 var14
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_from
) /* [] on <self:Array[nullable Object]>*/;
2629 { /* Inline kernel#Int#> (var_j,var_i) */
2630 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
2631 /* <var_i:Int> isa OTHER */
2632 var17
= 1; /* easy <var_i:Int> isa OTHER*/
2634 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
2637 var20
= var_j
> var_i
;
2640 RET_LABEL16
:(void)0;
2644 { /* Inline kernel#Int#<= (var_i,var_to) */
2645 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
2646 /* <var_to:Int> isa OTHER */
2647 var24
= 1; /* easy <var_to:Int> isa OTHER*/
2649 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
2652 var27
= var_i
<= var_to
;
2655 RET_LABEL23
:(void)0;
2659 printf("NOT YET IMPLEMENTED AClosureCallExpr:lib/standard/collection/array.nit:385,23--41\n");
2660 /* var28 = NOT YET AClosureCallExpr */
2662 { /* Inline kernel#Int#<= (var28,var29) */
2663 /* Covariant cast for argument 0 (i) <var29:Int> isa OTHER */
2664 /* <var29:Int> isa OTHER */
2665 var32
= 1; /* easy <var29:Int> isa OTHER*/
2667 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
2670 var35
= var28
<= var29
;
2673 RET_LABEL31
:(void)0;
2681 { /* Inline kernel#Int#+ (var_i,var36) */
2682 var39
= var_i
+ var36
;
2685 RET_LABEL38
:(void)0;
2688 CONTINUE_label
: (void)0;
2690 BREAK_label
: (void)0;
2692 { /* Inline kernel#Int#> (var_j,var_i) */
2693 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
2694 /* <var_i:Int> isa OTHER */
2695 var43
= 1; /* easy <var_i:Int> isa OTHER*/
2697 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
2700 var46
= var_j
> var_i
;
2703 RET_LABEL42
:(void)0;
2707 printf("NOT YET IMPLEMENTED AClosureCallExpr:lib/standard/collection/array.nit:386,21--39\n");
2708 /* var48 = NOT YET AClosureCallExpr */
2710 { /* Inline kernel#Int#>= (var48,var49) */
2711 /* Covariant cast for argument 0 (i) <var49:Int> isa OTHER */
2712 /* <var49:Int> isa OTHER */
2713 var52
= 1; /* easy <var49:Int> isa OTHER*/
2715 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
2718 var55
= var48
>= var49
;
2721 RET_LABEL51
:(void)0;
2729 { /* Inline kernel#Int#- (var_j,var56) */
2730 var59
= var_j
- var56
;
2733 RET_LABEL58
:(void)0;
2736 CONTINUE_label60
: (void)0;
2738 BREAK_label60
: (void)0;
2739 { /* Inline kernel#Int#> (var_j,var_i) */
2740 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
2741 /* <var_i:Int> isa OTHER */
2742 var63
= 1; /* easy <var_i:Int> isa OTHER*/
2744 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
2747 var66
= var_j
> var_i
;
2750 RET_LABEL62
:(void)0;
2753 var67
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:Array[nullable Object]>*/;
2755 var68
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_j
) /* [] on <self:Array[nullable Object]>*/;
2756 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_i
, var68
) /* []= on <self:Array[nullable Object]>*/;
2757 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_j
, var_t
) /* []= on <self:Array[nullable Object]>*/;
2760 CONTINUE_label69
: (void)0;
2762 BREAK_label69
: (void)0;
2764 { /* Inline kernel#Int#- (var_i,var70) */
2765 var73
= var_i
- var70
;
2768 RET_LABEL72
:(void)0;
2770 var74
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var71
) /* [] on <self:Array[nullable Object]>*/;
2771 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_from
, var74
) /* []= on <self:Array[nullable Object]>*/;
2773 { /* Inline kernel#Int#- (var_i,var75) */
2774 var78
= var_i
- var75
;
2777 RET_LABEL77
:(void)0;
2779 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var76
, var_pivot
) /* []= on <self:Array[nullable Object]>*/;
2781 { /* Inline kernel#Int#- (var_i,var79) */
2782 var82
= var_i
- var79
;
2785 RET_LABEL81
:(void)0;
2787 ((void (*)(val
*, long, long))(self
->class->vft
[COLOR_array__Array__sub_sort
]))(self
, var_from
, var80
) /* sub_sort on <self:Array[nullable Object]>*/;
2788 ((void (*)(val
*, long, long))(self
->class->vft
[COLOR_array__Array__sub_sort
]))(self
, var_i
, var_to
) /* sub_sort on <self:Array[nullable Object]>*/;
2792 { /* Inline kernel#Int#< (var_i83,var_to) */
2793 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
2794 /* <var_to:Int> isa OTHER */
2795 var86
= 1; /* easy <var_to:Int> isa OTHER*/
2797 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
2800 var89
= var_i83
< var_to
;
2803 RET_LABEL85
:(void)0;
2807 var90
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i83
) /* [] on <self:Array[nullable Object]>*/;
2811 { /* Inline kernel#Int#<= (var_j91,var_to) */
2812 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
2813 /* <var_to:Int> isa OTHER */
2814 var94
= 1; /* easy <var_to:Int> isa OTHER*/
2816 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
2819 var97
= var_j91
<= var_to
;
2822 RET_LABEL93
:(void)0;
2825 printf("NOT YET IMPLEMENTED AClosureCallExpr:lib/standard/collection/array.nit:404,9--27\n");
2826 /* var98 = NOT YET AClosureCallExpr */
2828 { /* Inline kernel#Int#> (var98,var99) */
2829 /* Covariant cast for argument 0 (i) <var99:Int> isa OTHER */
2830 /* <var99:Int> isa OTHER */
2831 var102
= 1; /* easy <var99:Int> isa OTHER*/
2833 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
2836 var105
= var98
> var99
;
2839 RET_LABEL101
:(void)0;
2843 var106
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_j91
) /* [] on <self:Array[nullable Object]>*/;
2848 { /* Inline kernel#Int#+ (var_j91,var107) */
2849 var110
= var_j91
+ var107
;
2852 RET_LABEL109
:(void)0;
2855 CONTINUE_label111
: (void)0;
2857 BREAK_label111
: (void)0;
2858 { /* Inline kernel#Int#!= (var_min,var_i83) */
2859 var114
= var_min
== var_i83
;
2863 RET_LABEL113
:(void)0;
2866 var116
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i83
) /* [] on <self:Array[nullable Object]>*/;
2867 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_min
, var116
) /* []= on <self:Array[nullable Object]>*/;
2868 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_i83
, var_min_v
) /* []= on <self:Array[nullable Object]>*/;
2872 { /* Inline kernel#Int#+ (var_i83,var117) */
2873 var120
= var_i83
+ var117
;
2876 RET_LABEL119
:(void)0;
2879 CONTINUE_label121
: (void)0;
2881 BREAK_label121
: (void)0;
2886 /* method array#Array#sub_sort for (self: Object, Int, Int) */
2887 void VIRTUAL_array__Array__sub_sort(val
* self
, long p0
, long p1
) {
2888 array__Array__sub_sort(self
, p0
, p1
);
2891 /* method array#ArrayIterator#item for (self: ArrayIterator[nullable Object]): nullable Object */
2892 val
* array__ArrayIterator__item(val
* self
) {
2893 val
* var
/* : nullable Object */;
2894 val
* var1
/* : AbstractArrayRead[nullable Object] */;
2895 long var2
/* : Int */;
2896 val
* var3
/* : nullable Object */;
2897 var1
= self
->attrs
[COLOR_array__ArrayIterator___array
].val
; /* _array on <self:ArrayIterator[nullable Object]> */
2899 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 424);
2902 var2
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
2903 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var2
) /* [] on <var1:AbstractArrayRead[nullable Object]>*/;
2909 /* method array#ArrayIterator#item for (self: Object): nullable Object */
2910 val
* VIRTUAL_array__ArrayIterator__item(val
* self
) {
2911 val
* var
/* : nullable Object */;
2912 val
* var1
/* : nullable Object */;
2913 var1
= array__ArrayIterator__item(self
);
2918 /* method array#ArrayIterator#is_ok for (self: ArrayIterator[nullable Object]): Bool */
2919 short int array__ArrayIterator__is_ok(val
* self
) {
2920 short int var
/* : Bool */;
2921 long var1
/* : Int */;
2922 val
* var2
/* : AbstractArrayRead[nullable Object] */;
2923 long var3
/* : Int */;
2924 short int var4
/* : Bool */;
2925 short int var6
/* : Bool */;
2928 short int var7
/* : Bool */;
2929 var1
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
2930 var2
= self
->attrs
[COLOR_array__ArrayIterator___array
].val
; /* _array on <self:ArrayIterator[nullable Object]> */
2932 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 428);
2935 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var2
) /* length on <var2:AbstractArrayRead[nullable Object]>*/;
2936 { /* Inline kernel#Int#< (var1,var3) */
2937 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
2938 /* <var3:Int> isa OTHER */
2939 var6
= 1; /* easy <var3:Int> isa OTHER*/
2941 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
2954 /* method array#ArrayIterator#is_ok for (self: Object): Bool */
2955 short int VIRTUAL_array__ArrayIterator__is_ok(val
* self
) {
2956 short int var
/* : Bool */;
2957 short int var1
/* : Bool */;
2958 var1
= array__ArrayIterator__is_ok(self
);
2963 /* method array#ArrayIterator#next for (self: ArrayIterator[nullable Object]) */
2964 void array__ArrayIterator__next(val
* self
) {
2965 val
* var_
/* var : ArrayIterator[nullable Object] */;
2966 long var
/* : Int */;
2967 long var1
/* : Int */;
2968 long var2
/* : Int */;
2969 long var4
/* : Int */;
2971 var
= var_
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <var_:ArrayIterator[nullable Object]> */
2973 { /* Inline kernel#Int#+ (var,var1) */
2979 var_
->attrs
[COLOR_array__ArrayIterator___index
].l
= var2
; /* _index on <var_:ArrayIterator[nullable Object]> */
2982 /* method array#ArrayIterator#next for (self: Object) */
2983 void VIRTUAL_array__ArrayIterator__next(val
* self
) {
2984 array__ArrayIterator__next(self
);
2987 /* method array#ArrayIterator#init for (self: ArrayIterator[nullable Object], AbstractArrayRead[nullable Object]) */
2988 void array__ArrayIterator__init(val
* self
, val
* p0
) {
2989 short int var
/* : Bool */;
2992 const struct type
* type_struct
;
2993 val
* var_a
/* var a: AbstractArrayRead[nullable Object] */;
2994 long var1
/* : Int */;
2995 /* Covariant cast for argument 0 (a) <p0:AbstractArrayRead[nullable Object]> isa AbstractArrayRead[ArrayIterator#0] */
2996 /* <p0:AbstractArrayRead[nullable Object]> isa AbstractArrayRead[ArrayIterator#0] */
2997 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayReadarray__ArrayIterator_FT0
];
2998 cltype
= type_struct
->color
;
2999 idtype
= type_struct
->id
;
3000 if(cltype
>= p0
->type
->table_size
) {
3003 var
= p0
->type
->type_table
[cltype
] == idtype
;
3006 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 432);
3010 self
->attrs
[COLOR_array__ArrayIterator___array
].val
= var_a
; /* _array on <self:ArrayIterator[nullable Object]> */
3012 self
->attrs
[COLOR_array__ArrayIterator___index
].l
= var1
; /* _index on <self:ArrayIterator[nullable Object]> */
3015 /* method array#ArrayIterator#init for (self: Object, AbstractArrayRead[nullable Object]) */
3016 void VIRTUAL_array__ArrayIterator__init(val
* self
, val
* p0
) {
3017 array__ArrayIterator__init(self
, p0
);
3020 /* method array#ArrayIterator#index for (self: ArrayIterator[nullable Object]): Int */
3021 long array__ArrayIterator__index(val
* self
) {
3022 long var
/* : Int */;
3023 long var1
/* : Int */;
3024 var1
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
3029 /* method array#ArrayIterator#index for (self: Object): Int */
3030 long VIRTUAL_array__ArrayIterator__index(val
* self
) {
3031 long var
/* : Int */;
3032 long var1
/* : Int */;
3033 var1
= array__ArrayIterator__index(self
);
3038 /* method array#ArraySet#has for (self: ArraySet[Object], Object): Bool */
3039 short int array__ArraySet__has(val
* self
, val
* p0
) {
3040 short int var
/* : Bool */;
3041 short int var1
/* : Bool */;
3044 const struct type
* type_struct
;
3045 val
* var_e
/* var e: Object */;
3046 val
* var2
/* : Array[Object] */;
3047 short int var3
/* : Bool */;
3048 /* Covariant cast for argument 0 (e) <p0:Object> isa Collection#0 */
3049 /* <p0:Object> isa Collection#0 */
3050 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
3051 cltype
= type_struct
->color
;
3052 idtype
= type_struct
->id
;
3053 if(cltype
>= p0
->type
->table_size
) {
3056 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3059 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 451);
3063 var2
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3065 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 451);
3068 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var2
, var_e
) /* has on <var2:Array[Object]>*/;
3074 /* method array#ArraySet#has for (self: Object, nullable Object): Bool */
3075 short int VIRTUAL_array__ArraySet__has(val
* self
, val
* p0
) {
3076 short int var
/* : Bool */;
3077 short int var1
/* : Bool */;
3078 var1
= array__ArraySet__has(self
, p0
);
3083 /* method array#ArraySet#add for (self: ArraySet[Object], Object) */
3084 void array__ArraySet__add(val
* self
, val
* p0
) {
3085 short int var
/* : Bool */;
3088 const struct type
* type_struct
;
3089 val
* var_e
/* var e: Object */;
3090 val
* var1
/* : Array[Object] */;
3091 short int var2
/* : Bool */;
3092 short int var3
/* : Bool */;
3093 val
* var4
/* : Array[Object] */;
3094 /* Covariant cast for argument 0 (e) <p0:Object> isa SimpleCollection#0 */
3095 /* <p0:Object> isa SimpleCollection#0 */
3096 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SimpleCollection_FT0
];
3097 cltype
= type_struct
->color
;
3098 idtype
= type_struct
->id
;
3099 if(cltype
>= p0
->type
->table_size
) {
3102 var
= p0
->type
->type_table
[cltype
] == idtype
;
3105 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 453);
3109 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3111 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 453);
3114 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var1
, var_e
) /* has on <var1:Array[Object]>*/;
3117 var4
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3119 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 453);
3122 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var4
, var_e
) /* add on <var4:Array[Object]>*/;
3127 /* method array#ArraySet#add for (self: Object, nullable Object) */
3128 void VIRTUAL_array__ArraySet__add(val
* self
, val
* p0
) {
3129 array__ArraySet__add(self
, p0
);
3132 /* method array#ArraySet#is_empty for (self: ArraySet[Object]): Bool */
3133 short int array__ArraySet__is_empty(val
* self
) {
3134 short int var
/* : Bool */;
3135 val
* var1
/* : Array[Object] */;
3136 short int var2
/* : Bool */;
3137 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3139 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 455);
3142 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var1
) /* is_empty on <var1:Array[Object]>*/;
3148 /* method array#ArraySet#is_empty for (self: Object): Bool */
3149 short int VIRTUAL_array__ArraySet__is_empty(val
* self
) {
3150 short int var
/* : Bool */;
3151 short int var1
/* : Bool */;
3152 var1
= array__ArraySet__is_empty(self
);
3157 /* method array#ArraySet#length for (self: ArraySet[Object]): Int */
3158 long array__ArraySet__length(val
* self
) {
3159 long var
/* : Int */;
3160 val
* var1
/* : Array[Object] */;
3161 long var2
/* : Int */;
3162 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3164 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 457);
3167 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:Array[Object]>*/;
3173 /* method array#ArraySet#length for (self: Object): Int */
3174 long VIRTUAL_array__ArraySet__length(val
* self
) {
3175 long var
/* : Int */;
3176 long var1
/* : Int */;
3177 var1
= array__ArraySet__length(self
);
3182 /* method array#ArraySet#first for (self: ArraySet[Object]): Object */
3183 val
* array__ArraySet__first(val
* self
) {
3184 val
* var
/* : Object */;
3185 val
* var1
/* : Array[Object] */;
3186 long var2
/* : Int */;
3187 long var3
/* : Int */;
3188 short int var4
/* : Bool */;
3189 short int var6
/* : Bool */;
3192 short int var7
/* : Bool */;
3193 val
* var8
/* : Array[Object] */;
3194 val
* var9
/* : nullable Object */;
3195 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3197 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 461);
3200 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:Array[Object]>*/;
3202 { /* Inline kernel#Int#> (var2,var3) */
3203 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3204 /* <var3:Int> isa OTHER */
3205 var6
= 1; /* easy <var3:Int> isa OTHER*/
3207 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
3216 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/collection/array.nit", 461);
3219 var8
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3221 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 462);
3224 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var8
) /* first on <var8:Array[Object]>*/;
3230 /* method array#ArraySet#first for (self: Object): nullable Object */
3231 val
* VIRTUAL_array__ArraySet__first(val
* self
) {
3232 val
* var
/* : nullable Object */;
3233 val
* var1
/* : Object */;
3234 var1
= array__ArraySet__first(self
);
3239 /* method array#ArraySet#remove for (self: ArraySet[Object], Object) */
3240 void array__ArraySet__remove(val
* self
, val
* p0
) {
3241 short int var
/* : Bool */;
3244 const struct type
* type_struct
;
3245 val
* var_item
/* var item: Object */;
3246 val
* var1
/* : Array[Object] */;
3247 long var2
/* : Int */;
3248 long var_i
/* var i: Int */;
3249 long var3
/* : Int */;
3250 short int var4
/* : Bool */;
3251 short int var6
/* : Bool */;
3254 short int var9
/* : Bool */;
3255 /* Covariant cast for argument 0 (item) <p0:Object> isa RemovableCollection#0 */
3256 /* <p0:Object> isa RemovableCollection#0 */
3257 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_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
;
3266 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 465);
3270 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3272 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 467);
3275 var2
= ((long (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__index_of
]))(var1
, var_item
) /* index_of on <var1:Array[Object]>*/;
3278 { /* Inline kernel#Int#>= (var_i,var3) */
3279 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3280 /* <var3:Int> isa OTHER */
3281 var6
= 1; /* easy <var3:Int> isa OTHER*/
3283 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
3286 var9
= var_i
>= var3
;
3292 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__ArraySet__remove_at
]))(self
, var_i
) /* remove_at on <self:ArraySet[Object]>*/;
3297 /* method array#ArraySet#remove for (self: Object, nullable Object) */
3298 void VIRTUAL_array__ArraySet__remove(val
* self
, val
* p0
) {
3299 array__ArraySet__remove(self
, p0
);
3302 /* method array#ArraySet#remove_all for (self: ArraySet[Object], Object) */
3303 void array__ArraySet__remove_all(val
* self
, val
* p0
) {
3304 short int var
/* : Bool */;
3307 const struct type
* type_struct
;
3308 val
* var_item
/* var item: Object */;
3309 /* Covariant cast for argument 0 (item) <p0:Object> isa RemovableCollection#0 */
3310 /* <p0:Object> isa RemovableCollection#0 */
3311 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
3312 cltype
= type_struct
->color
;
3313 idtype
= type_struct
->id
;
3314 if(cltype
>= p0
->type
->table_size
) {
3317 var
= p0
->type
->type_table
[cltype
] == idtype
;
3320 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 471);
3324 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(self
, var_item
) /* remove on <self:ArraySet[Object]>*/;
3327 /* method array#ArraySet#remove_all for (self: Object, nullable Object) */
3328 void VIRTUAL_array__ArraySet__remove_all(val
* self
, val
* p0
) {
3329 array__ArraySet__remove_all(self
, p0
);
3332 /* method array#ArraySet#clear for (self: ArraySet[Object]) */
3333 void array__ArraySet__clear(val
* self
) {
3334 val
* var
/* : Array[Object] */;
3335 var
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3337 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 473);
3340 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var
) /* clear on <var:Array[Object]>*/;
3343 /* method array#ArraySet#clear for (self: Object) */
3344 void VIRTUAL_array__ArraySet__clear(val
* self
) {
3345 array__ArraySet__clear(self
);
3348 /* method array#ArraySet#iterator for (self: ArraySet[Object]): Iterator[Object] */
3349 val
* array__ArraySet__iterator(val
* self
) {
3350 val
* var
/* : Iterator[Object] */;
3351 val
* var1
/* : ArraySetIterator[Object] */;
3352 val
* var2
/* : Array[Object] */;
3353 val
* var3
/* : Iterator[nullable Object] */;
3354 var1
= NEW_array__ArraySetIterator(self
->type
->resolution_table
->types
[COLOR_array__ArraySetIteratorarray__ArraySet_FT0
]);
3355 var2
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3357 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 475);
3360 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:Array[Object]>*/;
3361 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_array__ArraySetIterator__init
]))(var1
, var3
) /* init on <var1:ArraySetIterator[Object]>*/;
3362 CHECK_NEW_array__ArraySetIterator(var1
);
3368 /* method array#ArraySet#iterator for (self: Object): Iterator[nullable Object] */
3369 val
* VIRTUAL_array__ArraySet__iterator(val
* self
) {
3370 val
* var
/* : Iterator[nullable Object] */;
3371 val
* var1
/* : Iterator[Object] */;
3372 var1
= array__ArraySet__iterator(self
);
3377 /* method array#ArraySet#enlarge for (self: ArraySet[Object], Int) */
3378 void array__ArraySet__enlarge(val
* self
, long p0
) {
3379 long var_cap
/* var cap: Int */;
3380 val
* var
/* : Array[Object] */;
3382 var
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3384 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 478);
3387 ((void (*)(val
*, long))(var
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(var
, var_cap
) /* enlarge on <var:Array[Object]>*/;
3390 /* method array#ArraySet#enlarge for (self: Object, Int) */
3391 void VIRTUAL_array__ArraySet__enlarge(val
* self
, long p0
) {
3392 array__ArraySet__enlarge(self
, p0
);
3395 /* method array#ArraySet#remove_at for (self: ArraySet[Object], Int) */
3396 void array__ArraySet__remove_at(val
* self
, long p0
) {
3397 long var_i
/* var i: Int */;
3398 val
* var
/* : Array[Object] */;
3399 val
* var1
/* : Array[Object] */;
3400 val
* var2
/* : nullable Object */;
3401 val
* var3
/* : Array[Object] */;
3402 val
* var4
/* : nullable Object */;
3404 var
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3406 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 482);
3409 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3411 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 482);
3414 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var1
) /* last on <var1:Array[Object]>*/;
3415 ((void (*)(val
*, long, val
*))(var
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var
, var_i
, var2
) /* []= on <var:Array[Object]>*/;
3416 var3
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3418 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _array", "lib/standard/collection/array.nit", 483);
3421 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence__pop
]))(var3
) /* pop on <var3:Array[Object]>*/;
3425 /* method array#ArraySet#remove_at for (self: Object, Int) */
3426 void VIRTUAL_array__ArraySet__remove_at(val
* self
, long p0
) {
3427 array__ArraySet__remove_at(self
, p0
);
3430 /* method array#ArraySet#init for (self: ArraySet[Object]) */
3431 void array__ArraySet__init(val
* self
) {
3432 val
* var
/* : Array[Object] */;
3433 var
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__ArraySet_FT0
]);
3434 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[Object]>*/;
3435 CHECK_NEW_array__Array(var
);
3436 self
->attrs
[COLOR_array__ArraySet___array
].val
= var
; /* _array on <self:ArraySet[Object]> */
3439 /* method array#ArraySet#init for (self: Object) */
3440 void VIRTUAL_array__ArraySet__init(val
* self
) {
3441 array__ArraySet__init(self
);
3444 /* method array#ArraySet#with_capacity for (self: ArraySet[Object], Int) */
3445 void array__ArraySet__with_capacity(val
* self
, long p0
) {
3446 long var_i
/* var i: Int */;
3447 val
* var
/* : Array[Object] */;
3449 var
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__ArraySet_FT0
]);
3450 ((void (*)(val
*, long))(var
->class->vft
[COLOR_array__Array__with_capacity
]))(var
, var_i
) /* with_capacity on <var:Array[Object]>*/;
3451 CHECK_NEW_array__Array(var
);
3452 self
->attrs
[COLOR_array__ArraySet___array
].val
= var
; /* _array on <self:ArraySet[Object]> */
3455 /* method array#ArraySet#with_capacity for (self: Object, Int) */
3456 void VIRTUAL_array__ArraySet__with_capacity(val
* self
, long p0
) {
3457 array__ArraySet__with_capacity(self
, p0
);
3460 /* method array#ArraySetIterator#is_ok for (self: ArraySetIterator[Object]): Bool */
3461 short int array__ArraySetIterator__is_ok(val
* self
) {
3462 short int var
/* : Bool */;
3463 val
* var1
/* : ArrayIterator[Object] */;
3464 short int var2
/* : Bool */;
3465 var1
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
3467 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _iter", "lib/standard/collection/array.nit", 497);
3470 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var1
) /* is_ok on <var1:ArrayIterator[Object]>*/;
3476 /* method array#ArraySetIterator#is_ok for (self: Object): Bool */
3477 short int VIRTUAL_array__ArraySetIterator__is_ok(val
* self
) {
3478 short int var
/* : Bool */;
3479 short int var1
/* : Bool */;
3480 var1
= array__ArraySetIterator__is_ok(self
);
3485 /* method array#ArraySetIterator#next for (self: ArraySetIterator[Object]) */
3486 void array__ArraySetIterator__next(val
* self
) {
3487 val
* var
/* : ArrayIterator[Object] */;
3488 var
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
3490 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _iter", "lib/standard/collection/array.nit", 499);
3493 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var
) /* next on <var:ArrayIterator[Object]>*/;
3496 /* method array#ArraySetIterator#next for (self: Object) */
3497 void VIRTUAL_array__ArraySetIterator__next(val
* self
) {
3498 array__ArraySetIterator__next(self
);
3501 /* method array#ArraySetIterator#item for (self: ArraySetIterator[Object]): Object */
3502 val
* array__ArraySetIterator__item(val
* self
) {
3503 val
* var
/* : Object */;
3504 val
* var1
/* : ArrayIterator[Object] */;
3505 val
* var2
/* : nullable Object */;
3506 var1
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
3508 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _iter", "lib/standard/collection/array.nit", 501);
3511 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var1
) /* item on <var1:ArrayIterator[Object]>*/;
3517 /* method array#ArraySetIterator#item for (self: Object): nullable Object */
3518 val
* VIRTUAL_array__ArraySetIterator__item(val
* self
) {
3519 val
* var
/* : nullable Object */;
3520 val
* var1
/* : Object */;
3521 var1
= array__ArraySetIterator__item(self
);
3526 /* method array#ArraySetIterator#init for (self: ArraySetIterator[Object], ArrayIterator[Object]) */
3527 void array__ArraySetIterator__init(val
* self
, val
* p0
) {
3528 short int var
/* : Bool */;
3531 const struct type
* type_struct
;
3532 val
* var_iter
/* var iter: ArrayIterator[Object] */;
3533 /* Covariant cast for argument 0 (iter) <p0:ArrayIterator[Object]> isa ArrayIterator[ArraySetIterator#0] */
3534 /* <p0:ArrayIterator[Object]> isa ArrayIterator[ArraySetIterator#0] */
3535 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayIteratorarray__ArraySetIterator_FT0
];
3536 cltype
= type_struct
->color
;
3537 idtype
= type_struct
->id
;
3538 if(cltype
>= p0
->type
->table_size
) {
3541 var
= p0
->type
->type_table
[cltype
] == idtype
;
3544 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 503);
3548 self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
= var_iter
; /* _iter on <self:ArraySetIterator[Object]> */
3551 /* method array#ArraySetIterator#init for (self: Object, ArrayIterator[Object]) */
3552 void VIRTUAL_array__ArraySetIterator__init(val
* self
, val
* p0
) {
3553 array__ArraySetIterator__init(self
, p0
);
3556 /* method array#ArrayMap#[] for (self: ArrayMap[Object, nullable Object], Object): nullable Object */
3557 val
* array__ArrayMap___91d_93d(val
* self
, val
* p0
) {
3558 val
* var
/* : nullable Object */;
3559 short int var1
/* : Bool */;
3562 const struct type
* type_struct
;
3563 val
* var_key
/* var key: Object */;
3564 long var2
/* : Int */;
3565 long var_i
/* var i: Int */;
3566 long var3
/* : Int */;
3567 short int var4
/* : Bool */;
3568 short int var6
/* : Bool */;
3571 short int var9
/* : Bool */;
3572 val
* var10
/* : Array[Couple[Object, nullable Object]] */;
3573 val
* var11
/* : nullable Object */;
3574 val
* var12
/* : nullable Object */;
3575 /* Covariant cast for argument 0 (key) <p0:Object> isa MapRead#0 */
3576 /* <p0:Object> isa MapRead#0 */
3577 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapRead_FT0
];
3578 cltype
= type_struct
->color
;
3579 idtype
= type_struct
->id
;
3580 if(cltype
>= p0
->type
->table_size
) {
3583 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3586 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 513);
3590 var2
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_array__ArrayMap__index
]))(self
, var_key
) /* index on <self:ArrayMap[Object, nullable Object]>*/;
3593 { /* Inline kernel#Int#>= (var_i,var3) */
3594 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3595 /* <var3:Int> isa OTHER */
3596 var6
= 1; /* easy <var3:Int> isa OTHER*/
3598 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
3601 var9
= var_i
>= var3
;
3607 var10
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3608 if (var10
== NULL
) {
3609 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 518);
3612 var11
= ((val
* (*)(val
*, long))(var10
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var10
, var_i
) /* [] on <var10:Array[Couple[Object, nullable Object]]>*/;
3613 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var11
) /* second on <var11:nullable Object(Couple[Object, nullable Object])>*/;
3617 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Aborted", "lib/standard/collection/array.nit", 520);
3623 /* method array#ArrayMap#[] for (self: Object, Object): nullable Object */
3624 val
* VIRTUAL_array__ArrayMap___91d_93d(val
* self
, val
* p0
) {
3625 val
* var
/* : nullable Object */;
3626 val
* var1
/* : nullable Object */;
3627 var1
= array__ArrayMap___91d_93d(self
, p0
);
3632 /* method array#ArrayMap#[]= for (self: ArrayMap[Object, nullable Object], Object, nullable Object) */
3633 void array__ArrayMap___91d_93d_61d(val
* self
, val
* p0
, val
* p1
) {
3634 short int var
/* : Bool */;
3637 const struct type
* type_struct
;
3638 short int var1
/* : Bool */;
3641 const struct type
* type_struct4
;
3642 short int is_nullable
;
3643 val
* var_key
/* var key: Object */;
3644 val
* var_item
/* var item: nullable Object */;
3645 long var5
/* : Int */;
3646 long var_i
/* var i: Int */;
3647 long var6
/* : Int */;
3648 short int var7
/* : Bool */;
3649 short int var9
/* : Bool */;
3652 short int var12
/* : Bool */;
3653 val
* var13
/* : Array[Couple[Object, nullable Object]] */;
3654 val
* var14
/* : nullable Object */;
3655 val
* var15
/* : Array[Couple[Object, nullable Object]] */;
3656 val
* var16
/* : Couple[Object, nullable Object] */;
3657 /* Covariant cast for argument 0 (key) <p0:Object> isa Map#0 */
3658 /* <p0:Object> isa Map#0 */
3659 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Map_FT0
];
3660 cltype
= type_struct
->color
;
3661 idtype
= type_struct
->id
;
3662 if(cltype
>= p0
->type
->table_size
) {
3665 var
= p0
->type
->type_table
[cltype
] == idtype
;
3668 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 524);
3671 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa Map#1 */
3672 /* <p1:nullable Object> isa Map#1 */
3673 type_struct4
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Map_FT1
];
3674 cltype2
= type_struct4
->color
;
3675 idtype3
= type_struct4
->id
;
3676 is_nullable
= type_struct4
->is_nullable
;
3680 if(cltype2
>= p1
->type
->table_size
) {
3683 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
3687 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 524);
3692 var5
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_array__ArrayMap__index
]))(self
, var_key
) /* index on <self:ArrayMap[Object, nullable Object]>*/;
3695 { /* Inline kernel#Int#>= (var_i,var6) */
3696 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
3697 /* <var6:Int> isa OTHER */
3698 var9
= 1; /* easy <var6:Int> isa OTHER*/
3700 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
3703 var12
= var_i
>= var6
;
3709 var13
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3710 if (var13
== NULL
) {
3711 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 529);
3714 var14
= ((val
* (*)(val
*, long))(var13
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var13
, var_i
) /* [] on <var13:Array[Couple[Object, nullable Object]]>*/;
3715 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_collection__Couple__second_61d
]))(var14
, var_item
) /* second= on <var14:nullable Object(Couple[Object, nullable Object])>*/;
3717 var15
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3718 if (var15
== NULL
) {
3719 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 531);
3722 var16
= NEW_abstract_collection__Couple(self
->type
->resolution_table
->types
[COLOR_abstract_collection__Couplearray__ArrayMap_FT0array__ArrayMap_FT1
]);
3723 ((void (*)(val
*, val
*, val
*))(var16
->class->vft
[COLOR_abstract_collection__Couple__init
]))(var16
, var_key
, var_item
) /* init on <var16:Couple[Object, nullable Object]>*/;
3724 CHECK_NEW_abstract_collection__Couple(var16
);
3725 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var15
, var16
) /* push on <var15:Array[Couple[Object, nullable Object]]>*/;
3729 /* method array#ArrayMap#[]= for (self: Object, Object, nullable Object) */
3730 void VIRTUAL_array__ArrayMap___91d_93d_61d(val
* self
, val
* p0
, val
* p1
) {
3731 array__ArrayMap___91d_93d_61d(self
, p0
, p1
);
3734 /* method array#ArrayMap#keys for (self: ArrayMap[Object, nullable Object]): ArrayMapKeys[Object, nullable Object] */
3735 val
* array__ArrayMap__keys(val
* self
) {
3736 val
* var
/* : ArrayMapKeys[Object, nullable Object] */;
3737 val
* var1
/* : ArrayMapKeys[Object, nullable Object] */;
3738 var1
= self
->attrs
[COLOR_array__ArrayMap___64dkeys
].val
; /* @keys on <self:ArrayMap[Object, nullable Object]> */
3740 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @keys", "lib/standard/collection/array.nit", 535);
3747 /* method array#ArrayMap#keys for (self: Object): Collection[Object] */
3748 val
* VIRTUAL_array__ArrayMap__keys(val
* self
) {
3749 val
* var
/* : Collection[Object] */;
3750 val
* var1
/* : ArrayMapKeys[Object, nullable Object] */;
3751 var1
= array__ArrayMap__keys(self
);
3756 /* method array#ArrayMap#keys= for (self: ArrayMap[Object, nullable Object], ArrayMapKeys[Object, nullable Object]) */
3757 void array__ArrayMap__keys_61d(val
* self
, val
* p0
) {
3758 short int var
/* : Bool */;
3761 const struct type
* type_struct
;
3762 /* Covariant cast for argument 0 (keys) <p0:ArrayMapKeys[Object, nullable Object]> isa ArrayMapKeys[ArrayMap#0, ArrayMap#1] */
3763 /* <p0:ArrayMapKeys[Object, nullable Object]> isa ArrayMapKeys[ArrayMap#0, ArrayMap#1] */
3764 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMapKeysarray__ArrayMap_FT0array__ArrayMap_FT1
];
3765 cltype
= type_struct
->color
;
3766 idtype
= type_struct
->id
;
3767 if(cltype
>= p0
->type
->table_size
) {
3770 var
= p0
->type
->type_table
[cltype
] == idtype
;
3773 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 535);
3776 self
->attrs
[COLOR_array__ArrayMap___64dkeys
].val
= p0
; /* @keys on <self:ArrayMap[Object, nullable Object]> */
3779 /* method array#ArrayMap#keys= for (self: Object, ArrayMapKeys[Object, nullable Object]) */
3780 void VIRTUAL_array__ArrayMap__keys_61d(val
* self
, val
* p0
) {
3781 array__ArrayMap__keys_61d(self
, p0
);
3784 /* method array#ArrayMap#values for (self: ArrayMap[Object, nullable Object]): ArrayMapValues[Object, nullable Object] */
3785 val
* array__ArrayMap__values(val
* self
) {
3786 val
* var
/* : ArrayMapValues[Object, nullable Object] */;
3787 val
* var1
/* : ArrayMapValues[Object, nullable Object] */;
3788 var1
= self
->attrs
[COLOR_array__ArrayMap___64dvalues
].val
; /* @values on <self:ArrayMap[Object, nullable Object]> */
3790 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @values", "lib/standard/collection/array.nit", 536);
3797 /* method array#ArrayMap#values for (self: Object): Collection[nullable Object] */
3798 val
* VIRTUAL_array__ArrayMap__values(val
* self
) {
3799 val
* var
/* : Collection[nullable Object] */;
3800 val
* var1
/* : ArrayMapValues[Object, nullable Object] */;
3801 var1
= array__ArrayMap__values(self
);
3806 /* method array#ArrayMap#values= for (self: ArrayMap[Object, nullable Object], ArrayMapValues[Object, nullable Object]) */
3807 void array__ArrayMap__values_61d(val
* self
, val
* p0
) {
3808 short int var
/* : Bool */;
3811 const struct type
* type_struct
;
3812 /* Covariant cast for argument 0 (values) <p0:ArrayMapValues[Object, nullable Object]> isa ArrayMapValues[ArrayMap#0, ArrayMap#1] */
3813 /* <p0:ArrayMapValues[Object, nullable Object]> isa ArrayMapValues[ArrayMap#0, ArrayMap#1] */
3814 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMapValuesarray__ArrayMap_FT0array__ArrayMap_FT1
];
3815 cltype
= type_struct
->color
;
3816 idtype
= type_struct
->id
;
3817 if(cltype
>= p0
->type
->table_size
) {
3820 var
= p0
->type
->type_table
[cltype
] == idtype
;
3823 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 536);
3826 self
->attrs
[COLOR_array__ArrayMap___64dvalues
].val
= p0
; /* @values on <self:ArrayMap[Object, nullable Object]> */
3829 /* method array#ArrayMap#values= for (self: Object, ArrayMapValues[Object, nullable Object]) */
3830 void VIRTUAL_array__ArrayMap__values_61d(val
* self
, val
* p0
) {
3831 array__ArrayMap__values_61d(self
, p0
);
3834 /* method array#ArrayMap#length for (self: ArrayMap[Object, nullable Object]): Int */
3835 long array__ArrayMap__length(val
* self
) {
3836 long var
/* : Int */;
3837 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3838 long var2
/* : Int */;
3839 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3841 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 539);
3844 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:Array[Couple[Object, nullable Object]]>*/;
3850 /* method array#ArrayMap#length for (self: Object): Int */
3851 long VIRTUAL_array__ArrayMap__length(val
* self
) {
3852 long var
/* : Int */;
3853 long var1
/* : Int */;
3854 var1
= array__ArrayMap__length(self
);
3859 /* method array#ArrayMap#iterator for (self: ArrayMap[Object, nullable Object]): CoupleMapIterator[Object, nullable Object] */
3860 val
* array__ArrayMap__iterator(val
* self
) {
3861 val
* var
/* : CoupleMapIterator[Object, nullable Object] */;
3862 val
* var1
/* : CoupleMapIterator[Object, nullable Object] */;
3863 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
3864 val
* var3
/* : Iterator[nullable Object] */;
3865 var1
= NEW_abstract_collection__CoupleMapIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__CoupleMapIteratorarray__ArrayMap_FT0array__ArrayMap_FT1
]);
3866 var2
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3868 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 541);
3871 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:Array[Couple[Object, nullable Object]]>*/;
3872 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__CoupleMapIterator__init
]))(var1
, var3
) /* init on <var1:CoupleMapIterator[Object, nullable Object]>*/;
3873 CHECK_NEW_abstract_collection__CoupleMapIterator(var1
);
3879 /* method array#ArrayMap#iterator for (self: Object): MapIterator[Object, nullable Object] */
3880 val
* VIRTUAL_array__ArrayMap__iterator(val
* self
) {
3881 val
* var
/* : MapIterator[Object, nullable Object] */;
3882 val
* var1
/* : CoupleMapIterator[Object, nullable Object] */;
3883 var1
= array__ArrayMap__iterator(self
);
3888 /* method array#ArrayMap#is_empty for (self: ArrayMap[Object, nullable Object]): Bool */
3889 short int array__ArrayMap__is_empty(val
* self
) {
3890 short int var
/* : Bool */;
3891 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3892 short int var2
/* : Bool */;
3893 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3895 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 543);
3898 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var1
) /* is_empty on <var1:Array[Couple[Object, nullable Object]]>*/;
3904 /* method array#ArrayMap#is_empty for (self: Object): Bool */
3905 short int VIRTUAL_array__ArrayMap__is_empty(val
* self
) {
3906 short int var
/* : Bool */;
3907 short int var1
/* : Bool */;
3908 var1
= array__ArrayMap__is_empty(self
);
3913 /* method array#ArrayMap#clear for (self: ArrayMap[Object, nullable Object]) */
3914 void array__ArrayMap__clear(val
* self
) {
3915 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3916 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3918 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 545);
3921 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var
) /* clear on <var:Array[Couple[Object, nullable Object]]>*/;
3924 /* method array#ArrayMap#clear for (self: Object) */
3925 void VIRTUAL_array__ArrayMap__clear(val
* self
) {
3926 array__ArrayMap__clear(self
);
3929 /* method array#ArrayMap#enlarge for (self: ArrayMap[Object, nullable Object], Int) */
3930 void array__ArrayMap__enlarge(val
* self
, long p0
) {
3931 long var_cap
/* var cap: Int */;
3932 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3934 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3936 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 548);
3939 ((void (*)(val
*, long))(var
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(var
, var_cap
) /* enlarge on <var:Array[Couple[Object, nullable Object]]>*/;
3942 /* method array#ArrayMap#enlarge for (self: Object, Int) */
3943 void VIRTUAL_array__ArrayMap__enlarge(val
* self
, long p0
) {
3944 array__ArrayMap__enlarge(self
, p0
);
3947 /* method array#ArrayMap#couple_at for (self: ArrayMap[Object, nullable Object], Object): nullable Couple[Object, nullable Object] */
3948 val
* array__ArrayMap__couple_at(val
* self
, val
* p0
) {
3949 val
* var
/* : nullable Couple[Object, nullable Object] */;
3950 short int var1
/* : Bool */;
3953 const struct type
* type_struct
;
3954 val
* var_key
/* var key: Object */;
3955 long var2
/* : Int */;
3956 long var_i
/* var i: Int */;
3957 long var3
/* : Int */;
3958 short int var4
/* : Bool */;
3959 short int var6
/* : Bool */;
3962 short int var9
/* : Bool */;
3963 val
* var10
/* : Array[Couple[Object, nullable Object]] */;
3964 val
* var11
/* : nullable Object */;
3965 val
* var12
/* : null */;
3966 /* Covariant cast for argument 0 (key) <p0:Object> isa CoupleMap#0 */
3967 /* <p0:Object> isa CoupleMap#0 */
3968 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__CoupleMap_FT0
];
3969 cltype
= type_struct
->color
;
3970 idtype
= type_struct
->id
;
3971 if(cltype
>= p0
->type
->table_size
) {
3974 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3977 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 550);
3981 var2
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_array__ArrayMap__index
]))(self
, var_key
) /* index on <self:ArrayMap[Object, nullable Object]>*/;
3984 { /* Inline kernel#Int#>= (var_i,var3) */
3985 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3986 /* <var3:Int> isa OTHER */
3987 var6
= 1; /* easy <var3:Int> isa OTHER*/
3989 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
3992 var9
= var_i
>= var3
;
3998 var10
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3999 if (var10
== NULL
) {
4000 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 554);
4003 var11
= ((val
* (*)(val
*, long))(var10
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var10
, var_i
) /* [] on <var10:Array[Couple[Object, nullable Object]]>*/;
4014 /* method array#ArrayMap#couple_at for (self: Object, Object): nullable Couple[Object, nullable Object] */
4015 val
* VIRTUAL_array__ArrayMap__couple_at(val
* self
, val
* p0
) {
4016 val
* var
/* : nullable Couple[Object, nullable Object] */;
4017 val
* var1
/* : nullable Couple[Object, nullable Object] */;
4018 var1
= array__ArrayMap__couple_at(self
, p0
);
4023 /* method array#ArrayMap#remove_at_index for (self: ArrayMap[Object, nullable Object], Int) */
4024 void array__ArrayMap__remove_at_index(val
* self
, long p0
) {
4025 long var_i
/* var i: Int */;
4026 val
* var
/* : Array[Couple[Object, nullable Object]] */;
4027 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
4028 val
* var2
/* : nullable Object */;
4029 val
* var3
/* : Array[Couple[Object, nullable Object]] */;
4030 val
* var4
/* : nullable Object */;
4032 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4034 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 566);
4037 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4039 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 566);
4042 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var1
) /* last on <var1:Array[Couple[Object, nullable Object]]>*/;
4043 ((void (*)(val
*, long, val
*))(var
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var
, var_i
, var2
) /* []= on <var:Array[Couple[Object, nullable Object]]>*/;
4044 var3
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4046 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 567);
4049 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence__pop
]))(var3
) /* pop on <var3:Array[Couple[Object, nullable Object]]>*/;
4053 /* method array#ArrayMap#remove_at_index for (self: Object, Int) */
4054 void VIRTUAL_array__ArrayMap__remove_at_index(val
* self
, long p0
) {
4055 array__ArrayMap__remove_at_index(self
, p0
);
4058 /* method array#ArrayMap#index for (self: ArrayMap[Object, nullable Object], Object): Int */
4059 long array__ArrayMap__index(val
* self
, val
* p0
) {
4060 long var
/* : Int */;
4061 short int var1
/* : Bool */;
4064 const struct type
* type_struct
;
4065 val
* var_key
/* var key: Object */;
4066 long var2
/* : Int */;
4067 long var_l
/* var l: Int */;
4068 short int var3
/* : Bool */;
4069 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
4070 long var5
/* : Int */;
4071 short int var6
/* : Bool */;
4072 short int var8
/* : Bool */;
4075 short int var11
/* : Bool */;
4076 short int var_
/* var : Bool */;
4077 val
* var12
/* : Array[Couple[Object, nullable Object]] */;
4078 val
* var13
/* : nullable Object */;
4079 val
* var14
/* : nullable Object */;
4080 short int var15
/* : Bool */;
4081 long var16
/* : Int */;
4082 long var_i
/* var i: Int */;
4083 val
* var17
/* : Array[Couple[Object, nullable Object]] */;
4084 long var18
/* : Int */;
4085 short int var19
/* : Bool */;
4086 short int var21
/* : Bool */;
4089 short int var24
/* : Bool */;
4090 val
* var25
/* : Array[Couple[Object, nullable Object]] */;
4091 val
* var26
/* : nullable Object */;
4092 val
* var27
/* : nullable Object */;
4093 short int var28
/* : Bool */;
4094 long var29
/* : Int */;
4095 long var30
/* : Int */;
4096 long var32
/* : Int */;
4097 long var33
/* : Int */;
4098 long var34
/* : Int */;
4099 long var36
/* : Int */;
4100 /* Covariant cast for argument 0 (key) <p0:Object> isa ArrayMap#0 */
4101 /* <p0:Object> isa ArrayMap#0 */
4102 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMap_FT0
];
4103 cltype
= type_struct
->color
;
4104 idtype
= type_struct
->id
;
4105 if(cltype
>= p0
->type
->table_size
) {
4108 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4111 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 573);
4115 var2
= self
->attrs
[COLOR_array__ArrayMap___last_index
].l
; /* _last_index on <self:ArrayMap[Object, nullable Object]> */
4117 var4
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4119 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 578);
4122 var5
= ((long (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var4
) /* length on <var4:Array[Couple[Object, nullable Object]]>*/;
4123 { /* Inline kernel#Int#< (var_l,var5) */
4124 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
4125 /* <var5:Int> isa OTHER */
4126 var8
= 1; /* easy <var5:Int> isa OTHER*/
4128 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
4131 var11
= var_l
< var5
;
4138 var12
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4139 if (var12
== NULL
) {
4140 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 578);
4143 var13
= ((val
* (*)(val
*, long))(var12
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var12
, var_l
) /* [] on <var12:Array[Couple[Object, nullable Object]]>*/;
4144 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Couple__first
]))(var13
) /* first on <var13:nullable Object(Couple[Object, nullable Object])>*/;
4145 var15
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var14
, var_key
) /* == on <var14:nullable Object(Object)>*/;
4158 var17
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4159 if (var17
== NULL
) {
4160 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 581);
4163 var18
= ((long (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var17
) /* length on <var17:Array[Couple[Object, nullable Object]]>*/;
4164 { /* Inline kernel#Int#< (var_i,var18) */
4165 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
4166 /* <var18:Int> isa OTHER */
4167 var21
= 1; /* easy <var18:Int> isa OTHER*/
4169 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
4172 var24
= var_i
< var18
;
4175 RET_LABEL20
:(void)0;
4178 var25
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4179 if (var25
== NULL
) {
4180 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 582);
4183 var26
= ((val
* (*)(val
*, long))(var25
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var25
, var_i
) /* [] on <var25:Array[Couple[Object, nullable Object]]>*/;
4184 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Couple__first
]))(var26
) /* first on <var26:nullable Object(Couple[Object, nullable Object])>*/;
4185 var28
= ((short int (*)(val
*, val
*))(var27
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var27
, var_key
) /* == on <var27:nullable Object(Object)>*/;
4187 self
->attrs
[COLOR_array__ArrayMap___last_index
].l
= var_i
; /* _last_index on <self:ArrayMap[Object, nullable Object]> */
4193 { /* Inline kernel#Int#+ (var_i,var29) */
4194 var32
= var_i
+ var29
;
4197 RET_LABEL31
:(void)0;
4200 CONTINUE_label
: (void)0;
4202 BREAK_label
: (void)0;
4204 { /* Inline kernel#Int#unary - (var33) */
4208 RET_LABEL35
:(void)0;
4215 /* method array#ArrayMap#index for (self: Object, Object): Int */
4216 long VIRTUAL_array__ArrayMap__index(val
* self
, val
* p0
) {
4217 long var
/* : Int */;
4218 long var1
/* : Int */;
4219 var1
= array__ArrayMap__index(self
, p0
);
4224 /* method array#ArrayMap#init for (self: ArrayMap[Object, nullable Object]) */
4225 void array__ArrayMap__init(val
* self
) {
4226 val
* var
/* : Array[Couple[Object, nullable Object]] */;
4227 var
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayabstract_collection__Couplearray__ArrayMap_FT0array__ArrayMap_FT1
]);
4228 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[Couple[Object, nullable Object]]>*/;
4229 CHECK_NEW_array__Array(var
);
4230 self
->attrs
[COLOR_array__ArrayMap___items
].val
= var
; /* _items on <self:ArrayMap[Object, nullable Object]> */
4233 /* method array#ArrayMap#init for (self: Object) */
4234 void VIRTUAL_array__ArrayMap__init(val
* self
) {
4235 array__ArrayMap__init(self
);
4238 /* method array#ArrayMapKeys#map for (self: ArrayMapKeys[Object, nullable Object]): ArrayMap[Object, nullable Object] */
4239 val
* array__ArrayMapKeys__map(val
* self
) {
4240 val
* var
/* : ArrayMap[Object, nullable Object] */;
4241 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4242 var1
= self
->attrs
[COLOR_array__ArrayMapKeys___64dmap
].val
; /* @map on <self:ArrayMapKeys[Object, nullable Object]> */
4244 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @map", "lib/standard/collection/array.nit", 600);
4251 /* method array#ArrayMapKeys#map for (self: Object): ArrayMap[Object, nullable Object] */
4252 val
* VIRTUAL_array__ArrayMapKeys__map(val
* self
) {
4253 val
* var
/* : ArrayMap[Object, nullable Object] */;
4254 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4255 var1
= array__ArrayMapKeys__map(self
);
4260 /* method array#ArrayMapKeys#map= for (self: ArrayMapKeys[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4261 void array__ArrayMapKeys__map_61d(val
* self
, val
* p0
) {
4262 short int var
/* : Bool */;
4265 const struct type
* type_struct
;
4266 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4267 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4268 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
];
4269 cltype
= type_struct
->color
;
4270 idtype
= type_struct
->id
;
4271 if(cltype
>= p0
->type
->table_size
) {
4274 var
= p0
->type
->type_table
[cltype
] == idtype
;
4277 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 600);
4280 self
->attrs
[COLOR_array__ArrayMapKeys___64dmap
].val
= p0
; /* @map on <self:ArrayMapKeys[Object, nullable Object]> */
4283 /* method array#ArrayMapKeys#map= for (self: Object, ArrayMap[Object, nullable Object]) */
4284 void VIRTUAL_array__ArrayMapKeys__map_61d(val
* self
, val
* p0
) {
4285 array__ArrayMapKeys__map_61d(self
, p0
);
4288 /* method array#ArrayMapKeys#count for (self: ArrayMapKeys[Object, nullable Object], Object): Int */
4289 long array__ArrayMapKeys__count(val
* self
, val
* p0
) {
4290 long var
/* : Int */;
4291 short int var1
/* : Bool */;
4294 const struct type
* type_struct
;
4295 val
* var_k
/* var k: Object */;
4296 short int var2
/* : Bool */;
4297 long var3
/* : Int */;
4298 long var4
/* : Int */;
4299 /* Covariant cast for argument 0 (k) <p0:Object> isa Collection#0 */
4300 /* <p0:Object> isa Collection#0 */
4301 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4302 cltype
= type_struct
->color
;
4303 idtype
= type_struct
->id
;
4304 if(cltype
>= p0
->type
->table_size
) {
4307 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4310 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 602);
4314 var2
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__has
]))(self
, var_k
) /* has on <self:ArrayMapKeys[Object, nullable Object]>*/;
4327 /* method array#ArrayMapKeys#count for (self: Object, nullable Object): Int */
4328 long VIRTUAL_array__ArrayMapKeys__count(val
* self
, val
* p0
) {
4329 long var
/* : Int */;
4330 long var1
/* : Int */;
4331 var1
= array__ArrayMapKeys__count(self
, p0
);
4336 /* method array#ArrayMapKeys#first for (self: ArrayMapKeys[Object, nullable Object]): Object */
4337 val
* array__ArrayMapKeys__first(val
* self
) {
4338 val
* var
/* : Object */;
4339 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4340 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
4341 val
* var3
/* : nullable Object */;
4342 val
* var4
/* : nullable Object */;
4343 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4344 var2
= var1
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var1:ArrayMap[Object, nullable Object]> */
4346 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 603);
4349 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:Array[Couple[Object, nullable Object]]>*/;
4350 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Couple__first
]))(var3
) /* first on <var3:nullable Object(Couple[Object, nullable Object])>*/;
4356 /* method array#ArrayMapKeys#first for (self: Object): nullable Object */
4357 val
* VIRTUAL_array__ArrayMapKeys__first(val
* self
) {
4358 val
* var
/* : nullable Object */;
4359 val
* var1
/* : Object */;
4360 var1
= array__ArrayMapKeys__first(self
);
4365 /* method array#ArrayMapKeys#has for (self: ArrayMapKeys[Object, nullable Object], Object): Bool */
4366 short int array__ArrayMapKeys__has(val
* self
, val
* p0
) {
4367 short int var
/* : Bool */;
4368 short int var1
/* : Bool */;
4371 const struct type
* type_struct
;
4372 val
* var_k
/* var k: Object */;
4373 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4374 long var3
/* : Int */;
4375 long var4
/* : Int */;
4376 short int var5
/* : Bool */;
4377 short int var7
/* : Bool */;
4380 short int var10
/* : Bool */;
4381 /* Covariant cast for argument 0 (k) <p0:Object> isa Collection#0 */
4382 /* <p0:Object> isa Collection#0 */
4383 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4384 cltype
= type_struct
->color
;
4385 idtype
= type_struct
->id
;
4386 if(cltype
>= p0
->type
->table_size
) {
4389 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4392 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 604);
4396 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4397 var3
= ((long (*)(val
*, val
*))(var2
->class->vft
[COLOR_array__ArrayMap__index
]))(var2
, var_k
) /* index on <var2:ArrayMap[Object, nullable Object]>*/;
4399 { /* Inline kernel#Int#>= (var3,var4) */
4400 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
4401 /* <var4:Int> isa OTHER */
4402 var7
= 1; /* easy <var4:Int> isa OTHER*/
4404 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
4407 var10
= var3
>= var4
;
4417 /* method array#ArrayMapKeys#has for (self: Object, nullable Object): Bool */
4418 short int VIRTUAL_array__ArrayMapKeys__has(val
* self
, val
* p0
) {
4419 short int var
/* : Bool */;
4420 short int var1
/* : Bool */;
4421 var1
= array__ArrayMapKeys__has(self
, p0
);
4426 /* method array#ArrayMapKeys#has_only for (self: ArrayMapKeys[Object, nullable Object], Object): Bool */
4427 short int array__ArrayMapKeys__has_only(val
* self
, val
* p0
) {
4428 short int var
/* : Bool */;
4429 short int var1
/* : Bool */;
4432 const struct type
* type_struct
;
4433 val
* var_k
/* var k: Object */;
4434 short int var2
/* : Bool */;
4435 short int var3
/* : Bool */;
4436 short int var4
/* : Bool */;
4437 short int var_
/* var : Bool */;
4438 long var5
/* : Int */;
4439 long var6
/* : Int */;
4440 short int var7
/* : Bool */;
4441 short int var9
/* : Bool */;
4442 short int var_10
/* var : Bool */;
4443 short int var11
/* : Bool */;
4444 /* Covariant cast for argument 0 (k) <p0:Object> isa Collection#0 */
4445 /* <p0:Object> isa Collection#0 */
4446 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4447 cltype
= type_struct
->color
;
4448 idtype
= type_struct
->id
;
4449 if(cltype
>= p0
->type
->table_size
) {
4452 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4455 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 605);
4459 var4
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__has
]))(self
, var_k
) /* has on <self:ArrayMapKeys[Object, nullable Object]>*/;
4462 var5
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:ArrayMapKeys[Object, nullable Object]>*/;
4464 { /* Inline kernel#Int#== (var5,var6) */
4465 var9
= var5
== var6
;
4478 var11
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:ArrayMapKeys[Object, nullable Object]>*/;
4486 /* method array#ArrayMapKeys#has_only for (self: Object, nullable Object): Bool */
4487 short int VIRTUAL_array__ArrayMapKeys__has_only(val
* self
, val
* p0
) {
4488 short int var
/* : Bool */;
4489 short int var1
/* : Bool */;
4490 var1
= array__ArrayMapKeys__has_only(self
, p0
);
4495 /* method array#ArrayMapKeys#is_empty for (self: ArrayMapKeys[Object, nullable Object]): Bool */
4496 short int array__ArrayMapKeys__is_empty(val
* self
) {
4497 short int var
/* : Bool */;
4498 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4499 short int var2
/* : Bool */;
4500 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4501 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__is_empty
]))(var1
) /* is_empty on <var1:ArrayMap[Object, nullable Object]>*/;
4507 /* method array#ArrayMapKeys#is_empty for (self: Object): Bool */
4508 short int VIRTUAL_array__ArrayMapKeys__is_empty(val
* self
) {
4509 short int var
/* : Bool */;
4510 short int var1
/* : Bool */;
4511 var1
= array__ArrayMapKeys__is_empty(self
);
4516 /* method array#ArrayMapKeys#length for (self: ArrayMapKeys[Object, nullable Object]): Int */
4517 long array__ArrayMapKeys__length(val
* self
) {
4518 long var
/* : Int */;
4519 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4520 long var2
/* : Int */;
4521 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4522 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__length
]))(var1
) /* length on <var1:ArrayMap[Object, nullable Object]>*/;
4528 /* method array#ArrayMapKeys#length for (self: Object): Int */
4529 long VIRTUAL_array__ArrayMapKeys__length(val
* self
) {
4530 long var
/* : Int */;
4531 long var1
/* : Int */;
4532 var1
= array__ArrayMapKeys__length(self
);
4537 /* method array#ArrayMapKeys#iterator for (self: ArrayMapKeys[Object, nullable Object]): Iterator[Object] */
4538 val
* array__ArrayMapKeys__iterator(val
* self
) {
4539 val
* var
/* : Iterator[Object] */;
4540 val
* var1
/* : MapKeysIterator[Object, nullable Object] */;
4541 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4542 val
* var3
/* : MapIterator[Object, nullable Object] */;
4543 var1
= NEW_abstract_collection__MapKeysIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapKeysIteratorarray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
]);
4544 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4545 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var2
) /* iterator on <var2:ArrayMap[Object, nullable Object]>*/;
4546 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapKeysIterator__init
]))(var1
, var3
) /* init on <var1:MapKeysIterator[Object, nullable Object]>*/;
4547 CHECK_NEW_abstract_collection__MapKeysIterator(var1
);
4553 /* method array#ArrayMapKeys#iterator for (self: Object): Iterator[nullable Object] */
4554 val
* VIRTUAL_array__ArrayMapKeys__iterator(val
* self
) {
4555 val
* var
/* : Iterator[nullable Object] */;
4556 val
* var1
/* : Iterator[Object] */;
4557 var1
= array__ArrayMapKeys__iterator(self
);
4562 /* method array#ArrayMapKeys#clear for (self: ArrayMapKeys[Object, nullable Object]) */
4563 void array__ArrayMapKeys__clear(val
* self
) {
4564 val
* var
/* : ArrayMap[Object, nullable Object] */;
4565 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4566 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Map__clear
]))(var
) /* clear on <var:ArrayMap[Object, nullable Object]>*/;
4569 /* method array#ArrayMapKeys#clear for (self: Object) */
4570 void VIRTUAL_array__ArrayMapKeys__clear(val
* self
) {
4571 array__ArrayMapKeys__clear(self
);
4574 /* method array#ArrayMapKeys#remove for (self: ArrayMapKeys[Object, nullable Object], Object) */
4575 void array__ArrayMapKeys__remove(val
* self
, val
* p0
) {
4576 short int var
/* : Bool */;
4579 const struct type
* type_struct
;
4580 val
* var_key
/* var key: Object */;
4581 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4582 long var2
/* : Int */;
4583 long var_i
/* var i: Int */;
4584 long var3
/* : Int */;
4585 short int var4
/* : Bool */;
4586 short int var6
/* : Bool */;
4589 short int var9
/* : Bool */;
4590 val
* var10
/* : ArrayMap[Object, nullable Object] */;
4591 /* Covariant cast for argument 0 (key) <p0:Object> isa RemovableCollection#0 */
4592 /* <p0:Object> isa RemovableCollection#0 */
4593 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
4594 cltype
= type_struct
->color
;
4595 idtype
= type_struct
->id
;
4596 if(cltype
>= p0
->type
->table_size
) {
4599 var
= p0
->type
->type_table
[cltype
] == idtype
;
4602 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 610);
4606 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4607 var2
= ((long (*)(val
*, val
*))(var1
->class->vft
[COLOR_array__ArrayMap__index
]))(var1
, var_key
) /* index on <var1:ArrayMap[Object, nullable Object]>*/;
4610 { /* Inline kernel#Int#>= (var_i,var3) */
4611 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
4612 /* <var3:Int> isa OTHER */
4613 var6
= 1; /* easy <var3:Int> isa OTHER*/
4615 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
4618 var9
= var_i
>= var3
;
4624 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4625 ((void (*)(val
*, long))(var10
->class->vft
[COLOR_array__ArrayMap__remove_at_index
]))(var10
, var_i
) /* remove_at_index on <var10:ArrayMap[Object, nullable Object]>*/;
4630 /* method array#ArrayMapKeys#remove for (self: Object, nullable Object) */
4631 void VIRTUAL_array__ArrayMapKeys__remove(val
* self
, val
* p0
) {
4632 array__ArrayMapKeys__remove(self
, p0
);
4635 /* method array#ArrayMapKeys#remove_all for (self: ArrayMapKeys[Object, nullable Object], Object) */
4636 void array__ArrayMapKeys__remove_all(val
* self
, val
* p0
) {
4637 short int var
/* : Bool */;
4640 const struct type
* type_struct
;
4641 val
* var_key
/* var key: Object */;
4642 /* Covariant cast for argument 0 (key) <p0:Object> isa RemovableCollection#0 */
4643 /* <p0:Object> isa RemovableCollection#0 */
4644 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
4645 cltype
= type_struct
->color
;
4646 idtype
= type_struct
->id
;
4647 if(cltype
>= p0
->type
->table_size
) {
4650 var
= p0
->type
->type_table
[cltype
] == idtype
;
4653 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 615);
4657 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(self
, var_key
) /* remove on <self:ArrayMapKeys[Object, nullable Object]>*/;
4660 /* method array#ArrayMapKeys#remove_all for (self: Object, nullable Object) */
4661 void VIRTUAL_array__ArrayMapKeys__remove_all(val
* self
, val
* p0
) {
4662 array__ArrayMapKeys__remove_all(self
, p0
);
4665 /* method array#ArrayMapKeys#init for (self: ArrayMapKeys[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4666 void array__ArrayMapKeys__init(val
* self
, val
* p0
) {
4667 short int var
/* : Bool */;
4670 const struct type
* type_struct
;
4671 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4672 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4673 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
];
4674 cltype
= type_struct
->color
;
4675 idtype
= type_struct
->id
;
4676 if(cltype
>= p0
->type
->table_size
) {
4679 var
= p0
->type
->type_table
[cltype
] == idtype
;
4682 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 598);
4685 self
->attrs
[COLOR_array__ArrayMapKeys___64dmap
].val
= p0
; /* @map on <self:ArrayMapKeys[Object, nullable Object]> */
4688 /* method array#ArrayMapKeys#init for (self: Object, ArrayMap[Object, nullable Object]) */
4689 void VIRTUAL_array__ArrayMapKeys__init(val
* self
, val
* p0
) {
4690 array__ArrayMapKeys__init(self
, p0
);
4693 /* method array#ArrayMapValues#map for (self: ArrayMapValues[Object, nullable Object]): ArrayMap[Object, nullable Object] */
4694 val
* array__ArrayMapValues__map(val
* self
) {
4695 val
* var
/* : ArrayMap[Object, nullable Object] */;
4696 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4697 var1
= self
->attrs
[COLOR_array__ArrayMapValues___64dmap
].val
; /* @map on <self:ArrayMapValues[Object, nullable Object]> */
4699 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @map", "lib/standard/collection/array.nit", 620);
4706 /* method array#ArrayMapValues#map for (self: Object): ArrayMap[Object, nullable Object] */
4707 val
* VIRTUAL_array__ArrayMapValues__map(val
* self
) {
4708 val
* var
/* : ArrayMap[Object, nullable Object] */;
4709 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4710 var1
= array__ArrayMapValues__map(self
);
4715 /* method array#ArrayMapValues#map= for (self: ArrayMapValues[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4716 void array__ArrayMapValues__map_61d(val
* self
, val
* p0
) {
4717 short int var
/* : Bool */;
4720 const struct type
* type_struct
;
4721 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
4722 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
4723 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapValues_FT0array__ArrayMapValues_FT1
];
4724 cltype
= type_struct
->color
;
4725 idtype
= type_struct
->id
;
4726 if(cltype
>= p0
->type
->table_size
) {
4729 var
= p0
->type
->type_table
[cltype
] == idtype
;
4732 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 620);
4735 self
->attrs
[COLOR_array__ArrayMapValues___64dmap
].val
= p0
; /* @map on <self:ArrayMapValues[Object, nullable Object]> */
4738 /* method array#ArrayMapValues#map= for (self: Object, ArrayMap[Object, nullable Object]) */
4739 void VIRTUAL_array__ArrayMapValues__map_61d(val
* self
, val
* p0
) {
4740 array__ArrayMapValues__map_61d(self
, p0
);
4743 /* method array#ArrayMapValues#first for (self: ArrayMapValues[Object, nullable Object]): nullable Object */
4744 val
* array__ArrayMapValues__first(val
* self
) {
4745 val
* var
/* : nullable Object */;
4746 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4747 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
4748 val
* var3
/* : nullable Object */;
4749 val
* var4
/* : nullable Object */;
4750 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4751 var2
= var1
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var1:ArrayMap[Object, nullable Object]> */
4753 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 622);
4756 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:Array[Couple[Object, nullable Object]]>*/;
4757 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var3
) /* second on <var3:nullable Object(Couple[Object, nullable Object])>*/;
4763 /* method array#ArrayMapValues#first for (self: Object): nullable Object */
4764 val
* VIRTUAL_array__ArrayMapValues__first(val
* self
) {
4765 val
* var
/* : nullable Object */;
4766 val
* var1
/* : nullable Object */;
4767 var1
= array__ArrayMapValues__first(self
);
4772 /* method array#ArrayMapValues#is_empty for (self: ArrayMapValues[Object, nullable Object]): Bool */
4773 short int array__ArrayMapValues__is_empty(val
* self
) {
4774 short int var
/* : Bool */;
4775 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4776 short int var2
/* : Bool */;
4777 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4778 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__is_empty
]))(var1
) /* is_empty on <var1:ArrayMap[Object, nullable Object]>*/;
4784 /* method array#ArrayMapValues#is_empty for (self: Object): Bool */
4785 short int VIRTUAL_array__ArrayMapValues__is_empty(val
* self
) {
4786 short int var
/* : Bool */;
4787 short int var1
/* : Bool */;
4788 var1
= array__ArrayMapValues__is_empty(self
);
4793 /* method array#ArrayMapValues#length for (self: ArrayMapValues[Object, nullable Object]): Int */
4794 long array__ArrayMapValues__length(val
* self
) {
4795 long var
/* : Int */;
4796 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4797 long var2
/* : Int */;
4798 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4799 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__length
]))(var1
) /* length on <var1:ArrayMap[Object, nullable Object]>*/;
4805 /* method array#ArrayMapValues#length for (self: Object): Int */
4806 long VIRTUAL_array__ArrayMapValues__length(val
* self
) {
4807 long var
/* : Int */;
4808 long var1
/* : Int */;
4809 var1
= array__ArrayMapValues__length(self
);
4814 /* method array#ArrayMapValues#iterator for (self: ArrayMapValues[Object, nullable Object]): Iterator[nullable Object] */
4815 val
* array__ArrayMapValues__iterator(val
* self
) {
4816 val
* var
/* : Iterator[nullable Object] */;
4817 val
* var1
/* : MapValuesIterator[Object, nullable Object] */;
4818 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4819 val
* var3
/* : MapIterator[Object, nullable Object] */;
4820 var1
= NEW_abstract_collection__MapValuesIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapValuesIteratorarray__ArrayMapValues_FT0array__ArrayMapValues_FT1
]);
4821 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4822 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var2
) /* iterator on <var2:ArrayMap[Object, nullable Object]>*/;
4823 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapValuesIterator__init
]))(var1
, var3
) /* init on <var1:MapValuesIterator[Object, nullable Object]>*/;
4824 CHECK_NEW_abstract_collection__MapValuesIterator(var1
);
4830 /* method array#ArrayMapValues#iterator for (self: Object): Iterator[nullable Object] */
4831 val
* VIRTUAL_array__ArrayMapValues__iterator(val
* self
) {
4832 val
* var
/* : Iterator[nullable Object] */;
4833 val
* var1
/* : Iterator[nullable Object] */;
4834 var1
= array__ArrayMapValues__iterator(self
);
4839 /* method array#ArrayMapValues#has for (self: ArrayMapValues[Object, nullable Object], nullable Object): Bool */
4840 short int array__ArrayMapValues__has(val
* self
, val
* p0
) {
4841 short int var
/* : Bool */;
4842 short int var1
/* : Bool */;
4845 const struct type
* type_struct
;
4846 short int is_nullable
;
4847 val
* var_item
/* var item: nullable Object */;
4848 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4849 val
* var3
/* : Array[Couple[Object, nullable Object]] */;
4850 val
* var4
/* : Iterator[nullable Object] */;
4851 short int var5
/* : Bool */;
4852 val
* var6
/* : nullable Object */;
4853 val
* var_i
/* var i: Couple[Object, nullable Object] */;
4854 val
* var7
/* : nullable Object */;
4855 short int var8
/* : Bool */;
4856 short int var9
/* : Bool */;
4857 short int var10
/* : Bool */;
4858 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
4859 /* <p0:nullable Object> isa Collection#0 */
4860 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4861 cltype
= type_struct
->color
;
4862 idtype
= type_struct
->id
;
4863 is_nullable
= type_struct
->is_nullable
;
4867 if(cltype
>= p0
->type
->table_size
) {
4870 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4874 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 627);
4878 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4879 var3
= var2
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var2:ArrayMap[Object, nullable Object]> */
4881 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 630);
4884 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:Array[Couple[Object, nullable Object]]>*/;
4886 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
4888 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
4890 var7
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var_i
) /* second on <var_i:Couple[Object, nullable Object]>*/;
4892 var8
= (var_item
== NULL
);
4894 var8
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var7
, var_item
) /* == on <var7:nullable Object>*/;
4902 CONTINUE_label
: (void)0;
4903 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
4905 BREAK_label
: (void)0;
4912 /* method array#ArrayMapValues#has for (self: Object, nullable Object): Bool */
4913 short int VIRTUAL_array__ArrayMapValues__has(val
* self
, val
* p0
) {
4914 short int var
/* : Bool */;
4915 short int var1
/* : Bool */;
4916 var1
= array__ArrayMapValues__has(self
, p0
);
4921 /* method array#ArrayMapValues#has_only for (self: ArrayMapValues[Object, nullable Object], nullable Object): Bool */
4922 short int array__ArrayMapValues__has_only(val
* self
, val
* p0
) {
4923 short int var
/* : Bool */;
4924 short int var1
/* : Bool */;
4927 const struct type
* type_struct
;
4928 short int is_nullable
;
4929 val
* var_item
/* var item: nullable Object */;
4930 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4931 val
* var3
/* : Array[Couple[Object, nullable Object]] */;
4932 val
* var4
/* : Iterator[nullable Object] */;
4933 short int var5
/* : Bool */;
4934 val
* var6
/* : nullable Object */;
4935 val
* var_i
/* var i: Couple[Object, nullable Object] */;
4936 val
* var7
/* : nullable Object */;
4937 short int var8
/* : Bool */;
4938 short int var9
/* : Bool */;
4939 short int var10
/* : Bool */;
4940 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
4941 /* <p0:nullable Object> isa Collection#0 */
4942 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4943 cltype
= type_struct
->color
;
4944 idtype
= type_struct
->id
;
4945 is_nullable
= type_struct
->is_nullable
;
4949 if(cltype
>= p0
->type
->table_size
) {
4952 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4956 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 634);
4960 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4961 var3
= var2
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var2:ArrayMap[Object, nullable Object]> */
4963 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 637);
4966 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:Array[Couple[Object, nullable Object]]>*/;
4968 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
4970 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
4972 var7
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var_i
) /* second on <var_i:Couple[Object, nullable Object]>*/;
4974 var8
= (var_item
!= NULL
);
4976 var8
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var7
, var_item
) /* != on <var7:nullable Object>*/;
4984 CONTINUE_label
: (void)0;
4985 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
4987 BREAK_label
: (void)0;
4994 /* method array#ArrayMapValues#has_only for (self: Object, nullable Object): Bool */
4995 short int VIRTUAL_array__ArrayMapValues__has_only(val
* self
, val
* p0
) {
4996 short int var
/* : Bool */;
4997 short int var1
/* : Bool */;
4998 var1
= array__ArrayMapValues__has_only(self
, p0
);
5003 /* method array#ArrayMapValues#count for (self: ArrayMapValues[Object, nullable Object], nullable Object): Int */
5004 long array__ArrayMapValues__count(val
* self
, val
* p0
) {
5005 long var
/* : Int */;
5006 short int var1
/* : Bool */;
5009 const struct type
* type_struct
;
5010 short int is_nullable
;
5011 val
* var_item
/* var item: nullable Object */;
5012 long var2
/* : Int */;
5013 long var_nb
/* var nb: Int */;
5014 val
* var3
/* : ArrayMap[Object, nullable Object] */;
5015 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
5016 val
* var5
/* : Iterator[nullable Object] */;
5017 short int var6
/* : Bool */;
5018 val
* var7
/* : nullable Object */;
5019 val
* var_i
/* var i: Couple[Object, nullable Object] */;
5020 val
* var8
/* : nullable Object */;
5021 short int var9
/* : Bool */;
5022 long var10
/* : Int */;
5023 long var11
/* : Int */;
5024 long var13
/* : Int */;
5025 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
5026 /* <p0:nullable Object> isa Collection#0 */
5027 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
5028 cltype
= type_struct
->color
;
5029 idtype
= type_struct
->id
;
5030 is_nullable
= type_struct
->is_nullable
;
5034 if(cltype
>= p0
->type
->table_size
) {
5037 var1
= p0
->type
->type_table
[cltype
] == idtype
;
5041 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 641);
5047 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
5048 var4
= var3
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var3:ArrayMap[Object, nullable Object]> */
5050 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 645);
5053 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:Array[Couple[Object, nullable Object]]>*/;
5055 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
5057 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
5059 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var_i
) /* second on <var_i:Couple[Object, nullable Object]>*/;
5061 var9
= (var_item
== NULL
);
5063 var9
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var8
, var_item
) /* == on <var8:nullable Object>*/;
5067 { /* Inline kernel#Int#+ (var_nb,var10) */
5068 var13
= var_nb
+ var10
;
5071 RET_LABEL12
:(void)0;
5076 CONTINUE_label
: (void)0;
5077 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
5079 BREAK_label
: (void)0;
5085 /* method array#ArrayMapValues#count for (self: Object, nullable Object): Int */
5086 long VIRTUAL_array__ArrayMapValues__count(val
* self
, val
* p0
) {
5087 long var
/* : Int */;
5088 long var1
/* : Int */;
5089 var1
= array__ArrayMapValues__count(self
, p0
);
5094 /* method array#ArrayMapValues#clear for (self: ArrayMapValues[Object, nullable Object]) */
5095 void array__ArrayMapValues__clear(val
* self
) {
5096 val
* var
/* : ArrayMap[Object, nullable Object] */;
5097 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
5098 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Map__clear
]))(var
) /* clear on <var:ArrayMap[Object, nullable Object]>*/;
5101 /* method array#ArrayMapValues#clear for (self: Object) */
5102 void VIRTUAL_array__ArrayMapValues__clear(val
* self
) {
5103 array__ArrayMapValues__clear(self
);
5106 /* method array#ArrayMapValues#remove for (self: ArrayMapValues[Object, nullable Object], nullable Object) */
5107 void array__ArrayMapValues__remove(val
* self
, val
* p0
) {
5108 short int var
/* : Bool */;
5111 const struct type
* type_struct
;
5112 short int is_nullable
;
5113 val
* var_item
/* var item: nullable Object */;
5114 val
* var1
/* : ArrayMap[Object, nullable Object] */;
5115 val
* var_map
/* var map: ArrayMap[Object, nullable Object] */;
5116 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
5117 long var3
/* : Int */;
5118 long var4
/* : Int */;
5119 long var5
/* : Int */;
5120 long var7
/* : Int */;
5121 long var_i
/* var i: Int */;
5122 long var8
/* : Int */;
5123 short int var9
/* : Bool */;
5124 short int var11
/* : Bool */;
5127 short int var14
/* : Bool */;
5128 val
* var15
/* : Array[Couple[Object, nullable Object]] */;
5129 val
* var16
/* : nullable Object */;
5130 val
* var17
/* : nullable Object */;
5131 short int var18
/* : Bool */;
5132 long var19
/* : Int */;
5133 long var20
/* : Int */;
5134 long var22
/* : Int */;
5135 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
5136 /* <p0:nullable Object> isa RemovableCollection#0 */
5137 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
5138 cltype
= type_struct
->color
;
5139 idtype
= type_struct
->id
;
5140 is_nullable
= type_struct
->is_nullable
;
5144 if(cltype
>= p0
->type
->table_size
) {
5147 var
= p0
->type
->type_table
[cltype
] == idtype
;
5151 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 651);
5155 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
5157 var2
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
5159 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 654);
5162 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var2
) /* length on <var2:Array[Couple[Object, nullable Object]]>*/;
5164 { /* Inline kernel#Int#- (var3,var4) */
5173 { /* Inline kernel#Int#>= (var_i,var8) */
5174 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
5175 /* <var8:Int> isa OTHER */
5176 var11
= 1; /* easy <var8:Int> isa OTHER*/
5178 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
5181 var14
= var_i
>= var8
;
5184 RET_LABEL10
:(void)0;
5187 var15
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
5188 if (var15
== NULL
) {
5189 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 656);
5192 var16
= ((val
* (*)(val
*, long))(var15
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var15
, var_i
) /* [] on <var15:Array[Couple[Object, nullable Object]]>*/;
5193 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var16
) /* second on <var16:nullable Object(Couple[Object, nullable Object])>*/;
5194 if (var17
== NULL
) {
5195 var18
= (var_item
== NULL
);
5197 var18
= ((short int (*)(val
*, val
*))(var17
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var17
, var_item
) /* == on <var17:nullable Object>*/;
5200 ((void (*)(val
*, long))(var_map
->class->vft
[COLOR_array__ArrayMap__remove_at_index
]))(var_map
, var_i
) /* remove_at_index on <var_map:ArrayMap[Object, nullable Object]>*/;
5205 { /* Inline kernel#Int#- (var_i,var19) */
5206 var22
= var_i
- var19
;
5209 RET_LABEL21
:(void)0;
5212 CONTINUE_label
: (void)0;
5214 BREAK_label
: (void)0;
5217 /* method array#ArrayMapValues#remove for (self: Object, nullable Object) */
5218 void VIRTUAL_array__ArrayMapValues__remove(val
* self
, val
* p0
) {
5219 array__ArrayMapValues__remove(self
, p0
);
5222 /* method array#ArrayMapValues#remove_all for (self: ArrayMapValues[Object, nullable Object], nullable Object) */
5223 void array__ArrayMapValues__remove_all(val
* self
, val
* p0
) {
5224 short int var
/* : Bool */;
5227 const struct type
* type_struct
;
5228 short int is_nullable
;
5229 val
* var_item
/* var item: nullable Object */;
5230 val
* var1
/* : ArrayMap[Object, nullable Object] */;
5231 val
* var_map
/* var map: ArrayMap[Object, nullable Object] */;
5232 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
5233 long var3
/* : Int */;
5234 long var4
/* : Int */;
5235 long var5
/* : Int */;
5236 long var7
/* : Int */;
5237 long var_i
/* var i: Int */;
5238 long var8
/* : Int */;
5239 short int var9
/* : Bool */;
5240 short int var11
/* : Bool */;
5243 short int var14
/* : Bool */;
5244 val
* var15
/* : Array[Couple[Object, nullable Object]] */;
5245 val
* var16
/* : nullable Object */;
5246 val
* var17
/* : nullable Object */;
5247 short int var18
/* : Bool */;
5248 long var19
/* : Int */;
5249 long var20
/* : Int */;
5250 long var22
/* : Int */;
5251 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
5252 /* <p0:nullable Object> isa RemovableCollection#0 */
5253 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
5254 cltype
= type_struct
->color
;
5255 idtype
= type_struct
->id
;
5256 is_nullable
= type_struct
->is_nullable
;
5260 if(cltype
>= p0
->type
->table_size
) {
5263 var
= p0
->type
->type_table
[cltype
] == idtype
;
5267 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 664);
5271 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
5273 var2
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
5275 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 667);
5278 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var2
) /* length on <var2:Array[Couple[Object, nullable Object]]>*/;
5280 { /* Inline kernel#Int#- (var3,var4) */
5289 { /* Inline kernel#Int#>= (var_i,var8) */
5290 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
5291 /* <var8:Int> isa OTHER */
5292 var11
= 1; /* easy <var8:Int> isa OTHER*/
5294 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
5297 var14
= var_i
>= var8
;
5300 RET_LABEL10
:(void)0;
5303 var15
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
5304 if (var15
== NULL
) {
5305 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _items", "lib/standard/collection/array.nit", 669);
5308 var16
= ((val
* (*)(val
*, long))(var15
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var15
, var_i
) /* [] on <var15:Array[Couple[Object, nullable Object]]>*/;
5309 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var16
) /* second on <var16:nullable Object(Couple[Object, nullable Object])>*/;
5310 if (var17
== NULL
) {
5311 var18
= (var_item
== NULL
);
5313 var18
= ((short int (*)(val
*, val
*))(var17
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var17
, var_item
) /* == on <var17:nullable Object>*/;
5316 ((void (*)(val
*, long))(var_map
->class->vft
[COLOR_array__ArrayMap__remove_at_index
]))(var_map
, var_i
) /* remove_at_index on <var_map:ArrayMap[Object, nullable Object]>*/;
5320 { /* Inline kernel#Int#- (var_i,var19) */
5321 var22
= var_i
- var19
;
5324 RET_LABEL21
:(void)0;
5327 CONTINUE_label
: (void)0;
5329 BREAK_label
: (void)0;
5332 /* method array#ArrayMapValues#remove_all for (self: Object, nullable Object) */
5333 void VIRTUAL_array__ArrayMapValues__remove_all(val
* self
, val
* p0
) {
5334 array__ArrayMapValues__remove_all(self
, p0
);
5337 /* method array#ArrayMapValues#init for (self: ArrayMapValues[Object, nullable Object], ArrayMap[Object, nullable Object]) */
5338 void array__ArrayMapValues__init(val
* self
, val
* p0
) {
5339 short int var
/* : Bool */;
5342 const struct type
* type_struct
;
5343 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
5344 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
5345 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapValues_FT0array__ArrayMapValues_FT1
];
5346 cltype
= type_struct
->color
;
5347 idtype
= type_struct
->id
;
5348 if(cltype
>= p0
->type
->table_size
) {
5351 var
= p0
->type
->type_table
[cltype
] == idtype
;
5354 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 618);
5357 self
->attrs
[COLOR_array__ArrayMapValues___64dmap
].val
= p0
; /* @map on <self:ArrayMapValues[Object, nullable Object]> */
5360 /* method array#ArrayMapValues#init for (self: Object, ArrayMap[Object, nullable Object]) */
5361 void VIRTUAL_array__ArrayMapValues__init(val
* self
, val
* p0
) {
5362 array__ArrayMapValues__init(self
, p0
);
5365 /* method array#Iterator#to_a for (self: Iterator[nullable Object]): Array[nullable Object] */
5366 val
* array__Iterator__to_a(val
* self
) {
5367 val
* var
/* : Array[nullable Object] */;
5368 val
* var1
/* : Array[nullable Object] */;
5369 val
* var_res
/* var res: Array[nullable Object] */;
5370 short int var2
/* : Bool */;
5371 val
* var3
/* : nullable Object */;
5372 var1
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayabstract_collection__Iterator_FT0
]);
5373 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[nullable Object]>*/;
5374 CHECK_NEW_array__Array(var1
);
5377 var2
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(self
) /* is_ok on <self:Iterator[nullable Object]>*/;
5379 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(self
) /* item on <self:Iterator[nullable Object]>*/;
5380 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var3
) /* add on <var_res:Array[nullable Object]>*/;
5381 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(self
) /* next on <self:Iterator[nullable Object]>*/;
5382 CONTINUE_label
: (void)0;
5384 BREAK_label
: (void)0;
5390 /* method array#Iterator#to_a for (self: Object): Array[nullable Object] */
5391 val
* VIRTUAL_array__Iterator__to_a(val
* self
) {
5392 val
* var
/* : Array[nullable Object] */;
5393 val
* var1
/* : Array[nullable Object] */;
5394 var1
= array__Iterator__to_a(self
);
5399 /* method array#Collection#to_a for (self: Collection[nullable Object]): Array[nullable Object] */
5400 val
* array__Collection__to_a(val
* self
) {
5401 val
* var
/* : Array[nullable Object] */;
5402 val
* var1
/* : Iterator[nullable Object] */;
5403 val
* var2
/* : Array[nullable Object] */;
5404 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
5405 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_array__Iterator__to_a
]))(var1
) /* to_a on <var1:Iterator[nullable Object]>*/;
5411 /* method array#Collection#to_a for (self: Object): Array[nullable Object] */
5412 val
* VIRTUAL_array__Collection__to_a(val
* self
) {
5413 val
* var
/* : Array[nullable Object] */;
5414 val
* var1
/* : Array[nullable Object] */;
5415 var1
= array__Collection__to_a(self
);
5420 /* method array#ArrayCapable#calloc_array for (self: ArrayCapable[nullable Object], Int): NativeArray[nullable Object] */
5421 val
* array__ArrayCapable__calloc_array(val
* self
, long p0
) {
5422 val
* var
/* : NativeArray[nullable Object] */;
5423 val
* var1
/* : NativeArray[nullable Object] */;
5424 var1
= NEW_array__NativeArray(p0
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
5430 /* method array#ArrayCapable#calloc_array for (self: Object, Int): NativeArray[nullable Object] */
5431 val
* VIRTUAL_array__ArrayCapable__calloc_array(val
* self
, long p0
) {
5432 val
* var
/* : NativeArray[nullable Object] */;
5433 val
* var1
/* : NativeArray[nullable Object] */;
5434 val
* var3
/* : NativeArray[nullable Object] */;
5435 { /* Inline array#ArrayCapable#calloc_array (self,p0) */
5436 var3
= NEW_array__NativeArray(p0
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
5445 /* method array#NativeArray#[] for (self: NativeArray[nullable Object], Int): nullable Object */
5446 val
* array__NativeArray___91d_93d(val
* self
, long p0
) {
5447 val
* var
/* : nullable Object */;
5448 val
* var1
/* : nullable Object */;
5449 var1
= ((struct instance_array__NativeArray
*)self
)->values
[p0
];
5455 /* method array#NativeArray#[] for (self: Object, Int): nullable Object */
5456 val
* VIRTUAL_array__NativeArray___91d_93d(val
* self
, long p0
) {
5457 val
* var
/* : nullable Object */;
5458 val
* var1
/* : nullable Object */;
5459 val
* var3
/* : nullable Object */;
5460 { /* Inline array#NativeArray#[] (self,p0) */
5461 var3
= ((struct instance_array__NativeArray
*)self
)->values
[p0
];
5470 /* method array#NativeArray#[]= for (self: NativeArray[nullable Object], Int, nullable Object) */
5471 void array__NativeArray___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
5472 short int var
/* : Bool */;
5475 const struct type
* type_struct
;
5476 short int is_nullable
;
5477 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa NativeArray#0 */
5478 /* <p1:nullable Object> isa NativeArray#0 */
5479 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
5480 cltype
= type_struct
->color
;
5481 idtype
= type_struct
->id
;
5482 is_nullable
= type_struct
->is_nullable
;
5486 if(cltype
>= p1
->type
->table_size
) {
5489 var
= p1
->type
->type_table
[cltype
] == idtype
;
5493 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 712);
5496 ((struct instance_array__NativeArray
*)self
)->values
[p0
]=p1
;
5499 /* method array#NativeArray#[]= for (self: Object, Int, nullable Object) */
5500 void VIRTUAL_array__NativeArray___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
5501 short int var
/* : Bool */;
5504 const struct type
* type_struct
;
5505 short int is_nullable
;
5506 { /* Inline array#NativeArray#[]= (self,p0,p1) */
5507 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa NativeArray#0 */
5508 /* <p1:nullable Object> isa NativeArray#0 */
5509 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
5510 cltype
= type_struct
->color
;
5511 idtype
= type_struct
->id
;
5512 is_nullable
= type_struct
->is_nullable
;
5516 if(cltype
>= p1
->type
->table_size
) {
5519 var
= p1
->type
->type_table
[cltype
] == idtype
;
5523 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 712);
5526 ((struct instance_array__NativeArray
*)self
)->values
[p0
]=p1
;
5531 /* method array#NativeArray#copy_to for (self: NativeArray[nullable Object], NativeArray[nullable Object], Int) */
5532 void array__NativeArray__copy_to(val
* self
, val
* p0
, long p1
) {
5533 short int var
/* : Bool */;
5536 const struct type
* type_struct
;
5537 /* Covariant cast for argument 0 (dest) <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5538 /* <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5539 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
5540 cltype
= type_struct
->color
;
5541 idtype
= type_struct
->id
;
5542 if(cltype
>= p0
->type
->table_size
) {
5545 var
= p0
->type
->type_table
[cltype
] == idtype
;
5548 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 713);
5551 memcpy(((struct instance_array__NativeArray
*)p0
)->values
, ((struct instance_array__NativeArray
*)self
)->values
, p1
*sizeof(val
*));
5554 /* method array#NativeArray#copy_to for (self: Object, NativeArray[nullable Object], Int) */
5555 void VIRTUAL_array__NativeArray__copy_to(val
* self
, val
* p0
, long p1
) {
5556 short int var
/* : Bool */;
5559 const struct type
* type_struct
;
5560 { /* Inline array#NativeArray#copy_to (self,p0,p1) */
5561 /* Covariant cast for argument 0 (dest) <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5562 /* <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5563 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
5564 cltype
= type_struct
->color
;
5565 idtype
= type_struct
->id
;
5566 if(cltype
>= p0
->type
->table_size
) {
5569 var
= p0
->type
->type_table
[cltype
] == idtype
;
5572 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/collection/array.nit", 713);
5575 memcpy(((struct instance_array__NativeArray
*)p0
)->values
, ((struct instance_array__NativeArray
*)self
)->values
, p1
*sizeof(val
*));