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]> */
12 /* method array#AbstractArrayRead#length for (self: Object): Int */
13 long VIRTUAL_array__AbstractArrayRead__length(val
* self
) {
15 long var1
/* : Int */;
16 var1
= array__AbstractArrayRead__length(self
);
21 /* method array#AbstractArrayRead#is_empty for (self: AbstractArrayRead[nullable Object]): Bool */
22 short int array__AbstractArrayRead__is_empty(val
* self
) {
23 short int var
/* : Bool */;
24 long var1
/* : Int */;
25 long var2
/* : Int */;
26 short int var3
/* : Bool */;
27 short int var4
/* : Bool */;
28 short int var6
/* : Bool */;
29 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
32 { /* Inline kernel#Int#== (var1,var2) on <var1:Int> */
45 /* method array#AbstractArrayRead#is_empty for (self: Object): Bool */
46 short int VIRTUAL_array__AbstractArrayRead__is_empty(val
* self
) {
47 short int var
/* : Bool */;
48 short int var1
/* : Bool */;
49 var1
= array__AbstractArrayRead__is_empty(self
);
54 /* method array#AbstractArrayRead#has for (self: AbstractArrayRead[nullable Object], nullable Object): Bool */
55 short int array__AbstractArrayRead__has(val
* self
, val
* p0
) {
56 short int var
/* : Bool */;
57 short int var1
/* : Bool */;
60 const struct type
* type_struct
;
61 short int is_nullable
;
62 const char* var_class_name
;
63 val
* var_item
/* var item: nullable Object */;
64 long var2
/* : Int */;
65 long var_i
/* var i: Int */;
66 long var3
/* : Int */;
67 long var_l
/* var l: Int */;
68 short int var4
/* : Bool */;
69 short int var6
/* : Bool */;
72 const char* var_class_name9
;
73 short int var10
/* : Bool */;
74 val
* var11
/* : nullable Object */;
75 short int var12
/* : Bool */;
76 short int var13
/* : Bool */;
77 short int var14
/* : Bool */;
78 long var15
/* : Int */;
79 long var16
/* : Int */;
80 short int var18
/* : Bool */;
83 const char* var_class_name21
;
84 long var22
/* : Int */;
85 short int var23
/* : Bool */;
86 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
87 /* <p0:nullable Object> isa Collection#0 */
88 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
89 cltype
= type_struct
->color
;
90 idtype
= type_struct
->id
;
91 is_nullable
= type_struct
->is_nullable
;
95 if(cltype
>= p0
->type
->table_size
) {
98 var1
= p0
->type
->type_table
[cltype
] == idtype
;
101 if (unlikely(!var1
)) {
102 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
103 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
104 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 29);
111 var3
= array__AbstractArrayRead__length(self
);
116 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
117 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
118 /* <var_l:Int> isa OTHER */
119 var6
= 1; /* easy <var_l:Int> isa OTHER*/
120 if (unlikely(!var6
)) {
121 var_class_name9
= type_kernel__Int
.name
;
122 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
123 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
126 var10
= var_i
< var_l
;
134 var11
= array__Array___91d_93d(self
, var_i
);
137 var12
= (var_item
== NULL
);
139 var13
= ((short int (*)(val
*, val
*))(var11
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var11
, var_item
) /* == on <var11:nullable Object>*/;
150 { /* Inline kernel#Int#+ (var_i,var15) on <var_i:Int> */
151 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
152 /* <var15:Int> isa OTHER */
153 var18
= 1; /* easy <var15:Int> isa OTHER*/
154 if (unlikely(!var18
)) {
155 var_class_name21
= type_kernel__Int
.name
;
156 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
157 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
160 var22
= var_i
+ var15
;
167 CONTINUE_label
: (void)0;
169 BREAK_label
: (void)0;
176 /* method array#AbstractArrayRead#has for (self: Object, nullable Object): Bool */
177 short int VIRTUAL_array__AbstractArrayRead__has(val
* self
, val
* p0
) {
178 short int var
/* : Bool */;
179 short int var1
/* : Bool */;
180 var1
= array__AbstractArrayRead__has(self
, p0
);
185 /* method array#AbstractArrayRead#index_of for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
186 long array__AbstractArrayRead__index_of(val
* self
, val
* p0
) {
187 long var
/* : Int */;
188 short int var1
/* : Bool */;
191 const struct type
* type_struct
;
192 short int is_nullable
;
193 const char* var_class_name
;
194 val
* var_item
/* var item: nullable Object */;
195 long var2
/* : Int */;
196 long var3
/* : Int */;
197 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa SequenceRead#0 */
198 /* <p0:nullable Object> isa SequenceRead#0 */
199 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SequenceRead_FT0
];
200 cltype
= type_struct
->color
;
201 idtype
= type_struct
->id
;
202 is_nullable
= type_struct
->is_nullable
;
206 if(cltype
>= p0
->type
->table_size
) {
209 var1
= p0
->type
->type_table
[cltype
] == idtype
;
212 if (unlikely(!var1
)) {
213 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
214 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SequenceRead#0", var_class_name
);
215 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 63);
221 var3
= array__AbstractArrayRead__index_of_from(self
, var_item
, var2
);
228 /* method array#AbstractArrayRead#index_of for (self: Object, nullable Object): Int */
229 long VIRTUAL_array__AbstractArrayRead__index_of(val
* self
, val
* p0
) {
230 long var
/* : Int */;
231 long var1
/* : Int */;
232 var1
= array__AbstractArrayRead__index_of(self
, p0
);
237 /* method array#AbstractArrayRead#last_index_of for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
238 long array__AbstractArrayRead__last_index_of(val
* self
, val
* p0
) {
239 long var
/* : Int */;
240 short int var1
/* : Bool */;
243 const struct type
* type_struct
;
244 short int is_nullable
;
245 const char* var_class_name
;
246 val
* var_item
/* var item: nullable Object */;
247 long var2
/* : Int */;
248 long var3
/* : Int */;
249 long var4
/* : Int */;
250 short int var6
/* : Bool */;
253 const char* var_class_name9
;
254 long var10
/* : Int */;
255 long var11
/* : Int */;
256 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa AbstractArrayRead#0 */
257 /* <p0:nullable Object> isa AbstractArrayRead#0 */
258 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
259 cltype
= type_struct
->color
;
260 idtype
= type_struct
->id
;
261 is_nullable
= type_struct
->is_nullable
;
265 if(cltype
>= p0
->type
->table_size
) {
268 var1
= p0
->type
->type_table
[cltype
] == idtype
;
271 if (unlikely(!var1
)) {
272 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
273 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArrayRead#0", var_class_name
);
274 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 65);
279 var2
= array__AbstractArrayRead__length(self
);
283 { /* Inline kernel#Int#- (var2,var3) on <var2:Int> */
284 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
285 /* <var3:Int> isa OTHER */
286 var6
= 1; /* easy <var3:Int> isa OTHER*/
287 if (unlikely(!var6
)) {
288 var_class_name9
= type_kernel__Int
.name
;
289 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
290 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
300 var11
= array__AbstractArrayRead__last_index_of_from(self
, var_item
, var4
);
307 /* method array#AbstractArrayRead#last_index_of for (self: Object, nullable Object): Int */
308 long VIRTUAL_array__AbstractArrayRead__last_index_of(val
* self
, val
* p0
) {
309 long var
/* : Int */;
310 long var1
/* : Int */;
311 var1
= array__AbstractArrayRead__last_index_of(self
, p0
);
316 /* method array#AbstractArrayRead#index_of_from for (self: AbstractArrayRead[nullable Object], nullable Object, Int): Int */
317 long array__AbstractArrayRead__index_of_from(val
* self
, val
* p0
, long p1
) {
318 long var
/* : Int */;
319 short int var1
/* : Bool */;
322 const struct type
* type_struct
;
323 short int is_nullable
;
324 const char* var_class_name
;
325 val
* var_item
/* var item: nullable Object */;
326 long var_pos
/* var pos: Int */;
327 long var_i
/* var i: Int */;
328 long var2
/* : Int */;
329 long var_len
/* var len: Int */;
330 short int var3
/* : Bool */;
331 short int var5
/* : Bool */;
334 const char* var_class_name8
;
335 short int var9
/* : Bool */;
336 val
* var10
/* : nullable Object */;
337 short int var11
/* : Bool */;
338 short int var12
/* : Bool */;
339 long var13
/* : Int */;
340 long var14
/* : Int */;
341 short int var16
/* : Bool */;
344 const char* var_class_name19
;
345 long var20
/* : Int */;
346 long var21
/* : Int */;
347 long var22
/* : Int */;
348 long var24
/* : Int */;
349 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa AbstractArrayRead#0 */
350 /* <p0:nullable Object> isa AbstractArrayRead#0 */
351 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
352 cltype
= type_struct
->color
;
353 idtype
= type_struct
->id
;
354 is_nullable
= type_struct
->is_nullable
;
358 if(cltype
>= p0
->type
->table_size
) {
361 var1
= p0
->type
->type_table
[cltype
] == idtype
;
364 if (unlikely(!var1
)) {
365 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
366 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArrayRead#0", var_class_name
);
367 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 67);
374 var2
= array__AbstractArrayRead__length(self
);
379 { /* Inline kernel#Int#< (var_i,var_len) on <var_i:Int> */
380 /* Covariant cast for argument 0 (i) <var_len:Int> isa OTHER */
381 /* <var_len:Int> isa OTHER */
382 var5
= 1; /* easy <var_len:Int> isa OTHER*/
383 if (unlikely(!var5
)) {
384 var_class_name8
= type_kernel__Int
.name
;
385 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
386 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
389 var9
= var_i
< var_len
;
397 var10
= array__Array___91d_93d(self
, var_i
);
400 var11
= (var_item
== NULL
);
402 var12
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var_item
) /* == on <var10:nullable Object>*/;
412 { /* Inline kernel#Int#+ (var_i,var13) on <var_i:Int> */
413 /* Covariant cast for argument 0 (i) <var13:Int> isa OTHER */
414 /* <var13:Int> isa OTHER */
415 var16
= 1; /* easy <var13:Int> isa OTHER*/
416 if (unlikely(!var16
)) {
417 var_class_name19
= type_kernel__Int
.name
;
418 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
419 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
422 var20
= var_i
+ var13
;
429 CONTINUE_label
: (void)0;
431 BREAK_label
: (void)0;
434 { /* Inline kernel#Int#unary - (var21) on <var21:Int> */
446 /* method array#AbstractArrayRead#index_of_from for (self: Object, nullable Object, Int): Int */
447 long VIRTUAL_array__AbstractArrayRead__index_of_from(val
* self
, val
* p0
, long p1
) {
448 long var
/* : Int */;
449 long var1
/* : Int */;
450 var1
= array__AbstractArrayRead__index_of_from(self
, p0
, p1
);
455 /* method array#AbstractArrayRead#last_index_of_from for (self: AbstractArrayRead[nullable Object], nullable Object, Int): Int */
456 long array__AbstractArrayRead__last_index_of_from(val
* self
, val
* p0
, long p1
) {
457 long var
/* : Int */;
458 short int var1
/* : Bool */;
461 const struct type
* type_struct
;
462 short int is_nullable
;
463 const char* var_class_name
;
464 val
* var_item
/* var item: nullable Object */;
465 long var_pos
/* var pos: Int */;
466 long var_i
/* var i: Int */;
467 long var2
/* : Int */;
468 short int var3
/* : Bool */;
469 short int var5
/* : Bool */;
472 const char* var_class_name8
;
473 short int var9
/* : Bool */;
474 val
* var10
/* : nullable Object */;
475 short int var11
/* : Bool */;
476 short int var12
/* : Bool */;
477 long var13
/* : Int */;
478 long var14
/* : Int */;
479 short int var16
/* : Bool */;
482 const char* var_class_name19
;
483 long var20
/* : Int */;
484 long var21
/* : Int */;
485 long var22
/* : Int */;
486 long var24
/* : Int */;
487 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa AbstractArrayRead#0 */
488 /* <p0:nullable Object> isa AbstractArrayRead#0 */
489 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
490 cltype
= type_struct
->color
;
491 idtype
= type_struct
->id
;
492 is_nullable
= type_struct
->is_nullable
;
496 if(cltype
>= p0
->type
->table_size
) {
499 var1
= p0
->type
->type_table
[cltype
] == idtype
;
502 if (unlikely(!var1
)) {
503 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
504 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArrayRead#0", var_class_name
);
505 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 80);
514 { /* Inline kernel#Int#>= (var_i,var2) on <var_i:Int> */
515 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
516 /* <var2:Int> isa OTHER */
517 var5
= 1; /* easy <var2:Int> isa OTHER*/
518 if (unlikely(!var5
)) {
519 var_class_name8
= type_kernel__Int
.name
;
520 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
521 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
524 var9
= var_i
>= var2
;
532 var10
= array__Array___91d_93d(self
, var_i
);
535 var11
= (var_item
== NULL
);
537 var12
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var_item
) /* == on <var10:nullable Object>*/;
546 { /* Inline kernel#Int#- (var_i,var13) on <var_i:Int> */
547 /* Covariant cast for argument 0 (i) <var13:Int> isa OTHER */
548 /* <var13:Int> isa OTHER */
549 var16
= 1; /* easy <var13:Int> isa OTHER*/
550 if (unlikely(!var16
)) {
551 var_class_name19
= type_kernel__Int
.name
;
552 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
553 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
556 var20
= var_i
- var13
;
564 CONTINUE_label
: (void)0;
566 BREAK_label
: (void)0;
569 { /* Inline kernel#Int#unary - (var21) on <var21:Int> */
581 /* method array#AbstractArrayRead#last_index_of_from for (self: Object, nullable Object, Int): Int */
582 long VIRTUAL_array__AbstractArrayRead__last_index_of_from(val
* self
, val
* p0
, long p1
) {
583 long var
/* : Int */;
584 long var1
/* : Int */;
585 var1
= array__AbstractArrayRead__last_index_of_from(self
, p0
, p1
);
590 /* method array#AbstractArrayRead#reversed for (self: AbstractArrayRead[nullable Object]): Array[nullable Object] */
591 val
* array__AbstractArrayRead__reversed(val
* self
) {
592 val
* var
/* : Array[nullable Object] */;
593 long var1
/* : Int */;
594 long var_cmp
/* var cmp: Int */;
595 val
* var2
/* : Array[nullable Object] */;
596 val
* var_result
/* var result: Array[nullable Object] */;
597 long var3
/* : Int */;
598 short int var4
/* : Bool */;
599 short int var6
/* : Bool */;
602 const char* var_class_name
;
603 short int var7
/* : Bool */;
604 long var8
/* : Int */;
605 long var9
/* : Int */;
606 short int var11
/* : Bool */;
609 const char* var_class_name14
;
610 long var15
/* : Int */;
611 val
* var16
/* : nullable Object */;
612 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
614 var2
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__AbstractArrayRead_FT0
]);
616 array__Array__with_capacity(var2
, var_cmp
); /* Direct call array#Array#with_capacity on <var2:Array[nullable Object]>*/
622 { /* Inline kernel#Int#> (var_cmp,var3) on <var_cmp:Int> */
623 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
624 /* <var3:Int> isa OTHER */
625 var6
= 1; /* easy <var3:Int> isa OTHER*/
626 if (unlikely(!var6
)) {
627 var_class_name
= type_kernel__Int
.name
;
628 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
629 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
632 var7
= var_cmp
> var3
;
641 { /* Inline kernel#Int#- (var_cmp,var8) on <var_cmp:Int> */
642 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
643 /* <var8:Int> isa OTHER */
644 var11
= 1; /* easy <var8:Int> isa OTHER*/
645 if (unlikely(!var11
)) {
646 var_class_name14
= type_kernel__Int
.name
;
647 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
648 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
651 var15
= var_cmp
- var8
;
659 var16
= array__Array___91d_93d(self
, var_cmp
);
662 array__Array__add(var_result
, var16
); /* Direct call array#Array#add on <var_result:Array[nullable Object]>*/
664 CONTINUE_label
: (void)0;
666 BREAK_label
: (void)0;
672 /* method array#AbstractArrayRead#reversed for (self: Object): Array[nullable Object] */
673 val
* VIRTUAL_array__AbstractArrayRead__reversed(val
* self
) {
674 val
* var
/* : Array[nullable Object] */;
675 val
* var1
/* : Array[nullable Object] */;
676 var1
= array__AbstractArrayRead__reversed(self
);
681 /* method array#AbstractArrayRead#iterator for (self: AbstractArrayRead[nullable Object]): ArrayIterator[nullable Object] */
682 val
* array__AbstractArrayRead__iterator(val
* self
) {
683 val
* var
/* : ArrayIterator[nullable Object] */;
684 val
* var1
/* : ArrayIterator[nullable Object] */;
685 var1
= NEW_array__ArrayIterator(self
->type
->resolution_table
->types
[COLOR_array__ArrayIteratorarray__AbstractArrayRead_FT0
]);
687 array__ArrayIterator__init(var1
, self
); /* Direct call array#ArrayIterator#init on <var1:ArrayIterator[nullable Object]>*/
694 /* method array#AbstractArrayRead#iterator for (self: Object): Iterator[nullable Object] */
695 val
* VIRTUAL_array__AbstractArrayRead__iterator(val
* self
) {
696 val
* var
/* : Iterator[nullable Object] */;
697 val
* var1
/* : ArrayIterator[nullable Object] */;
698 var1
= array__AbstractArrayRead__iterator(self
);
703 /* method array#AbstractArrayRead#init for (self: AbstractArrayRead[nullable Object]) */
704 void array__AbstractArrayRead__init(val
* self
) {
707 /* method array#AbstractArrayRead#init for (self: Object) */
708 void VIRTUAL_array__AbstractArrayRead__init(val
* self
) {
709 { /* Inline array#AbstractArrayRead#init (self) on <self:Object(AbstractArrayRead[nullable Object])> */
714 /* method array#AbstractArray#push for (self: AbstractArray[nullable Object], nullable Object) */
715 void array__AbstractArray__push(val
* self
, val
* p0
) {
716 short int var
/* : Bool */;
719 const struct type
* type_struct
;
720 short int is_nullable
;
721 const char* var_class_name
;
722 val
* var_item
/* var item: nullable Object */;
723 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Sequence#0 */
724 /* <p0:nullable Object> isa Sequence#0 */
725 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
726 cltype
= type_struct
->color
;
727 idtype
= type_struct
->id
;
728 is_nullable
= type_struct
->is_nullable
;
732 if(cltype
>= p0
->type
->table_size
) {
735 var
= p0
->type
->type_table
[cltype
] == idtype
;
738 if (unlikely(!var
)) {
739 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
740 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
741 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 148);
746 array__Array__add(self
, var_item
); /* Direct call array#Array#add on <self:AbstractArray[nullable Object]>*/
750 /* method array#AbstractArray#push for (self: Object, nullable Object) */
751 void VIRTUAL_array__AbstractArray__push(val
* self
, val
* p0
) {
752 array__AbstractArray__push(self
, p0
); /* Direct call array#AbstractArray#push on <self:Object(AbstractArray[nullable Object])>*/
755 /* method array#AbstractArray#pop for (self: AbstractArray[nullable Object]): nullable Object */
756 val
* array__AbstractArray__pop(val
* self
) {
757 val
* var
/* : nullable Object */;
758 short int var1
/* : Bool */;
759 short int var2
/* : Bool */;
760 val
* var3
/* : nullable Object */;
761 val
* var_r
/* var r: nullable Object */;
762 val
* var_
/* var : AbstractArray[nullable Object] */;
763 long var4
/* : Int */;
764 long var5
/* : Int */;
765 long var6
/* : Int */;
766 short int var8
/* : Bool */;
769 const char* var_class_name
;
770 long var9
/* : Int */;
772 var1
= array__AbstractArrayRead__is_empty(self
);
775 if (unlikely(!var2
)) {
776 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
777 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 152);
781 var3
= abstract_collection__SequenceRead__last(self
);
785 var4
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:AbstractArray[nullable Object]> */
788 { /* Inline kernel#Int#- (var4,var5) on <var4:Int> */
789 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
790 /* <var5:Int> isa OTHER */
791 var8
= 1; /* easy <var5:Int> isa OTHER*/
792 if (unlikely(!var8
)) {
793 var_class_name
= type_kernel__Int
.name
;
794 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
795 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
804 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var6
; /* _length on <var_:AbstractArray[nullable Object]> */
810 /* method array#AbstractArray#pop for (self: Object): nullable Object */
811 val
* VIRTUAL_array__AbstractArray__pop(val
* self
) {
812 val
* var
/* : nullable Object */;
813 val
* var1
/* : nullable Object */;
814 var1
= array__AbstractArray__pop(self
);
819 /* method array#AbstractArray#shift for (self: AbstractArray[nullable Object]): nullable Object */
820 val
* array__AbstractArray__shift(val
* self
) {
821 val
* var
/* : nullable Object */;
822 short int var1
/* : Bool */;
823 short int var2
/* : Bool */;
824 val
* var3
/* : nullable Object */;
825 val
* var_r
/* var r: nullable Object */;
826 long var4
/* : Int */;
827 long var_i
/* var i: Int */;
828 long var5
/* : Int */;
829 long var_l
/* var l: Int */;
830 short int var6
/* : Bool */;
831 short int var8
/* : Bool */;
834 const char* var_class_name
;
835 short int var9
/* : Bool */;
836 long var10
/* : Int */;
837 long var11
/* : Int */;
838 short int var13
/* : Bool */;
841 const char* var_class_name16
;
842 long var17
/* : Int */;
843 val
* var18
/* : nullable Object */;
844 long var19
/* : Int */;
845 long var20
/* : Int */;
846 short int var22
/* : Bool */;
849 const char* var_class_name25
;
850 long var26
/* : Int */;
851 long var27
/* : Int */;
852 long var28
/* : Int */;
853 short int var30
/* : Bool */;
856 const char* var_class_name33
;
857 long var34
/* : Int */;
859 var1
= array__AbstractArrayRead__is_empty(self
);
862 if (unlikely(!var2
)) {
863 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
864 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 160);
868 var3
= abstract_collection__SequenceRead__first(self
);
874 var5
= array__AbstractArrayRead__length(self
);
879 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
880 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
881 /* <var_l:Int> isa OTHER */
882 var8
= 1; /* easy <var_l:Int> isa OTHER*/
883 if (unlikely(!var8
)) {
884 var_class_name
= type_kernel__Int
.name
;
885 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
886 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
889 var9
= var_i
< var_l
;
898 { /* Inline kernel#Int#- (var_i,var10) on <var_i:Int> */
899 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
900 /* <var10:Int> isa OTHER */
901 var13
= 1; /* easy <var10:Int> isa OTHER*/
902 if (unlikely(!var13
)) {
903 var_class_name16
= type_kernel__Int
.name
;
904 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
905 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
908 var17
= var_i
- var10
;
915 var18
= array__Array___91d_93d(self
, var_i
);
918 array__Array___91d_93d_61d(self
, var11
, var18
); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
922 { /* Inline kernel#Int#+ (var_i,var19) on <var_i:Int> */
923 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
924 /* <var19:Int> isa OTHER */
925 var22
= 1; /* easy <var19:Int> isa OTHER*/
926 if (unlikely(!var22
)) {
927 var_class_name25
= type_kernel__Int
.name
;
928 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
929 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
932 var26
= var_i
+ var19
;
939 CONTINUE_label
: (void)0;
941 BREAK_label
: (void)0;
944 { /* Inline kernel#Int#- (var_l,var27) on <var_l:Int> */
945 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
946 /* <var27:Int> isa OTHER */
947 var30
= 1; /* easy <var27:Int> isa OTHER*/
948 if (unlikely(!var30
)) {
949 var_class_name33
= type_kernel__Int
.name
;
950 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
951 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
954 var34
= var_l
- var27
;
960 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var28
; /* _length on <self:AbstractArray[nullable Object]> */
966 /* method array#AbstractArray#shift for (self: Object): nullable Object */
967 val
* VIRTUAL_array__AbstractArray__shift(val
* self
) {
968 val
* var
/* : nullable Object */;
969 val
* var1
/* : nullable Object */;
970 var1
= array__AbstractArray__shift(self
);
975 /* method array#AbstractArray#unshift for (self: AbstractArray[nullable Object], nullable Object) */
976 void array__AbstractArray__unshift(val
* self
, val
* p0
) {
977 short int var
/* : Bool */;
980 const struct type
* type_struct
;
981 short int is_nullable
;
982 const char* var_class_name
;
983 val
* var_item
/* var item: nullable Object */;
984 long var1
/* : Int */;
985 long var2
/* : Int */;
986 long var3
/* : Int */;
987 short int var5
/* : Bool */;
990 const char* var_class_name8
;
991 long var9
/* : Int */;
992 long var_i
/* var i: Int */;
993 long var10
/* : Int */;
994 short int var11
/* : Bool */;
995 short int var13
/* : Bool */;
998 const char* var_class_name16
;
999 short int var17
/* : Bool */;
1000 long var18
/* : Int */;
1001 long var19
/* : Int */;
1002 short int var21
/* : Bool */;
1005 const char* var_class_name24
;
1006 long var25
/* : Int */;
1007 val
* var26
/* : nullable Object */;
1008 long var27
/* : Int */;
1009 long var28
/* : Int */;
1010 short int var30
/* : Bool */;
1013 const char* var_class_name33
;
1014 long var34
/* : Int */;
1015 long var35
/* : Int */;
1016 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Sequence#0 */
1017 /* <p0:nullable Object> isa Sequence#0 */
1018 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
1019 cltype
= type_struct
->color
;
1020 idtype
= type_struct
->id
;
1021 is_nullable
= type_struct
->is_nullable
;
1025 if(cltype
>= p0
->type
->table_size
) {
1028 var
= p0
->type
->type_table
[cltype
] == idtype
;
1031 if (unlikely(!var
)) {
1032 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1033 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
1034 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 172);
1039 var1
= array__AbstractArrayRead__length(self
);
1043 { /* Inline kernel#Int#- (var1,var2) on <var1:Int> */
1044 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1045 /* <var2:Int> isa OTHER */
1046 var5
= 1; /* easy <var2:Int> isa OTHER*/
1047 if (unlikely(!var5
)) {
1048 var_class_name8
= type_kernel__Int
.name
;
1049 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
1050 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
1063 { /* Inline kernel#Int#>= (var_i,var10) on <var_i:Int> */
1064 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
1065 /* <var10:Int> isa OTHER */
1066 var13
= 1; /* easy <var10:Int> isa OTHER*/
1067 if (unlikely(!var13
)) {
1068 var_class_name16
= type_kernel__Int
.name
;
1069 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
1070 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
1073 var17
= var_i
>= var10
;
1076 RET_LABEL12
:(void)0;
1082 { /* Inline kernel#Int#+ (var_i,var18) on <var_i:Int> */
1083 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
1084 /* <var18:Int> isa OTHER */
1085 var21
= 1; /* easy <var18:Int> isa OTHER*/
1086 if (unlikely(!var21
)) {
1087 var_class_name24
= type_kernel__Int
.name
;
1088 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
1089 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1092 var25
= var_i
+ var18
;
1095 RET_LABEL20
:(void)0;
1099 var26
= array__Array___91d_93d(self
, var_i
);
1102 array__Array___91d_93d_61d(self
, var19
, var26
); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1106 { /* Inline kernel#Int#- (var_i,var27) on <var_i:Int> */
1107 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
1108 /* <var27:Int> isa OTHER */
1109 var30
= 1; /* easy <var27:Int> isa OTHER*/
1110 if (unlikely(!var30
)) {
1111 var_class_name33
= type_kernel__Int
.name
;
1112 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
1113 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
1116 var34
= var_i
- var27
;
1119 RET_LABEL29
:(void)0;
1123 CONTINUE_label
: (void)0;
1125 BREAK_label
: (void)0;
1128 array__Array___91d_93d_61d(self
, var35
, var_item
); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1132 /* method array#AbstractArray#unshift for (self: Object, nullable Object) */
1133 void VIRTUAL_array__AbstractArray__unshift(val
* self
, val
* p0
) {
1134 array__AbstractArray__unshift(self
, p0
); /* Direct call array#AbstractArray#unshift on <self:Object(AbstractArray[nullable Object])>*/
1137 /* method array#AbstractArray#clear for (self: AbstractArray[nullable Object]) */
1138 void array__AbstractArray__clear(val
* self
) {
1139 long var
/* : Int */;
1141 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var
; /* _length on <self:AbstractArray[nullable Object]> */
1144 /* method array#AbstractArray#clear for (self: Object) */
1145 void VIRTUAL_array__AbstractArray__clear(val
* self
) {
1146 array__AbstractArray__clear(self
); /* Direct call array#AbstractArray#clear on <self:Object(AbstractArray[nullable Object])>*/
1149 /* method array#AbstractArray#remove for (self: AbstractArray[nullable Object], nullable Object) */
1150 void array__AbstractArray__remove(val
* self
, val
* p0
) {
1151 short int var
/* : Bool */;
1154 const struct type
* type_struct
;
1155 short int is_nullable
;
1156 const char* var_class_name
;
1157 val
* var_item
/* var item: nullable Object */;
1158 long var1
/* : Int */;
1159 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
1160 /* <p0:nullable Object> isa RemovableCollection#0 */
1161 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
1162 cltype
= type_struct
->color
;
1163 idtype
= type_struct
->id
;
1164 is_nullable
= type_struct
->is_nullable
;
1168 if(cltype
>= p0
->type
->table_size
) {
1171 var
= p0
->type
->type_table
[cltype
] == idtype
;
1174 if (unlikely(!var
)) {
1175 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1176 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
1177 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 193);
1182 var1
= array__AbstractArrayRead__index_of(self
, var_item
);
1185 array__AbstractArray__remove_at(self
, var1
); /* Direct call array#AbstractArray#remove_at on <self:AbstractArray[nullable Object]>*/
1189 /* method array#AbstractArray#remove for (self: Object, nullable Object) */
1190 void VIRTUAL_array__AbstractArray__remove(val
* self
, val
* p0
) {
1191 array__AbstractArray__remove(self
, p0
); /* Direct call array#AbstractArray#remove on <self:Object(AbstractArray[nullable Object])>*/
1194 /* method array#AbstractArray#remove_at for (self: AbstractArray[nullable Object], Int) */
1195 void array__AbstractArray__remove_at(val
* self
, long p0
) {
1196 long var_i
/* var i: Int */;
1197 long var
/* : Int */;
1198 long var_l
/* var l: Int */;
1199 short int var1
/* : Bool */;
1200 long var2
/* : Int */;
1201 short int var3
/* : Bool */;
1202 short int var5
/* : Bool */;
1205 const char* var_class_name
;
1206 short int var6
/* : Bool */;
1207 short int var_
/* var : Bool */;
1208 short int var7
/* : Bool */;
1209 short int var9
/* : Bool */;
1212 const char* var_class_name12
;
1213 short int var13
/* : Bool */;
1214 long var14
/* : Int */;
1215 long var15
/* : Int */;
1216 short int var17
/* : Bool */;
1219 const char* var_class_name20
;
1220 long var21
/* : Int */;
1221 long var_j
/* var j: Int */;
1222 short int var22
/* : Bool */;
1223 short int var24
/* : Bool */;
1226 const char* var_class_name27
;
1227 short int var28
/* : Bool */;
1228 long var29
/* : Int */;
1229 long var30
/* : Int */;
1230 short int var32
/* : Bool */;
1233 const char* var_class_name35
;
1234 long var36
/* : Int */;
1235 val
* var37
/* : nullable Object */;
1236 long var38
/* : Int */;
1237 long var39
/* : Int */;
1238 short int var41
/* : Bool */;
1241 const char* var_class_name44
;
1242 long var45
/* : Int */;
1243 long var46
/* : Int */;
1244 long var47
/* : Int */;
1245 short int var49
/* : Bool */;
1248 const char* var_class_name52
;
1249 long var53
/* : Int */;
1252 var
= array__AbstractArrayRead__length(self
);
1257 { /* Inline kernel#Int#>= (var_i,var2) on <var_i:Int> */
1258 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1259 /* <var2:Int> isa OTHER */
1260 var5
= 1; /* easy <var2:Int> isa OTHER*/
1261 if (unlikely(!var5
)) {
1262 var_class_name
= type_kernel__Int
.name
;
1263 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1264 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
1267 var6
= var_i
>= var2
;
1276 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
1277 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1278 /* <var_l:Int> isa OTHER */
1279 var9
= 1; /* easy <var_l:Int> isa OTHER*/
1280 if (unlikely(!var9
)) {
1281 var_class_name12
= type_kernel__Int
.name
;
1282 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
1283 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
1286 var13
= var_i
< var_l
;
1299 { /* Inline kernel#Int#+ (var_i,var14) on <var_i:Int> */
1300 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
1301 /* <var14:Int> isa OTHER */
1302 var17
= 1; /* easy <var14:Int> isa OTHER*/
1303 if (unlikely(!var17
)) {
1304 var_class_name20
= type_kernel__Int
.name
;
1305 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
1306 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1309 var21
= var_i
+ var14
;
1312 RET_LABEL16
:(void)0;
1318 { /* Inline kernel#Int#< (var_j,var_l) on <var_j:Int> */
1319 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1320 /* <var_l:Int> isa OTHER */
1321 var24
= 1; /* easy <var_l:Int> isa OTHER*/
1322 if (unlikely(!var24
)) {
1323 var_class_name27
= type_kernel__Int
.name
;
1324 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
1325 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
1328 var28
= var_j
< var_l
;
1331 RET_LABEL23
:(void)0;
1337 { /* Inline kernel#Int#- (var_j,var29) on <var_j:Int> */
1338 /* Covariant cast for argument 0 (i) <var29:Int> isa OTHER */
1339 /* <var29:Int> isa OTHER */
1340 var32
= 1; /* easy <var29:Int> isa OTHER*/
1341 if (unlikely(!var32
)) {
1342 var_class_name35
= type_kernel__Int
.name
;
1343 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
1344 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
1347 var36
= var_j
- var29
;
1350 RET_LABEL31
:(void)0;
1354 var37
= array__Array___91d_93d(self
, var_j
);
1357 array__Array___91d_93d_61d(self
, var30
, var37
); /* Direct call array#Array#[]= on <self:AbstractArray[nullable Object]>*/
1361 { /* Inline kernel#Int#+ (var_j,var38) on <var_j:Int> */
1362 /* Covariant cast for argument 0 (i) <var38:Int> isa OTHER */
1363 /* <var38:Int> isa OTHER */
1364 var41
= 1; /* easy <var38:Int> isa OTHER*/
1365 if (unlikely(!var41
)) {
1366 var_class_name44
= type_kernel__Int
.name
;
1367 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44
);
1368 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1371 var45
= var_j
+ var38
;
1374 RET_LABEL40
:(void)0;
1378 CONTINUE_label
: (void)0;
1380 BREAK_label
: (void)0;
1383 { /* Inline kernel#Int#- (var_l,var46) on <var_l:Int> */
1384 /* Covariant cast for argument 0 (i) <var46:Int> isa OTHER */
1385 /* <var46:Int> isa OTHER */
1386 var49
= 1; /* easy <var46:Int> isa OTHER*/
1387 if (unlikely(!var49
)) {
1388 var_class_name52
= type_kernel__Int
.name
;
1389 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52
);
1390 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
1393 var53
= var_l
- var46
;
1396 RET_LABEL48
:(void)0;
1399 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var47
; /* _length on <self:AbstractArray[nullable Object]> */
1404 /* method array#AbstractArray#remove_at for (self: Object, Int) */
1405 void VIRTUAL_array__AbstractArray__remove_at(val
* self
, long p0
) {
1406 array__AbstractArray__remove_at(self
, p0
); /* Direct call array#AbstractArray#remove_at on <self:Object(AbstractArray[nullable Object])>*/
1409 /* method array#Array#[] for (self: Array[nullable Object], Int): nullable Object */
1410 val
* array__Array___91d_93d(val
* self
, long p0
) {
1411 val
* var
/* : nullable Object */;
1412 long var_index
/* var index: Int */;
1413 short int var1
/* : Bool */;
1414 long var2
/* : Int */;
1415 short int var3
/* : Bool */;
1416 short int var5
/* : Bool */;
1419 const char* var_class_name
;
1420 short int var6
/* : Bool */;
1421 short int var_
/* var : Bool */;
1422 long var7
/* : Int */;
1423 short int var8
/* : Bool */;
1424 short int var10
/* : Bool */;
1427 const char* var_class_name13
;
1428 short int var14
/* : Bool */;
1429 val
* var15
/* : nullable NativeArray[nullable Object] */;
1430 val
* var16
/* : nullable Object */;
1431 val
* var18
/* : nullable Object */;
1435 { /* Inline kernel#Int#>= (var_index,var2) on <var_index:Int> */
1436 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1437 /* <var2:Int> isa OTHER */
1438 var5
= 1; /* easy <var2:Int> isa OTHER*/
1439 if (unlikely(!var5
)) {
1440 var_class_name
= type_kernel__Int
.name
;
1441 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1442 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
1445 var6
= var_index
>= var2
;
1453 var7
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1455 { /* Inline kernel#Int#< (var_index,var7) on <var_index:Int> */
1456 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
1457 /* <var7:Int> isa OTHER */
1458 var10
= 1; /* easy <var7:Int> isa OTHER*/
1459 if (unlikely(!var10
)) {
1460 var_class_name13
= type_kernel__Int
.name
;
1461 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
1462 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
1465 var14
= var_index
< var7
;
1475 if (unlikely(!var1
)) {
1476 PRINT_ERROR("Runtime error: %s", "Assert \'index\' failed");
1477 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 246);
1480 var15
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
1481 if (var15
== NULL
) {
1482 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1483 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 247);
1486 { /* Inline array#NativeArray#[] (var15,var_index) on <var15:nullable NativeArray[nullable Object]> */
1487 var18
= ((struct instance_array__NativeArray
*)var15
)->values
[var_index
];
1490 RET_LABEL17
:(void)0;
1498 /* method array#Array#[] for (self: Object, Int): nullable Object */
1499 val
* VIRTUAL_array__Array___91d_93d(val
* self
, long p0
) {
1500 val
* var
/* : nullable Object */;
1501 val
* var1
/* : nullable Object */;
1502 var1
= array__Array___91d_93d(self
, p0
);
1507 /* method array#Array#[]= for (self: Array[nullable Object], Int, nullable Object) */
1508 void array__Array___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
1509 short int var
/* : Bool */;
1512 const struct type
* type_struct
;
1513 short int is_nullable
;
1514 const char* var_class_name
;
1515 long var_index
/* var index: Int */;
1516 val
* var_item
/* var item: nullable Object */;
1517 short int var1
/* : Bool */;
1518 long var2
/* : Int */;
1519 short int var3
/* : Bool */;
1520 short int var5
/* : Bool */;
1523 const char* var_class_name8
;
1524 short int var9
/* : Bool */;
1525 short int var_
/* var : Bool */;
1526 long var10
/* : Int */;
1527 long var11
/* : Int */;
1528 long var12
/* : Int */;
1529 short int var14
/* : Bool */;
1532 const char* var_class_name17
;
1533 long var18
/* : Int */;
1534 short int var19
/* : Bool */;
1535 short int var21
/* : Bool */;
1538 const char* var_class_name24
;
1539 short int var25
/* : Bool */;
1540 long var26
/* : Int */;
1541 short int var27
/* : Bool */;
1542 short int var29
/* : Bool */;
1545 const char* var_class_name32
;
1546 short int var33
/* : Bool */;
1547 long var34
/* : Int */;
1548 long var35
/* : Int */;
1549 short int var37
/* : Bool */;
1552 const char* var_class_name40
;
1553 long var41
/* : Int */;
1554 long var42
/* : Int */;
1555 short int var43
/* : Bool */;
1556 short int var45
/* : Bool */;
1559 const char* var_class_name48
;
1560 short int var49
/* : Bool */;
1561 long var50
/* : Int */;
1562 long var51
/* : Int */;
1563 short int var53
/* : Bool */;
1566 const char* var_class_name56
;
1567 long var57
/* : Int */;
1568 val
* var58
/* : nullable NativeArray[nullable Object] */;
1569 short int var60
/* : Bool */;
1572 const struct type
* type_struct63
;
1573 short int is_nullable64
;
1574 const char* var_class_name65
;
1575 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa Sequence#0 */
1576 /* <p1:nullable Object> isa Sequence#0 */
1577 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
1578 cltype
= type_struct
->color
;
1579 idtype
= type_struct
->id
;
1580 is_nullable
= type_struct
->is_nullable
;
1584 if(cltype
>= p1
->type
->table_size
) {
1587 var
= p1
->type
->type_table
[cltype
] == idtype
;
1590 if (unlikely(!var
)) {
1591 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
1592 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
1593 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 250);
1600 { /* Inline kernel#Int#>= (var_index,var2) on <var_index:Int> */
1601 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1602 /* <var2:Int> isa OTHER */
1603 var5
= 1; /* easy <var2:Int> isa OTHER*/
1604 if (unlikely(!var5
)) {
1605 var_class_name8
= type_kernel__Int
.name
;
1606 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
1607 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
1610 var9
= var_index
>= var2
;
1618 var10
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1621 { /* Inline kernel#Int#+ (var10,var11) on <var10:Int> */
1622 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
1623 /* <var11:Int> isa OTHER */
1624 var14
= 1; /* easy <var11:Int> isa OTHER*/
1625 if (unlikely(!var14
)) {
1626 var_class_name17
= type_kernel__Int
.name
;
1627 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
1628 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1631 var18
= var10
+ var11
;
1634 RET_LABEL13
:(void)0;
1638 { /* Inline kernel#Int#< (var_index,var12) on <var_index:Int> */
1639 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
1640 /* <var12:Int> isa OTHER */
1641 var21
= 1; /* easy <var12:Int> isa OTHER*/
1642 if (unlikely(!var21
)) {
1643 var_class_name24
= type_kernel__Int
.name
;
1644 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
1645 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
1648 var25
= var_index
< var12
;
1651 RET_LABEL20
:(void)0;
1658 if (unlikely(!var1
)) {
1659 PRINT_ERROR("Runtime error: %s", "Assert \'index\' failed");
1660 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 252);
1663 var26
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
1665 { /* Inline kernel#Int#<= (var26,var_index) on <var26:Int> */
1666 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
1667 /* <var_index:Int> isa OTHER */
1668 var29
= 1; /* easy <var_index:Int> isa OTHER*/
1669 if (unlikely(!var29
)) {
1670 var_class_name32
= type_kernel__Int
.name
;
1671 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
1672 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
1675 var33
= var26
<= var_index
;
1678 RET_LABEL28
:(void)0;
1684 { /* Inline kernel#Int#+ (var_index,var34) on <var_index:Int> */
1685 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
1686 /* <var34:Int> isa OTHER */
1687 var37
= 1; /* easy <var34:Int> isa OTHER*/
1688 if (unlikely(!var37
)) {
1689 var_class_name40
= type_kernel__Int
.name
;
1690 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
1691 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1694 var41
= var_index
+ var34
;
1697 RET_LABEL36
:(void)0;
1701 array__Array__enlarge(self
, var35
); /* Direct call array#Array#enlarge on <self:Array[nullable Object]>*/
1705 var42
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1707 { /* Inline kernel#Int#<= (var42,var_index) on <var42:Int> */
1708 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
1709 /* <var_index:Int> isa OTHER */
1710 var45
= 1; /* easy <var_index:Int> isa OTHER*/
1711 if (unlikely(!var45
)) {
1712 var_class_name48
= type_kernel__Int
.name
;
1713 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
1714 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
1717 var49
= var42
<= var_index
;
1720 RET_LABEL44
:(void)0;
1726 { /* Inline kernel#Int#+ (var_index,var50) on <var_index:Int> */
1727 /* Covariant cast for argument 0 (i) <var50:Int> isa OTHER */
1728 /* <var50:Int> isa OTHER */
1729 var53
= 1; /* easy <var50:Int> isa OTHER*/
1730 if (unlikely(!var53
)) {
1731 var_class_name56
= type_kernel__Int
.name
;
1732 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56
);
1733 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1736 var57
= var_index
+ var50
;
1739 RET_LABEL52
:(void)0;
1742 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var51
; /* _length on <self:Array[nullable Object]> */
1745 var58
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
1746 if (var58
== NULL
) {
1747 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1748 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 259);
1751 { /* Inline array#NativeArray#[]= (var58,var_index,var_item) on <var58:nullable NativeArray[nullable Object]> */
1752 /* Covariant cast for argument 1 (item) <var_item:nullable Object> isa NativeArray#0 */
1753 /* <var_item:nullable Object> isa NativeArray#0 */
1754 type_struct63
= var58
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
1755 cltype61
= type_struct63
->color
;
1756 idtype62
= type_struct63
->id
;
1757 is_nullable64
= type_struct63
->is_nullable
;
1758 if(var_item
== NULL
) {
1759 var60
= is_nullable64
;
1761 if(cltype61
>= var_item
->type
->table_size
) {
1764 var60
= var_item
->type
->type_table
[cltype61
] == idtype62
;
1767 if (unlikely(!var60
)) {
1768 var_class_name65
= var_item
== NULL ?
"null" : var_item
->type
->name
;
1769 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray#0", var_class_name65
);
1770 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 662);
1773 ((struct instance_array__NativeArray
*)var58
)->values
[var_index
]=var_item
;
1774 RET_LABEL59
:(void)0;
1779 /* method array#Array#[]= for (self: Object, Int, nullable Object) */
1780 void VIRTUAL_array__Array___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
1781 array__Array___91d_93d_61d(self
, p0
, p1
); /* Direct call array#Array#[]= on <self:Object(Array[nullable Object])>*/
1784 /* method array#Array#add for (self: Array[nullable Object], nullable Object) */
1785 void array__Array__add(val
* self
, val
* p0
) {
1786 short int var
/* : Bool */;
1789 const struct type
* type_struct
;
1790 short int is_nullable
;
1791 const char* var_class_name
;
1792 val
* var_item
/* var item: nullable Object */;
1793 long var1
/* : Int */;
1794 long var_l
/* var l: Int */;
1795 long var2
/* : Int */;
1796 short int var3
/* : Bool */;
1797 short int var5
/* : Bool */;
1800 const char* var_class_name8
;
1801 short int var9
/* : Bool */;
1802 long var10
/* : Int */;
1803 long var11
/* : Int */;
1804 short int var13
/* : Bool */;
1807 const char* var_class_name16
;
1808 long var17
/* : Int */;
1809 long var18
/* : Int */;
1810 long var19
/* : Int */;
1811 short int var21
/* : Bool */;
1814 const char* var_class_name24
;
1815 long var25
/* : Int */;
1816 val
* var26
/* : nullable NativeArray[nullable Object] */;
1817 short int var28
/* : Bool */;
1820 const struct type
* type_struct31
;
1821 short int is_nullable32
;
1822 const char* var_class_name33
;
1823 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa SimpleCollection#0 */
1824 /* <p0:nullable Object> isa SimpleCollection#0 */
1825 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SimpleCollection_FT0
];
1826 cltype
= type_struct
->color
;
1827 idtype
= type_struct
->id
;
1828 is_nullable
= type_struct
->is_nullable
;
1832 if(cltype
>= p0
->type
->table_size
) {
1835 var
= p0
->type
->type_table
[cltype
] == idtype
;
1838 if (unlikely(!var
)) {
1839 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1840 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name
);
1841 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 262);
1845 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1847 var2
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
1849 { /* Inline kernel#Int#<= (var2,var_l) on <var2:Int> */
1850 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1851 /* <var_l:Int> isa OTHER */
1852 var5
= 1; /* easy <var_l:Int> isa OTHER*/
1853 if (unlikely(!var5
)) {
1854 var_class_name8
= type_kernel__Int
.name
;
1855 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
1856 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
1859 var9
= var2
<= var_l
;
1868 { /* Inline kernel#Int#+ (var_l,var10) on <var_l:Int> */
1869 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
1870 /* <var10:Int> isa OTHER */
1871 var13
= 1; /* easy <var10:Int> isa OTHER*/
1872 if (unlikely(!var13
)) {
1873 var_class_name16
= type_kernel__Int
.name
;
1874 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
1875 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1878 var17
= var_l
+ var10
;
1881 RET_LABEL12
:(void)0;
1885 array__Array__enlarge(self
, var11
); /* Direct call array#Array#enlarge on <self:Array[nullable Object]>*/
1891 { /* Inline kernel#Int#+ (var_l,var18) on <var_l:Int> */
1892 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
1893 /* <var18:Int> isa OTHER */
1894 var21
= 1; /* easy <var18:Int> isa OTHER*/
1895 if (unlikely(!var21
)) {
1896 var_class_name24
= type_kernel__Int
.name
;
1897 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
1898 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1901 var25
= var_l
+ var18
;
1904 RET_LABEL20
:(void)0;
1907 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var19
; /* _length on <self:Array[nullable Object]> */
1908 var26
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
1909 if (var26
== NULL
) {
1910 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1911 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 269);
1914 { /* Inline array#NativeArray#[]= (var26,var_l,var_item) on <var26:nullable NativeArray[nullable Object]> */
1915 /* Covariant cast for argument 1 (item) <var_item:nullable Object> isa NativeArray#0 */
1916 /* <var_item:nullable Object> isa NativeArray#0 */
1917 type_struct31
= var26
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
1918 cltype29
= type_struct31
->color
;
1919 idtype30
= type_struct31
->id
;
1920 is_nullable32
= type_struct31
->is_nullable
;
1921 if(var_item
== NULL
) {
1922 var28
= is_nullable32
;
1924 if(cltype29
>= var_item
->type
->table_size
) {
1927 var28
= var_item
->type
->type_table
[cltype29
] == idtype30
;
1930 if (unlikely(!var28
)) {
1931 var_class_name33
= var_item
== NULL ?
"null" : var_item
->type
->name
;
1932 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray#0", var_class_name33
);
1933 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 662);
1936 ((struct instance_array__NativeArray
*)var26
)->values
[var_l
]=var_item
;
1937 RET_LABEL27
:(void)0;
1942 /* method array#Array#add for (self: Object, nullable Object) */
1943 void VIRTUAL_array__Array__add(val
* self
, val
* p0
) {
1944 array__Array__add(self
, p0
); /* Direct call array#Array#add on <self:Object(Array[nullable Object])>*/
1947 /* method array#Array#enlarge for (self: Array[nullable Object], Int) */
1948 void array__Array__enlarge(val
* self
, long p0
) {
1949 long var_cap
/* var cap: Int */;
1950 long var
/* : Int */;
1951 long var_c
/* var c: Int */;
1952 short int var1
/* : Bool */;
1953 short int var3
/* : Bool */;
1956 const char* var_class_name
;
1957 short int var4
/* : Bool */;
1958 short int var5
/* : Bool */;
1959 short int var7
/* : Bool */;
1962 const char* var_class_name10
;
1963 short int var11
/* : Bool */;
1964 long var12
/* : Int */;
1965 long var13
/* : Int */;
1966 short int var15
/* : Bool */;
1969 const char* var_class_name18
;
1970 long var19
/* : Int */;
1971 long var20
/* : Int */;
1972 long var21
/* : Int */;
1973 short int var23
/* : Bool */;
1976 const char* var_class_name26
;
1977 long var27
/* : Int */;
1978 val
* var28
/* : NativeArray[nullable Object] */;
1979 val
* var30
/* : NativeArray[nullable Object] */;
1980 val
* var_a
/* var a: NativeArray[nullable Object] */;
1981 long var31
/* : Int */;
1982 long var32
/* : Int */;
1983 short int var33
/* : Bool */;
1984 short int var35
/* : Bool */;
1987 const char* var_class_name38
;
1988 short int var39
/* : Bool */;
1989 val
* var40
/* : nullable NativeArray[nullable Object] */;
1990 long var41
/* : Int */;
1991 short int var43
/* : Bool */;
1994 const struct type
* type_struct
;
1995 const char* var_class_name46
;
1997 var
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
2000 { /* Inline kernel#Int#<= (var_cap,var_c) on <var_cap:Int> */
2001 /* Covariant cast for argument 0 (i) <var_c:Int> isa OTHER */
2002 /* <var_c:Int> isa OTHER */
2003 var3
= 1; /* easy <var_c:Int> isa OTHER*/
2004 if (unlikely(!var3
)) {
2005 var_class_name
= type_kernel__Int
.name
;
2006 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2007 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
2010 var4
= var_cap
<= var_c
;
2022 { /* Inline kernel#Int#<= (var_c,var_cap) on <var_c:Int> */
2023 /* Covariant cast for argument 0 (i) <var_cap:Int> isa OTHER */
2024 /* <var_cap:Int> isa OTHER */
2025 var7
= 1; /* easy <var_cap:Int> isa OTHER*/
2026 if (unlikely(!var7
)) {
2027 var_class_name10
= type_kernel__Int
.name
;
2028 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
2029 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
2032 var11
= var_c
<= var_cap
;
2041 { /* Inline kernel#Int#* (var_c,var12) on <var_c:Int> */
2042 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2043 /* <var12:Int> isa OTHER */
2044 var15
= 1; /* easy <var12:Int> isa OTHER*/
2045 if (unlikely(!var15
)) {
2046 var_class_name18
= type_kernel__Int
.name
;
2047 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
2048 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 332);
2051 var19
= var_c
* var12
;
2054 RET_LABEL14
:(void)0;
2059 { /* Inline kernel#Int#+ (var13,var20) on <var13:Int> */
2060 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
2061 /* <var20:Int> isa OTHER */
2062 var23
= 1; /* easy <var20:Int> isa OTHER*/
2063 if (unlikely(!var23
)) {
2064 var_class_name26
= type_kernel__Int
.name
;
2065 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
2066 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
2069 var27
= var13
+ var20
;
2072 RET_LABEL22
:(void)0;
2076 CONTINUE_label
: (void)0;
2078 BREAK_label
: (void)0;
2080 { /* Inline array#ArrayCapable#calloc_array (self,var_c) on <self:Array[nullable Object]> */
2081 var30
= NEW_array__NativeArray(var_c
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
2084 RET_LABEL29
:(void)0;
2088 var31
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
2091 { /* Inline kernel#Int#> (var31,var32) on <var31:Int> */
2092 /* Covariant cast for argument 0 (i) <var32:Int> isa OTHER */
2093 /* <var32:Int> isa OTHER */
2094 var35
= 1; /* easy <var32:Int> isa OTHER*/
2095 if (unlikely(!var35
)) {
2096 var_class_name38
= type_kernel__Int
.name
;
2097 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38
);
2098 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
2101 var39
= var31
> var32
;
2104 RET_LABEL34
:(void)0;
2108 var40
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
2109 var41
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
2110 if (var40
== NULL
) {
2111 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2112 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 278);
2115 { /* Inline array#NativeArray#copy_to (var40,var_a,var41) on <var40:nullable NativeArray[nullable Object]> */
2116 /* Covariant cast for argument 0 (dest) <var_a:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
2117 /* <var_a:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
2118 type_struct
= var40
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
2119 cltype44
= type_struct
->color
;
2120 idtype45
= type_struct
->id
;
2121 if(cltype44
>= var_a
->type
->table_size
) {
2124 var43
= var_a
->type
->type_table
[cltype44
] == idtype45
;
2126 if (unlikely(!var43
)) {
2127 var_class_name46
= var_a
== NULL ?
"null" : var_a
->type
->name
;
2128 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[NativeArray#0]", var_class_name46
);
2129 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 663);
2132 memcpy(((struct instance_array__NativeArray
*)var_a
)->values
, ((struct instance_array__NativeArray
*)var40
)->values
, var41
*sizeof(val
*));
2133 RET_LABEL42
:(void)0;
2138 self
->attrs
[COLOR_array__Array___items
].val
= var_a
; /* _items on <self:Array[nullable Object]> */
2139 self
->attrs
[COLOR_array__Array___capacity
].l
= var_c
; /* _capacity on <self:Array[nullable Object]> */
2142 /* method array#Array#enlarge for (self: Object, Int) */
2143 void VIRTUAL_array__Array__enlarge(val
* self
, long p0
) {
2144 array__Array__enlarge(self
, p0
); /* Direct call array#Array#enlarge on <self:Object(Array[nullable Object])>*/
2147 /* method array#Array#init for (self: Array[nullable Object]) */
2148 void array__Array__init(val
* self
) {
2149 long var
/* : Int */;
2150 long var2
/* : Int */;
2152 { /* Inline array#AbstractArrayRead#init (self) on <self:Array[nullable Object]> */
2157 self
->attrs
[COLOR_array__Array___capacity
].l
= var
; /* _capacity on <self:Array[nullable Object]> */
2159 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var2
; /* _length on <self:Array[nullable Object]> */
2162 /* method array#Array#init for (self: Object) */
2163 void VIRTUAL_array__Array__init(val
* self
) {
2164 array__Array__init(self
); /* Direct call array#Array#init on <self:Object(Array[nullable Object])>*/
2167 /* method array#Array#with_items for (self: Array[nullable Object], Array[nullable Object]) */
2168 void array__Array__with_items(val
* self
, val
* p0
) {
2169 val
* var_objects
/* var objects: Array[nullable Object] */;
2170 val
* var
/* : nullable NativeArray[nullable Object] */;
2171 long var2
/* : Int */;
2172 long var3
/* : Int */;
2174 { /* Inline array#AbstractArrayRead#init (self) on <self:Array[nullable Object]> */
2179 var
= var_objects
->attrs
[COLOR_array__Array___items
].val
; /* _items on <var_objects:Array[nullable Object]> */
2180 self
->attrs
[COLOR_array__Array___items
].val
= var
; /* _items on <self:Array[nullable Object]> */
2181 var2
= var_objects
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <var_objects:Array[nullable Object]> */
2182 self
->attrs
[COLOR_array__Array___capacity
].l
= var2
; /* _capacity on <self:Array[nullable Object]> */
2184 var3
= array__AbstractArrayRead__length(var_objects
);
2186 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var3
; /* _length on <self:Array[nullable Object]> */
2189 /* method array#Array#with_items for (self: Object, Array[nullable Object]) */
2190 void VIRTUAL_array__Array__with_items(val
* self
, val
* p0
) {
2191 array__Array__with_items(self
, p0
); /* Direct call array#Array#with_items on <self:Object(Array[nullable Object])>*/
2194 /* method array#Array#with_capacity for (self: Array[nullable Object], Int) */
2195 void array__Array__with_capacity(val
* self
, long p0
) {
2196 long var_cap
/* var cap: Int */;
2197 long var
/* : Int */;
2198 short int var2
/* : Bool */;
2199 short int var4
/* : Bool */;
2202 const char* var_class_name
;
2203 short int var5
/* : Bool */;
2204 val
* var6
/* : NativeArray[nullable Object] */;
2205 val
* var8
/* : NativeArray[nullable Object] */;
2206 long var9
/* : Int */;
2208 { /* Inline array#AbstractArrayRead#init (self) on <self:Array[nullable Object]> */
2215 { /* Inline kernel#Int#>= (var_cap,var) on <var_cap:Int> */
2216 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
2217 /* <var:Int> isa OTHER */
2218 var4
= 1; /* easy <var:Int> isa OTHER*/
2219 if (unlikely(!var4
)) {
2220 var_class_name
= type_kernel__Int
.name
;
2221 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2222 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
2225 var5
= var_cap
>= var
;
2231 if (unlikely(!var2
)) {
2232 PRINT_ERROR("Runtime error: %s", "Assert \'positive\' failed");
2233 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 307);
2237 { /* Inline array#ArrayCapable#calloc_array (self,var_cap) on <self:Array[nullable Object]> */
2238 var8
= NEW_array__NativeArray(var_cap
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
2244 self
->attrs
[COLOR_array__Array___items
].val
= var6
; /* _items on <self:Array[nullable Object]> */
2245 self
->attrs
[COLOR_array__Array___capacity
].l
= var_cap
; /* _capacity on <self:Array[nullable Object]> */
2247 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var9
; /* _length on <self:Array[nullable Object]> */
2250 /* method array#Array#with_capacity for (self: Object, Int) */
2251 void VIRTUAL_array__Array__with_capacity(val
* self
, long p0
) {
2252 array__Array__with_capacity(self
, p0
); /* Direct call array#Array#with_capacity on <self:Object(Array[nullable Object])>*/
2255 /* method array#Array#with_native for (self: Array[nullable Object], NativeArray[nullable Object], Int) */
2256 void array__Array__with_native(val
* self
, val
* p0
, long p1
) {
2257 short int var
/* : Bool */;
2260 const struct type
* type_struct
;
2261 const char* var_class_name
;
2262 val
* var_nat
/* var nat: NativeArray[nullable Object] */;
2263 long var_size
/* var size: Int */;
2264 long var2
/* : Int */;
2265 short int var3
/* : Bool */;
2266 short int var5
/* : Bool */;
2269 const char* var_class_name8
;
2270 short int var9
/* : Bool */;
2271 /* Covariant cast for argument 0 (nat) <p0:NativeArray[nullable Object]> isa NativeArray[Array#0] */
2272 /* <p0:NativeArray[nullable Object]> isa NativeArray[Array#0] */
2273 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__Array_FT0
];
2274 cltype
= type_struct
->color
;
2275 idtype
= type_struct
->id
;
2276 if(cltype
>= p0
->type
->table_size
) {
2279 var
= p0
->type
->type_table
[cltype
] == idtype
;
2281 if (unlikely(!var
)) {
2282 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2283 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[Array#0]", var_class_name
);
2284 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 327);
2288 { /* Inline array#AbstractArrayRead#init (self) on <self:Array[nullable Object]> */
2296 { /* Inline kernel#Int#>= (var_size,var2) on <var_size:Int> */
2297 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
2298 /* <var2:Int> isa OTHER */
2299 var5
= 1; /* easy <var2:Int> isa OTHER*/
2300 if (unlikely(!var5
)) {
2301 var_class_name8
= type_kernel__Int
.name
;
2302 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
2303 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
2306 var9
= var_size
>= var2
;
2312 if (unlikely(!var3
)) {
2313 PRINT_ERROR("Runtime error: %s", "Assert \'positive\' failed");
2314 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 330);
2317 self
->attrs
[COLOR_array__Array___items
].val
= var_nat
; /* _items on <self:Array[nullable Object]> */
2318 self
->attrs
[COLOR_array__Array___capacity
].l
= var_size
; /* _capacity on <self:Array[nullable Object]> */
2319 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var_size
; /* _length on <self:Array[nullable Object]> */
2322 /* method array#Array#with_native for (self: Object, NativeArray[nullable Object], Int) */
2323 void VIRTUAL_array__Array__with_native(val
* self
, val
* p0
, long p1
) {
2324 array__Array__with_native(self
, p0
, p1
); /* Direct call array#Array#with_native on <self:Object(Array[nullable Object])>*/
2327 /* method array#ArrayIterator#item for (self: ArrayIterator[nullable Object]): nullable Object */
2328 val
* array__ArrayIterator__item(val
* self
) {
2329 val
* var
/* : nullable Object */;
2330 val
* var1
/* : AbstractArrayRead[nullable Object] */;
2331 long var2
/* : Int */;
2332 val
* var3
/* : nullable Object */;
2333 var1
= self
->attrs
[COLOR_array__ArrayIterator___array
].val
; /* _array on <self:ArrayIterator[nullable Object]> */
2334 if (unlikely(var1
== NULL
)) {
2335 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2336 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 351);
2339 var2
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
2341 var3
= array__Array___91d_93d(var1
, var2
);
2348 /* method array#ArrayIterator#item for (self: Object): nullable Object */
2349 val
* VIRTUAL_array__ArrayIterator__item(val
* self
) {
2350 val
* var
/* : nullable Object */;
2351 val
* var1
/* : nullable Object */;
2352 var1
= array__ArrayIterator__item(self
);
2357 /* method array#ArrayIterator#is_ok for (self: ArrayIterator[nullable Object]): Bool */
2358 short int array__ArrayIterator__is_ok(val
* self
) {
2359 short int var
/* : Bool */;
2360 long var1
/* : Int */;
2361 val
* var2
/* : AbstractArrayRead[nullable Object] */;
2362 long var3
/* : Int */;
2363 short int var4
/* : Bool */;
2364 short int var6
/* : Bool */;
2367 const char* var_class_name
;
2368 short int var7
/* : Bool */;
2369 var1
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
2370 var2
= self
->attrs
[COLOR_array__ArrayIterator___array
].val
; /* _array on <self:ArrayIterator[nullable Object]> */
2371 if (unlikely(var2
== NULL
)) {
2372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2373 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 355);
2377 var3
= array__AbstractArrayRead__length(var2
);
2380 { /* Inline kernel#Int#< (var1,var3) on <var1:Int> */
2381 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
2382 /* <var3:Int> isa OTHER */
2383 var6
= 1; /* easy <var3:Int> isa OTHER*/
2384 if (unlikely(!var6
)) {
2385 var_class_name
= type_kernel__Int
.name
;
2386 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2387 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
2401 /* method array#ArrayIterator#is_ok for (self: Object): Bool */
2402 short int VIRTUAL_array__ArrayIterator__is_ok(val
* self
) {
2403 short int var
/* : Bool */;
2404 short int var1
/* : Bool */;
2405 var1
= array__ArrayIterator__is_ok(self
);
2410 /* method array#ArrayIterator#next for (self: ArrayIterator[nullable Object]) */
2411 void array__ArrayIterator__next(val
* self
) {
2412 val
* var_
/* var : ArrayIterator[nullable Object] */;
2413 long var
/* : Int */;
2414 long var1
/* : Int */;
2415 long var2
/* : Int */;
2416 short int var4
/* : Bool */;
2419 const char* var_class_name
;
2420 long var5
/* : Int */;
2422 var
= var_
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <var_:ArrayIterator[nullable Object]> */
2425 { /* Inline kernel#Int#+ (var,var1) on <var:Int> */
2426 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2427 /* <var1:Int> isa OTHER */
2428 var4
= 1; /* easy <var1:Int> isa OTHER*/
2429 if (unlikely(!var4
)) {
2430 var_class_name
= type_kernel__Int
.name
;
2431 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2432 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
2441 var_
->attrs
[COLOR_array__ArrayIterator___index
].l
= var2
; /* _index on <var_:ArrayIterator[nullable Object]> */
2444 /* method array#ArrayIterator#next for (self: Object) */
2445 void VIRTUAL_array__ArrayIterator__next(val
* self
) {
2446 array__ArrayIterator__next(self
); /* Direct call array#ArrayIterator#next on <self:Object(ArrayIterator[nullable Object])>*/
2449 /* method array#ArrayIterator#init for (self: ArrayIterator[nullable Object], AbstractArrayRead[nullable Object]) */
2450 void array__ArrayIterator__init(val
* self
, val
* p0
) {
2451 short int var
/* : Bool */;
2454 const struct type
* type_struct
;
2455 const char* var_class_name
;
2456 val
* var_a
/* var a: AbstractArrayRead[nullable Object] */;
2457 long var1
/* : Int */;
2458 /* Covariant cast for argument 0 (a) <p0:AbstractArrayRead[nullable Object]> isa AbstractArrayRead[ArrayIterator#0] */
2459 /* <p0:AbstractArrayRead[nullable Object]> isa AbstractArrayRead[ArrayIterator#0] */
2460 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayReadarray__ArrayIterator_FT0
];
2461 cltype
= type_struct
->color
;
2462 idtype
= type_struct
->id
;
2463 if(cltype
>= p0
->type
->table_size
) {
2466 var
= p0
->type
->type_table
[cltype
] == idtype
;
2468 if (unlikely(!var
)) {
2469 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2470 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArrayRead[ArrayIterator#0]", var_class_name
);
2471 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 359);
2475 self
->attrs
[COLOR_array__ArrayIterator___array
].val
= var_a
; /* _array on <self:ArrayIterator[nullable Object]> */
2477 self
->attrs
[COLOR_array__ArrayIterator___index
].l
= var1
; /* _index on <self:ArrayIterator[nullable Object]> */
2480 /* method array#ArrayIterator#init for (self: Object, AbstractArrayRead[nullable Object]) */
2481 void VIRTUAL_array__ArrayIterator__init(val
* self
, val
* p0
) {
2482 array__ArrayIterator__init(self
, p0
); /* Direct call array#ArrayIterator#init on <self:Object(ArrayIterator[nullable Object])>*/
2485 /* method array#ArrayIterator#index for (self: ArrayIterator[nullable Object]): Int */
2486 long array__ArrayIterator__index(val
* self
) {
2487 long var
/* : Int */;
2488 long var1
/* : Int */;
2489 var1
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
2495 /* method array#ArrayIterator#index for (self: Object): Int */
2496 long VIRTUAL_array__ArrayIterator__index(val
* self
) {
2497 long var
/* : Int */;
2498 long var1
/* : Int */;
2499 var1
= array__ArrayIterator__index(self
);
2504 /* method array#ArraySet#has for (self: ArraySet[Object], Object): Bool */
2505 short int array__ArraySet__has(val
* self
, val
* p0
) {
2506 short int var
/* : Bool */;
2507 short int var1
/* : Bool */;
2510 const struct type
* type_struct
;
2511 const char* var_class_name
;
2512 val
* var_e
/* var e: Object */;
2513 val
* var2
/* : Array[Object] */;
2514 short int var3
/* : Bool */;
2515 /* Covariant cast for argument 0 (e) <p0:Object> isa Collection#0 */
2516 /* <p0:Object> isa Collection#0 */
2517 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
2518 cltype
= type_struct
->color
;
2519 idtype
= type_struct
->id
;
2520 if(cltype
>= p0
->type
->table_size
) {
2523 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2525 if (unlikely(!var1
)) {
2526 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2527 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
2528 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 393);
2532 var2
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2533 if (unlikely(var2
== NULL
)) {
2534 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2535 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 393);
2539 var3
= array__AbstractArrayRead__has(var2
, var_e
);
2546 /* method array#ArraySet#has for (self: Object, nullable Object): Bool */
2547 short int VIRTUAL_array__ArraySet__has(val
* self
, val
* p0
) {
2548 short int var
/* : Bool */;
2549 short int var1
/* : Bool */;
2550 var1
= array__ArraySet__has(self
, p0
);
2555 /* method array#ArraySet#add for (self: ArraySet[Object], Object) */
2556 void array__ArraySet__add(val
* self
, val
* p0
) {
2557 short int var
/* : Bool */;
2560 const struct type
* type_struct
;
2561 const char* var_class_name
;
2562 val
* var_e
/* var e: Object */;
2563 val
* var1
/* : Array[Object] */;
2564 short int var2
/* : Bool */;
2565 short int var3
/* : Bool */;
2566 val
* var4
/* : Array[Object] */;
2567 /* Covariant cast for argument 0 (e) <p0:Object> isa SimpleCollection#0 */
2568 /* <p0:Object> isa SimpleCollection#0 */
2569 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SimpleCollection_FT0
];
2570 cltype
= type_struct
->color
;
2571 idtype
= type_struct
->id
;
2572 if(cltype
>= p0
->type
->table_size
) {
2575 var
= p0
->type
->type_table
[cltype
] == idtype
;
2577 if (unlikely(!var
)) {
2578 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2579 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name
);
2580 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 395);
2584 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2585 if (unlikely(var1
== NULL
)) {
2586 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2587 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 395);
2591 var2
= array__AbstractArrayRead__has(var1
, var_e
);
2595 var4
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2596 if (unlikely(var4
== NULL
)) {
2597 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2598 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 395);
2602 array__Array__add(var4
, var_e
); /* Direct call array#Array#add on <var4:Array[Object]>*/
2608 /* method array#ArraySet#add for (self: Object, nullable Object) */
2609 void VIRTUAL_array__ArraySet__add(val
* self
, val
* p0
) {
2610 array__ArraySet__add(self
, p0
); /* Direct call array#ArraySet#add on <self:Object(ArraySet[Object])>*/
2613 /* method array#ArraySet#is_empty for (self: ArraySet[Object]): Bool */
2614 short int array__ArraySet__is_empty(val
* self
) {
2615 short int var
/* : Bool */;
2616 val
* var1
/* : Array[Object] */;
2617 short int var2
/* : Bool */;
2618 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2619 if (unlikely(var1
== NULL
)) {
2620 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2621 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 397);
2625 var2
= array__AbstractArrayRead__is_empty(var1
);
2632 /* method array#ArraySet#is_empty for (self: Object): Bool */
2633 short int VIRTUAL_array__ArraySet__is_empty(val
* self
) {
2634 short int var
/* : Bool */;
2635 short int var1
/* : Bool */;
2636 var1
= array__ArraySet__is_empty(self
);
2641 /* method array#ArraySet#length for (self: ArraySet[Object]): Int */
2642 long array__ArraySet__length(val
* self
) {
2643 long var
/* : Int */;
2644 val
* var1
/* : Array[Object] */;
2645 long var2
/* : Int */;
2646 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2647 if (unlikely(var1
== NULL
)) {
2648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2649 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 399);
2653 var2
= array__AbstractArrayRead__length(var1
);
2660 /* method array#ArraySet#length for (self: Object): Int */
2661 long VIRTUAL_array__ArraySet__length(val
* self
) {
2662 long var
/* : Int */;
2663 long var1
/* : Int */;
2664 var1
= array__ArraySet__length(self
);
2669 /* method array#ArraySet#first for (self: ArraySet[Object]): Object */
2670 val
* array__ArraySet__first(val
* self
) {
2671 val
* var
/* : Object */;
2672 val
* var1
/* : Array[Object] */;
2673 long var2
/* : Int */;
2674 long var3
/* : Int */;
2675 short int var4
/* : Bool */;
2676 short int var6
/* : Bool */;
2679 const char* var_class_name
;
2680 short int var7
/* : Bool */;
2681 val
* var8
/* : Array[Object] */;
2682 val
* var9
/* : nullable Object */;
2683 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2684 if (unlikely(var1
== NULL
)) {
2685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2686 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 403);
2690 var2
= array__AbstractArrayRead__length(var1
);
2694 { /* Inline kernel#Int#> (var2,var3) on <var2:Int> */
2695 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
2696 /* <var3:Int> isa OTHER */
2697 var6
= 1; /* easy <var3:Int> isa OTHER*/
2698 if (unlikely(!var6
)) {
2699 var_class_name
= type_kernel__Int
.name
;
2700 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2701 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
2710 if (unlikely(!var4
)) {
2711 PRINT_ERROR("Runtime error: %s", "Assert failed");
2712 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 403);
2715 var8
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2716 if (unlikely(var8
== NULL
)) {
2717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2718 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 404);
2722 var9
= abstract_collection__SequenceRead__first(var8
);
2729 /* method array#ArraySet#first for (self: Object): nullable Object */
2730 val
* VIRTUAL_array__ArraySet__first(val
* self
) {
2731 val
* var
/* : nullable Object */;
2732 val
* var1
/* : Object */;
2733 var1
= array__ArraySet__first(self
);
2738 /* method array#ArraySet#remove for (self: ArraySet[Object], Object) */
2739 void array__ArraySet__remove(val
* self
, val
* p0
) {
2740 short int var
/* : Bool */;
2743 const struct type
* type_struct
;
2744 const char* var_class_name
;
2745 val
* var_item
/* var item: Object */;
2746 val
* var1
/* : Array[Object] */;
2747 long var2
/* : Int */;
2748 long var_i
/* var i: Int */;
2749 long var3
/* : Int */;
2750 short int var4
/* : Bool */;
2751 short int var6
/* : Bool */;
2754 const char* var_class_name9
;
2755 short int var10
/* : Bool */;
2756 /* Covariant cast for argument 0 (item) <p0:Object> isa RemovableCollection#0 */
2757 /* <p0:Object> isa RemovableCollection#0 */
2758 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
2759 cltype
= type_struct
->color
;
2760 idtype
= type_struct
->id
;
2761 if(cltype
>= p0
->type
->table_size
) {
2764 var
= p0
->type
->type_table
[cltype
] == idtype
;
2766 if (unlikely(!var
)) {
2767 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2768 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
2769 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 407);
2773 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2774 if (unlikely(var1
== NULL
)) {
2775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2776 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 409);
2780 var2
= array__AbstractArrayRead__index_of(var1
, var_item
);
2785 { /* Inline kernel#Int#>= (var_i,var3) on <var_i:Int> */
2786 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
2787 /* <var3:Int> isa OTHER */
2788 var6
= 1; /* easy <var3:Int> isa OTHER*/
2789 if (unlikely(!var6
)) {
2790 var_class_name9
= type_kernel__Int
.name
;
2791 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
2792 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
2795 var10
= var_i
>= var3
;
2803 array__ArraySet__remove_at(self
, var_i
); /* Direct call array#ArraySet#remove_at on <self:ArraySet[Object]>*/
2809 /* method array#ArraySet#remove for (self: Object, nullable Object) */
2810 void VIRTUAL_array__ArraySet__remove(val
* self
, val
* p0
) {
2811 array__ArraySet__remove(self
, p0
); /* Direct call array#ArraySet#remove on <self:Object(ArraySet[Object])>*/
2814 /* method array#ArraySet#clear for (self: ArraySet[Object]) */
2815 void array__ArraySet__clear(val
* self
) {
2816 val
* var
/* : Array[Object] */;
2817 var
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2818 if (unlikely(var
== NULL
)) {
2819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2820 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 415);
2824 array__AbstractArray__clear(var
); /* Direct call array#AbstractArray#clear on <var:Array[Object]>*/
2828 /* method array#ArraySet#clear for (self: Object) */
2829 void VIRTUAL_array__ArraySet__clear(val
* self
) {
2830 array__ArraySet__clear(self
); /* Direct call array#ArraySet#clear on <self:Object(ArraySet[Object])>*/
2833 /* method array#ArraySet#iterator for (self: ArraySet[Object]): Iterator[Object] */
2834 val
* array__ArraySet__iterator(val
* self
) {
2835 val
* var
/* : Iterator[Object] */;
2836 val
* var1
/* : ArraySetIterator[Object] */;
2837 val
* var2
/* : Array[Object] */;
2838 val
* var3
/* : ArrayIterator[nullable Object] */;
2839 var1
= NEW_array__ArraySetIterator(self
->type
->resolution_table
->types
[COLOR_array__ArraySetIteratorarray__ArraySet_FT0
]);
2840 var2
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2841 if (unlikely(var2
== NULL
)) {
2842 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2843 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 417);
2847 var3
= array__AbstractArrayRead__iterator(var2
);
2850 array__ArraySetIterator__init(var1
, var3
); /* Direct call array#ArraySetIterator#init on <var1:ArraySetIterator[Object]>*/
2857 /* method array#ArraySet#iterator for (self: Object): Iterator[nullable Object] */
2858 val
* VIRTUAL_array__ArraySet__iterator(val
* self
) {
2859 val
* var
/* : Iterator[nullable Object] */;
2860 val
* var1
/* : Iterator[Object] */;
2861 var1
= array__ArraySet__iterator(self
);
2866 /* method array#ArraySet#remove_at for (self: ArraySet[Object], Int) */
2867 void array__ArraySet__remove_at(val
* self
, long p0
) {
2868 long var_i
/* var i: Int */;
2869 val
* var
/* : Array[Object] */;
2870 val
* var1
/* : Array[Object] */;
2871 val
* var2
/* : nullable Object */;
2872 val
* var3
/* : Array[Object] */;
2873 val
* var4
/* : nullable Object */;
2875 var
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2876 if (unlikely(var
== NULL
)) {
2877 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2878 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 424);
2881 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2882 if (unlikely(var1
== NULL
)) {
2883 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2884 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 424);
2888 var2
= abstract_collection__SequenceRead__last(var1
);
2891 array__Array___91d_93d_61d(var
, var_i
, var2
); /* Direct call array#Array#[]= on <var:Array[Object]>*/
2893 var3
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2894 if (unlikely(var3
== NULL
)) {
2895 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _array");
2896 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 425);
2900 var4
= array__AbstractArray__pop(var3
);
2905 /* method array#ArraySet#remove_at for (self: Object, Int) */
2906 void VIRTUAL_array__ArraySet__remove_at(val
* self
, long p0
) {
2907 array__ArraySet__remove_at(self
, p0
); /* Direct call array#ArraySet#remove_at on <self:Object(ArraySet[Object])>*/
2910 /* method array#ArraySet#init for (self: ArraySet[Object]) */
2911 void array__ArraySet__init(val
* self
) {
2912 val
* var
/* : Array[Object] */;
2913 var
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__ArraySet_FT0
]);
2915 array__Array__init(var
); /* Direct call array#Array#init on <var:Array[Object]>*/
2917 self
->attrs
[COLOR_array__ArraySet___array
].val
= var
; /* _array on <self:ArraySet[Object]> */
2920 /* method array#ArraySet#init for (self: Object) */
2921 void VIRTUAL_array__ArraySet__init(val
* self
) {
2922 array__ArraySet__init(self
); /* Direct call array#ArraySet#init on <self:Object(ArraySet[Object])>*/
2925 /* method array#ArraySetIterator#is_ok for (self: ArraySetIterator[Object]): Bool */
2926 short int array__ArraySetIterator__is_ok(val
* self
) {
2927 short int var
/* : Bool */;
2928 val
* var1
/* : ArrayIterator[Object] */;
2929 short int var2
/* : Bool */;
2930 var1
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
2931 if (unlikely(var1
== NULL
)) {
2932 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
2933 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 441);
2937 var2
= array__ArrayIterator__is_ok(var1
);
2944 /* method array#ArraySetIterator#is_ok for (self: Object): Bool */
2945 short int VIRTUAL_array__ArraySetIterator__is_ok(val
* self
) {
2946 short int var
/* : Bool */;
2947 short int var1
/* : Bool */;
2948 var1
= array__ArraySetIterator__is_ok(self
);
2953 /* method array#ArraySetIterator#next for (self: ArraySetIterator[Object]) */
2954 void array__ArraySetIterator__next(val
* self
) {
2955 val
* var
/* : ArrayIterator[Object] */;
2956 var
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
2957 if (unlikely(var
== NULL
)) {
2958 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
2959 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 443);
2963 array__ArrayIterator__next(var
); /* Direct call array#ArrayIterator#next on <var:ArrayIterator[Object]>*/
2967 /* method array#ArraySetIterator#next for (self: Object) */
2968 void VIRTUAL_array__ArraySetIterator__next(val
* self
) {
2969 array__ArraySetIterator__next(self
); /* Direct call array#ArraySetIterator#next on <self:Object(ArraySetIterator[Object])>*/
2972 /* method array#ArraySetIterator#item for (self: ArraySetIterator[Object]): Object */
2973 val
* array__ArraySetIterator__item(val
* self
) {
2974 val
* var
/* : Object */;
2975 val
* var1
/* : ArrayIterator[Object] */;
2976 val
* var2
/* : nullable Object */;
2977 var1
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
2978 if (unlikely(var1
== NULL
)) {
2979 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
2980 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 445);
2984 var2
= array__ArrayIterator__item(var1
);
2991 /* method array#ArraySetIterator#item for (self: Object): nullable Object */
2992 val
* VIRTUAL_array__ArraySetIterator__item(val
* self
) {
2993 val
* var
/* : nullable Object */;
2994 val
* var1
/* : Object */;
2995 var1
= array__ArraySetIterator__item(self
);
3000 /* method array#ArraySetIterator#init for (self: ArraySetIterator[Object], ArrayIterator[Object]) */
3001 void array__ArraySetIterator__init(val
* self
, val
* p0
) {
3002 short int var
/* : Bool */;
3005 const struct type
* type_struct
;
3006 const char* var_class_name
;
3007 val
* var_iter
/* var iter: ArrayIterator[Object] */;
3008 /* Covariant cast for argument 0 (iter) <p0:ArrayIterator[Object]> isa ArrayIterator[ArraySetIterator#0] */
3009 /* <p0:ArrayIterator[Object]> isa ArrayIterator[ArraySetIterator#0] */
3010 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayIteratorarray__ArraySetIterator_FT0
];
3011 cltype
= type_struct
->color
;
3012 idtype
= type_struct
->id
;
3013 if(cltype
>= p0
->type
->table_size
) {
3016 var
= p0
->type
->type_table
[cltype
] == idtype
;
3018 if (unlikely(!var
)) {
3019 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3020 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayIterator[ArraySetIterator#0]", var_class_name
);
3021 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 447);
3025 self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
= var_iter
; /* _iter on <self:ArraySetIterator[Object]> */
3028 /* method array#ArraySetIterator#init for (self: Object, ArrayIterator[Object]) */
3029 void VIRTUAL_array__ArraySetIterator__init(val
* self
, val
* p0
) {
3030 array__ArraySetIterator__init(self
, p0
); /* Direct call array#ArraySetIterator#init on <self:Object(ArraySetIterator[Object])>*/
3033 /* method array#ArrayMap#[] for (self: ArrayMap[Object, nullable Object], Object): nullable Object */
3034 val
* array__ArrayMap___91d_93d(val
* self
, val
* p0
) {
3035 val
* var
/* : nullable Object */;
3036 short int var1
/* : Bool */;
3039 const struct type
* type_struct
;
3040 const char* var_class_name
;
3041 val
* var_key
/* var key: Object */;
3042 long var2
/* : Int */;
3043 long var_i
/* var i: Int */;
3044 long var3
/* : Int */;
3045 short int var4
/* : Bool */;
3046 short int var6
/* : Bool */;
3049 const char* var_class_name9
;
3050 short int var10
/* : Bool */;
3051 val
* var11
/* : Array[Couple[Object, nullable Object]] */;
3052 val
* var12
/* : nullable Object */;
3053 val
* var13
/* : nullable Object */;
3054 val
* var15
/* : nullable Object */;
3055 val
* var16
/* : nullable Object */;
3056 /* Covariant cast for argument 0 (key) <p0:Object> isa MapRead#0 */
3057 /* <p0:Object> isa MapRead#0 */
3058 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapRead_FT0
];
3059 cltype
= type_struct
->color
;
3060 idtype
= type_struct
->id
;
3061 if(cltype
>= p0
->type
->table_size
) {
3064 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3066 if (unlikely(!var1
)) {
3067 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3068 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MapRead#0", var_class_name
);
3069 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 457);
3074 var2
= array__ArrayMap__index(self
, var_key
);
3079 { /* Inline kernel#Int#>= (var_i,var3) on <var_i:Int> */
3080 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3081 /* <var3:Int> isa OTHER */
3082 var6
= 1; /* easy <var3:Int> isa OTHER*/
3083 if (unlikely(!var6
)) {
3084 var_class_name9
= type_kernel__Int
.name
;
3085 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
3086 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
3089 var10
= var_i
>= var3
;
3096 var11
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3097 if (unlikely(var11
== NULL
)) {
3098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3099 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 462);
3103 var12
= array__Array___91d_93d(var11
, var_i
);
3106 { /* Inline abstract_collection#Couple#second (var12) on <var12:nullable Object(Couple[Object, nullable Object])> */
3107 var15
= var12
->attrs
[COLOR_abstract_collection__Couple___second
].val
; /* _second on <var12:nullable Object(Couple[Object, nullable Object])> */
3109 RET_LABEL14
:(void)0;
3116 var16
= abstract_collection__MapRead__provide_default_value(self
, var_key
);
3124 /* method array#ArrayMap#[] for (self: Object, Object): nullable Object */
3125 val
* VIRTUAL_array__ArrayMap___91d_93d(val
* self
, val
* p0
) {
3126 val
* var
/* : nullable Object */;
3127 val
* var1
/* : nullable Object */;
3128 var1
= array__ArrayMap___91d_93d(self
, p0
);
3133 /* method array#ArrayMap#[]= for (self: ArrayMap[Object, nullable Object], Object, nullable Object) */
3134 void array__ArrayMap___91d_93d_61d(val
* self
, val
* p0
, val
* p1
) {
3135 short int var
/* : Bool */;
3138 const struct type
* type_struct
;
3139 const char* var_class_name
;
3140 short int var1
/* : Bool */;
3143 const struct type
* type_struct4
;
3144 short int is_nullable
;
3145 const char* var_class_name5
;
3146 val
* var_key
/* var key: Object */;
3147 val
* var_item
/* var item: nullable Object */;
3148 long var6
/* : Int */;
3149 long var_i
/* var i: Int */;
3150 long var7
/* : Int */;
3151 short int var8
/* : Bool */;
3152 short int var10
/* : Bool */;
3155 const char* var_class_name13
;
3156 short int var14
/* : Bool */;
3157 val
* var15
/* : Array[Couple[Object, nullable Object]] */;
3158 val
* var16
/* : nullable Object */;
3159 short int var18
/* : Bool */;
3162 const struct type
* type_struct21
;
3163 short int is_nullable22
;
3164 const char* var_class_name23
;
3165 val
* var24
/* : Array[Couple[Object, nullable Object]] */;
3166 val
* var25
/* : Couple[Object, nullable Object] */;
3167 /* Covariant cast for argument 0 (key) <p0:Object> isa Map#0 */
3168 /* <p0:Object> isa Map#0 */
3169 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Map_FT0
];
3170 cltype
= type_struct
->color
;
3171 idtype
= type_struct
->id
;
3172 if(cltype
>= p0
->type
->table_size
) {
3175 var
= p0
->type
->type_table
[cltype
] == idtype
;
3177 if (unlikely(!var
)) {
3178 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3179 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map#0", var_class_name
);
3180 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 468);
3183 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa Map#1 */
3184 /* <p1:nullable Object> isa Map#1 */
3185 type_struct4
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Map_FT1
];
3186 cltype2
= type_struct4
->color
;
3187 idtype3
= type_struct4
->id
;
3188 is_nullable
= type_struct4
->is_nullable
;
3192 if(cltype2
>= p1
->type
->table_size
) {
3195 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
3198 if (unlikely(!var1
)) {
3199 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
3200 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map#1", var_class_name5
);
3201 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 468);
3207 var6
= array__ArrayMap__index(self
, var_key
);
3212 { /* Inline kernel#Int#>= (var_i,var7) on <var_i:Int> */
3213 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
3214 /* <var7:Int> isa OTHER */
3215 var10
= 1; /* easy <var7:Int> isa OTHER*/
3216 if (unlikely(!var10
)) {
3217 var_class_name13
= type_kernel__Int
.name
;
3218 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
3219 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
3222 var14
= var_i
>= var7
;
3229 var15
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3230 if (unlikely(var15
== NULL
)) {
3231 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3232 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 473);
3236 var16
= array__Array___91d_93d(var15
, var_i
);
3239 { /* Inline abstract_collection#Couple#second= (var16,var_item) on <var16:nullable Object(Couple[Object, nullable Object])> */
3240 /* Covariant cast for argument 0 (second) <var_item:nullable Object> isa Couple#1 */
3241 /* <var_item:nullable Object> isa Couple#1 */
3242 type_struct21
= var16
->type
->resolution_table
->types
[COLOR_abstract_collection__Couple_FT1
];
3243 cltype19
= type_struct21
->color
;
3244 idtype20
= type_struct21
->id
;
3245 is_nullable22
= type_struct21
->is_nullable
;
3246 if(var_item
== NULL
) {
3247 var18
= is_nullable22
;
3249 if(cltype19
>= var_item
->type
->table_size
) {
3252 var18
= var_item
->type
->type_table
[cltype19
] == idtype20
;
3255 if (unlikely(!var18
)) {
3256 var_class_name23
= var_item
== NULL ?
"null" : var_item
->type
->name
;
3257 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Couple#1", var_class_name23
);
3258 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 905);
3261 var16
->attrs
[COLOR_abstract_collection__Couple___second
].val
= var_item
; /* _second on <var16:nullable Object(Couple[Object, nullable Object])> */
3262 RET_LABEL17
:(void)0;
3266 var24
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3267 if (unlikely(var24
== NULL
)) {
3268 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3269 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 475);
3272 var25
= NEW_abstract_collection__Couple(self
->type
->resolution_table
->types
[COLOR_abstract_collection__Couplearray__ArrayMap_FT0array__ArrayMap_FT1
]);
3274 abstract_collection__Couple__init(var25
, var_key
, var_item
); /* Direct call abstract_collection#Couple#init on <var25:Couple[Object, nullable Object]>*/
3277 array__AbstractArray__push(var24
, var25
); /* Direct call array#AbstractArray#push on <var24:Array[Couple[Object, nullable Object]]>*/
3282 /* method array#ArrayMap#[]= for (self: Object, Object, nullable Object) */
3283 void VIRTUAL_array__ArrayMap___91d_93d_61d(val
* self
, val
* p0
, val
* p1
) {
3284 array__ArrayMap___91d_93d_61d(self
, p0
, p1
); /* Direct call array#ArrayMap#[]= on <self:Object(ArrayMap[Object, nullable Object])>*/
3287 /* method array#ArrayMap#keys for (self: ArrayMap[Object, nullable Object]): RemovableCollection[Object] */
3288 val
* array__ArrayMap__keys(val
* self
) {
3289 val
* var
/* : RemovableCollection[Object] */;
3290 val
* var1
/* : RemovableCollection[Object] */;
3291 var1
= self
->attrs
[COLOR_array__ArrayMap___keys
].val
; /* _keys on <self:ArrayMap[Object, nullable Object]> */
3292 if (unlikely(var1
== NULL
)) {
3293 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
3294 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 479);
3301 /* method array#ArrayMap#keys for (self: Object): Collection[Object] */
3302 val
* VIRTUAL_array__ArrayMap__keys(val
* self
) {
3303 val
* var
/* : Collection[Object] */;
3304 val
* var1
/* : RemovableCollection[Object] */;
3305 val
* var3
/* : RemovableCollection[Object] */;
3306 { /* Inline array#ArrayMap#keys (self) on <self:Object(ArrayMap[Object, nullable Object])> */
3307 var3
= self
->attrs
[COLOR_array__ArrayMap___keys
].val
; /* _keys on <self:Object(ArrayMap[Object, nullable Object])> */
3308 if (unlikely(var3
== NULL
)) {
3309 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
3310 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 479);
3320 /* method array#ArrayMap#values for (self: ArrayMap[Object, nullable Object]): RemovableCollection[nullable Object] */
3321 val
* array__ArrayMap__values(val
* self
) {
3322 val
* var
/* : RemovableCollection[nullable Object] */;
3323 val
* var1
/* : RemovableCollection[nullable Object] */;
3324 var1
= self
->attrs
[COLOR_array__ArrayMap___values
].val
; /* _values on <self:ArrayMap[Object, nullable Object]> */
3325 if (unlikely(var1
== NULL
)) {
3326 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
3327 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 480);
3334 /* method array#ArrayMap#values for (self: Object): Collection[nullable Object] */
3335 val
* VIRTUAL_array__ArrayMap__values(val
* self
) {
3336 val
* var
/* : Collection[nullable Object] */;
3337 val
* var1
/* : RemovableCollection[nullable Object] */;
3338 val
* var3
/* : RemovableCollection[nullable Object] */;
3339 { /* Inline array#ArrayMap#values (self) on <self:Object(ArrayMap[Object, nullable Object])> */
3340 var3
= self
->attrs
[COLOR_array__ArrayMap___values
].val
; /* _values on <self:Object(ArrayMap[Object, nullable Object])> */
3341 if (unlikely(var3
== NULL
)) {
3342 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
3343 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 480);
3353 /* method array#ArrayMap#length for (self: ArrayMap[Object, nullable Object]): Int */
3354 long array__ArrayMap__length(val
* self
) {
3355 long var
/* : Int */;
3356 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3357 long var2
/* : Int */;
3358 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3359 if (unlikely(var1
== NULL
)) {
3360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3361 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 483);
3365 var2
= array__AbstractArrayRead__length(var1
);
3372 /* method array#ArrayMap#length for (self: Object): Int */
3373 long VIRTUAL_array__ArrayMap__length(val
* self
) {
3374 long var
/* : Int */;
3375 long var1
/* : Int */;
3376 var1
= array__ArrayMap__length(self
);
3381 /* method array#ArrayMap#couple_iterator for (self: ArrayMap[Object, nullable Object]): Iterator[Couple[Object, nullable Object]] */
3382 val
* array__ArrayMap__couple_iterator(val
* self
) {
3383 val
* var
/* : Iterator[Couple[Object, nullable Object]] */;
3384 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3385 val
* var2
/* : ArrayIterator[nullable Object] */;
3386 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3387 if (unlikely(var1
== NULL
)) {
3388 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3389 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 485);
3393 var2
= array__AbstractArrayRead__iterator(var1
);
3400 /* method array#ArrayMap#couple_iterator for (self: Object): Iterator[Couple[Object, nullable Object]] */
3401 val
* VIRTUAL_array__ArrayMap__couple_iterator(val
* self
) {
3402 val
* var
/* : Iterator[Couple[Object, nullable Object]] */;
3403 val
* var1
/* : Iterator[Couple[Object, nullable Object]] */;
3404 var1
= array__ArrayMap__couple_iterator(self
);
3409 /* method array#ArrayMap#is_empty for (self: ArrayMap[Object, nullable Object]): Bool */
3410 short int array__ArrayMap__is_empty(val
* self
) {
3411 short int var
/* : Bool */;
3412 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3413 short int var2
/* : Bool */;
3414 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3415 if (unlikely(var1
== NULL
)) {
3416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3417 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 487);
3421 var2
= array__AbstractArrayRead__is_empty(var1
);
3428 /* method array#ArrayMap#is_empty for (self: Object): Bool */
3429 short int VIRTUAL_array__ArrayMap__is_empty(val
* self
) {
3430 short int var
/* : Bool */;
3431 short int var1
/* : Bool */;
3432 var1
= array__ArrayMap__is_empty(self
);
3437 /* method array#ArrayMap#clear for (self: ArrayMap[Object, nullable Object]) */
3438 void array__ArrayMap__clear(val
* self
) {
3439 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3440 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3441 if (unlikely(var
== NULL
)) {
3442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3443 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 489);
3447 array__AbstractArray__clear(var
); /* Direct call array#AbstractArray#clear on <var:Array[Couple[Object, nullable Object]]>*/
3451 /* method array#ArrayMap#clear for (self: Object) */
3452 void VIRTUAL_array__ArrayMap__clear(val
* self
) {
3453 array__ArrayMap__clear(self
); /* Direct call array#ArrayMap#clear on <self:Object(ArrayMap[Object, nullable Object])>*/
3456 /* method array#ArrayMap#remove_at_index for (self: ArrayMap[Object, nullable Object], Int) */
3457 void array__ArrayMap__remove_at_index(val
* self
, long p0
) {
3458 long var_i
/* var i: Int */;
3459 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3460 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3461 val
* var2
/* : nullable Object */;
3462 val
* var3
/* : Array[Couple[Object, nullable Object]] */;
3463 val
* var4
/* : nullable Object */;
3465 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3466 if (unlikely(var
== NULL
)) {
3467 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3468 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 510);
3471 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3472 if (unlikely(var1
== NULL
)) {
3473 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3474 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 510);
3478 var2
= abstract_collection__SequenceRead__last(var1
);
3481 array__Array___91d_93d_61d(var
, var_i
, var2
); /* Direct call array#Array#[]= on <var:Array[Couple[Object, nullable Object]]>*/
3483 var3
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3484 if (unlikely(var3
== NULL
)) {
3485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3486 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 511);
3490 var4
= array__AbstractArray__pop(var3
);
3495 /* method array#ArrayMap#remove_at_index for (self: Object, Int) */
3496 void VIRTUAL_array__ArrayMap__remove_at_index(val
* self
, long p0
) {
3497 array__ArrayMap__remove_at_index(self
, p0
); /* Direct call array#ArrayMap#remove_at_index on <self:Object(ArrayMap[Object, nullable Object])>*/
3500 /* method array#ArrayMap#index for (self: ArrayMap[Object, nullable Object], Object): Int */
3501 long array__ArrayMap__index(val
* self
, val
* p0
) {
3502 long var
/* : Int */;
3503 short int var1
/* : Bool */;
3506 const struct type
* type_struct
;
3507 const char* var_class_name
;
3508 val
* var_key
/* var key: Object */;
3509 long var2
/* : Int */;
3510 long var_l
/* var l: Int */;
3511 short int var3
/* : Bool */;
3512 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
3513 long var5
/* : Int */;
3514 short int var6
/* : Bool */;
3515 short int var8
/* : Bool */;
3518 const char* var_class_name11
;
3519 short int var12
/* : Bool */;
3520 short int var_
/* var : Bool */;
3521 val
* var13
/* : Array[Couple[Object, nullable Object]] */;
3522 val
* var14
/* : nullable Object */;
3523 val
* var15
/* : nullable Object */;
3524 val
* var17
/* : nullable Object */;
3525 short int var18
/* : Bool */;
3526 short int var19
/* : Bool */;
3527 long var20
/* : Int */;
3528 long var_i
/* var i: Int */;
3529 val
* var21
/* : Array[Couple[Object, nullable Object]] */;
3530 long var22
/* : Int */;
3531 short int var23
/* : Bool */;
3532 short int var25
/* : Bool */;
3535 const char* var_class_name28
;
3536 short int var29
/* : Bool */;
3537 val
* var30
/* : Array[Couple[Object, nullable Object]] */;
3538 val
* var31
/* : nullable Object */;
3539 val
* var32
/* : nullable Object */;
3540 val
* var34
/* : nullable Object */;
3541 short int var35
/* : Bool */;
3542 short int var36
/* : Bool */;
3543 long var37
/* : Int */;
3544 long var38
/* : Int */;
3545 short int var40
/* : Bool */;
3548 const char* var_class_name43
;
3549 long var44
/* : Int */;
3550 long var45
/* : Int */;
3551 long var46
/* : Int */;
3552 long var48
/* : Int */;
3553 /* Covariant cast for argument 0 (key) <p0:Object> isa ArrayMap#0 */
3554 /* <p0:Object> isa ArrayMap#0 */
3555 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMap_FT0
];
3556 cltype
= type_struct
->color
;
3557 idtype
= type_struct
->id
;
3558 if(cltype
>= p0
->type
->table_size
) {
3561 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3563 if (unlikely(!var1
)) {
3564 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3565 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap#0", var_class_name
);
3566 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 517);
3570 var2
= self
->attrs
[COLOR_array__ArrayMap___last_index
].l
; /* _last_index on <self:ArrayMap[Object, nullable Object]> */
3572 var4
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3573 if (unlikely(var4
== NULL
)) {
3574 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3575 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 522);
3579 var5
= array__AbstractArrayRead__length(var4
);
3582 { /* Inline kernel#Int#< (var_l,var5) on <var_l:Int> */
3583 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
3584 /* <var5:Int> isa OTHER */
3585 var8
= 1; /* easy <var5:Int> isa OTHER*/
3586 if (unlikely(!var8
)) {
3587 var_class_name11
= type_kernel__Int
.name
;
3588 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
3589 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
3592 var12
= var_l
< var5
;
3600 var13
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3601 if (unlikely(var13
== NULL
)) {
3602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3603 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 522);
3607 var14
= array__Array___91d_93d(var13
, var_l
);
3610 { /* Inline abstract_collection#Couple#first (var14) on <var14:nullable Object(Couple[Object, nullable Object])> */
3611 var17
= var14
->attrs
[COLOR_abstract_collection__Couple___first
].val
; /* _first on <var14:nullable Object(Couple[Object, nullable Object])> */
3613 RET_LABEL16
:(void)0;
3617 var19
= ((short int (*)(val
*, val
*))(var15
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var15
, var_key
) /* == on <var15:nullable Object(Object)>*/;
3632 var21
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3633 if (unlikely(var21
== NULL
)) {
3634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3635 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 525);
3639 var22
= array__AbstractArrayRead__length(var21
);
3642 { /* Inline kernel#Int#< (var_i,var22) on <var_i:Int> */
3643 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
3644 /* <var22:Int> isa OTHER */
3645 var25
= 1; /* easy <var22:Int> isa OTHER*/
3646 if (unlikely(!var25
)) {
3647 var_class_name28
= type_kernel__Int
.name
;
3648 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
3649 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
3652 var29
= var_i
< var22
;
3655 RET_LABEL24
:(void)0;
3659 var30
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3660 if (unlikely(var30
== NULL
)) {
3661 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3662 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 526);
3666 var31
= array__Array___91d_93d(var30
, var_i
);
3669 { /* Inline abstract_collection#Couple#first (var31) on <var31:nullable Object(Couple[Object, nullable Object])> */
3670 var34
= var31
->attrs
[COLOR_abstract_collection__Couple___first
].val
; /* _first on <var31:nullable Object(Couple[Object, nullable Object])> */
3672 RET_LABEL33
:(void)0;
3676 var36
= ((short int (*)(val
*, val
*))(var32
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var32
, var_key
) /* == on <var32:nullable Object(Object)>*/;
3680 self
->attrs
[COLOR_array__ArrayMap___last_index
].l
= var_i
; /* _last_index on <self:ArrayMap[Object, nullable Object]> */
3687 { /* Inline kernel#Int#+ (var_i,var37) on <var_i:Int> */
3688 /* Covariant cast for argument 0 (i) <var37:Int> isa OTHER */
3689 /* <var37:Int> isa OTHER */
3690 var40
= 1; /* easy <var37:Int> isa OTHER*/
3691 if (unlikely(!var40
)) {
3692 var_class_name43
= type_kernel__Int
.name
;
3693 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43
);
3694 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3697 var44
= var_i
+ var37
;
3700 RET_LABEL39
:(void)0;
3704 CONTINUE_label
: (void)0;
3706 BREAK_label
: (void)0;
3709 { /* Inline kernel#Int#unary - (var45) on <var45:Int> */
3713 RET_LABEL47
:(void)0;
3721 /* method array#ArrayMap#index for (self: Object, Object): Int */
3722 long VIRTUAL_array__ArrayMap__index(val
* self
, val
* p0
) {
3723 long var
/* : Int */;
3724 long var1
/* : Int */;
3725 var1
= array__ArrayMap__index(self
, p0
);
3730 /* method array#ArrayMap#init for (self: ArrayMap[Object, nullable Object]) */
3731 void array__ArrayMap__init(val
* self
) {
3732 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3733 var
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayabstract_collection__Couplearray__ArrayMap_FT0array__ArrayMap_FT1
]);
3735 array__Array__init(var
); /* Direct call array#Array#init on <var:Array[Couple[Object, nullable Object]]>*/
3737 self
->attrs
[COLOR_array__ArrayMap___items
].val
= var
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3740 /* method array#ArrayMap#init for (self: Object) */
3741 void VIRTUAL_array__ArrayMap__init(val
* self
) {
3742 array__ArrayMap__init(self
); /* Direct call array#ArrayMap#init on <self:Object(ArrayMap[Object, nullable Object])>*/
3745 /* method array#ArrayMapKeys#map for (self: ArrayMapKeys[Object, nullable Object]): ArrayMap[Object, nullable Object] */
3746 val
* array__ArrayMapKeys__map(val
* self
) {
3747 val
* var
/* : ArrayMap[Object, nullable Object] */;
3748 val
* var1
/* : ArrayMap[Object, nullable Object] */;
3749 var1
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
3750 if (unlikely(var1
== NULL
)) {
3751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
3752 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 544);
3759 /* method array#ArrayMapKeys#map for (self: Object): ArrayMap[Object, nullable Object] */
3760 val
* VIRTUAL_array__ArrayMapKeys__map(val
* self
) {
3761 val
* var
/* : ArrayMap[Object, nullable Object] */;
3762 val
* var1
/* : ArrayMap[Object, nullable Object] */;
3763 val
* var3
/* : ArrayMap[Object, nullable Object] */;
3764 { /* Inline array#ArrayMapKeys#map (self) on <self:Object(ArrayMapKeys[Object, nullable Object])> */
3765 var3
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:Object(ArrayMapKeys[Object, nullable Object])> */
3766 if (unlikely(var3
== NULL
)) {
3767 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
3768 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 544);
3778 /* method array#ArrayMapKeys#first for (self: ArrayMapKeys[Object, nullable Object]): Object */
3779 val
* array__ArrayMapKeys__first(val
* self
) {
3780 val
* var
/* : Object */;
3781 val
* var1
/* : ArrayMap[Object, nullable Object] */;
3782 val
* var3
/* : ArrayMap[Object, nullable Object] */;
3783 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
3784 val
* var5
/* : nullable Object */;
3785 val
* var6
/* : nullable Object */;
3786 val
* var8
/* : nullable Object */;
3788 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
3789 var3
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
3790 if (unlikely(var3
== NULL
)) {
3791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
3792 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 544);
3799 var4
= var1
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var1:ArrayMap[Object, nullable Object]> */
3800 if (unlikely(var4
== NULL
)) {
3801 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
3802 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 547);
3806 var5
= abstract_collection__SequenceRead__first(var4
);
3809 { /* Inline abstract_collection#Couple#first (var5) on <var5:nullable Object(Couple[Object, nullable Object])> */
3810 var8
= var5
->attrs
[COLOR_abstract_collection__Couple___first
].val
; /* _first on <var5:nullable Object(Couple[Object, nullable Object])> */
3820 /* method array#ArrayMapKeys#first for (self: Object): nullable Object */
3821 val
* VIRTUAL_array__ArrayMapKeys__first(val
* self
) {
3822 val
* var
/* : nullable Object */;
3823 val
* var1
/* : Object */;
3824 var1
= array__ArrayMapKeys__first(self
);
3829 /* method array#ArrayMapKeys#has for (self: ArrayMapKeys[Object, nullable Object], Object): Bool */
3830 short int array__ArrayMapKeys__has(val
* self
, val
* p0
) {
3831 short int var
/* : Bool */;
3832 short int var1
/* : Bool */;
3835 const struct type
* type_struct
;
3836 const char* var_class_name
;
3837 val
* var_k
/* var k: Object */;
3838 val
* var2
/* : ArrayMap[Object, nullable Object] */;
3839 val
* var4
/* : ArrayMap[Object, nullable Object] */;
3840 long var5
/* : Int */;
3841 long var6
/* : Int */;
3842 short int var7
/* : Bool */;
3843 short int var9
/* : Bool */;
3846 const char* var_class_name12
;
3847 short int var13
/* : Bool */;
3848 /* Covariant cast for argument 0 (k) <p0:Object> isa Collection#0 */
3849 /* <p0:Object> isa Collection#0 */
3850 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
3851 cltype
= type_struct
->color
;
3852 idtype
= type_struct
->id
;
3853 if(cltype
>= p0
->type
->table_size
) {
3856 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3858 if (unlikely(!var1
)) {
3859 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3860 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
3861 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 548);
3866 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
3867 var4
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
3868 if (unlikely(var4
== NULL
)) {
3869 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
3870 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 544);
3878 var5
= array__ArrayMap__index(var2
, var_k
);
3882 { /* Inline kernel#Int#>= (var5,var6) on <var5:Int> */
3883 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
3884 /* <var6:Int> isa OTHER */
3885 var9
= 1; /* easy <var6:Int> isa OTHER*/
3886 if (unlikely(!var9
)) {
3887 var_class_name12
= type_kernel__Int
.name
;
3888 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
3889 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
3892 var13
= var5
>= var6
;
3903 /* method array#ArrayMapKeys#has for (self: Object, nullable Object): Bool */
3904 short int VIRTUAL_array__ArrayMapKeys__has(val
* self
, val
* p0
) {
3905 short int var
/* : Bool */;
3906 short int var1
/* : Bool */;
3907 var1
= array__ArrayMapKeys__has(self
, p0
);
3912 /* method array#ArrayMapKeys#is_empty for (self: ArrayMapKeys[Object, nullable Object]): Bool */
3913 short int array__ArrayMapKeys__is_empty(val
* self
) {
3914 short int var
/* : Bool */;
3915 val
* var1
/* : ArrayMap[Object, nullable Object] */;
3916 val
* var3
/* : ArrayMap[Object, nullable Object] */;
3917 short int var4
/* : Bool */;
3919 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
3920 var3
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
3921 if (unlikely(var3
== NULL
)) {
3922 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
3923 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 544);
3931 var4
= array__ArrayMap__is_empty(var1
);
3938 /* method array#ArrayMapKeys#is_empty for (self: Object): Bool */
3939 short int VIRTUAL_array__ArrayMapKeys__is_empty(val
* self
) {
3940 short int var
/* : Bool */;
3941 short int var1
/* : Bool */;
3942 var1
= array__ArrayMapKeys__is_empty(self
);
3947 /* method array#ArrayMapKeys#length for (self: ArrayMapKeys[Object, nullable Object]): Int */
3948 long array__ArrayMapKeys__length(val
* self
) {
3949 long var
/* : Int */;
3950 val
* var1
/* : ArrayMap[Object, nullable Object] */;
3951 val
* var3
/* : ArrayMap[Object, nullable Object] */;
3952 long var4
/* : Int */;
3954 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
3955 var3
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
3956 if (unlikely(var3
== NULL
)) {
3957 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
3958 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 544);
3966 var4
= array__ArrayMap__length(var1
);
3973 /* method array#ArrayMapKeys#length for (self: Object): Int */
3974 long VIRTUAL_array__ArrayMapKeys__length(val
* self
) {
3975 long var
/* : Int */;
3976 long var1
/* : Int */;
3977 var1
= array__ArrayMapKeys__length(self
);
3982 /* method array#ArrayMapKeys#iterator for (self: ArrayMapKeys[Object, nullable Object]): Iterator[Object] */
3983 val
* array__ArrayMapKeys__iterator(val
* self
) {
3984 val
* var
/* : Iterator[Object] */;
3985 val
* var1
/* : MapKeysIterator[Object, nullable Object] */;
3986 val
* var2
/* : ArrayMap[Object, nullable Object] */;
3987 val
* var4
/* : ArrayMap[Object, nullable Object] */;
3988 val
* var5
/* : MapIterator[Object, nullable Object] */;
3989 short int var7
/* : Bool */;
3992 const struct type
* type_struct
;
3993 const char* var_class_name
;
3994 var1
= NEW_abstract_collection__MapKeysIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapKeysIteratorarray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
]);
3996 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
3997 var4
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
3998 if (unlikely(var4
== NULL
)) {
3999 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4000 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 544);
4008 var5
= abstract_collection__CoupleMap__iterator(var2
);
4011 { /* Inline abstract_collection#MapKeysIterator#init (var1,var5) on <var1:MapKeysIterator[Object, nullable Object]> */
4012 /* Covariant cast for argument 0 (original_iterator) <var5:MapIterator[Object, nullable Object]> isa MapIterator[MapKeysIterator#0, MapKeysIterator#1] */
4013 /* <var5:MapIterator[Object, nullable Object]> isa MapIterator[MapKeysIterator#0, MapKeysIterator#1] */
4014 type_struct
= var1
->type
->resolution_table
->types
[COLOR_abstract_collection__MapIteratorabstract_collection__MapKeysIterator_FT0abstract_collection__MapKeysIterator_FT1
];
4015 cltype
= type_struct
->color
;
4016 idtype
= type_struct
->id
;
4017 if(cltype
>= var5
->type
->table_size
) {
4020 var7
= var5
->type
->type_table
[cltype
] == idtype
;
4022 if (unlikely(!var7
)) {
4023 var_class_name
= var5
== NULL ?
"null" : var5
->type
->name
;
4024 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[MapKeysIterator#0, MapKeysIterator#1]", var_class_name
);
4025 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 528);
4028 var1
->attrs
[COLOR_abstract_collection__MapKeysIterator___original_iterator
].val
= var5
; /* _original_iterator on <var1:MapKeysIterator[Object, nullable Object]> */
4037 /* method array#ArrayMapKeys#iterator for (self: Object): Iterator[nullable Object] */
4038 val
* VIRTUAL_array__ArrayMapKeys__iterator(val
* self
) {
4039 val
* var
/* : Iterator[nullable Object] */;
4040 val
* var1
/* : Iterator[Object] */;
4041 var1
= array__ArrayMapKeys__iterator(self
);
4046 /* method array#ArrayMapKeys#clear for (self: ArrayMapKeys[Object, nullable Object]) */
4047 void array__ArrayMapKeys__clear(val
* self
) {
4048 val
* var
/* : ArrayMap[Object, nullable Object] */;
4049 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4051 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
4052 var2
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4053 if (unlikely(var2
== NULL
)) {
4054 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4055 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 544);
4063 array__ArrayMap__clear(var
); /* Direct call array#ArrayMap#clear on <var:ArrayMap[Object, nullable Object]>*/
4067 /* method array#ArrayMapKeys#clear for (self: Object) */
4068 void VIRTUAL_array__ArrayMapKeys__clear(val
* self
) {
4069 array__ArrayMapKeys__clear(self
); /* Direct call array#ArrayMapKeys#clear on <self:Object(ArrayMapKeys[Object, nullable Object])>*/
4072 /* method array#ArrayMapKeys#remove for (self: ArrayMapKeys[Object, nullable Object], Object) */
4073 void array__ArrayMapKeys__remove(val
* self
, val
* p0
) {
4074 short int var
/* : Bool */;
4077 const struct type
* type_struct
;
4078 const char* var_class_name
;
4079 val
* var_key
/* var key: Object */;
4080 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4081 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4082 long var4
/* : Int */;
4083 long var_i
/* var i: Int */;
4084 long var5
/* : Int */;
4085 short int var6
/* : Bool */;
4086 short int var8
/* : Bool */;
4089 const char* var_class_name11
;
4090 short int var12
/* : Bool */;
4091 val
* var13
/* : ArrayMap[Object, nullable Object] */;
4092 val
* var15
/* : ArrayMap[Object, nullable Object] */;
4093 /* Covariant cast for argument 0 (key) <p0:Object> isa RemovableCollection#0 */
4094 /* <p0:Object> isa RemovableCollection#0 */
4095 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
4096 cltype
= type_struct
->color
;
4097 idtype
= type_struct
->id
;
4098 if(cltype
>= p0
->type
->table_size
) {
4101 var
= p0
->type
->type_table
[cltype
] == idtype
;
4103 if (unlikely(!var
)) {
4104 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4105 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
4106 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 554);
4111 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
4112 var3
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4113 if (unlikely(var3
== NULL
)) {
4114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4115 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 544);
4123 var4
= array__ArrayMap__index(var1
, var_key
);
4128 { /* Inline kernel#Int#>= (var_i,var5) on <var_i:Int> */
4129 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
4130 /* <var5:Int> isa OTHER */
4131 var8
= 1; /* easy <var5:Int> isa OTHER*/
4132 if (unlikely(!var8
)) {
4133 var_class_name11
= type_kernel__Int
.name
;
4134 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
4135 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
4138 var12
= var_i
>= var5
;
4146 { /* Inline array#ArrayMapKeys#map (self) on <self:ArrayMapKeys[Object, nullable Object]> */
4147 var15
= self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4148 if (unlikely(var15
== NULL
)) {
4149 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4150 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 544);
4154 RET_LABEL14
:(void)0;
4158 array__ArrayMap__remove_at_index(var13
, var_i
); /* Direct call array#ArrayMap#remove_at_index on <var13:ArrayMap[Object, nullable Object]>*/
4164 /* method array#ArrayMapKeys#remove for (self: Object, nullable Object) */
4165 void VIRTUAL_array__ArrayMapKeys__remove(val
* self
, val
* p0
) {
4166 array__ArrayMapKeys__remove(self
, p0
); /* Direct call array#ArrayMapKeys#remove on <self:Object(ArrayMapKeys[Object, nullable Object])>*/
4169 /* method array#ArrayMapKeys#init for (self: ArrayMapKeys[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4170 void array__ArrayMapKeys__init(val
* self
, val
* p0
) {
4171 short int var
/* : Bool */;
4174 const struct type
* type_struct
;
4175 const char* var_class_name
;
4176 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4177 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4178 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
];
4179 cltype
= type_struct
->color
;
4180 idtype
= type_struct
->id
;
4181 if(cltype
>= p0
->type
->table_size
) {
4184 var
= p0
->type
->type_table
[cltype
] == idtype
;
4186 if (unlikely(!var
)) {
4187 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4188 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1]", var_class_name
);
4189 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 542);
4192 self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
= p0
; /* _map on <self:ArrayMapKeys[Object, nullable Object]> */
4195 /* method array#ArrayMapKeys#init for (self: Object, ArrayMap[Object, nullable Object]) */
4196 void VIRTUAL_array__ArrayMapKeys__init(val
* self
, val
* p0
) {
4197 short int var
/* : Bool */;
4200 const struct type
* type_struct
;
4201 const char* var_class_name
;
4202 { /* Inline array#ArrayMapKeys#init (self,p0) on <self:Object(ArrayMapKeys[Object, nullable Object])> */
4203 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4204 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4205 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
];
4206 cltype
= type_struct
->color
;
4207 idtype
= type_struct
->id
;
4208 if(cltype
>= p0
->type
->table_size
) {
4211 var
= p0
->type
->type_table
[cltype
] == idtype
;
4213 if (unlikely(!var
)) {
4214 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4215 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1]", var_class_name
);
4216 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 542);
4219 self
->attrs
[COLOR_array__ArrayMapKeys___map
].val
= p0
; /* _map on <self:Object(ArrayMapKeys[Object, nullable Object])> */
4224 /* method array#ArrayMapValues#map for (self: ArrayMapValues[Object, nullable Object]): ArrayMap[Object, nullable Object] */
4225 val
* array__ArrayMapValues__map(val
* self
) {
4226 val
* var
/* : ArrayMap[Object, nullable Object] */;
4227 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4228 var1
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
4229 if (unlikely(var1
== NULL
)) {
4230 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4231 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 564);
4238 /* method array#ArrayMapValues#map for (self: Object): ArrayMap[Object, nullable Object] */
4239 val
* VIRTUAL_array__ArrayMapValues__map(val
* self
) {
4240 val
* var
/* : ArrayMap[Object, nullable Object] */;
4241 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4242 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4243 { /* Inline array#ArrayMapValues#map (self) on <self:Object(ArrayMapValues[Object, nullable Object])> */
4244 var3
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:Object(ArrayMapValues[Object, nullable Object])> */
4245 if (unlikely(var3
== NULL
)) {
4246 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4247 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 564);
4257 /* method array#ArrayMapValues#first for (self: ArrayMapValues[Object, nullable Object]): nullable Object */
4258 val
* array__ArrayMapValues__first(val
* self
) {
4259 val
* var
/* : nullable Object */;
4260 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4261 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4262 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
4263 val
* var5
/* : nullable Object */;
4264 val
* var6
/* : nullable Object */;
4265 val
* var8
/* : nullable Object */;
4267 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
4268 var3
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
4269 if (unlikely(var3
== NULL
)) {
4270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4271 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 564);
4278 var4
= var1
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var1:ArrayMap[Object, nullable Object]> */
4279 if (unlikely(var4
== NULL
)) {
4280 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4281 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 566);
4285 var5
= abstract_collection__SequenceRead__first(var4
);
4288 { /* Inline abstract_collection#Couple#second (var5) on <var5:nullable Object(Couple[Object, nullable Object])> */
4289 var8
= var5
->attrs
[COLOR_abstract_collection__Couple___second
].val
; /* _second on <var5:nullable Object(Couple[Object, nullable Object])> */
4299 /* method array#ArrayMapValues#first for (self: Object): nullable Object */
4300 val
* VIRTUAL_array__ArrayMapValues__first(val
* self
) {
4301 val
* var
/* : nullable Object */;
4302 val
* var1
/* : nullable Object */;
4303 var1
= array__ArrayMapValues__first(self
);
4308 /* method array#ArrayMapValues#is_empty for (self: ArrayMapValues[Object, nullable Object]): Bool */
4309 short int array__ArrayMapValues__is_empty(val
* self
) {
4310 short int var
/* : Bool */;
4311 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4312 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4313 short int var4
/* : Bool */;
4315 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
4316 var3
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
4317 if (unlikely(var3
== NULL
)) {
4318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4319 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 564);
4327 var4
= array__ArrayMap__is_empty(var1
);
4334 /* method array#ArrayMapValues#is_empty for (self: Object): Bool */
4335 short int VIRTUAL_array__ArrayMapValues__is_empty(val
* self
) {
4336 short int var
/* : Bool */;
4337 short int var1
/* : Bool */;
4338 var1
= array__ArrayMapValues__is_empty(self
);
4343 /* method array#ArrayMapValues#length for (self: ArrayMapValues[Object, nullable Object]): Int */
4344 long array__ArrayMapValues__length(val
* self
) {
4345 long var
/* : Int */;
4346 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4347 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4348 long var4
/* : Int */;
4350 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
4351 var3
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
4352 if (unlikely(var3
== NULL
)) {
4353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4354 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 564);
4362 var4
= array__ArrayMap__length(var1
);
4369 /* method array#ArrayMapValues#length for (self: Object): Int */
4370 long VIRTUAL_array__ArrayMapValues__length(val
* self
) {
4371 long var
/* : Int */;
4372 long var1
/* : Int */;
4373 var1
= array__ArrayMapValues__length(self
);
4378 /* method array#ArrayMapValues#iterator for (self: ArrayMapValues[Object, nullable Object]): Iterator[nullable Object] */
4379 val
* array__ArrayMapValues__iterator(val
* self
) {
4380 val
* var
/* : Iterator[nullable Object] */;
4381 val
* var1
/* : MapValuesIterator[Object, nullable Object] */;
4382 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4383 val
* var4
/* : ArrayMap[Object, nullable Object] */;
4384 val
* var5
/* : MapIterator[Object, nullable Object] */;
4385 short int var7
/* : Bool */;
4388 const struct type
* type_struct
;
4389 const char* var_class_name
;
4390 var1
= NEW_abstract_collection__MapValuesIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapValuesIteratorarray__ArrayMapValues_FT0array__ArrayMapValues_FT1
]);
4392 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
4393 var4
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
4394 if (unlikely(var4
== NULL
)) {
4395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4396 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 564);
4404 var5
= abstract_collection__CoupleMap__iterator(var2
);
4407 { /* Inline abstract_collection#MapValuesIterator#init (var1,var5) on <var1:MapValuesIterator[Object, nullable Object]> */
4408 /* Covariant cast for argument 0 (original_iterator) <var5:MapIterator[Object, nullable Object]> isa MapIterator[MapValuesIterator#0, MapValuesIterator#1] */
4409 /* <var5:MapIterator[Object, nullable Object]> isa MapIterator[MapValuesIterator#0, MapValuesIterator#1] */
4410 type_struct
= var1
->type
->resolution_table
->types
[COLOR_abstract_collection__MapIteratorabstract_collection__MapValuesIterator_FT0abstract_collection__MapValuesIterator_FT1
];
4411 cltype
= type_struct
->color
;
4412 idtype
= type_struct
->id
;
4413 if(cltype
>= var5
->type
->table_size
) {
4416 var7
= var5
->type
->type_table
[cltype
] == idtype
;
4418 if (unlikely(!var7
)) {
4419 var_class_name
= var5
== NULL ?
"null" : var5
->type
->name
;
4420 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[MapValuesIterator#0, MapValuesIterator#1]", var_class_name
);
4421 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/abstract_collection.nit", 539);
4424 var1
->attrs
[COLOR_abstract_collection__MapValuesIterator___original_iterator
].val
= var5
; /* _original_iterator on <var1:MapValuesIterator[Object, nullable Object]> */
4433 /* method array#ArrayMapValues#iterator for (self: Object): Iterator[nullable Object] */
4434 val
* VIRTUAL_array__ArrayMapValues__iterator(val
* self
) {
4435 val
* var
/* : Iterator[nullable Object] */;
4436 val
* var1
/* : Iterator[nullable Object] */;
4437 var1
= array__ArrayMapValues__iterator(self
);
4442 /* method array#ArrayMapValues#has for (self: ArrayMapValues[Object, nullable Object], nullable Object): Bool */
4443 short int array__ArrayMapValues__has(val
* self
, val
* p0
) {
4444 short int var
/* : Bool */;
4445 short int var1
/* : Bool */;
4448 const struct type
* type_struct
;
4449 short int is_nullable
;
4450 const char* var_class_name
;
4451 val
* var_item
/* var item: nullable Object */;
4452 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4453 val
* var4
/* : ArrayMap[Object, nullable Object] */;
4454 val
* var5
/* : Array[Couple[Object, nullable Object]] */;
4455 val
* var6
/* : ArrayIterator[nullable Object] */;
4456 short int var7
/* : Bool */;
4457 val
* var8
/* : nullable Object */;
4458 val
* var_i
/* var i: Couple[Object, nullable Object] */;
4459 val
* var9
/* : nullable Object */;
4460 val
* var11
/* : nullable Object */;
4461 short int var12
/* : Bool */;
4462 short int var13
/* : Bool */;
4463 short int var14
/* : Bool */;
4464 short int var15
/* : Bool */;
4465 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
4466 /* <p0:nullable Object> isa Collection#0 */
4467 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4468 cltype
= type_struct
->color
;
4469 idtype
= type_struct
->id
;
4470 is_nullable
= type_struct
->is_nullable
;
4474 if(cltype
>= p0
->type
->table_size
) {
4477 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4480 if (unlikely(!var1
)) {
4481 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4482 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4483 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 571);
4488 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
4489 var4
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
4490 if (unlikely(var4
== NULL
)) {
4491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4492 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 564);
4499 var5
= var2
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var2:ArrayMap[Object, nullable Object]> */
4500 if (unlikely(var5
== NULL
)) {
4501 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4502 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 574);
4506 var6
= array__AbstractArrayRead__iterator(var5
);
4510 var7
= array__ArrayIterator__is_ok(var6
);
4514 var8
= array__ArrayIterator__item(var6
);
4518 { /* Inline abstract_collection#Couple#second (var_i) on <var_i:Couple[Object, nullable Object]> */
4519 var11
= var_i
->attrs
[COLOR_abstract_collection__Couple___second
].val
; /* _second on <var_i:Couple[Object, nullable Object]> */
4521 RET_LABEL10
:(void)0;
4525 var12
= (var_item
== NULL
);
4527 var13
= ((short int (*)(val
*, val
*))(var9
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var9
, var_item
) /* == on <var9:nullable Object>*/;
4536 CONTINUE_label
: (void)0;
4538 array__ArrayIterator__next(var6
); /* Direct call array#ArrayIterator#next on <var6:ArrayIterator[nullable Object]>*/
4541 BREAK_label
: (void)0;
4548 /* method array#ArrayMapValues#has for (self: Object, nullable Object): Bool */
4549 short int VIRTUAL_array__ArrayMapValues__has(val
* self
, val
* p0
) {
4550 short int var
/* : Bool */;
4551 short int var1
/* : Bool */;
4552 var1
= array__ArrayMapValues__has(self
, p0
);
4557 /* method array#ArrayMapValues#clear for (self: ArrayMapValues[Object, nullable Object]) */
4558 void array__ArrayMapValues__clear(val
* self
) {
4559 val
* var
/* : ArrayMap[Object, nullable Object] */;
4560 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4562 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
4563 var2
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
4564 if (unlikely(var2
== NULL
)) {
4565 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4566 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 564);
4574 array__ArrayMap__clear(var
); /* Direct call array#ArrayMap#clear on <var:ArrayMap[Object, nullable Object]>*/
4578 /* method array#ArrayMapValues#clear for (self: Object) */
4579 void VIRTUAL_array__ArrayMapValues__clear(val
* self
) {
4580 array__ArrayMapValues__clear(self
); /* Direct call array#ArrayMapValues#clear on <self:Object(ArrayMapValues[Object, nullable Object])>*/
4583 /* method array#ArrayMapValues#remove for (self: ArrayMapValues[Object, nullable Object], nullable Object) */
4584 void array__ArrayMapValues__remove(val
* self
, val
* p0
) {
4585 short int var
/* : Bool */;
4588 const struct type
* type_struct
;
4589 short int is_nullable
;
4590 const char* var_class_name
;
4591 val
* var_item
/* var item: nullable Object */;
4592 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4593 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4594 val
* var_map
/* var map: ArrayMap[Object, nullable Object] */;
4595 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
4596 long var5
/* : Int */;
4597 long var6
/* : Int */;
4598 long var7
/* : Int */;
4599 short int var9
/* : Bool */;
4602 const char* var_class_name12
;
4603 long var13
/* : Int */;
4604 long var_i
/* var i: Int */;
4605 long var14
/* : Int */;
4606 short int var15
/* : Bool */;
4607 short int var17
/* : Bool */;
4610 const char* var_class_name20
;
4611 short int var21
/* : Bool */;
4612 val
* var22
/* : Array[Couple[Object, nullable Object]] */;
4613 val
* var23
/* : nullable Object */;
4614 val
* var24
/* : nullable Object */;
4615 val
* var26
/* : nullable Object */;
4616 short int var27
/* : Bool */;
4617 short int var28
/* : Bool */;
4618 long var29
/* : Int */;
4619 long var30
/* : Int */;
4620 short int var32
/* : Bool */;
4623 const char* var_class_name35
;
4624 long var36
/* : Int */;
4625 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
4626 /* <p0:nullable Object> isa RemovableCollection#0 */
4627 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
4628 cltype
= type_struct
->color
;
4629 idtype
= type_struct
->id
;
4630 is_nullable
= type_struct
->is_nullable
;
4634 if(cltype
>= p0
->type
->table_size
) {
4637 var
= p0
->type
->type_table
[cltype
] == idtype
;
4640 if (unlikely(!var
)) {
4641 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4642 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
4643 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 595);
4648 { /* Inline array#ArrayMapValues#map (self) on <self:ArrayMapValues[Object, nullable Object]> */
4649 var3
= self
->attrs
[COLOR_array__ArrayMapValues___map
].val
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
4650 if (unlikely(var3
== NULL
)) {
4651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _map");
4652 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 564);
4660 var4
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
4661 if (unlikely(var4
== NULL
)) {
4662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4663 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 598);
4667 var5
= array__AbstractArrayRead__length(var4
);
4671 { /* Inline kernel#Int#- (var5,var6) on <var5:Int> */
4672 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
4673 /* <var6:Int> isa OTHER */
4674 var9
= 1; /* easy <var6:Int> isa OTHER*/
4675 if (unlikely(!var9
)) {
4676 var_class_name12
= type_kernel__Int
.name
;
4677 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
4678 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
4681 var13
= var5
- var6
;
4691 { /* Inline kernel#Int#>= (var_i,var14) on <var_i:Int> */
4692 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
4693 /* <var14:Int> isa OTHER */
4694 var17
= 1; /* easy <var14:Int> isa OTHER*/
4695 if (unlikely(!var17
)) {
4696 var_class_name20
= type_kernel__Int
.name
;
4697 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
4698 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
4701 var21
= var_i
>= var14
;
4704 RET_LABEL16
:(void)0;
4708 var22
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
4709 if (unlikely(var22
== NULL
)) {
4710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _items");
4711 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 600);
4715 var23
= array__Array___91d_93d(var22
, var_i
);
4718 { /* Inline abstract_collection#Couple#second (var23) on <var23:nullable Object(Couple[Object, nullable Object])> */
4719 var26
= var23
->attrs
[COLOR_abstract_collection__Couple___second
].val
; /* _second on <var23:nullable Object(Couple[Object, nullable Object])> */
4721 RET_LABEL25
:(void)0;
4724 if (var24
== NULL
) {
4725 var27
= (var_item
== NULL
);
4727 var28
= ((short int (*)(val
*, val
*))(var24
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var24
, var_item
) /* == on <var24:nullable Object>*/;
4732 array__ArrayMap__remove_at_index(var_map
, var_i
); /* Direct call array#ArrayMap#remove_at_index on <var_map:ArrayMap[Object, nullable Object]>*/
4739 { /* Inline kernel#Int#- (var_i,var29) on <var_i:Int> */
4740 /* Covariant cast for argument 0 (i) <var29:Int> isa OTHER */
4741 /* <var29:Int> isa OTHER */
4742 var32
= 1; /* easy <var29:Int> isa OTHER*/
4743 if (unlikely(!var32
)) {
4744 var_class_name35
= type_kernel__Int
.name
;
4745 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
4746 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
4749 var36
= var_i
- var29
;
4752 RET_LABEL31
:(void)0;
4756 CONTINUE_label
: (void)0;
4758 BREAK_label
: (void)0;
4761 /* method array#ArrayMapValues#remove for (self: Object, nullable Object) */
4762 void VIRTUAL_array__ArrayMapValues__remove(val
* self
, val
* p0
) {
4763 array__ArrayMapValues__remove(self
, p0
); /* Direct call array#ArrayMapValues#remove on <self:Object(ArrayMapValues[Object, nullable Object])>*/
4766 /* method array#ArrayMapValues#init for (self: ArrayMapValues[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4767 void array__ArrayMapValues__init(val
* self
, val
* p0
) {
4768 short int var
/* : Bool */;
4771 const struct type
* type_struct
;
4772 const char* var_class_name
;
4773 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
4774 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
4775 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapValues_FT0array__ArrayMapValues_FT1
];
4776 cltype
= type_struct
->color
;
4777 idtype
= type_struct
->id
;
4778 if(cltype
>= p0
->type
->table_size
) {
4781 var
= p0
->type
->type_table
[cltype
] == idtype
;
4783 if (unlikely(!var
)) {
4784 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4785 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapValues#0, ArrayMapValues#1]", var_class_name
);
4786 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 562);
4789 self
->attrs
[COLOR_array__ArrayMapValues___map
].val
= p0
; /* _map on <self:ArrayMapValues[Object, nullable Object]> */
4792 /* method array#ArrayMapValues#init for (self: Object, ArrayMap[Object, nullable Object]) */
4793 void VIRTUAL_array__ArrayMapValues__init(val
* self
, val
* p0
) {
4794 short int var
/* : Bool */;
4797 const struct type
* type_struct
;
4798 const char* var_class_name
;
4799 { /* Inline array#ArrayMapValues#init (self,p0) on <self:Object(ArrayMapValues[Object, nullable Object])> */
4800 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
4801 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
4802 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapValues_FT0array__ArrayMapValues_FT1
];
4803 cltype
= type_struct
->color
;
4804 idtype
= type_struct
->id
;
4805 if(cltype
>= p0
->type
->table_size
) {
4808 var
= p0
->type
->type_table
[cltype
] == idtype
;
4810 if (unlikely(!var
)) {
4811 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4812 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapValues#0, ArrayMapValues#1]", var_class_name
);
4813 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 562);
4816 self
->attrs
[COLOR_array__ArrayMapValues___map
].val
= p0
; /* _map on <self:Object(ArrayMapValues[Object, nullable Object])> */
4821 /* method array#Iterator#to_a for (self: Iterator[nullable Object]): Array[nullable Object] */
4822 val
* array__Iterator__to_a(val
* self
) {
4823 val
* var
/* : Array[nullable Object] */;
4824 val
* var1
/* : Array[nullable Object] */;
4825 val
* var_res
/* var res: Array[nullable Object] */;
4826 short int var2
/* : Bool */;
4827 val
* var3
/* : nullable Object */;
4828 var1
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayabstract_collection__Iterator_FT0
]);
4830 array__Array__init(var1
); /* Direct call array#Array#init on <var1:Array[nullable Object]>*/
4835 var2
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(self
) /* is_ok on <self:Iterator[nullable Object]>*/;
4839 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(self
) /* item on <self:Iterator[nullable Object]>*/;
4842 array__Array__add(var_res
, var3
); /* Direct call array#Array#add on <var_res:Array[nullable Object]>*/
4845 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(self
) /* next on <self:Iterator[nullable Object]>*/;
4847 CONTINUE_label
: (void)0;
4849 BREAK_label
: (void)0;
4855 /* method array#Iterator#to_a for (self: Object): Array[nullable Object] */
4856 val
* VIRTUAL_array__Iterator__to_a(val
* self
) {
4857 val
* var
/* : Array[nullable Object] */;
4858 val
* var1
/* : Array[nullable Object] */;
4859 var1
= array__Iterator__to_a(self
);
4864 /* method array#Collection#to_a for (self: Collection[nullable Object]): Array[nullable Object] */
4865 val
* array__Collection__to_a(val
* self
) {
4866 val
* var
/* : Array[nullable Object] */;
4867 val
* var1
/* : Iterator[nullable Object] */;
4868 val
* var2
/* : Array[nullable Object] */;
4870 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
4873 var2
= array__Iterator__to_a(var1
);
4880 /* method array#Collection#to_a for (self: Object): Array[nullable Object] */
4881 val
* VIRTUAL_array__Collection__to_a(val
* self
) {
4882 val
* var
/* : Array[nullable Object] */;
4883 val
* var1
/* : Array[nullable Object] */;
4884 var1
= array__Collection__to_a(self
);
4889 /* method array#ArrayCapable#calloc_array for (self: ArrayCapable[nullable Object], Int): NativeArray[nullable Object] */
4890 val
* array__ArrayCapable__calloc_array(val
* self
, long p0
) {
4891 val
* var
/* : NativeArray[nullable Object] */;
4892 val
* var1
/* : NativeArray[nullable Object] */;
4893 var1
= NEW_array__NativeArray(p0
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
4899 /* method array#ArrayCapable#calloc_array for (self: Object, Int): NativeArray[nullable Object] */
4900 val
* VIRTUAL_array__ArrayCapable__calloc_array(val
* self
, long p0
) {
4901 val
* var
/* : NativeArray[nullable Object] */;
4902 val
* var1
/* : NativeArray[nullable Object] */;
4903 val
* var3
/* : NativeArray[nullable Object] */;
4904 { /* Inline array#ArrayCapable#calloc_array (self,p0) on <self:Object(ArrayCapable[nullable Object])> */
4905 var3
= NEW_array__NativeArray(p0
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
4914 /* method array#NativeArray#[] for (self: NativeArray[nullable Object], Int): nullable Object */
4915 val
* array__NativeArray___91d_93d(val
* self
, long p0
) {
4916 val
* var
/* : nullable Object */;
4917 val
* var1
/* : nullable Object */;
4918 var1
= ((struct instance_array__NativeArray
*)self
)->values
[p0
];
4924 /* method array#NativeArray#[] for (self: Object, Int): nullable Object */
4925 val
* VIRTUAL_array__NativeArray___91d_93d(val
* self
, long p0
) {
4926 val
* var
/* : nullable Object */;
4927 val
* var1
/* : nullable Object */;
4928 val
* var3
/* : nullable Object */;
4929 { /* Inline array#NativeArray#[] (self,p0) on <self:Object(NativeArray[nullable Object])> */
4930 var3
= ((struct instance_array__NativeArray
*)self
)->values
[p0
];
4939 /* method array#NativeArray#[]= for (self: NativeArray[nullable Object], Int, nullable Object) */
4940 void array__NativeArray___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
4941 short int var
/* : Bool */;
4944 const struct type
* type_struct
;
4945 short int is_nullable
;
4946 const char* var_class_name
;
4947 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa NativeArray#0 */
4948 /* <p1:nullable Object> isa NativeArray#0 */
4949 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
4950 cltype
= type_struct
->color
;
4951 idtype
= type_struct
->id
;
4952 is_nullable
= type_struct
->is_nullable
;
4956 if(cltype
>= p1
->type
->table_size
) {
4959 var
= p1
->type
->type_table
[cltype
] == idtype
;
4962 if (unlikely(!var
)) {
4963 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
4964 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray#0", var_class_name
);
4965 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 662);
4968 ((struct instance_array__NativeArray
*)self
)->values
[p0
]=p1
;
4971 /* method array#NativeArray#[]= for (self: Object, Int, nullable Object) */
4972 void VIRTUAL_array__NativeArray___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
4973 short int var
/* : Bool */;
4976 const struct type
* type_struct
;
4977 short int is_nullable
;
4978 const char* var_class_name
;
4979 { /* Inline array#NativeArray#[]= (self,p0,p1) on <self:Object(NativeArray[nullable Object])> */
4980 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa NativeArray#0 */
4981 /* <p1:nullable Object> isa NativeArray#0 */
4982 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
4983 cltype
= type_struct
->color
;
4984 idtype
= type_struct
->id
;
4985 is_nullable
= type_struct
->is_nullable
;
4989 if(cltype
>= p1
->type
->table_size
) {
4992 var
= p1
->type
->type_table
[cltype
] == idtype
;
4995 if (unlikely(!var
)) {
4996 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
4997 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray#0", var_class_name
);
4998 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 662);
5001 ((struct instance_array__NativeArray
*)self
)->values
[p0
]=p1
;
5006 /* method array#NativeArray#copy_to for (self: NativeArray[nullable Object], NativeArray[nullable Object], Int) */
5007 void array__NativeArray__copy_to(val
* self
, val
* p0
, long p1
) {
5008 short int var
/* : Bool */;
5011 const struct type
* type_struct
;
5012 const char* var_class_name
;
5013 /* Covariant cast for argument 0 (dest) <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5014 /* <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5015 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
5016 cltype
= type_struct
->color
;
5017 idtype
= type_struct
->id
;
5018 if(cltype
>= p0
->type
->table_size
) {
5021 var
= p0
->type
->type_table
[cltype
] == idtype
;
5023 if (unlikely(!var
)) {
5024 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5025 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[NativeArray#0]", var_class_name
);
5026 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 663);
5029 memcpy(((struct instance_array__NativeArray
*)p0
)->values
, ((struct instance_array__NativeArray
*)self
)->values
, p1
*sizeof(val
*));
5032 /* method array#NativeArray#copy_to for (self: Object, NativeArray[nullable Object], Int) */
5033 void VIRTUAL_array__NativeArray__copy_to(val
* self
, val
* p0
, long p1
) {
5034 short int var
/* : Bool */;
5037 const struct type
* type_struct
;
5038 const char* var_class_name
;
5039 { /* Inline array#NativeArray#copy_to (self,p0,p1) on <self:Object(NativeArray[nullable Object])> */
5040 /* Covariant cast for argument 0 (dest) <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5041 /* <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5042 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
5043 cltype
= type_struct
->color
;
5044 idtype
= type_struct
->id
;
5045 if(cltype
>= p0
->type
->table_size
) {
5048 var
= p0
->type
->type_table
[cltype
] == idtype
;
5050 if (unlikely(!var
)) {
5051 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5052 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[NativeArray#0]", var_class_name
);
5053 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/array.nit", 663);
5056 memcpy(((struct instance_array__NativeArray
*)p0
)->values
, ((struct instance_array__NativeArray
*)self
)->values
, p1
*sizeof(val
*));