1 #include "array.sep.0.h"
2 /* method array#AbstractArrayRead#length for (self: AbstractArrayRead[nullable Object]): Int */
3 long array__AbstractArrayRead__length(val
* self
) {
6 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
11 /* method array#AbstractArrayRead#length for (self: Object): Int */
12 long VIRTUAL_array__AbstractArrayRead__length(val
* self
) {
14 long var1
/* : Int */;
15 var1
= array__AbstractArrayRead__length(self
);
20 /* method array#AbstractArrayRead#is_empty for (self: AbstractArrayRead[nullable Object]): Bool */
21 short int array__AbstractArrayRead__is_empty(val
* self
) {
22 short int var
/* : Bool */;
23 long var1
/* : Int */;
24 long var2
/* : Int */;
25 short int var3
/* : Bool */;
26 short int var5
/* : Bool */;
27 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
29 { /* Inline kernel#Int#== (var1,var2) */
40 /* method array#AbstractArrayRead#is_empty for (self: Object): Bool */
41 short int VIRTUAL_array__AbstractArrayRead__is_empty(val
* self
) {
42 short int var
/* : Bool */;
43 short int var1
/* : Bool */;
44 var1
= array__AbstractArrayRead__is_empty(self
);
49 /* method array#AbstractArrayRead#has for (self: AbstractArrayRead[nullable Object], nullable Object): Bool */
50 short int array__AbstractArrayRead__has(val
* self
, val
* p0
) {
51 short int var
/* : Bool */;
52 short int var1
/* : Bool */;
55 const struct type
* type_struct
;
56 short int is_nullable
;
57 const char* var_class_name
;
58 val
* var_item
/* var item: nullable Object */;
59 long var2
/* : Int */;
60 long var_i
/* var i: Int */;
61 long var3
/* : Int */;
62 long var_l
/* var l: Int */;
63 short int var4
/* : Bool */;
64 short int var6
/* : Bool */;
67 const char* var_class_name9
;
68 short int var10
/* : Bool */;
69 val
* var11
/* : nullable Object */;
70 short int var12
/* : Bool */;
71 short int var13
/* : Bool */;
72 long var14
/* : Int */;
73 long var15
/* : Int */;
74 long var17
/* : Int */;
75 short int var18
/* : Bool */;
76 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
77 /* <p0:nullable Object> isa Collection#0 */
78 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
79 cltype
= type_struct
->color
;
80 idtype
= type_struct
->id
;
81 is_nullable
= type_struct
->is_nullable
;
85 if(cltype
>= p0
->type
->table_size
) {
88 var1
= p0
->type
->type_table
[cltype
] == idtype
;
92 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
93 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
94 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 28);
100 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
103 { /* Inline kernel#Int#< (var_i,var_l) */
104 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
105 /* <var_l:Int> isa OTHER */
106 var6
= 1; /* easy <var_l:Int> isa OTHER*/
108 var_class_name9
= type_kernel__Int
.name
;
109 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
110 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
113 var10
= var_i
< var_l
;
119 var11
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
121 var12
= (var_item
== NULL
);
123 var12
= ((short int (*)(val
*, val
*))(var11
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var11
, var_item
) /* == on <var11:nullable Object>*/;
132 { /* Inline kernel#Int#+ (var_i,var14) */
133 var17
= var_i
+ var14
;
139 CONTINUE_label
: (void)0;
141 BREAK_label
: (void)0;
148 /* method array#AbstractArrayRead#has for (self: Object, nullable Object): Bool */
149 short int VIRTUAL_array__AbstractArrayRead__has(val
* self
, val
* p0
) {
150 short int var
/* : Bool */;
151 short int var1
/* : Bool */;
152 var1
= array__AbstractArrayRead__has(self
, p0
);
157 /* method array#AbstractArrayRead#has_only for (self: AbstractArrayRead[nullable Object], nullable Object): Bool */
158 short int array__AbstractArrayRead__has_only(val
* self
, val
* p0
) {
159 short int var
/* : Bool */;
160 short int var1
/* : Bool */;
163 const struct type
* type_struct
;
164 short int is_nullable
;
165 const char* var_class_name
;
166 val
* var_item
/* var item: nullable Object */;
167 long var2
/* : Int */;
168 long var_i
/* var i: Int */;
169 long var3
/* : Int */;
170 long var_l
/* var l: Int */;
171 short int var4
/* : Bool */;
172 short int var6
/* : Bool */;
175 const char* var_class_name9
;
176 short int var10
/* : Bool */;
177 val
* var11
/* : nullable Object */;
178 short int var12
/* : Bool */;
179 short int var13
/* : Bool */;
180 long var14
/* : Int */;
181 long var15
/* : Int */;
182 long var17
/* : Int */;
183 short int var18
/* : Bool */;
184 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
185 /* <p0:nullable Object> isa Collection#0 */
186 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
187 cltype
= type_struct
->color
;
188 idtype
= type_struct
->id
;
189 is_nullable
= type_struct
->is_nullable
;
193 if(cltype
>= p0
->type
->table_size
) {
196 var1
= p0
->type
->type_table
[cltype
] == idtype
;
200 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
201 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
202 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 39);
208 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
211 { /* Inline kernel#Int#< (var_i,var_l) */
212 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
213 /* <var_l:Int> isa OTHER */
214 var6
= 1; /* easy <var_l:Int> isa OTHER*/
216 var_class_name9
= type_kernel__Int
.name
;
217 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
218 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
221 var10
= var_i
< var_l
;
227 var11
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
229 var12
= (var_item
!= NULL
);
231 var12
= ((short int (*)(val
*, val
*))(var11
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var11
, var_item
) /* != on <var11:nullable Object>*/;
240 { /* Inline kernel#Int#+ (var_i,var14) */
241 var17
= var_i
+ var14
;
247 CONTINUE_label
: (void)0;
249 BREAK_label
: (void)0;
256 /* method array#AbstractArrayRead#has_only for (self: Object, nullable Object): Bool */
257 short int VIRTUAL_array__AbstractArrayRead__has_only(val
* self
, val
* p0
) {
258 short int var
/* : Bool */;
259 short int var1
/* : Bool */;
260 var1
= array__AbstractArrayRead__has_only(self
, p0
);
265 /* method array#AbstractArrayRead#count for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
266 long array__AbstractArrayRead__count(val
* self
, val
* p0
) {
267 long var
/* : Int */;
268 short int var1
/* : Bool */;
271 const struct type
* type_struct
;
272 short int is_nullable
;
273 const char* var_class_name
;
274 val
* var_item
/* var item: nullable Object */;
275 long var2
/* : Int */;
276 long var_res
/* var res: Int */;
277 long var3
/* : Int */;
278 long var_i
/* var i: Int */;
279 long var4
/* : Int */;
280 long var_l
/* var l: Int */;
281 short int var5
/* : Bool */;
282 short int var7
/* : Bool */;
285 const char* var_class_name10
;
286 short int var11
/* : Bool */;
287 val
* var12
/* : nullable Object */;
288 short int var13
/* : Bool */;
289 long var14
/* : Int */;
290 long var15
/* : Int */;
291 long var17
/* : Int */;
292 long var18
/* : Int */;
293 long var19
/* : Int */;
294 long var21
/* : Int */;
295 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
296 /* <p0:nullable Object> isa Collection#0 */
297 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
298 cltype
= type_struct
->color
;
299 idtype
= type_struct
->id
;
300 is_nullable
= type_struct
->is_nullable
;
304 if(cltype
>= p0
->type
->table_size
) {
307 var1
= p0
->type
->type_table
[cltype
] == idtype
;
311 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
312 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
313 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 50);
321 var4
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
324 { /* Inline kernel#Int#< (var_i,var_l) */
325 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
326 /* <var_l:Int> isa OTHER */
327 var7
= 1; /* easy <var_l:Int> isa OTHER*/
329 var_class_name10
= type_kernel__Int
.name
;
330 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
331 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
334 var11
= var_i
< var_l
;
340 var12
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
342 var13
= (var_item
== NULL
);
344 var13
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var12
, var_item
) /* == on <var12:nullable Object>*/;
348 { /* Inline kernel#Int#+ (var_res,var14) */
349 var17
= var_res
+ var14
;
358 { /* Inline kernel#Int#+ (var_i,var18) */
359 var21
= var_i
+ var18
;
365 CONTINUE_label
: (void)0;
367 BREAK_label
: (void)0;
373 /* method array#AbstractArrayRead#count for (self: Object, nullable Object): Int */
374 long VIRTUAL_array__AbstractArrayRead__count(val
* self
, val
* p0
) {
375 long var
/* : Int */;
376 long var1
/* : Int */;
377 var1
= array__AbstractArrayRead__count(self
, p0
);
382 /* method array#AbstractArrayRead#index_of for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
383 long array__AbstractArrayRead__index_of(val
* self
, val
* p0
) {
384 long var
/* : Int */;
385 short int var1
/* : Bool */;
388 const struct type
* type_struct
;
389 short int is_nullable
;
390 const char* var_class_name
;
391 val
* var_item
/* var item: nullable Object */;
392 long var2
/* : Int */;
393 long var3
/* : Int */;
394 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa SequenceRead#0 */
395 /* <p0:nullable Object> isa SequenceRead#0 */
396 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SequenceRead_FT0
];
397 cltype
= type_struct
->color
;
398 idtype
= type_struct
->id
;
399 is_nullable
= type_struct
->is_nullable
;
403 if(cltype
>= p0
->type
->table_size
) {
406 var1
= p0
->type
->type_table
[cltype
] == idtype
;
410 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
411 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SequenceRead#0", var_class_name
);
412 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 62);
417 var3
= ((long (*)(val
*, val
*, long))(self
->class->vft
[COLOR_array__AbstractArrayRead__index_of_from
]))(self
, var_item
, var2
) /* index_of_from on <self:AbstractArrayRead[nullable Object]>*/;
423 /* method array#AbstractArrayRead#index_of for (self: Object, nullable Object): Int */
424 long VIRTUAL_array__AbstractArrayRead__index_of(val
* self
, val
* p0
) {
425 long var
/* : Int */;
426 long var1
/* : Int */;
427 var1
= array__AbstractArrayRead__index_of(self
, p0
);
432 /* method array#AbstractArrayRead#last_index_of for (self: AbstractArrayRead[nullable Object], nullable Object): Int */
433 long array__AbstractArrayRead__last_index_of(val
* self
, val
* p0
) {
434 long var
/* : Int */;
435 short int var1
/* : Bool */;
438 const struct type
* type_struct
;
439 short int is_nullable
;
440 const char* var_class_name
;
441 val
* var_item
/* var item: nullable Object */;
442 long var2
/* : Int */;
443 long var3
/* : Int */;
444 long var4
/* : Int */;
445 long var6
/* : Int */;
446 long var7
/* : Int */;
447 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa AbstractArrayRead#0 */
448 /* <p0:nullable Object> isa AbstractArrayRead#0 */
449 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
450 cltype
= type_struct
->color
;
451 idtype
= type_struct
->id
;
452 is_nullable
= type_struct
->is_nullable
;
456 if(cltype
>= p0
->type
->table_size
) {
459 var1
= p0
->type
->type_table
[cltype
] == idtype
;
463 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
464 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArrayRead#0", var_class_name
);
465 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 64);
469 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
471 { /* Inline kernel#Int#- (var2,var3) */
477 var7
= ((long (*)(val
*, val
*, long))(self
->class->vft
[COLOR_array__AbstractArrayRead__last_index_of_from
]))(self
, var_item
, var4
) /* last_index_of_from on <self:AbstractArrayRead[nullable Object]>*/;
483 /* method array#AbstractArrayRead#last_index_of for (self: Object, nullable Object): Int */
484 long VIRTUAL_array__AbstractArrayRead__last_index_of(val
* self
, val
* p0
) {
485 long var
/* : Int */;
486 long var1
/* : Int */;
487 var1
= array__AbstractArrayRead__last_index_of(self
, p0
);
492 /* method array#AbstractArrayRead#index_of_from for (self: AbstractArrayRead[nullable Object], nullable Object, Int): Int */
493 long array__AbstractArrayRead__index_of_from(val
* self
, val
* p0
, long p1
) {
494 long var
/* : Int */;
495 short int var1
/* : Bool */;
498 const struct type
* type_struct
;
499 short int is_nullable
;
500 const char* var_class_name
;
501 val
* var_item
/* var item: nullable Object */;
502 long var_pos
/* var pos: Int */;
503 long var_i
/* var i: Int */;
504 long var2
/* : Int */;
505 long var_len
/* var len: Int */;
506 short int var3
/* : Bool */;
507 short int var5
/* : Bool */;
510 const char* var_class_name8
;
511 short int var9
/* : Bool */;
512 val
* var10
/* : nullable Object */;
513 short int var11
/* : Bool */;
514 long var12
/* : Int */;
515 long var13
/* : Int */;
516 long var15
/* : Int */;
517 long var16
/* : Int */;
518 long var17
/* : Int */;
519 long var19
/* : Int */;
520 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa AbstractArrayRead#0 */
521 /* <p0:nullable Object> isa AbstractArrayRead#0 */
522 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
523 cltype
= type_struct
->color
;
524 idtype
= type_struct
->id
;
525 is_nullable
= type_struct
->is_nullable
;
529 if(cltype
>= p0
->type
->table_size
) {
532 var1
= p0
->type
->type_table
[cltype
] == idtype
;
536 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
537 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArrayRead#0", var_class_name
);
538 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 68);
544 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
547 { /* Inline kernel#Int#< (var_i,var_len) */
548 /* Covariant cast for argument 0 (i) <var_len:Int> isa OTHER */
549 /* <var_len:Int> isa OTHER */
550 var5
= 1; /* easy <var_len:Int> isa OTHER*/
552 var_class_name8
= type_kernel__Int
.name
;
553 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
554 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
557 var9
= var_i
< var_len
;
563 var10
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
565 var11
= (var_item
== NULL
);
567 var11
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var_item
) /* == on <var10:nullable Object>*/;
575 { /* Inline kernel#Int#+ (var_i,var12) */
576 var15
= var_i
+ var12
;
582 CONTINUE_label
: (void)0;
584 BREAK_label
: (void)0;
586 { /* Inline kernel#Int#unary - (var16) */
597 /* method array#AbstractArrayRead#index_of_from for (self: Object, nullable Object, Int): Int */
598 long VIRTUAL_array__AbstractArrayRead__index_of_from(val
* self
, val
* p0
, long p1
) {
599 long var
/* : Int */;
600 long var1
/* : Int */;
601 var1
= array__AbstractArrayRead__index_of_from(self
, p0
, p1
);
606 /* method array#AbstractArrayRead#last_index_of_from for (self: AbstractArrayRead[nullable Object], nullable Object, Int): Int */
607 long array__AbstractArrayRead__last_index_of_from(val
* self
, val
* p0
, long p1
) {
608 long var
/* : Int */;
609 short int var1
/* : Bool */;
612 const struct type
* type_struct
;
613 short int is_nullable
;
614 const char* var_class_name
;
615 val
* var_item
/* var item: nullable Object */;
616 long var_pos
/* var pos: Int */;
617 long var_i
/* var i: Int */;
618 long var2
/* : Int */;
619 short int var3
/* : Bool */;
620 short int var5
/* : Bool */;
623 const char* var_class_name8
;
624 short int var9
/* : Bool */;
625 val
* var10
/* : nullable Object */;
626 short int var11
/* : Bool */;
627 long var12
/* : Int */;
628 long var13
/* : Int */;
629 long var15
/* : Int */;
630 long var16
/* : Int */;
631 long var17
/* : Int */;
632 long var19
/* : Int */;
633 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa AbstractArrayRead#0 */
634 /* <p0:nullable Object> isa AbstractArrayRead#0 */
635 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayRead_FT0
];
636 cltype
= type_struct
->color
;
637 idtype
= type_struct
->id
;
638 is_nullable
= type_struct
->is_nullable
;
642 if(cltype
>= p0
->type
->table_size
) {
645 var1
= p0
->type
->type_table
[cltype
] == idtype
;
649 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
650 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArrayRead#0", var_class_name
);
651 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 83);
659 { /* Inline kernel#Int#>= (var_i,var2) */
660 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
661 /* <var2:Int> isa OTHER */
662 var5
= 1; /* easy <var2:Int> isa OTHER*/
664 var_class_name8
= type_kernel__Int
.name
;
665 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
666 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
669 var9
= var_i
>= var2
;
675 var10
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
677 var11
= (var_item
== NULL
);
679 var11
= ((short int (*)(val
*, val
*))(var10
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var10
, var_item
) /* == on <var10:nullable Object>*/;
686 { /* Inline kernel#Int#- (var_i,var12) */
687 var15
= var_i
- var12
;
694 CONTINUE_label
: (void)0;
696 BREAK_label
: (void)0;
698 { /* Inline kernel#Int#unary - (var16) */
709 /* method array#AbstractArrayRead#last_index_of_from for (self: Object, nullable Object, Int): Int */
710 long VIRTUAL_array__AbstractArrayRead__last_index_of_from(val
* self
, val
* p0
, long p1
) {
711 long var
/* : Int */;
712 long var1
/* : Int */;
713 var1
= array__AbstractArrayRead__last_index_of_from(self
, p0
, p1
);
718 /* method array#AbstractArrayRead#reversed for (self: AbstractArrayRead[nullable Object]): Array[nullable Object] */
719 val
* array__AbstractArrayRead__reversed(val
* self
) {
720 val
* var
/* : Array[nullable Object] */;
721 long var1
/* : Int */;
722 long var_cmp
/* var cmp: Int */;
723 val
* var2
/* : Array[nullable Object] */;
724 val
* var_result
/* var result: Array[nullable Object] */;
725 long var3
/* : Int */;
726 short int var4
/* : Bool */;
727 short int var6
/* : Bool */;
730 const char* var_class_name
;
731 short int var7
/* : Bool */;
732 long var8
/* : Int */;
733 long var9
/* : Int */;
734 long var11
/* : Int */;
735 val
* var12
/* : nullable Object */;
736 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractArrayRead[nullable Object]> */
738 var2
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__AbstractArrayRead_FT0
]);
739 ((void (*)(val
*, long))(var2
->class->vft
[COLOR_array__Array__with_capacity
]))(var2
, var_cmp
) /* with_capacity on <var2:Array[nullable Object]>*/;
743 { /* Inline kernel#Int#> (var_cmp,var3) */
744 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
745 /* <var3:Int> isa OTHER */
746 var6
= 1; /* easy <var3:Int> isa OTHER*/
748 var_class_name
= type_kernel__Int
.name
;
749 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
750 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
753 var7
= var_cmp
> var3
;
760 { /* Inline kernel#Int#- (var_cmp,var8) */
761 var11
= var_cmp
- var8
;
767 var12
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_cmp
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
768 ((void (*)(val
*, val
*))(var_result
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_result
, var12
) /* add on <var_result:Array[nullable Object]>*/;
769 CONTINUE_label
: (void)0;
771 BREAK_label
: (void)0;
777 /* method array#AbstractArrayRead#reversed for (self: Object): Array[nullable Object] */
778 val
* VIRTUAL_array__AbstractArrayRead__reversed(val
* self
) {
779 val
* var
/* : Array[nullable Object] */;
780 val
* var1
/* : Array[nullable Object] */;
781 var1
= array__AbstractArrayRead__reversed(self
);
786 /* method array#AbstractArrayRead#copy_to for (self: AbstractArrayRead[nullable Object], Int, Int, AbstractArray[nullable Object], Int) */
787 void array__AbstractArrayRead__copy_to(val
* self
, long p0
, long p1
, val
* p2
, long p3
) {
788 short int var
/* : Bool */;
791 const struct type
* type_struct
;
792 const char* var_class_name
;
793 long var_start
/* var start: Int */;
794 long var_len
/* var len: Int */;
795 val
* var_dest
/* var dest: AbstractArray[nullable Object] */;
796 long var_new_start
/* var new_start: Int */;
797 long var_i
/* var i: Int */;
798 long var1
/* : Int */;
799 short int var2
/* : Bool */;
800 short int var4
/* : Bool */;
803 const char* var_class_name7
;
804 short int var8
/* : Bool */;
805 long var9
/* : Int */;
806 long var10
/* : Int */;
807 long var12
/* : Int */;
808 long var13
/* : Int */;
809 long var15
/* : Int */;
810 long var16
/* : Int */;
811 long var18
/* : Int */;
812 val
* var19
/* : nullable Object */;
813 /* Covariant cast for argument 2 (dest) <p2:AbstractArray[nullable Object]> isa AbstractArray[AbstractArrayRead#0] */
814 /* <p2:AbstractArray[nullable Object]> isa AbstractArray[AbstractArrayRead#0] */
815 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayarray__AbstractArrayRead_FT0
];
816 cltype
= type_struct
->color
;
817 idtype
= type_struct
->id
;
818 if(cltype
>= p2
->type
->table_size
) {
821 var
= p2
->type
->type_table
[cltype
] == idtype
;
824 var_class_name
= p2
== NULL ?
"null" : p2
->type
->name
;
825 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArray[AbstractArrayRead#0]", var_class_name
);
826 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 112);
836 { /* Inline kernel#Int#> (var_i,var1) */
837 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
838 /* <var1:Int> isa OTHER */
839 var4
= 1; /* easy <var1:Int> isa OTHER*/
841 var_class_name7
= type_kernel__Int
.name
;
842 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7
);
843 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
853 { /* Inline kernel#Int#- (var_i,var9) */
854 var12
= var_i
- var9
;
860 { /* Inline kernel#Int#+ (var_new_start,var_i) */
861 var15
= var_new_start
+ var_i
;
866 { /* Inline kernel#Int#+ (var_start,var_i) */
867 var18
= var_start
+ var_i
;
872 var19
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var16
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
873 ((void (*)(val
*, long, val
*))(var_dest
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_dest
, var13
, var19
) /* []= on <var_dest:AbstractArray[nullable Object]>*/;
874 CONTINUE_label
: (void)0;
876 BREAK_label
: (void)0;
879 /* method array#AbstractArrayRead#copy_to for (self: Object, Int, Int, AbstractArray[nullable Object], Int) */
880 void VIRTUAL_array__AbstractArrayRead__copy_to(val
* self
, long p0
, long p1
, val
* p2
, long p3
) {
881 array__AbstractArrayRead__copy_to(self
, p0
, p1
, p2
, p3
);
884 /* method array#AbstractArrayRead#output for (self: AbstractArrayRead[nullable Object]) */
885 void array__AbstractArrayRead__output(val
* self
) {
886 long var
/* : Int */;
887 long var_i
/* var i: Int */;
888 long var1
/* : Int */;
889 long var_l
/* var l: Int */;
890 short int var2
/* : Bool */;
891 short int var4
/* : Bool */;
894 const char* var_class_name
;
895 short int var5
/* : Bool */;
896 val
* var6
/* : nullable Object */;
897 val
* var_e
/* var e: nullable Object */;
898 val
* var7
/* : null */;
899 short int var8
/* : Bool */;
900 long var9
/* : Int */;
901 long var10
/* : Int */;
902 long var12
/* : Int */;
905 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArrayRead[nullable Object]>*/;
908 { /* Inline kernel#Int#< (var_i,var_l) */
909 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
910 /* <var_l:Int> isa OTHER */
911 var4
= 1; /* easy <var_l:Int> isa OTHER*/
913 var_class_name
= type_kernel__Int
.name
;
914 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
915 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
918 var5
= var_i
< var_l
;
924 var6
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArrayRead[nullable Object]>*/;
928 var8
= 0; /* is null */
930 var8
= 1; /* arg is null and recv is not */
934 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
935 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 134);
938 ((void (*)(val
*))(var_e
->class->vft
[COLOR_kernel__Object__output
]))(var_e
) /* output on <var_e:nullable Object>*/;
943 { /* Inline kernel#Int#+ (var_i,var9) */
944 var12
= var_i
+ var9
;
950 CONTINUE_label
: (void)0;
952 BREAK_label
: (void)0;
955 /* method array#AbstractArrayRead#output for (self: Object) */
956 void VIRTUAL_array__AbstractArrayRead__output(val
* self
) {
957 array__AbstractArrayRead__output(self
);
960 /* method array#AbstractArrayRead#iterator for (self: AbstractArrayRead[nullable Object]): ArrayIterator[nullable Object] */
961 val
* array__AbstractArrayRead__iterator(val
* self
) {
962 val
* var
/* : ArrayIterator[nullable Object] */;
963 val
* var1
/* : ArrayIterator[nullable Object] */;
964 var1
= NEW_array__ArrayIterator(self
->type
->resolution_table
->types
[COLOR_array__ArrayIteratorarray__AbstractArrayRead_FT0
]);
965 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_array__ArrayIterator__init
]))(var1
, self
) /* init on <var1:ArrayIterator[nullable Object]>*/;
971 /* method array#AbstractArrayRead#iterator for (self: Object): Iterator[nullable Object] */
972 val
* VIRTUAL_array__AbstractArrayRead__iterator(val
* self
) {
973 val
* var
/* : Iterator[nullable Object] */;
974 val
* var1
/* : ArrayIterator[nullable Object] */;
975 var1
= array__AbstractArrayRead__iterator(self
);
980 /* method array#AbstractArrayRead#init for (self: AbstractArrayRead[nullable Object]) */
981 void array__AbstractArrayRead__init(val
* self
) {
984 /* method array#AbstractArrayRead#init for (self: Object) */
985 void VIRTUAL_array__AbstractArrayRead__init(val
* self
) {
986 array__AbstractArrayRead__init(self
);
989 /* method array#AbstractArray#enlarge for (self: AbstractArray[nullable Object], Int) */
990 void array__AbstractArray__enlarge(val
* self
, long p0
) {
991 const char* var_class_name
;
992 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
993 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "enlarge", var_class_name
);
994 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 147);
998 /* method array#AbstractArray#enlarge for (self: Object, Int) */
999 void VIRTUAL_array__AbstractArray__enlarge(val
* self
, long p0
) {
1000 array__AbstractArray__enlarge(self
, p0
);
1003 /* method array#AbstractArray#push for (self: AbstractArray[nullable Object], nullable Object) */
1004 void array__AbstractArray__push(val
* self
, val
* p0
) {
1005 short int var
/* : Bool */;
1008 const struct type
* type_struct
;
1009 short int is_nullable
;
1010 const char* var_class_name
;
1011 val
* var_item
/* var item: nullable Object */;
1012 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Sequence#0 */
1013 /* <p0:nullable Object> isa Sequence#0 */
1014 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
1015 cltype
= type_struct
->color
;
1016 idtype
= type_struct
->id
;
1017 is_nullable
= type_struct
->is_nullable
;
1021 if(cltype
>= p0
->type
->table_size
) {
1024 var
= p0
->type
->type_table
[cltype
] == idtype
;
1028 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1029 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
1030 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 152);
1034 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(self
, var_item
) /* add on <self:AbstractArray[nullable Object]>*/;
1037 /* method array#AbstractArray#push for (self: Object, nullable Object) */
1038 void VIRTUAL_array__AbstractArray__push(val
* self
, val
* p0
) {
1039 array__AbstractArray__push(self
, p0
);
1042 /* method array#AbstractArray#pop for (self: AbstractArray[nullable Object]): nullable Object */
1043 val
* array__AbstractArray__pop(val
* self
) {
1044 val
* var
/* : nullable Object */;
1045 short int var1
/* : Bool */;
1046 short int var2
/* : Bool */;
1047 val
* var3
/* : nullable Object */;
1048 val
* var_r
/* var r: nullable Object */;
1049 val
* var_
/* var : AbstractArray[nullable Object] */;
1050 long var4
/* : Int */;
1051 long var5
/* : Int */;
1052 long var6
/* : Int */;
1053 long var8
/* : Int */;
1054 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:AbstractArray[nullable Object]>*/;
1057 fprintf(stderr
, "Runtime error: %s", "Assert \'not_empty\' failed");
1058 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 156);
1061 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(self
) /* last on <self:AbstractArray[nullable Object]>*/;
1064 var4
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:AbstractArray[nullable Object]> */
1066 { /* Inline kernel#Int#- (var4,var5) */
1072 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var6
; /* _length on <var_:AbstractArray[nullable Object]> */
1078 /* method array#AbstractArray#pop for (self: Object): nullable Object */
1079 val
* VIRTUAL_array__AbstractArray__pop(val
* self
) {
1080 val
* var
/* : nullable Object */;
1081 val
* var1
/* : nullable Object */;
1082 var1
= array__AbstractArray__pop(self
);
1087 /* method array#AbstractArray#shift for (self: AbstractArray[nullable Object]): nullable Object */
1088 val
* array__AbstractArray__shift(val
* self
) {
1089 val
* var
/* : nullable Object */;
1090 short int var1
/* : Bool */;
1091 short int var2
/* : Bool */;
1092 val
* var3
/* : nullable Object */;
1093 val
* var_r
/* var r: nullable Object */;
1094 long var4
/* : Int */;
1095 long var_i
/* var i: Int */;
1096 long var5
/* : Int */;
1097 long var_l
/* var l: Int */;
1098 short int var6
/* : Bool */;
1099 short int var8
/* : Bool */;
1102 const char* var_class_name
;
1103 short int var9
/* : Bool */;
1104 long var10
/* : Int */;
1105 long var11
/* : Int */;
1106 long var13
/* : Int */;
1107 val
* var14
/* : nullable Object */;
1108 long var15
/* : Int */;
1109 long var16
/* : Int */;
1110 long var18
/* : Int */;
1111 long var19
/* : Int */;
1112 long var20
/* : Int */;
1113 long var22
/* : Int */;
1114 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:AbstractArray[nullable Object]>*/;
1117 fprintf(stderr
, "Runtime error: %s", "Assert \'not_empty\' failed");
1118 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 164);
1121 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__first
]))(self
) /* first on <self:AbstractArray[nullable Object]>*/;
1125 var5
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1128 { /* Inline kernel#Int#< (var_i,var_l) */
1129 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1130 /* <var_l:Int> isa OTHER */
1131 var8
= 1; /* easy <var_l:Int> isa OTHER*/
1133 var_class_name
= type_kernel__Int
.name
;
1134 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1135 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
1138 var9
= var_i
< var_l
;
1145 { /* Inline kernel#Int#- (var_i,var10) */
1146 var13
= var_i
- var10
;
1149 RET_LABEL12
:(void)0;
1151 var14
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArray[nullable Object]>*/;
1152 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var11
, var14
) /* []= on <self:AbstractArray[nullable Object]>*/;
1154 { /* Inline kernel#Int#+ (var_i,var15) */
1155 var18
= var_i
+ var15
;
1158 RET_LABEL17
:(void)0;
1161 CONTINUE_label
: (void)0;
1163 BREAK_label
: (void)0;
1165 { /* Inline kernel#Int#- (var_l,var19) */
1166 var22
= var_l
- var19
;
1169 RET_LABEL21
:(void)0;
1171 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var20
; /* _length on <self:AbstractArray[nullable Object]> */
1177 /* method array#AbstractArray#shift for (self: Object): nullable Object */
1178 val
* VIRTUAL_array__AbstractArray__shift(val
* self
) {
1179 val
* var
/* : nullable Object */;
1180 val
* var1
/* : nullable Object */;
1181 var1
= array__AbstractArray__shift(self
);
1186 /* method array#AbstractArray#unshift for (self: AbstractArray[nullable Object], nullable Object) */
1187 void array__AbstractArray__unshift(val
* self
, val
* p0
) {
1188 short int var
/* : Bool */;
1191 const struct type
* type_struct
;
1192 short int is_nullable
;
1193 const char* var_class_name
;
1194 val
* var_item
/* var item: nullable Object */;
1195 long var1
/* : Int */;
1196 long var2
/* : Int */;
1197 long var3
/* : Int */;
1198 long var5
/* : Int */;
1199 long var_i
/* var i: Int */;
1200 long var6
/* : Int */;
1201 short int var7
/* : Bool */;
1202 short int var9
/* : Bool */;
1205 const char* var_class_name12
;
1206 short int var13
/* : Bool */;
1207 long var14
/* : Int */;
1208 long var15
/* : Int */;
1209 long var17
/* : Int */;
1210 val
* var18
/* : nullable Object */;
1211 long var19
/* : Int */;
1212 long var20
/* : Int */;
1213 long var22
/* : Int */;
1214 long var23
/* : Int */;
1215 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Sequence#0 */
1216 /* <p0:nullable Object> isa Sequence#0 */
1217 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
1218 cltype
= type_struct
->color
;
1219 idtype
= type_struct
->id
;
1220 is_nullable
= type_struct
->is_nullable
;
1224 if(cltype
>= p0
->type
->table_size
) {
1227 var
= p0
->type
->type_table
[cltype
] == idtype
;
1231 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1232 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
1233 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 176);
1237 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1239 { /* Inline kernel#Int#- (var1,var2) */
1248 { /* Inline kernel#Int#> (var_i,var6) */
1249 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
1250 /* <var6:Int> isa OTHER */
1251 var9
= 1; /* easy <var6:Int> isa OTHER*/
1253 var_class_name12
= type_kernel__Int
.name
;
1254 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
1255 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
1258 var13
= var_i
> var6
;
1265 { /* Inline kernel#Int#+ (var_i,var14) */
1266 var17
= var_i
+ var14
;
1269 RET_LABEL16
:(void)0;
1271 var18
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:AbstractArray[nullable Object]>*/;
1272 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var15
, var18
) /* []= on <self:AbstractArray[nullable Object]>*/;
1274 { /* Inline kernel#Int#- (var_i,var19) */
1275 var22
= var_i
- var19
;
1278 RET_LABEL21
:(void)0;
1281 CONTINUE_label
: (void)0;
1283 BREAK_label
: (void)0;
1285 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var23
, var_item
) /* []= on <self:AbstractArray[nullable Object]>*/;
1288 /* method array#AbstractArray#unshift for (self: Object, nullable Object) */
1289 void VIRTUAL_array__AbstractArray__unshift(val
* self
, val
* p0
) {
1290 array__AbstractArray__unshift(self
, p0
);
1293 /* method array#AbstractArray#insert for (self: AbstractArray[nullable Object], nullable Object, Int) */
1294 void array__AbstractArray__insert(val
* self
, val
* p0
, long p1
) {
1295 short int var
/* : Bool */;
1298 const struct type
* type_struct
;
1299 short int is_nullable
;
1300 const char* var_class_name
;
1301 val
* var_item
/* var item: nullable Object */;
1302 long var_pos
/* var pos: Int */;
1303 long var1
/* : Int */;
1304 long var2
/* : Int */;
1305 long var3
/* : Int */;
1306 long var5
/* : Int */;
1307 long var6
/* : Int */;
1308 long var7
/* : Int */;
1309 long var9
/* : Int */;
1310 long var10
/* : Int */;
1311 long var11
/* : Int */;
1312 long var13
/* : Int */;
1313 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa AbstractArray#0 */
1314 /* <p0:nullable Object> isa AbstractArray#0 */
1315 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArray_FT0
];
1316 cltype
= type_struct
->color
;
1317 idtype
= type_struct
->id
;
1318 is_nullable
= type_struct
->is_nullable
;
1322 if(cltype
>= p0
->type
->table_size
) {
1325 var
= p0
->type
->type_table
[cltype
] == idtype
;
1329 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1330 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArray#0", var_class_name
);
1331 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 186);
1336 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1338 { /* Inline kernel#Int#+ (var1,var2) */
1344 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var3
) /* enlarge on <self:AbstractArray[nullable Object]>*/;
1345 var6
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1346 { /* Inline kernel#Int#- (var6,var_pos) */
1347 var9
= var6
- var_pos
;
1353 { /* Inline kernel#Int#+ (var_pos,var10) */
1354 var13
= var_pos
+ var10
;
1357 RET_LABEL12
:(void)0;
1359 ((void (*)(val
*, long, long, val
*, long))(self
->class->vft
[COLOR_array__AbstractArrayRead__copy_to
]))(self
, var_pos
, var7
, self
, var11
) /* copy_to on <self:AbstractArray[nullable Object]>*/;
1360 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_pos
, var_item
) /* []= on <self:AbstractArray[nullable Object]>*/;
1363 /* method array#AbstractArray#insert for (self: Object, nullable Object, Int) */
1364 void VIRTUAL_array__AbstractArray__insert(val
* self
, val
* p0
, long p1
) {
1365 array__AbstractArray__insert(self
, p0
, p1
);
1368 /* method array#AbstractArray#add for (self: AbstractArray[nullable Object], nullable Object) */
1369 void array__AbstractArray__add(val
* self
, val
* p0
) {
1370 short int var
/* : Bool */;
1373 const struct type
* type_struct
;
1374 short int is_nullable
;
1375 const char* var_class_name
;
1376 val
* var_item
/* var item: nullable Object */;
1377 long var1
/* : Int */;
1378 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa SimpleCollection#0 */
1379 /* <p0:nullable Object> isa SimpleCollection#0 */
1380 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SimpleCollection_FT0
];
1381 cltype
= type_struct
->color
;
1382 idtype
= type_struct
->id
;
1383 is_nullable
= type_struct
->is_nullable
;
1387 if(cltype
>= p0
->type
->table_size
) {
1390 var
= p0
->type
->type_table
[cltype
] == idtype
;
1394 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1395 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name
);
1396 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 198);
1400 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1401 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var1
, var_item
) /* []= on <self:AbstractArray[nullable Object]>*/;
1404 /* method array#AbstractArray#add for (self: Object, nullable Object) */
1405 void VIRTUAL_array__AbstractArray__add(val
* self
, val
* p0
) {
1406 array__AbstractArray__add(self
, p0
);
1409 /* method array#AbstractArray#clear for (self: AbstractArray[nullable Object]) */
1410 void array__AbstractArray__clear(val
* self
) {
1411 long var
/* : Int */;
1413 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var
; /* _length on <self:AbstractArray[nullable Object]> */
1416 /* method array#AbstractArray#clear for (self: Object) */
1417 void VIRTUAL_array__AbstractArray__clear(val
* self
) {
1418 array__AbstractArray__clear(self
);
1421 /* method array#AbstractArray#remove for (self: AbstractArray[nullable Object], nullable Object) */
1422 void array__AbstractArray__remove(val
* self
, val
* p0
) {
1423 short int var
/* : Bool */;
1426 const struct type
* type_struct
;
1427 short int is_nullable
;
1428 const char* var_class_name
;
1429 val
* var_item
/* var item: nullable Object */;
1430 long var1
/* : Int */;
1431 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
1432 /* <p0:nullable Object> isa RemovableCollection#0 */
1433 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
1434 cltype
= type_struct
->color
;
1435 idtype
= type_struct
->id
;
1436 is_nullable
= type_struct
->is_nullable
;
1440 if(cltype
>= p0
->type
->table_size
) {
1443 var
= p0
->type
->type_table
[cltype
] == idtype
;
1447 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1448 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
1449 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 202);
1453 var1
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SequenceRead__index_of
]))(self
, var_item
) /* index_of on <self:AbstractArray[nullable Object]>*/;
1454 ((void (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__Sequence__remove_at
]))(self
, var1
) /* remove_at on <self:AbstractArray[nullable Object]>*/;
1457 /* method array#AbstractArray#remove for (self: Object, nullable Object) */
1458 void VIRTUAL_array__AbstractArray__remove(val
* self
, val
* p0
) {
1459 array__AbstractArray__remove(self
, p0
);
1462 /* method array#AbstractArray#remove_all for (self: AbstractArray[nullable Object], nullable Object) */
1463 void array__AbstractArray__remove_all(val
* self
, val
* p0
) {
1464 short int var
/* : Bool */;
1467 const struct type
* type_struct
;
1468 short int is_nullable
;
1469 const char* var_class_name
;
1470 val
* var_item
/* var item: nullable Object */;
1471 long var1
/* : Int */;
1472 long var_i
/* var i: Int */;
1473 long var2
/* : Int */;
1474 short int var3
/* : Bool */;
1475 short int var5
/* : Bool */;
1478 const char* var_class_name8
;
1479 short int var9
/* : Bool */;
1480 long var10
/* : Int */;
1481 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
1482 /* <p0:nullable Object> isa RemovableCollection#0 */
1483 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
1484 cltype
= type_struct
->color
;
1485 idtype
= type_struct
->id
;
1486 is_nullable
= type_struct
->is_nullable
;
1490 if(cltype
>= p0
->type
->table_size
) {
1493 var
= p0
->type
->type_table
[cltype
] == idtype
;
1497 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1498 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
1499 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 204);
1503 var1
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SequenceRead__index_of
]))(self
, var_item
) /* index_of on <self:AbstractArray[nullable Object]>*/;
1507 { /* Inline kernel#Int#>= (var_i,var2) */
1508 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1509 /* <var2:Int> isa OTHER */
1510 var5
= 1; /* easy <var2:Int> isa OTHER*/
1512 var_class_name8
= type_kernel__Int
.name
;
1513 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
1514 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
1517 var9
= var_i
>= var2
;
1523 ((void (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__Sequence__remove_at
]))(self
, var_i
) /* remove_at on <self:AbstractArray[nullable Object]>*/;
1524 var10
= ((long (*)(val
*, val
*, long))(self
->class->vft
[COLOR_array__AbstractArrayRead__index_of_from
]))(self
, var_item
, var_i
) /* index_of_from on <self:AbstractArray[nullable Object]>*/;
1526 CONTINUE_label
: (void)0;
1528 BREAK_label
: (void)0;
1531 /* method array#AbstractArray#remove_all for (self: Object, nullable Object) */
1532 void VIRTUAL_array__AbstractArray__remove_all(val
* self
, val
* p0
) {
1533 array__AbstractArray__remove_all(self
, p0
);
1536 /* method array#AbstractArray#remove_at for (self: AbstractArray[nullable Object], Int) */
1537 void array__AbstractArray__remove_at(val
* self
, long p0
) {
1538 long var_i
/* var i: Int */;
1539 long var
/* : Int */;
1540 long var_l
/* var l: Int */;
1541 short int var1
/* : Bool */;
1542 long var2
/* : Int */;
1543 short int var3
/* : Bool */;
1544 short int var5
/* : Bool */;
1547 const char* var_class_name
;
1548 short int var6
/* : Bool */;
1549 short int var_
/* var : Bool */;
1550 short int var7
/* : Bool */;
1551 short int var9
/* : Bool */;
1554 const char* var_class_name12
;
1555 short int var13
/* : Bool */;
1556 long var14
/* : Int */;
1557 long var15
/* : Int */;
1558 long var17
/* : Int */;
1559 long var_j
/* var j: Int */;
1560 short int var18
/* : Bool */;
1561 short int var20
/* : Bool */;
1564 const char* var_class_name23
;
1565 short int var24
/* : Bool */;
1566 long var25
/* : Int */;
1567 long var26
/* : Int */;
1568 long var28
/* : Int */;
1569 val
* var29
/* : nullable Object */;
1570 long var30
/* : Int */;
1571 long var31
/* : Int */;
1572 long var33
/* : Int */;
1573 long var34
/* : Int */;
1574 long var35
/* : Int */;
1575 long var37
/* : Int */;
1577 var
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractArray[nullable Object]>*/;
1580 { /* Inline kernel#Int#>= (var_i,var2) */
1581 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1582 /* <var2:Int> isa OTHER */
1583 var5
= 1; /* easy <var2:Int> isa OTHER*/
1585 var_class_name
= type_kernel__Int
.name
;
1586 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1587 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
1590 var6
= var_i
>= var2
;
1597 { /* Inline kernel#Int#< (var_i,var_l) */
1598 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1599 /* <var_l:Int> isa OTHER */
1600 var9
= 1; /* easy <var_l:Int> isa OTHER*/
1602 var_class_name12
= type_kernel__Int
.name
;
1603 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
1604 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
1607 var13
= var_i
< var_l
;
1618 { /* Inline kernel#Int#+ (var_i,var14) */
1619 var17
= var_i
+ var14
;
1622 RET_LABEL16
:(void)0;
1626 { /* Inline kernel#Int#< (var_j,var_l) */
1627 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1628 /* <var_l:Int> isa OTHER */
1629 var20
= 1; /* easy <var_l:Int> isa OTHER*/
1631 var_class_name23
= type_kernel__Int
.name
;
1632 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23
);
1633 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
1636 var24
= var_j
< var_l
;
1639 RET_LABEL19
:(void)0;
1643 { /* Inline kernel#Int#- (var_j,var25) */
1644 var28
= var_j
- var25
;
1647 RET_LABEL27
:(void)0;
1649 var29
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_j
) /* [] on <self:AbstractArray[nullable Object]>*/;
1650 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var26
, var29
) /* []= on <self:AbstractArray[nullable Object]>*/;
1652 { /* Inline kernel#Int#+ (var_j,var30) */
1653 var33
= var_j
+ var30
;
1656 RET_LABEL32
:(void)0;
1659 CONTINUE_label
: (void)0;
1661 BREAK_label
: (void)0;
1663 { /* Inline kernel#Int#- (var_l,var34) */
1664 var37
= var_l
- var34
;
1667 RET_LABEL36
:(void)0;
1669 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var35
; /* _length on <self:AbstractArray[nullable Object]> */
1674 /* method array#AbstractArray#remove_at for (self: Object, Int) */
1675 void VIRTUAL_array__AbstractArray__remove_at(val
* self
, long p0
) {
1676 array__AbstractArray__remove_at(self
, p0
);
1679 /* method array#AbstractArray#swap_at for (self: AbstractArray[nullable Object], Int, Int) */
1680 void array__AbstractArray__swap_at(val
* self
, long p0
, long p1
) {
1681 long var_a
/* var a: Int */;
1682 long var_b
/* var b: Int */;
1683 val
* var
/* : nullable Object */;
1684 val
* var_e
/* var e: nullable Object */;
1685 val
* var1
/* : nullable Object */;
1688 var
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_a
) /* [] on <self:AbstractArray[nullable Object]>*/;
1690 var1
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_b
) /* [] on <self:AbstractArray[nullable Object]>*/;
1691 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_a
, var1
) /* []= on <self:AbstractArray[nullable Object]>*/;
1692 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_b
, var_e
) /* []= on <self:AbstractArray[nullable Object]>*/;
1695 /* method array#AbstractArray#swap_at for (self: Object, Int, Int) */
1696 void VIRTUAL_array__AbstractArray__swap_at(val
* self
, long p0
, long p1
) {
1697 array__AbstractArray__swap_at(self
, p0
, p1
);
1700 /* method array#AbstractArray#init for (self: AbstractArray[nullable Object]) */
1701 void array__AbstractArray__init(val
* self
) {
1702 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArrayRead__init
]))(self
) /* init on <self:AbstractArray[nullable Object]>*/;
1705 /* method array#AbstractArray#init for (self: Object) */
1706 void VIRTUAL_array__AbstractArray__init(val
* self
) {
1707 array__AbstractArray__init(self
);
1710 /* method array#Array#[] for (self: Array[nullable Object], Int): nullable Object */
1711 val
* array__Array___91d_93d(val
* self
, long p0
) {
1712 val
* var
/* : nullable Object */;
1713 long var_index
/* var index: Int */;
1714 short int var1
/* : Bool */;
1715 long var2
/* : Int */;
1716 short int var3
/* : Bool */;
1717 short int var5
/* : Bool */;
1720 const char* var_class_name
;
1721 short int var6
/* : Bool */;
1722 short int var_
/* var : Bool */;
1723 long var7
/* : Int */;
1724 short int var8
/* : Bool */;
1725 short int var10
/* : Bool */;
1728 const char* var_class_name13
;
1729 short int var14
/* : Bool */;
1730 val
* var15
/* : nullable NativeArray[nullable Object] */;
1731 val
* var16
/* : nullable Object */;
1734 { /* Inline kernel#Int#>= (var_index,var2) */
1735 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1736 /* <var2:Int> isa OTHER */
1737 var5
= 1; /* easy <var2:Int> isa OTHER*/
1739 var_class_name
= type_kernel__Int
.name
;
1740 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1741 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
1744 var6
= var_index
>= var2
;
1751 var7
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1752 { /* Inline kernel#Int#< (var_index,var7) */
1753 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
1754 /* <var7:Int> isa OTHER */
1755 var10
= 1; /* easy <var7:Int> isa OTHER*/
1757 var_class_name13
= type_kernel__Int
.name
;
1758 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
1759 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
1762 var14
= var_index
< var7
;
1772 fprintf(stderr
, "Runtime error: %s", "Assert \'index\' failed");
1773 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 255);
1776 var15
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
1777 if (var15
== NULL
) {
1778 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1779 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 256);
1782 var16
= ((val
* (*)(val
*, long))(var15
->class->vft
[COLOR_array__NativeArray___91d_93d
]))(var15
, var_index
) /* [] on <var15:nullable NativeArray[nullable Object]>*/;
1789 /* method array#Array#[] for (self: Object, Int): nullable Object */
1790 val
* VIRTUAL_array__Array___91d_93d(val
* self
, long p0
) {
1791 val
* var
/* : nullable Object */;
1792 val
* var1
/* : nullable Object */;
1793 var1
= array__Array___91d_93d(self
, p0
);
1798 /* method array#Array#[]= for (self: Array[nullable Object], Int, nullable Object) */
1799 void array__Array___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
1800 short int var
/* : Bool */;
1803 const struct type
* type_struct
;
1804 short int is_nullable
;
1805 const char* var_class_name
;
1806 long var_index
/* var index: Int */;
1807 val
* var_item
/* var item: nullable Object */;
1808 short int var1
/* : Bool */;
1809 long var2
/* : Int */;
1810 short int var3
/* : Bool */;
1811 short int var5
/* : Bool */;
1814 const char* var_class_name8
;
1815 short int var9
/* : Bool */;
1816 short int var_
/* var : Bool */;
1817 long var10
/* : Int */;
1818 long var11
/* : Int */;
1819 long var12
/* : Int */;
1820 long var14
/* : Int */;
1821 short int var15
/* : Bool */;
1822 short int var17
/* : Bool */;
1825 const char* var_class_name20
;
1826 short int var21
/* : Bool */;
1827 long var22
/* : Int */;
1828 short int var23
/* : Bool */;
1829 short int var25
/* : Bool */;
1832 const char* var_class_name28
;
1833 short int var29
/* : Bool */;
1834 long var30
/* : Int */;
1835 long var31
/* : Int */;
1836 long var33
/* : Int */;
1837 long var34
/* : Int */;
1838 short int var35
/* : Bool */;
1839 short int var37
/* : Bool */;
1842 const char* var_class_name40
;
1843 short int var41
/* : Bool */;
1844 long var42
/* : Int */;
1845 long var43
/* : Int */;
1846 long var45
/* : Int */;
1847 val
* var46
/* : nullable NativeArray[nullable Object] */;
1848 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa Sequence#0 */
1849 /* <p1:nullable Object> isa Sequence#0 */
1850 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Sequence_FT0
];
1851 cltype
= type_struct
->color
;
1852 idtype
= type_struct
->id
;
1853 is_nullable
= type_struct
->is_nullable
;
1857 if(cltype
>= p1
->type
->table_size
) {
1860 var
= p1
->type
->type_table
[cltype
] == idtype
;
1864 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
1865 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
1866 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 259);
1872 { /* Inline kernel#Int#>= (var_index,var2) */
1873 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1874 /* <var2:Int> isa OTHER */
1875 var5
= 1; /* easy <var2:Int> isa OTHER*/
1877 var_class_name8
= type_kernel__Int
.name
;
1878 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
1879 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
1882 var9
= var_index
>= var2
;
1889 var10
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1891 { /* Inline kernel#Int#+ (var10,var11) */
1892 var14
= var10
+ var11
;
1895 RET_LABEL13
:(void)0;
1897 { /* Inline kernel#Int#< (var_index,var12) */
1898 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
1899 /* <var12:Int> isa OTHER */
1900 var17
= 1; /* easy <var12:Int> isa OTHER*/
1902 var_class_name20
= type_kernel__Int
.name
;
1903 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
1904 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
1907 var21
= var_index
< var12
;
1910 RET_LABEL16
:(void)0;
1917 fprintf(stderr
, "Runtime error: %s", "Assert \'index\' failed");
1918 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 261);
1921 var22
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
1922 { /* Inline kernel#Int#<= (var22,var_index) */
1923 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
1924 /* <var_index:Int> isa OTHER */
1925 var25
= 1; /* easy <var_index:Int> isa OTHER*/
1927 var_class_name28
= type_kernel__Int
.name
;
1928 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
1929 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
1932 var29
= var22
<= var_index
;
1935 RET_LABEL24
:(void)0;
1939 { /* Inline kernel#Int#+ (var_index,var30) */
1940 var33
= var_index
+ var30
;
1943 RET_LABEL32
:(void)0;
1945 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var31
) /* enlarge on <self:Array[nullable Object]>*/;
1948 var34
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
1949 { /* Inline kernel#Int#<= (var34,var_index) */
1950 /* Covariant cast for argument 0 (i) <var_index:Int> isa OTHER */
1951 /* <var_index:Int> isa OTHER */
1952 var37
= 1; /* easy <var_index:Int> isa OTHER*/
1954 var_class_name40
= type_kernel__Int
.name
;
1955 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
1956 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
1959 var41
= var34
<= var_index
;
1962 RET_LABEL36
:(void)0;
1966 { /* Inline kernel#Int#+ (var_index,var42) */
1967 var45
= var_index
+ var42
;
1970 RET_LABEL44
:(void)0;
1972 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var43
; /* _length on <self:Array[nullable Object]> */
1975 var46
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
1976 if (var46
== NULL
) {
1977 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1978 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 268);
1981 ((void (*)(val
*, long, val
*))(var46
->class->vft
[COLOR_array__NativeArray___91d_93d_61d
]))(var46
, var_index
, var_item
) /* []= on <var46:nullable NativeArray[nullable Object]>*/;
1985 /* method array#Array#[]= for (self: Object, Int, nullable Object) */
1986 void VIRTUAL_array__Array___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
1987 array__Array___91d_93d_61d(self
, p0
, p1
);
1990 /* method array#Array#add for (self: Array[nullable Object], nullable Object) */
1991 void array__Array__add(val
* self
, val
* p0
) {
1992 short int var
/* : Bool */;
1995 const struct type
* type_struct
;
1996 short int is_nullable
;
1997 const char* var_class_name
;
1998 val
* var_item
/* var item: nullable Object */;
1999 long var1
/* : Int */;
2000 long var_l
/* var l: Int */;
2001 long var2
/* : Int */;
2002 short int var3
/* : Bool */;
2003 short int var5
/* : Bool */;
2006 const char* var_class_name8
;
2007 short int var9
/* : Bool */;
2008 long var10
/* : Int */;
2009 long var11
/* : Int */;
2010 long var13
/* : Int */;
2011 long var14
/* : Int */;
2012 long var15
/* : Int */;
2013 long var17
/* : Int */;
2014 val
* var18
/* : nullable NativeArray[nullable Object] */;
2015 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa SimpleCollection#0 */
2016 /* <p0:nullable Object> isa SimpleCollection#0 */
2017 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SimpleCollection_FT0
];
2018 cltype
= type_struct
->color
;
2019 idtype
= type_struct
->id
;
2020 is_nullable
= type_struct
->is_nullable
;
2024 if(cltype
>= p0
->type
->table_size
) {
2027 var
= p0
->type
->type_table
[cltype
] == idtype
;
2031 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2032 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name
);
2033 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 271);
2037 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
2039 var2
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
2040 { /* Inline kernel#Int#<= (var2,var_l) */
2041 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
2042 /* <var_l:Int> isa OTHER */
2043 var5
= 1; /* easy <var_l:Int> isa OTHER*/
2045 var_class_name8
= type_kernel__Int
.name
;
2046 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
2047 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
2050 var9
= var2
<= var_l
;
2057 { /* Inline kernel#Int#+ (var_l,var10) */
2058 var13
= var_l
+ var10
;
2061 RET_LABEL12
:(void)0;
2063 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var11
) /* enlarge on <self:Array[nullable Object]>*/;
2067 { /* Inline kernel#Int#+ (var_l,var14) */
2068 var17
= var_l
+ var14
;
2071 RET_LABEL16
:(void)0;
2073 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var15
; /* _length on <self:Array[nullable Object]> */
2074 var18
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
2075 if (var18
== NULL
) {
2076 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
2077 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 278);
2080 ((void (*)(val
*, long, val
*))(var18
->class->vft
[COLOR_array__NativeArray___91d_93d_61d
]))(var18
, var_l
, var_item
) /* []= on <var18:nullable NativeArray[nullable Object]>*/;
2084 /* method array#Array#add for (self: Object, nullable Object) */
2085 void VIRTUAL_array__Array__add(val
* self
, val
* p0
) {
2086 array__Array__add(self
, p0
);
2089 /* method array#Array#enlarge for (self: Array[nullable Object], Int) */
2090 void array__Array__enlarge(val
* self
, long p0
) {
2091 long var_cap
/* var cap: Int */;
2092 long var
/* : Int */;
2093 long var_c
/* var c: Int */;
2094 short int var1
/* : Bool */;
2095 short int var3
/* : Bool */;
2098 const char* var_class_name
;
2099 short int var4
/* : Bool */;
2100 short int var5
/* : Bool */;
2101 short int var7
/* : Bool */;
2104 const char* var_class_name10
;
2105 short int var11
/* : Bool */;
2106 long var12
/* : Int */;
2107 long var13
/* : Int */;
2108 long var15
/* : Int */;
2109 long var16
/* : Int */;
2110 long var17
/* : Int */;
2111 long var19
/* : Int */;
2112 val
* var20
/* : NativeArray[nullable Object] */;
2113 val
* var_a
/* var a: NativeArray[nullable Object] */;
2114 long var21
/* : Int */;
2115 long var22
/* : Int */;
2116 short int var23
/* : Bool */;
2117 short int var25
/* : Bool */;
2120 const char* var_class_name28
;
2121 short int var29
/* : Bool */;
2122 val
* var30
/* : nullable NativeArray[nullable Object] */;
2123 long var31
/* : Int */;
2125 var
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
2127 { /* Inline kernel#Int#<= (var_cap,var_c) */
2128 /* Covariant cast for argument 0 (i) <var_c:Int> isa OTHER */
2129 /* <var_c:Int> isa OTHER */
2130 var3
= 1; /* easy <var_c:Int> isa OTHER*/
2132 var_class_name
= type_kernel__Int
.name
;
2133 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2134 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
2137 var4
= var_cap
<= var_c
;
2147 { /* Inline kernel#Int#<= (var_c,var_cap) */
2148 /* Covariant cast for argument 0 (i) <var_cap:Int> isa OTHER */
2149 /* <var_cap:Int> isa OTHER */
2150 var7
= 1; /* easy <var_cap:Int> isa OTHER*/
2152 var_class_name10
= type_kernel__Int
.name
;
2153 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
2154 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
2157 var11
= var_c
<= var_cap
;
2164 { /* Inline kernel#Int#* (var_c,var12) */
2165 var15
= var_c
* var12
;
2168 RET_LABEL14
:(void)0;
2171 { /* Inline kernel#Int#+ (var13,var16) */
2172 var19
= var13
+ var16
;
2175 RET_LABEL18
:(void)0;
2178 CONTINUE_label
: (void)0;
2180 BREAK_label
: (void)0;
2181 var20
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_array__ArrayCapable__calloc_array
]))(self
, var_c
) /* calloc_array on <self:Array[nullable Object]>*/;
2183 var21
= self
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <self:Array[nullable Object]> */
2185 { /* Inline kernel#Int#> (var21,var22) */
2186 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
2187 /* <var22:Int> isa OTHER */
2188 var25
= 1; /* easy <var22:Int> isa OTHER*/
2190 var_class_name28
= type_kernel__Int
.name
;
2191 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
2192 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
2195 var29
= var21
> var22
;
2198 RET_LABEL24
:(void)0;
2201 var30
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
2202 var31
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Array[nullable Object]> */
2203 if (var30
== NULL
) {
2204 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
2205 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 287);
2208 ((void (*)(val
*, val
*, long))(var30
->class->vft
[COLOR_array__NativeArray__copy_to
]))(var30
, var_a
, var31
) /* copy_to on <var30:nullable NativeArray[nullable Object]>*/;
2212 self
->attrs
[COLOR_array__Array___items
].val
= var_a
; /* _items on <self:Array[nullable Object]> */
2213 self
->attrs
[COLOR_array__Array___capacity
].l
= var_c
; /* _capacity on <self:Array[nullable Object]> */
2216 /* method array#Array#enlarge for (self: Object, Int) */
2217 void VIRTUAL_array__Array__enlarge(val
* self
, long p0
) {
2218 array__Array__enlarge(self
, p0
);
2221 /* method array#Array#init for (self: Array[nullable Object]) */
2222 void array__Array__init(val
* self
) {
2223 long var
/* : Int */;
2224 long var1
/* : Int */;
2225 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2227 self
->attrs
[COLOR_array__Array___capacity
].l
= var
; /* _capacity on <self:Array[nullable Object]> */
2229 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var1
; /* _length on <self:Array[nullable Object]> */
2232 /* method array#Array#init for (self: Object) */
2233 void VIRTUAL_array__Array__init(val
* self
) {
2234 array__Array__init(self
);
2237 /* method array#Array#from for (self: Array[nullable Object], Collection[nullable Object]) */
2238 void array__Array__from(val
* self
, val
* p0
) {
2239 short int var
/* : Bool */;
2242 const struct type
* type_struct
;
2243 const char* var_class_name
;
2244 val
* var_items
/* var items: Collection[nullable Object] */;
2245 long var1
/* : Int */;
2246 /* Covariant cast for argument 0 (items) <p0:Collection[nullable Object]> isa Collection[Array#0] */
2247 /* <p0:Collection[nullable Object]> isa Collection[Array#0] */
2248 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collectionarray__Array_FT0
];
2249 cltype
= type_struct
->color
;
2250 idtype
= type_struct
->id
;
2251 if(cltype
>= p0
->type
->table_size
) {
2254 var
= p0
->type
->type_table
[cltype
] == idtype
;
2257 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2258 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[Array#0]", var_class_name
);
2259 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 299);
2263 var1
= ((long (*)(val
*))(var_items
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_items
) /* length on <var_items:Collection[nullable Object]>*/;
2264 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__Array__with_capacity
]))(self
, var1
) /* with_capacity on <self:Array[nullable Object]>*/;
2265 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(self
, var_items
) /* add_all on <self:Array[nullable Object]>*/;
2268 /* method array#Array#from for (self: Object, Collection[nullable Object]) */
2269 void VIRTUAL_array__Array__from(val
* self
, val
* p0
) {
2270 array__Array__from(self
, p0
);
2273 /* method array#Array#with_items for (self: Array[nullable Object], Array[nullable Object]) */
2274 void array__Array__with_items(val
* self
, val
* p0
) {
2275 val
* var_objects
/* var objects: Array[nullable Object] */;
2276 val
* var
/* : nullable NativeArray[nullable Object] */;
2277 long var1
/* : Int */;
2278 long var2
/* : Int */;
2280 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2281 var
= var_objects
->attrs
[COLOR_array__Array___items
].val
; /* _items on <var_objects:Array[nullable Object]> */
2282 self
->attrs
[COLOR_array__Array___items
].val
= var
; /* _items on <self:Array[nullable Object]> */
2283 var1
= var_objects
->attrs
[COLOR_array__Array___capacity
].l
; /* _capacity on <var_objects:Array[nullable Object]> */
2284 self
->attrs
[COLOR_array__Array___capacity
].l
= var1
; /* _capacity on <self:Array[nullable Object]> */
2285 var2
= ((long (*)(val
*))(var_objects
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_objects
) /* length on <var_objects:Array[nullable Object]>*/;
2286 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var2
; /* _length on <self:Array[nullable Object]> */
2289 /* method array#Array#with_items for (self: Object, Array[nullable Object]) */
2290 void VIRTUAL_array__Array__with_items(val
* self
, val
* p0
) {
2291 array__Array__with_items(self
, p0
);
2294 /* method array#Array#with_capacity for (self: Array[nullable Object], Int) */
2295 void array__Array__with_capacity(val
* self
, long p0
) {
2296 long var_cap
/* var cap: Int */;
2297 long var
/* : Int */;
2298 short int var1
/* : Bool */;
2299 short int var3
/* : Bool */;
2302 const char* var_class_name
;
2303 short int var4
/* : Bool */;
2304 val
* var5
/* : NativeArray[nullable Object] */;
2305 long var6
/* : Int */;
2307 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2309 { /* Inline kernel#Int#>= (var_cap,var) */
2310 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
2311 /* <var:Int> isa OTHER */
2312 var3
= 1; /* easy <var:Int> isa OTHER*/
2314 var_class_name
= type_kernel__Int
.name
;
2315 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2316 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
2319 var4
= var_cap
>= var
;
2325 fprintf(stderr
, "Runtime error: %s", "Assert \'positive\' failed");
2326 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 316);
2329 var5
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_array__ArrayCapable__calloc_array
]))(self
, var_cap
) /* calloc_array on <self:Array[nullable Object]>*/;
2330 self
->attrs
[COLOR_array__Array___items
].val
= var5
; /* _items on <self:Array[nullable Object]> */
2331 self
->attrs
[COLOR_array__Array___capacity
].l
= var_cap
; /* _capacity on <self:Array[nullable Object]> */
2333 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var6
; /* _length on <self:Array[nullable Object]> */
2336 /* method array#Array#with_capacity for (self: Object, Int) */
2337 void VIRTUAL_array__Array__with_capacity(val
* self
, long p0
) {
2338 array__Array__with_capacity(self
, p0
);
2341 /* method array#Array#filled_with for (self: Array[nullable Object], nullable Object, Int) */
2342 void array__Array__filled_with(val
* self
, val
* p0
, long p1
) {
2343 short int var
/* : Bool */;
2346 const struct type
* type_struct
;
2347 short int is_nullable
;
2348 const char* var_class_name
;
2349 val
* var_value
/* var value: nullable Object */;
2350 long var_count
/* var count: Int */;
2351 long var1
/* : Int */;
2352 short int var2
/* : Bool */;
2353 short int var4
/* : Bool */;
2356 const char* var_class_name7
;
2357 short int var8
/* : Bool */;
2358 val
* var9
/* : NativeArray[nullable Object] */;
2359 long var10
/* : Int */;
2360 long var_i
/* var i: Int */;
2361 short int var11
/* : Bool */;
2362 short int var13
/* : Bool */;
2365 const char* var_class_name16
;
2366 short int var17
/* : Bool */;
2367 long var18
/* : Int */;
2368 long var19
/* : Int */;
2369 long var21
/* : Int */;
2370 /* Covariant cast for argument 0 (value) <p0:nullable Object> isa Array#0 */
2371 /* <p0:nullable Object> isa Array#0 */
2372 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__Array_FT0
];
2373 cltype
= type_struct
->color
;
2374 idtype
= type_struct
->id
;
2375 is_nullable
= type_struct
->is_nullable
;
2379 if(cltype
>= p0
->type
->table_size
) {
2382 var
= p0
->type
->type_table
[cltype
] == idtype
;
2386 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2387 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Array#0", var_class_name
);
2388 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 322);
2393 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2395 { /* Inline kernel#Int#>= (var_count,var1) */
2396 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2397 /* <var1:Int> isa OTHER */
2398 var4
= 1; /* easy <var1:Int> isa OTHER*/
2400 var_class_name7
= type_kernel__Int
.name
;
2401 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7
);
2402 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
2405 var8
= var_count
>= var1
;
2411 fprintf(stderr
, "Runtime error: %s", "Assert \'positive\' failed");
2412 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 325);
2415 var9
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_array__ArrayCapable__calloc_array
]))(self
, var_count
) /* calloc_array on <self:Array[nullable Object]>*/;
2416 self
->attrs
[COLOR_array__Array___items
].val
= var9
; /* _items on <self:Array[nullable Object]> */
2417 self
->attrs
[COLOR_array__Array___capacity
].l
= var_count
; /* _capacity on <self:Array[nullable Object]> */
2418 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var_count
; /* _length on <self:Array[nullable Object]> */
2422 { /* Inline kernel#Int#< (var_i,var_count) */
2423 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
2424 /* <var_count:Int> isa OTHER */
2425 var13
= 1; /* easy <var_count:Int> isa OTHER*/
2427 var_class_name16
= type_kernel__Int
.name
;
2428 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
2429 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
2432 var17
= var_i
< var_count
;
2435 RET_LABEL12
:(void)0;
2438 ((void (*)(val
*, long, val
*))(self
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(self
, var_i
, var_value
) /* []= on <self:Array[nullable Object]>*/;
2440 { /* Inline kernel#Int#+ (var_i,var18) */
2441 var21
= var_i
+ var18
;
2444 RET_LABEL20
:(void)0;
2447 CONTINUE_label
: (void)0;
2449 BREAK_label
: (void)0;
2452 /* method array#Array#filled_with for (self: Object, nullable Object, Int) */
2453 void VIRTUAL_array__Array__filled_with(val
* self
, val
* p0
, long p1
) {
2454 array__Array__filled_with(self
, p0
, p1
);
2457 /* method array#Array#with_native for (self: Array[nullable Object], NativeArray[nullable Object], Int) */
2458 void array__Array__with_native(val
* self
, val
* p0
, long p1
) {
2459 short int var
/* : Bool */;
2462 const struct type
* type_struct
;
2463 const char* var_class_name
;
2464 val
* var_nat
/* var nat: NativeArray[nullable Object] */;
2465 long var_size
/* var size: Int */;
2466 long var1
/* : Int */;
2467 short int var2
/* : Bool */;
2468 short int var4
/* : Bool */;
2471 const char* var_class_name7
;
2472 short int var8
/* : Bool */;
2473 /* Covariant cast for argument 0 (nat) <p0:NativeArray[nullable Object]> isa NativeArray[Array#0] */
2474 /* <p0:NativeArray[nullable Object]> isa NativeArray[Array#0] */
2475 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__Array_FT0
];
2476 cltype
= type_struct
->color
;
2477 idtype
= type_struct
->id
;
2478 if(cltype
>= p0
->type
->table_size
) {
2481 var
= p0
->type
->type_table
[cltype
] == idtype
;
2484 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2485 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[Array#0]", var_class_name
);
2486 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 336);
2491 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Array[nullable Object]>*/;
2493 { /* Inline kernel#Int#>= (var_size,var1) */
2494 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2495 /* <var1:Int> isa OTHER */
2496 var4
= 1; /* easy <var1:Int> isa OTHER*/
2498 var_class_name7
= type_kernel__Int
.name
;
2499 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7
);
2500 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
2503 var8
= var_size
>= var1
;
2509 fprintf(stderr
, "Runtime error: %s", "Assert \'positive\' failed");
2510 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 339);
2513 self
->attrs
[COLOR_array__Array___items
].val
= var_nat
; /* _items on <self:Array[nullable Object]> */
2514 self
->attrs
[COLOR_array__Array___capacity
].l
= var_size
; /* _capacity on <self:Array[nullable Object]> */
2515 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var_size
; /* _length on <self:Array[nullable Object]> */
2518 /* method array#Array#with_native for (self: Object, NativeArray[nullable Object], Int) */
2519 void VIRTUAL_array__Array__with_native(val
* self
, val
* p0
, long p1
) {
2520 array__Array__with_native(self
, p0
, p1
);
2523 /* method array#Array#intern_items for (self: Array[nullable Object]): NativeArray[nullable Object] */
2524 val
* array__Array__intern_items(val
* self
) {
2525 val
* var
/* : NativeArray[nullable Object] */;
2526 val
* var1
/* : nullable NativeArray[nullable Object] */;
2527 var1
= self
->attrs
[COLOR_array__Array___items
].val
; /* _items on <self:Array[nullable Object]> */
2529 fprintf(stderr
, "Runtime error: %s", "Cast failed");
2530 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 350);
2538 /* method array#Array#intern_items for (self: Object): NativeArray[nullable Object] */
2539 val
* VIRTUAL_array__Array__intern_items(val
* self
) {
2540 val
* var
/* : NativeArray[nullable Object] */;
2541 val
* var1
/* : NativeArray[nullable Object] */;
2542 var1
= array__Array__intern_items(self
);
2547 /* method array#ArrayIterator#item for (self: ArrayIterator[nullable Object]): nullable Object */
2548 val
* array__ArrayIterator__item(val
* self
) {
2549 val
* var
/* : nullable Object */;
2550 val
* var1
/* : AbstractArrayRead[nullable Object] */;
2551 long var2
/* : Int */;
2552 val
* var3
/* : nullable Object */;
2553 var1
= self
->attrs
[COLOR_array__ArrayIterator___array
].val
; /* _array on <self:ArrayIterator[nullable Object]> */
2555 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
2556 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 360);
2559 var2
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
2560 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var2
) /* [] on <var1:AbstractArrayRead[nullable Object]>*/;
2566 /* method array#ArrayIterator#item for (self: Object): nullable Object */
2567 val
* VIRTUAL_array__ArrayIterator__item(val
* self
) {
2568 val
* var
/* : nullable Object */;
2569 val
* var1
/* : nullable Object */;
2570 var1
= array__ArrayIterator__item(self
);
2575 /* method array#ArrayIterator#is_ok for (self: ArrayIterator[nullable Object]): Bool */
2576 short int array__ArrayIterator__is_ok(val
* self
) {
2577 short int var
/* : Bool */;
2578 long var1
/* : Int */;
2579 val
* var2
/* : AbstractArrayRead[nullable Object] */;
2580 long var3
/* : Int */;
2581 short int var4
/* : Bool */;
2582 short int var6
/* : Bool */;
2585 const char* var_class_name
;
2586 short int var7
/* : Bool */;
2587 var1
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
2588 var2
= self
->attrs
[COLOR_array__ArrayIterator___array
].val
; /* _array on <self:ArrayIterator[nullable Object]> */
2590 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
2591 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 364);
2594 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var2
) /* length on <var2:AbstractArrayRead[nullable Object]>*/;
2595 { /* Inline kernel#Int#< (var1,var3) */
2596 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
2597 /* <var3:Int> isa OTHER */
2598 var6
= 1; /* easy <var3:Int> isa OTHER*/
2600 var_class_name
= type_kernel__Int
.name
;
2601 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2602 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
2615 /* method array#ArrayIterator#is_ok for (self: Object): Bool */
2616 short int VIRTUAL_array__ArrayIterator__is_ok(val
* self
) {
2617 short int var
/* : Bool */;
2618 short int var1
/* : Bool */;
2619 var1
= array__ArrayIterator__is_ok(self
);
2624 /* method array#ArrayIterator#next for (self: ArrayIterator[nullable Object]) */
2625 void array__ArrayIterator__next(val
* self
) {
2626 val
* var_
/* var : ArrayIterator[nullable Object] */;
2627 long var
/* : Int */;
2628 long var1
/* : Int */;
2629 long var2
/* : Int */;
2630 long var4
/* : Int */;
2632 var
= var_
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <var_:ArrayIterator[nullable Object]> */
2634 { /* Inline kernel#Int#+ (var,var1) */
2640 var_
->attrs
[COLOR_array__ArrayIterator___index
].l
= var2
; /* _index on <var_:ArrayIterator[nullable Object]> */
2643 /* method array#ArrayIterator#next for (self: Object) */
2644 void VIRTUAL_array__ArrayIterator__next(val
* self
) {
2645 array__ArrayIterator__next(self
);
2648 /* method array#ArrayIterator#init for (self: ArrayIterator[nullable Object], AbstractArrayRead[nullable Object]) */
2649 void array__ArrayIterator__init(val
* self
, val
* p0
) {
2650 short int var
/* : Bool */;
2653 const struct type
* type_struct
;
2654 const char* var_class_name
;
2655 val
* var_a
/* var a: AbstractArrayRead[nullable Object] */;
2656 long var1
/* : Int */;
2657 /* Covariant cast for argument 0 (a) <p0:AbstractArrayRead[nullable Object]> isa AbstractArrayRead[ArrayIterator#0] */
2658 /* <p0:AbstractArrayRead[nullable Object]> isa AbstractArrayRead[ArrayIterator#0] */
2659 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__AbstractArrayReadarray__ArrayIterator_FT0
];
2660 cltype
= type_struct
->color
;
2661 idtype
= type_struct
->id
;
2662 if(cltype
>= p0
->type
->table_size
) {
2665 var
= p0
->type
->type_table
[cltype
] == idtype
;
2668 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2669 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractArrayRead[ArrayIterator#0]", var_class_name
);
2670 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 368);
2674 self
->attrs
[COLOR_array__ArrayIterator___array
].val
= var_a
; /* _array on <self:ArrayIterator[nullable Object]> */
2676 self
->attrs
[COLOR_array__ArrayIterator___index
].l
= var1
; /* _index on <self:ArrayIterator[nullable Object]> */
2679 /* method array#ArrayIterator#init for (self: Object, AbstractArrayRead[nullable Object]) */
2680 void VIRTUAL_array__ArrayIterator__init(val
* self
, val
* p0
) {
2681 array__ArrayIterator__init(self
, p0
);
2684 /* method array#ArrayIterator#index for (self: ArrayIterator[nullable Object]): Int */
2685 long array__ArrayIterator__index(val
* self
) {
2686 long var
/* : Int */;
2687 long var1
/* : Int */;
2688 var1
= self
->attrs
[COLOR_array__ArrayIterator___index
].l
; /* _index on <self:ArrayIterator[nullable Object]> */
2693 /* method array#ArrayIterator#index for (self: Object): Int */
2694 long VIRTUAL_array__ArrayIterator__index(val
* self
) {
2695 long var
/* : Int */;
2696 long var1
/* : Int */;
2697 var1
= array__ArrayIterator__index(self
);
2702 /* method array#ArraySet#has for (self: ArraySet[Object], Object): Bool */
2703 short int array__ArraySet__has(val
* self
, val
* p0
) {
2704 short int var
/* : Bool */;
2705 short int var1
/* : Bool */;
2708 const struct type
* type_struct
;
2709 const char* var_class_name
;
2710 val
* var_e
/* var e: Object */;
2711 val
* var2
/* : Array[Object] */;
2712 short int var3
/* : Bool */;
2713 /* Covariant cast for argument 0 (e) <p0:Object> isa Collection#0 */
2714 /* <p0:Object> isa Collection#0 */
2715 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
2716 cltype
= type_struct
->color
;
2717 idtype
= type_struct
->id
;
2718 if(cltype
>= p0
->type
->table_size
) {
2721 var1
= p0
->type
->type_table
[cltype
] == idtype
;
2724 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2725 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
2726 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 387);
2730 var2
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2732 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
2733 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 387);
2736 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var2
, var_e
) /* has on <var2:Array[Object]>*/;
2742 /* method array#ArraySet#has for (self: Object, nullable Object): Bool */
2743 short int VIRTUAL_array__ArraySet__has(val
* self
, val
* p0
) {
2744 short int var
/* : Bool */;
2745 short int var1
/* : Bool */;
2746 var1
= array__ArraySet__has(self
, p0
);
2751 /* method array#ArraySet#add for (self: ArraySet[Object], Object) */
2752 void array__ArraySet__add(val
* self
, val
* p0
) {
2753 short int var
/* : Bool */;
2756 const struct type
* type_struct
;
2757 const char* var_class_name
;
2758 val
* var_e
/* var e: Object */;
2759 val
* var1
/* : Array[Object] */;
2760 short int var2
/* : Bool */;
2761 short int var3
/* : Bool */;
2762 val
* var4
/* : Array[Object] */;
2763 /* Covariant cast for argument 0 (e) <p0:Object> isa SimpleCollection#0 */
2764 /* <p0:Object> isa SimpleCollection#0 */
2765 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__SimpleCollection_FT0
];
2766 cltype
= type_struct
->color
;
2767 idtype
= type_struct
->id
;
2768 if(cltype
>= p0
->type
->table_size
) {
2771 var
= p0
->type
->type_table
[cltype
] == idtype
;
2774 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2775 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name
);
2776 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 389);
2780 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2782 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
2783 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 389);
2786 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var1
, var_e
) /* has on <var1:Array[Object]>*/;
2789 var4
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2791 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
2792 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 389);
2795 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var4
, var_e
) /* add on <var4:Array[Object]>*/;
2800 /* method array#ArraySet#add for (self: Object, nullable Object) */
2801 void VIRTUAL_array__ArraySet__add(val
* self
, val
* p0
) {
2802 array__ArraySet__add(self
, p0
);
2805 /* method array#ArraySet#is_empty for (self: ArraySet[Object]): Bool */
2806 short int array__ArraySet__is_empty(val
* self
) {
2807 short int var
/* : Bool */;
2808 val
* var1
/* : Array[Object] */;
2809 short int var2
/* : Bool */;
2810 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2812 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
2813 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 391);
2816 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var1
) /* is_empty on <var1:Array[Object]>*/;
2822 /* method array#ArraySet#is_empty for (self: Object): Bool */
2823 short int VIRTUAL_array__ArraySet__is_empty(val
* self
) {
2824 short int var
/* : Bool */;
2825 short int var1
/* : Bool */;
2826 var1
= array__ArraySet__is_empty(self
);
2831 /* method array#ArraySet#length for (self: ArraySet[Object]): Int */
2832 long array__ArraySet__length(val
* self
) {
2833 long var
/* : Int */;
2834 val
* var1
/* : Array[Object] */;
2835 long var2
/* : Int */;
2836 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2838 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
2839 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 393);
2842 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:Array[Object]>*/;
2848 /* method array#ArraySet#length for (self: Object): Int */
2849 long VIRTUAL_array__ArraySet__length(val
* self
) {
2850 long var
/* : Int */;
2851 long var1
/* : Int */;
2852 var1
= array__ArraySet__length(self
);
2857 /* method array#ArraySet#first for (self: ArraySet[Object]): Object */
2858 val
* array__ArraySet__first(val
* self
) {
2859 val
* var
/* : Object */;
2860 val
* var1
/* : Array[Object] */;
2861 long var2
/* : Int */;
2862 long var3
/* : Int */;
2863 short int var4
/* : Bool */;
2864 short int var6
/* : Bool */;
2867 const char* var_class_name
;
2868 short int var7
/* : Bool */;
2869 val
* var8
/* : Array[Object] */;
2870 val
* var9
/* : nullable Object */;
2871 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2873 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
2874 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 397);
2877 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:Array[Object]>*/;
2879 { /* Inline kernel#Int#> (var2,var3) */
2880 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
2881 /* <var3:Int> isa OTHER */
2882 var6
= 1; /* easy <var3:Int> isa OTHER*/
2884 var_class_name
= type_kernel__Int
.name
;
2885 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2886 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
2895 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2896 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 397);
2899 var8
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2901 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
2902 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 398);
2905 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var8
) /* first on <var8:Array[Object]>*/;
2911 /* method array#ArraySet#first for (self: Object): nullable Object */
2912 val
* VIRTUAL_array__ArraySet__first(val
* self
) {
2913 val
* var
/* : nullable Object */;
2914 val
* var1
/* : Object */;
2915 var1
= array__ArraySet__first(self
);
2920 /* method array#ArraySet#remove for (self: ArraySet[Object], Object) */
2921 void array__ArraySet__remove(val
* self
, val
* p0
) {
2922 short int var
/* : Bool */;
2925 const struct type
* type_struct
;
2926 const char* var_class_name
;
2927 val
* var_item
/* var item: Object */;
2928 val
* var1
/* : Array[Object] */;
2929 long var2
/* : Int */;
2930 long var_i
/* var i: Int */;
2931 long var3
/* : Int */;
2932 short int var4
/* : Bool */;
2933 short int var6
/* : Bool */;
2936 const char* var_class_name9
;
2937 short int var10
/* : Bool */;
2938 /* Covariant cast for argument 0 (item) <p0:Object> isa RemovableCollection#0 */
2939 /* <p0:Object> isa RemovableCollection#0 */
2940 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
2941 cltype
= type_struct
->color
;
2942 idtype
= type_struct
->id
;
2943 if(cltype
>= p0
->type
->table_size
) {
2946 var
= p0
->type
->type_table
[cltype
] == idtype
;
2949 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2950 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
2951 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 401);
2955 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
2957 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
2958 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 403);
2961 var2
= ((long (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__index_of
]))(var1
, var_item
) /* index_of on <var1:Array[Object]>*/;
2964 { /* Inline kernel#Int#>= (var_i,var3) */
2965 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
2966 /* <var3:Int> isa OTHER */
2967 var6
= 1; /* easy <var3:Int> isa OTHER*/
2969 var_class_name9
= type_kernel__Int
.name
;
2970 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
2971 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
2974 var10
= var_i
>= var3
;
2980 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__ArraySet__remove_at
]))(self
, var_i
) /* remove_at on <self:ArraySet[Object]>*/;
2985 /* method array#ArraySet#remove for (self: Object, nullable Object) */
2986 void VIRTUAL_array__ArraySet__remove(val
* self
, val
* p0
) {
2987 array__ArraySet__remove(self
, p0
);
2990 /* method array#ArraySet#remove_all for (self: ArraySet[Object], Object) */
2991 void array__ArraySet__remove_all(val
* self
, val
* p0
) {
2992 short int var
/* : Bool */;
2995 const struct type
* type_struct
;
2996 const char* var_class_name
;
2997 val
* var_item
/* var item: Object */;
2998 /* Covariant cast for argument 0 (item) <p0:Object> isa RemovableCollection#0 */
2999 /* <p0:Object> isa RemovableCollection#0 */
3000 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
3001 cltype
= type_struct
->color
;
3002 idtype
= type_struct
->id
;
3003 if(cltype
>= p0
->type
->table_size
) {
3006 var
= p0
->type
->type_table
[cltype
] == idtype
;
3009 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3010 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
3011 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 407);
3015 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(self
, var_item
) /* remove on <self:ArraySet[Object]>*/;
3018 /* method array#ArraySet#remove_all for (self: Object, nullable Object) */
3019 void VIRTUAL_array__ArraySet__remove_all(val
* self
, val
* p0
) {
3020 array__ArraySet__remove_all(self
, p0
);
3023 /* method array#ArraySet#clear for (self: ArraySet[Object]) */
3024 void array__ArraySet__clear(val
* self
) {
3025 val
* var
/* : Array[Object] */;
3026 var
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3028 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
3029 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 409);
3032 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var
) /* clear on <var:Array[Object]>*/;
3035 /* method array#ArraySet#clear for (self: Object) */
3036 void VIRTUAL_array__ArraySet__clear(val
* self
) {
3037 array__ArraySet__clear(self
);
3040 /* method array#ArraySet#iterator for (self: ArraySet[Object]): Iterator[Object] */
3041 val
* array__ArraySet__iterator(val
* self
) {
3042 val
* var
/* : Iterator[Object] */;
3043 val
* var1
/* : ArraySetIterator[Object] */;
3044 val
* var2
/* : Array[Object] */;
3045 val
* var3
/* : Iterator[nullable Object] */;
3046 var1
= NEW_array__ArraySetIterator(self
->type
->resolution_table
->types
[COLOR_array__ArraySetIteratorarray__ArraySet_FT0
]);
3047 var2
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3049 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
3050 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 411);
3053 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:Array[Object]>*/;
3054 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_array__ArraySetIterator__init
]))(var1
, var3
) /* init on <var1:ArraySetIterator[Object]>*/;
3060 /* method array#ArraySet#iterator for (self: Object): Iterator[nullable Object] */
3061 val
* VIRTUAL_array__ArraySet__iterator(val
* self
) {
3062 val
* var
/* : Iterator[nullable Object] */;
3063 val
* var1
/* : Iterator[Object] */;
3064 var1
= array__ArraySet__iterator(self
);
3069 /* method array#ArraySet#enlarge for (self: ArraySet[Object], Int) */
3070 void array__ArraySet__enlarge(val
* self
, long p0
) {
3071 long var_cap
/* var cap: Int */;
3072 val
* var
/* : Array[Object] */;
3074 var
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3076 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
3077 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 414);
3080 ((void (*)(val
*, long))(var
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(var
, var_cap
) /* enlarge on <var:Array[Object]>*/;
3083 /* method array#ArraySet#enlarge for (self: Object, Int) */
3084 void VIRTUAL_array__ArraySet__enlarge(val
* self
, long p0
) {
3085 array__ArraySet__enlarge(self
, p0
);
3088 /* method array#ArraySet#remove_at for (self: ArraySet[Object], Int) */
3089 void array__ArraySet__remove_at(val
* self
, long p0
) {
3090 long var_i
/* var i: Int */;
3091 val
* var
/* : Array[Object] */;
3092 val
* var1
/* : Array[Object] */;
3093 val
* var2
/* : nullable Object */;
3094 val
* var3
/* : Array[Object] */;
3095 val
* var4
/* : nullable Object */;
3097 var
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3099 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
3100 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 418);
3103 var1
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3105 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
3106 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 418);
3109 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var1
) /* last on <var1:Array[Object]>*/;
3110 ((void (*)(val
*, long, val
*))(var
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var
, var_i
, var2
) /* []= on <var:Array[Object]>*/;
3111 var3
= self
->attrs
[COLOR_array__ArraySet___array
].val
; /* _array on <self:ArraySet[Object]> */
3113 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _array");
3114 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 419);
3117 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence__pop
]))(var3
) /* pop on <var3:Array[Object]>*/;
3121 /* method array#ArraySet#remove_at for (self: Object, Int) */
3122 void VIRTUAL_array__ArraySet__remove_at(val
* self
, long p0
) {
3123 array__ArraySet__remove_at(self
, p0
);
3126 /* method array#ArraySet#init for (self: ArraySet[Object]) */
3127 void array__ArraySet__init(val
* self
) {
3128 val
* var
/* : Array[Object] */;
3129 var
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__ArraySet_FT0
]);
3130 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[Object]>*/;
3131 self
->attrs
[COLOR_array__ArraySet___array
].val
= var
; /* _array on <self:ArraySet[Object]> */
3134 /* method array#ArraySet#init for (self: Object) */
3135 void VIRTUAL_array__ArraySet__init(val
* self
) {
3136 array__ArraySet__init(self
);
3139 /* method array#ArraySet#with_capacity for (self: ArraySet[Object], Int) */
3140 void array__ArraySet__with_capacity(val
* self
, long p0
) {
3141 long var_i
/* var i: Int */;
3142 val
* var
/* : Array[Object] */;
3144 var
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayarray__ArraySet_FT0
]);
3145 ((void (*)(val
*, long))(var
->class->vft
[COLOR_array__Array__with_capacity
]))(var
, var_i
) /* with_capacity on <var:Array[Object]>*/;
3146 self
->attrs
[COLOR_array__ArraySet___array
].val
= var
; /* _array on <self:ArraySet[Object]> */
3149 /* method array#ArraySet#with_capacity for (self: Object, Int) */
3150 void VIRTUAL_array__ArraySet__with_capacity(val
* self
, long p0
) {
3151 array__ArraySet__with_capacity(self
, p0
);
3154 /* method array#ArraySetIterator#is_ok for (self: ArraySetIterator[Object]): Bool */
3155 short int array__ArraySetIterator__is_ok(val
* self
) {
3156 short int var
/* : Bool */;
3157 val
* var1
/* : ArrayIterator[Object] */;
3158 short int var2
/* : Bool */;
3159 var1
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
3161 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _iter");
3162 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 433);
3165 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var1
) /* is_ok on <var1:ArrayIterator[Object]>*/;
3171 /* method array#ArraySetIterator#is_ok for (self: Object): Bool */
3172 short int VIRTUAL_array__ArraySetIterator__is_ok(val
* self
) {
3173 short int var
/* : Bool */;
3174 short int var1
/* : Bool */;
3175 var1
= array__ArraySetIterator__is_ok(self
);
3180 /* method array#ArraySetIterator#next for (self: ArraySetIterator[Object]) */
3181 void array__ArraySetIterator__next(val
* self
) {
3182 val
* var
/* : ArrayIterator[Object] */;
3183 var
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
3185 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _iter");
3186 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 435);
3189 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var
) /* next on <var:ArrayIterator[Object]>*/;
3192 /* method array#ArraySetIterator#next for (self: Object) */
3193 void VIRTUAL_array__ArraySetIterator__next(val
* self
) {
3194 array__ArraySetIterator__next(self
);
3197 /* method array#ArraySetIterator#item for (self: ArraySetIterator[Object]): Object */
3198 val
* array__ArraySetIterator__item(val
* self
) {
3199 val
* var
/* : Object */;
3200 val
* var1
/* : ArrayIterator[Object] */;
3201 val
* var2
/* : nullable Object */;
3202 var1
= self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
; /* _iter on <self:ArraySetIterator[Object]> */
3204 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _iter");
3205 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 437);
3208 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var1
) /* item on <var1:ArrayIterator[Object]>*/;
3214 /* method array#ArraySetIterator#item for (self: Object): nullable Object */
3215 val
* VIRTUAL_array__ArraySetIterator__item(val
* self
) {
3216 val
* var
/* : nullable Object */;
3217 val
* var1
/* : Object */;
3218 var1
= array__ArraySetIterator__item(self
);
3223 /* method array#ArraySetIterator#init for (self: ArraySetIterator[Object], ArrayIterator[Object]) */
3224 void array__ArraySetIterator__init(val
* self
, val
* p0
) {
3225 short int var
/* : Bool */;
3228 const struct type
* type_struct
;
3229 const char* var_class_name
;
3230 val
* var_iter
/* var iter: ArrayIterator[Object] */;
3231 /* Covariant cast for argument 0 (iter) <p0:ArrayIterator[Object]> isa ArrayIterator[ArraySetIterator#0] */
3232 /* <p0:ArrayIterator[Object]> isa ArrayIterator[ArraySetIterator#0] */
3233 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayIteratorarray__ArraySetIterator_FT0
];
3234 cltype
= type_struct
->color
;
3235 idtype
= type_struct
->id
;
3236 if(cltype
>= p0
->type
->table_size
) {
3239 var
= p0
->type
->type_table
[cltype
] == idtype
;
3242 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3243 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayIterator[ArraySetIterator#0]", var_class_name
);
3244 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 439);
3248 self
->attrs
[COLOR_array__ArraySetIterator___iter
].val
= var_iter
; /* _iter on <self:ArraySetIterator[Object]> */
3251 /* method array#ArraySetIterator#init for (self: Object, ArrayIterator[Object]) */
3252 void VIRTUAL_array__ArraySetIterator__init(val
* self
, val
* p0
) {
3253 array__ArraySetIterator__init(self
, p0
);
3256 /* method array#ArrayMap#[] for (self: ArrayMap[Object, nullable Object], Object): nullable Object */
3257 val
* array__ArrayMap___91d_93d(val
* self
, val
* p0
) {
3258 val
* var
/* : nullable Object */;
3259 short int var1
/* : Bool */;
3262 const struct type
* type_struct
;
3263 const char* var_class_name
;
3264 val
* var_key
/* var key: Object */;
3265 long var2
/* : Int */;
3266 long var_i
/* var i: Int */;
3267 long var3
/* : Int */;
3268 short int var4
/* : Bool */;
3269 short int var6
/* : Bool */;
3272 const char* var_class_name9
;
3273 short int var10
/* : Bool */;
3274 val
* var11
/* : Array[Couple[Object, nullable Object]] */;
3275 val
* var12
/* : nullable Object */;
3276 val
* var13
/* : nullable Object */;
3277 val
* var14
/* : nullable Object */;
3278 /* Covariant cast for argument 0 (key) <p0:Object> isa MapRead#0 */
3279 /* <p0:Object> isa MapRead#0 */
3280 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapRead_FT0
];
3281 cltype
= type_struct
->color
;
3282 idtype
= type_struct
->id
;
3283 if(cltype
>= p0
->type
->table_size
) {
3286 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3289 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3290 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MapRead#0", var_class_name
);
3291 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 449);
3295 var2
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_array__ArrayMap__index
]))(self
, var_key
) /* index on <self:ArrayMap[Object, nullable Object]>*/;
3298 { /* Inline kernel#Int#>= (var_i,var3) */
3299 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3300 /* <var3:Int> isa OTHER */
3301 var6
= 1; /* easy <var3:Int> isa OTHER*/
3303 var_class_name9
= type_kernel__Int
.name
;
3304 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
3305 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
3308 var10
= var_i
>= var3
;
3314 var11
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3315 if (var11
== NULL
) {
3316 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3317 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 454);
3320 var12
= ((val
* (*)(val
*, long))(var11
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var11
, var_i
) /* [] on <var11:Array[Couple[Object, nullable Object]]>*/;
3321 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var12
) /* second on <var12:nullable Object(Couple[Object, nullable Object])>*/;
3325 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__MapRead__provide_default_value
]))(self
, var_key
) /* provide_default_value on <self:ArrayMap[Object, nullable Object]>*/;
3332 /* method array#ArrayMap#[] for (self: Object, Object): nullable Object */
3333 val
* VIRTUAL_array__ArrayMap___91d_93d(val
* self
, val
* p0
) {
3334 val
* var
/* : nullable Object */;
3335 val
* var1
/* : nullable Object */;
3336 var1
= array__ArrayMap___91d_93d(self
, p0
);
3341 /* method array#ArrayMap#[]= for (self: ArrayMap[Object, nullable Object], Object, nullable Object) */
3342 void array__ArrayMap___91d_93d_61d(val
* self
, val
* p0
, val
* p1
) {
3343 short int var
/* : Bool */;
3346 const struct type
* type_struct
;
3347 const char* var_class_name
;
3348 short int var1
/* : Bool */;
3351 const struct type
* type_struct4
;
3352 short int is_nullable
;
3353 const char* var_class_name5
;
3354 val
* var_key
/* var key: Object */;
3355 val
* var_item
/* var item: nullable Object */;
3356 long var6
/* : Int */;
3357 long var_i
/* var i: Int */;
3358 long var7
/* : Int */;
3359 short int var8
/* : Bool */;
3360 short int var10
/* : Bool */;
3363 const char* var_class_name13
;
3364 short int var14
/* : Bool */;
3365 val
* var15
/* : Array[Couple[Object, nullable Object]] */;
3366 val
* var16
/* : nullable Object */;
3367 val
* var17
/* : Array[Couple[Object, nullable Object]] */;
3368 val
* var18
/* : Couple[Object, nullable Object] */;
3369 /* Covariant cast for argument 0 (key) <p0:Object> isa Map#0 */
3370 /* <p0:Object> isa Map#0 */
3371 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Map_FT0
];
3372 cltype
= type_struct
->color
;
3373 idtype
= type_struct
->id
;
3374 if(cltype
>= p0
->type
->table_size
) {
3377 var
= p0
->type
->type_table
[cltype
] == idtype
;
3380 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3381 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map#0", var_class_name
);
3382 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 460);
3385 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa Map#1 */
3386 /* <p1:nullable Object> isa Map#1 */
3387 type_struct4
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Map_FT1
];
3388 cltype2
= type_struct4
->color
;
3389 idtype3
= type_struct4
->id
;
3390 is_nullable
= type_struct4
->is_nullable
;
3394 if(cltype2
>= p1
->type
->table_size
) {
3397 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
3401 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
3402 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map#1", var_class_name5
);
3403 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 460);
3408 var6
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_array__ArrayMap__index
]))(self
, var_key
) /* index on <self:ArrayMap[Object, nullable Object]>*/;
3411 { /* Inline kernel#Int#>= (var_i,var7) */
3412 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
3413 /* <var7:Int> isa OTHER */
3414 var10
= 1; /* easy <var7:Int> isa OTHER*/
3416 var_class_name13
= type_kernel__Int
.name
;
3417 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
3418 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
3421 var14
= var_i
>= var7
;
3427 var15
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3428 if (var15
== NULL
) {
3429 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3430 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 465);
3433 var16
= ((val
* (*)(val
*, long))(var15
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var15
, var_i
) /* [] on <var15:Array[Couple[Object, nullable Object]]>*/;
3434 ((void (*)(val
*, val
*))(var16
->class->vft
[COLOR_abstract_collection__Couple__second_61d
]))(var16
, var_item
) /* second= on <var16:nullable Object(Couple[Object, nullable Object])>*/;
3436 var17
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3437 if (var17
== NULL
) {
3438 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3439 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 467);
3442 var18
= NEW_abstract_collection__Couple(self
->type
->resolution_table
->types
[COLOR_abstract_collection__Couplearray__ArrayMap_FT0array__ArrayMap_FT1
]);
3443 ((void (*)(val
*, val
*, val
*))(var18
->class->vft
[COLOR_abstract_collection__Couple__init
]))(var18
, var_key
, var_item
) /* init on <var18:Couple[Object, nullable Object]>*/;
3444 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var17
, var18
) /* push on <var17:Array[Couple[Object, nullable Object]]>*/;
3448 /* method array#ArrayMap#[]= for (self: Object, Object, nullable Object) */
3449 void VIRTUAL_array__ArrayMap___91d_93d_61d(val
* self
, val
* p0
, val
* p1
) {
3450 array__ArrayMap___91d_93d_61d(self
, p0
, p1
);
3453 /* method array#ArrayMap#keys for (self: ArrayMap[Object, nullable Object]): ArrayMapKeys[Object, nullable Object] */
3454 val
* array__ArrayMap__keys(val
* self
) {
3455 val
* var
/* : ArrayMapKeys[Object, nullable Object] */;
3456 val
* var1
/* : ArrayMapKeys[Object, nullable Object] */;
3457 var1
= self
->attrs
[COLOR_array__ArrayMap___64dkeys
].val
; /* @keys on <self:ArrayMap[Object, nullable Object]> */
3459 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @keys");
3460 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 471);
3467 /* method array#ArrayMap#keys for (self: Object): Collection[Object] */
3468 val
* VIRTUAL_array__ArrayMap__keys(val
* self
) {
3469 val
* var
/* : Collection[Object] */;
3470 val
* var1
/* : ArrayMapKeys[Object, nullable Object] */;
3471 var1
= array__ArrayMap__keys(self
);
3476 /* method array#ArrayMap#keys= for (self: ArrayMap[Object, nullable Object], ArrayMapKeys[Object, nullable Object]) */
3477 void array__ArrayMap__keys_61d(val
* self
, val
* p0
) {
3478 short int var
/* : Bool */;
3481 const struct type
* type_struct
;
3482 const char* var_class_name
;
3483 /* Covariant cast for argument 0 (keys) <p0:ArrayMapKeys[Object, nullable Object]> isa ArrayMapKeys[ArrayMap#0, ArrayMap#1] */
3484 /* <p0:ArrayMapKeys[Object, nullable Object]> isa ArrayMapKeys[ArrayMap#0, ArrayMap#1] */
3485 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMapKeysarray__ArrayMap_FT0array__ArrayMap_FT1
];
3486 cltype
= type_struct
->color
;
3487 idtype
= type_struct
->id
;
3488 if(cltype
>= p0
->type
->table_size
) {
3491 var
= p0
->type
->type_table
[cltype
] == idtype
;
3494 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3495 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMapKeys[ArrayMap#0, ArrayMap#1]", var_class_name
);
3496 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 471);
3499 self
->attrs
[COLOR_array__ArrayMap___64dkeys
].val
= p0
; /* @keys on <self:ArrayMap[Object, nullable Object]> */
3502 /* method array#ArrayMap#keys= for (self: Object, ArrayMapKeys[Object, nullable Object]) */
3503 void VIRTUAL_array__ArrayMap__keys_61d(val
* self
, val
* p0
) {
3504 array__ArrayMap__keys_61d(self
, p0
);
3507 /* method array#ArrayMap#values for (self: ArrayMap[Object, nullable Object]): ArrayMapValues[Object, nullable Object] */
3508 val
* array__ArrayMap__values(val
* self
) {
3509 val
* var
/* : ArrayMapValues[Object, nullable Object] */;
3510 val
* var1
/* : ArrayMapValues[Object, nullable Object] */;
3511 var1
= self
->attrs
[COLOR_array__ArrayMap___64dvalues
].val
; /* @values on <self:ArrayMap[Object, nullable Object]> */
3513 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @values");
3514 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 472);
3521 /* method array#ArrayMap#values for (self: Object): Collection[nullable Object] */
3522 val
* VIRTUAL_array__ArrayMap__values(val
* self
) {
3523 val
* var
/* : Collection[nullable Object] */;
3524 val
* var1
/* : ArrayMapValues[Object, nullable Object] */;
3525 var1
= array__ArrayMap__values(self
);
3530 /* method array#ArrayMap#values= for (self: ArrayMap[Object, nullable Object], ArrayMapValues[Object, nullable Object]) */
3531 void array__ArrayMap__values_61d(val
* self
, val
* p0
) {
3532 short int var
/* : Bool */;
3535 const struct type
* type_struct
;
3536 const char* var_class_name
;
3537 /* Covariant cast for argument 0 (values) <p0:ArrayMapValues[Object, nullable Object]> isa ArrayMapValues[ArrayMap#0, ArrayMap#1] */
3538 /* <p0:ArrayMapValues[Object, nullable Object]> isa ArrayMapValues[ArrayMap#0, ArrayMap#1] */
3539 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMapValuesarray__ArrayMap_FT0array__ArrayMap_FT1
];
3540 cltype
= type_struct
->color
;
3541 idtype
= type_struct
->id
;
3542 if(cltype
>= p0
->type
->table_size
) {
3545 var
= p0
->type
->type_table
[cltype
] == idtype
;
3548 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3549 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMapValues[ArrayMap#0, ArrayMap#1]", var_class_name
);
3550 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 472);
3553 self
->attrs
[COLOR_array__ArrayMap___64dvalues
].val
= p0
; /* @values on <self:ArrayMap[Object, nullable Object]> */
3556 /* method array#ArrayMap#values= for (self: Object, ArrayMapValues[Object, nullable Object]) */
3557 void VIRTUAL_array__ArrayMap__values_61d(val
* self
, val
* p0
) {
3558 array__ArrayMap__values_61d(self
, p0
);
3561 /* method array#ArrayMap#length for (self: ArrayMap[Object, nullable Object]): Int */
3562 long array__ArrayMap__length(val
* self
) {
3563 long var
/* : Int */;
3564 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3565 long var2
/* : Int */;
3566 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3568 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3569 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 475);
3572 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:Array[Couple[Object, nullable Object]]>*/;
3578 /* method array#ArrayMap#length for (self: Object): Int */
3579 long VIRTUAL_array__ArrayMap__length(val
* self
) {
3580 long var
/* : Int */;
3581 long var1
/* : Int */;
3582 var1
= array__ArrayMap__length(self
);
3587 /* method array#ArrayMap#iterator for (self: ArrayMap[Object, nullable Object]): CoupleMapIterator[Object, nullable Object] */
3588 val
* array__ArrayMap__iterator(val
* self
) {
3589 val
* var
/* : CoupleMapIterator[Object, nullable Object] */;
3590 val
* var1
/* : CoupleMapIterator[Object, nullable Object] */;
3591 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
3592 val
* var3
/* : Iterator[nullable Object] */;
3593 var1
= NEW_abstract_collection__CoupleMapIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__CoupleMapIteratorarray__ArrayMap_FT0array__ArrayMap_FT1
]);
3594 var2
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3596 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3597 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 477);
3600 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:Array[Couple[Object, nullable Object]]>*/;
3601 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__CoupleMapIterator__init
]))(var1
, var3
) /* init on <var1:CoupleMapIterator[Object, nullable Object]>*/;
3607 /* method array#ArrayMap#iterator for (self: Object): MapIterator[Object, nullable Object] */
3608 val
* VIRTUAL_array__ArrayMap__iterator(val
* self
) {
3609 val
* var
/* : MapIterator[Object, nullable Object] */;
3610 val
* var1
/* : CoupleMapIterator[Object, nullable Object] */;
3611 var1
= array__ArrayMap__iterator(self
);
3616 /* method array#ArrayMap#is_empty for (self: ArrayMap[Object, nullable Object]): Bool */
3617 short int array__ArrayMap__is_empty(val
* self
) {
3618 short int var
/* : Bool */;
3619 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3620 short int var2
/* : Bool */;
3621 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3623 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3624 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 479);
3627 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var1
) /* is_empty on <var1:Array[Couple[Object, nullable Object]]>*/;
3633 /* method array#ArrayMap#is_empty for (self: Object): Bool */
3634 short int VIRTUAL_array__ArrayMap__is_empty(val
* self
) {
3635 short int var
/* : Bool */;
3636 short int var1
/* : Bool */;
3637 var1
= array__ArrayMap__is_empty(self
);
3642 /* method array#ArrayMap#clear for (self: ArrayMap[Object, nullable Object]) */
3643 void array__ArrayMap__clear(val
* self
) {
3644 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3645 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3647 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3648 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 481);
3651 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var
) /* clear on <var:Array[Couple[Object, nullable Object]]>*/;
3654 /* method array#ArrayMap#clear for (self: Object) */
3655 void VIRTUAL_array__ArrayMap__clear(val
* self
) {
3656 array__ArrayMap__clear(self
);
3659 /* method array#ArrayMap#enlarge for (self: ArrayMap[Object, nullable Object], Int) */
3660 void array__ArrayMap__enlarge(val
* self
, long p0
) {
3661 long var_cap
/* var cap: Int */;
3662 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3664 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3666 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3667 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 484);
3670 ((void (*)(val
*, long))(var
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(var
, var_cap
) /* enlarge on <var:Array[Couple[Object, nullable Object]]>*/;
3673 /* method array#ArrayMap#enlarge for (self: Object, Int) */
3674 void VIRTUAL_array__ArrayMap__enlarge(val
* self
, long p0
) {
3675 array__ArrayMap__enlarge(self
, p0
);
3678 /* method array#ArrayMap#couple_at for (self: ArrayMap[Object, nullable Object], Object): nullable Couple[Object, nullable Object] */
3679 val
* array__ArrayMap__couple_at(val
* self
, val
* p0
) {
3680 val
* var
/* : nullable Couple[Object, nullable Object] */;
3681 short int var1
/* : Bool */;
3684 const struct type
* type_struct
;
3685 const char* var_class_name
;
3686 val
* var_key
/* var key: Object */;
3687 long var2
/* : Int */;
3688 long var_i
/* var i: Int */;
3689 long var3
/* : Int */;
3690 short int var4
/* : Bool */;
3691 short int var6
/* : Bool */;
3694 const char* var_class_name9
;
3695 short int var10
/* : Bool */;
3696 val
* var11
/* : Array[Couple[Object, nullable Object]] */;
3697 val
* var12
/* : nullable Object */;
3698 val
* var13
/* : null */;
3699 /* Covariant cast for argument 0 (key) <p0:Object> isa CoupleMap#0 */
3700 /* <p0:Object> isa CoupleMap#0 */
3701 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__CoupleMap_FT0
];
3702 cltype
= type_struct
->color
;
3703 idtype
= type_struct
->id
;
3704 if(cltype
>= p0
->type
->table_size
) {
3707 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3710 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3711 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "CoupleMap#0", var_class_name
);
3712 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 486);
3716 var2
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_array__ArrayMap__index
]))(self
, var_key
) /* index on <self:ArrayMap[Object, nullable Object]>*/;
3719 { /* Inline kernel#Int#>= (var_i,var3) */
3720 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3721 /* <var3:Int> isa OTHER */
3722 var6
= 1; /* easy <var3:Int> isa OTHER*/
3724 var_class_name9
= type_kernel__Int
.name
;
3725 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
3726 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
3729 var10
= var_i
>= var3
;
3735 var11
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3736 if (var11
== NULL
) {
3737 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3738 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 490);
3741 var12
= ((val
* (*)(val
*, long))(var11
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var11
, var_i
) /* [] on <var11:Array[Couple[Object, nullable Object]]>*/;
3752 /* method array#ArrayMap#couple_at for (self: Object, Object): nullable Couple[Object, nullable Object] */
3753 val
* VIRTUAL_array__ArrayMap__couple_at(val
* self
, val
* p0
) {
3754 val
* var
/* : nullable Couple[Object, nullable Object] */;
3755 val
* var1
/* : nullable Couple[Object, nullable Object] */;
3756 var1
= array__ArrayMap__couple_at(self
, p0
);
3761 /* method array#ArrayMap#remove_at_index for (self: ArrayMap[Object, nullable Object], Int) */
3762 void array__ArrayMap__remove_at_index(val
* self
, long p0
) {
3763 long var_i
/* var i: Int */;
3764 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3765 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3766 val
* var2
/* : nullable Object */;
3767 val
* var3
/* : Array[Couple[Object, nullable Object]] */;
3768 val
* var4
/* : nullable Object */;
3770 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3772 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3773 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 502);
3776 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3778 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3779 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 502);
3782 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var1
) /* last on <var1:Array[Couple[Object, nullable Object]]>*/;
3783 ((void (*)(val
*, long, val
*))(var
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var
, var_i
, var2
) /* []= on <var:Array[Couple[Object, nullable Object]]>*/;
3784 var3
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3786 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3787 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 503);
3790 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence__pop
]))(var3
) /* pop on <var3:Array[Couple[Object, nullable Object]]>*/;
3794 /* method array#ArrayMap#remove_at_index for (self: Object, Int) */
3795 void VIRTUAL_array__ArrayMap__remove_at_index(val
* self
, long p0
) {
3796 array__ArrayMap__remove_at_index(self
, p0
);
3799 /* method array#ArrayMap#index for (self: ArrayMap[Object, nullable Object], Object): Int */
3800 long array__ArrayMap__index(val
* self
, val
* p0
) {
3801 long var
/* : Int */;
3802 short int var1
/* : Bool */;
3805 const struct type
* type_struct
;
3806 const char* var_class_name
;
3807 val
* var_key
/* var key: Object */;
3808 long var2
/* : Int */;
3809 long var_l
/* var l: Int */;
3810 short int var3
/* : Bool */;
3811 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
3812 long var5
/* : Int */;
3813 short int var6
/* : Bool */;
3814 short int var8
/* : Bool */;
3817 const char* var_class_name11
;
3818 short int var12
/* : Bool */;
3819 short int var_
/* var : Bool */;
3820 val
* var13
/* : Array[Couple[Object, nullable Object]] */;
3821 val
* var14
/* : nullable Object */;
3822 val
* var15
/* : nullable Object */;
3823 short int var16
/* : Bool */;
3824 long var17
/* : Int */;
3825 long var_i
/* var i: Int */;
3826 val
* var18
/* : Array[Couple[Object, nullable Object]] */;
3827 long var19
/* : Int */;
3828 short int var20
/* : Bool */;
3829 short int var22
/* : Bool */;
3832 const char* var_class_name25
;
3833 short int var26
/* : Bool */;
3834 val
* var27
/* : Array[Couple[Object, nullable Object]] */;
3835 val
* var28
/* : nullable Object */;
3836 val
* var29
/* : nullable Object */;
3837 short int var30
/* : Bool */;
3838 long var31
/* : Int */;
3839 long var32
/* : Int */;
3840 long var34
/* : Int */;
3841 long var35
/* : Int */;
3842 long var36
/* : Int */;
3843 long var38
/* : Int */;
3844 /* Covariant cast for argument 0 (key) <p0:Object> isa ArrayMap#0 */
3845 /* <p0:Object> isa ArrayMap#0 */
3846 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMap_FT0
];
3847 cltype
= type_struct
->color
;
3848 idtype
= type_struct
->id
;
3849 if(cltype
>= p0
->type
->table_size
) {
3852 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3855 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3856 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap#0", var_class_name
);
3857 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 509);
3861 var2
= self
->attrs
[COLOR_array__ArrayMap___last_index
].l
; /* _last_index on <self:ArrayMap[Object, nullable Object]> */
3863 var4
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3865 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3866 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 514);
3869 var5
= ((long (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var4
) /* length on <var4:Array[Couple[Object, nullable Object]]>*/;
3870 { /* Inline kernel#Int#< (var_l,var5) */
3871 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
3872 /* <var5:Int> isa OTHER */
3873 var8
= 1; /* easy <var5:Int> isa OTHER*/
3875 var_class_name11
= type_kernel__Int
.name
;
3876 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
3877 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
3880 var12
= var_l
< var5
;
3887 var13
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3888 if (var13
== NULL
) {
3889 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3890 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 514);
3893 var14
= ((val
* (*)(val
*, long))(var13
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var13
, var_l
) /* [] on <var13:Array[Couple[Object, nullable Object]]>*/;
3894 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Couple__first
]))(var14
) /* first on <var14:nullable Object(Couple[Object, nullable Object])>*/;
3895 var16
= ((short int (*)(val
*, val
*))(var15
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var15
, var_key
) /* == on <var15:nullable Object(Object)>*/;
3908 var18
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3909 if (var18
== NULL
) {
3910 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3911 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 517);
3914 var19
= ((long (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var18
) /* length on <var18:Array[Couple[Object, nullable Object]]>*/;
3915 { /* Inline kernel#Int#< (var_i,var19) */
3916 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
3917 /* <var19:Int> isa OTHER */
3918 var22
= 1; /* easy <var19:Int> isa OTHER*/
3920 var_class_name25
= type_kernel__Int
.name
;
3921 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
3922 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
3925 var26
= var_i
< var19
;
3928 RET_LABEL21
:(void)0;
3931 var27
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3932 if (var27
== NULL
) {
3933 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3934 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 518);
3937 var28
= ((val
* (*)(val
*, long))(var27
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var27
, var_i
) /* [] on <var27:Array[Couple[Object, nullable Object]]>*/;
3938 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Couple__first
]))(var28
) /* first on <var28:nullable Object(Couple[Object, nullable Object])>*/;
3939 var30
= ((short int (*)(val
*, val
*))(var29
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var29
, var_key
) /* == on <var29:nullable Object(Object)>*/;
3941 self
->attrs
[COLOR_array__ArrayMap___last_index
].l
= var_i
; /* _last_index on <self:ArrayMap[Object, nullable Object]> */
3947 { /* Inline kernel#Int#+ (var_i,var31) */
3948 var34
= var_i
+ var31
;
3951 RET_LABEL33
:(void)0;
3954 CONTINUE_label
: (void)0;
3956 BREAK_label
: (void)0;
3958 { /* Inline kernel#Int#unary - (var35) */
3962 RET_LABEL37
:(void)0;
3969 /* method array#ArrayMap#index for (self: Object, Object): Int */
3970 long VIRTUAL_array__ArrayMap__index(val
* self
, val
* p0
) {
3971 long var
/* : Int */;
3972 long var1
/* : Int */;
3973 var1
= array__ArrayMap__index(self
, p0
);
3978 /* method array#ArrayMap#init for (self: ArrayMap[Object, nullable Object]) */
3979 void array__ArrayMap__init(val
* self
) {
3980 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3981 var
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayabstract_collection__Couplearray__ArrayMap_FT0array__ArrayMap_FT1
]);
3982 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[Couple[Object, nullable Object]]>*/;
3983 self
->attrs
[COLOR_array__ArrayMap___items
].val
= var
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3986 /* method array#ArrayMap#init for (self: Object) */
3987 void VIRTUAL_array__ArrayMap__init(val
* self
) {
3988 array__ArrayMap__init(self
);
3991 /* method array#ArrayMapKeys#map for (self: ArrayMapKeys[Object, nullable Object]): ArrayMap[Object, nullable Object] */
3992 val
* array__ArrayMapKeys__map(val
* self
) {
3993 val
* var
/* : ArrayMap[Object, nullable Object] */;
3994 val
* var1
/* : ArrayMap[Object, nullable Object] */;
3995 var1
= self
->attrs
[COLOR_array__ArrayMapKeys___64dmap
].val
; /* @map on <self:ArrayMapKeys[Object, nullable Object]> */
3997 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @map");
3998 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 536);
4005 /* method array#ArrayMapKeys#map for (self: Object): ArrayMap[Object, nullable Object] */
4006 val
* VIRTUAL_array__ArrayMapKeys__map(val
* self
) {
4007 val
* var
/* : ArrayMap[Object, nullable Object] */;
4008 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4009 var1
= array__ArrayMapKeys__map(self
);
4014 /* method array#ArrayMapKeys#map= for (self: ArrayMapKeys[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4015 void array__ArrayMapKeys__map_61d(val
* self
, val
* p0
) {
4016 short int var
/* : Bool */;
4019 const struct type
* type_struct
;
4020 const char* var_class_name
;
4021 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4022 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4023 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
];
4024 cltype
= type_struct
->color
;
4025 idtype
= type_struct
->id
;
4026 if(cltype
>= p0
->type
->table_size
) {
4029 var
= p0
->type
->type_table
[cltype
] == idtype
;
4032 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4033 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1]", var_class_name
);
4034 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 536);
4037 self
->attrs
[COLOR_array__ArrayMapKeys___64dmap
].val
= p0
; /* @map on <self:ArrayMapKeys[Object, nullable Object]> */
4040 /* method array#ArrayMapKeys#map= for (self: Object, ArrayMap[Object, nullable Object]) */
4041 void VIRTUAL_array__ArrayMapKeys__map_61d(val
* self
, val
* p0
) {
4042 array__ArrayMapKeys__map_61d(self
, p0
);
4045 /* method array#ArrayMapKeys#count for (self: ArrayMapKeys[Object, nullable Object], Object): Int */
4046 long array__ArrayMapKeys__count(val
* self
, val
* p0
) {
4047 long var
/* : Int */;
4048 short int var1
/* : Bool */;
4051 const struct type
* type_struct
;
4052 const char* var_class_name
;
4053 val
* var_k
/* var k: Object */;
4054 short int var2
/* : Bool */;
4055 long var3
/* : Int */;
4056 long var4
/* : Int */;
4057 /* Covariant cast for argument 0 (k) <p0:Object> isa Collection#0 */
4058 /* <p0:Object> isa Collection#0 */
4059 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4060 cltype
= type_struct
->color
;
4061 idtype
= type_struct
->id
;
4062 if(cltype
>= p0
->type
->table_size
) {
4065 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4068 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4069 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4070 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 538);
4074 var2
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__has
]))(self
, var_k
) /* has on <self:ArrayMapKeys[Object, nullable Object]>*/;
4087 /* method array#ArrayMapKeys#count for (self: Object, nullable Object): Int */
4088 long VIRTUAL_array__ArrayMapKeys__count(val
* self
, val
* p0
) {
4089 long var
/* : Int */;
4090 long var1
/* : Int */;
4091 var1
= array__ArrayMapKeys__count(self
, p0
);
4096 /* method array#ArrayMapKeys#first for (self: ArrayMapKeys[Object, nullable Object]): Object */
4097 val
* array__ArrayMapKeys__first(val
* self
) {
4098 val
* var
/* : Object */;
4099 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4100 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
4101 val
* var3
/* : nullable Object */;
4102 val
* var4
/* : nullable Object */;
4103 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4104 var2
= var1
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var1:ArrayMap[Object, nullable Object]> */
4106 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4107 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 539);
4110 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:Array[Couple[Object, nullable Object]]>*/;
4111 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Couple__first
]))(var3
) /* first on <var3:nullable Object(Couple[Object, nullable Object])>*/;
4117 /* method array#ArrayMapKeys#first for (self: Object): nullable Object */
4118 val
* VIRTUAL_array__ArrayMapKeys__first(val
* self
) {
4119 val
* var
/* : nullable Object */;
4120 val
* var1
/* : Object */;
4121 var1
= array__ArrayMapKeys__first(self
);
4126 /* method array#ArrayMapKeys#has for (self: ArrayMapKeys[Object, nullable Object], Object): Bool */
4127 short int array__ArrayMapKeys__has(val
* self
, val
* p0
) {
4128 short int var
/* : Bool */;
4129 short int var1
/* : Bool */;
4132 const struct type
* type_struct
;
4133 const char* var_class_name
;
4134 val
* var_k
/* var k: Object */;
4135 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4136 long var3
/* : Int */;
4137 long var4
/* : Int */;
4138 short int var5
/* : Bool */;
4139 short int var7
/* : Bool */;
4142 const char* var_class_name10
;
4143 short int var11
/* : Bool */;
4144 /* Covariant cast for argument 0 (k) <p0:Object> isa Collection#0 */
4145 /* <p0:Object> isa Collection#0 */
4146 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4147 cltype
= type_struct
->color
;
4148 idtype
= type_struct
->id
;
4149 if(cltype
>= p0
->type
->table_size
) {
4152 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4155 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4156 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4157 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 540);
4161 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4162 var3
= ((long (*)(val
*, val
*))(var2
->class->vft
[COLOR_array__ArrayMap__index
]))(var2
, var_k
) /* index on <var2:ArrayMap[Object, nullable Object]>*/;
4164 { /* Inline kernel#Int#>= (var3,var4) */
4165 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
4166 /* <var4:Int> isa OTHER */
4167 var7
= 1; /* easy <var4:Int> isa OTHER*/
4169 var_class_name10
= type_kernel__Int
.name
;
4170 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
4171 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
4174 var11
= var3
>= var4
;
4184 /* method array#ArrayMapKeys#has for (self: Object, nullable Object): Bool */
4185 short int VIRTUAL_array__ArrayMapKeys__has(val
* self
, val
* p0
) {
4186 short int var
/* : Bool */;
4187 short int var1
/* : Bool */;
4188 var1
= array__ArrayMapKeys__has(self
, p0
);
4193 /* method array#ArrayMapKeys#has_only for (self: ArrayMapKeys[Object, nullable Object], Object): Bool */
4194 short int array__ArrayMapKeys__has_only(val
* self
, val
* p0
) {
4195 short int var
/* : Bool */;
4196 short int var1
/* : Bool */;
4199 const struct type
* type_struct
;
4200 const char* var_class_name
;
4201 val
* var_k
/* var k: Object */;
4202 short int var2
/* : Bool */;
4203 short int var3
/* : Bool */;
4204 short int var4
/* : Bool */;
4205 short int var_
/* var : Bool */;
4206 long var5
/* : Int */;
4207 long var6
/* : Int */;
4208 short int var7
/* : Bool */;
4209 short int var9
/* : Bool */;
4210 short int var_10
/* var : Bool */;
4211 short int var11
/* : Bool */;
4212 /* Covariant cast for argument 0 (k) <p0:Object> isa Collection#0 */
4213 /* <p0:Object> isa Collection#0 */
4214 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4215 cltype
= type_struct
->color
;
4216 idtype
= type_struct
->id
;
4217 if(cltype
>= p0
->type
->table_size
) {
4220 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4223 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4224 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4225 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 541);
4229 var4
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__has
]))(self
, var_k
) /* has on <self:ArrayMapKeys[Object, nullable Object]>*/;
4232 var5
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:ArrayMapKeys[Object, nullable Object]>*/;
4234 { /* Inline kernel#Int#== (var5,var6) */
4235 var9
= var5
== var6
;
4248 var11
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:ArrayMapKeys[Object, nullable Object]>*/;
4256 /* method array#ArrayMapKeys#has_only for (self: Object, nullable Object): Bool */
4257 short int VIRTUAL_array__ArrayMapKeys__has_only(val
* self
, val
* p0
) {
4258 short int var
/* : Bool */;
4259 short int var1
/* : Bool */;
4260 var1
= array__ArrayMapKeys__has_only(self
, p0
);
4265 /* method array#ArrayMapKeys#is_empty for (self: ArrayMapKeys[Object, nullable Object]): Bool */
4266 short int array__ArrayMapKeys__is_empty(val
* self
) {
4267 short int var
/* : Bool */;
4268 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4269 short int var2
/* : Bool */;
4270 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4271 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__is_empty
]))(var1
) /* is_empty on <var1:ArrayMap[Object, nullable Object]>*/;
4277 /* method array#ArrayMapKeys#is_empty for (self: Object): Bool */
4278 short int VIRTUAL_array__ArrayMapKeys__is_empty(val
* self
) {
4279 short int var
/* : Bool */;
4280 short int var1
/* : Bool */;
4281 var1
= array__ArrayMapKeys__is_empty(self
);
4286 /* method array#ArrayMapKeys#length for (self: ArrayMapKeys[Object, nullable Object]): Int */
4287 long array__ArrayMapKeys__length(val
* self
) {
4288 long var
/* : Int */;
4289 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4290 long var2
/* : Int */;
4291 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4292 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__length
]))(var1
) /* length on <var1:ArrayMap[Object, nullable Object]>*/;
4298 /* method array#ArrayMapKeys#length for (self: Object): Int */
4299 long VIRTUAL_array__ArrayMapKeys__length(val
* self
) {
4300 long var
/* : Int */;
4301 long var1
/* : Int */;
4302 var1
= array__ArrayMapKeys__length(self
);
4307 /* method array#ArrayMapKeys#iterator for (self: ArrayMapKeys[Object, nullable Object]): Iterator[Object] */
4308 val
* array__ArrayMapKeys__iterator(val
* self
) {
4309 val
* var
/* : Iterator[Object] */;
4310 val
* var1
/* : MapKeysIterator[Object, nullable Object] */;
4311 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4312 val
* var3
/* : MapIterator[Object, nullable Object] */;
4313 var1
= NEW_abstract_collection__MapKeysIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapKeysIteratorarray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
]);
4314 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4315 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var2
) /* iterator on <var2:ArrayMap[Object, nullable Object]>*/;
4316 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapKeysIterator__init
]))(var1
, var3
) /* init on <var1:MapKeysIterator[Object, nullable Object]>*/;
4322 /* method array#ArrayMapKeys#iterator for (self: Object): Iterator[nullable Object] */
4323 val
* VIRTUAL_array__ArrayMapKeys__iterator(val
* self
) {
4324 val
* var
/* : Iterator[nullable Object] */;
4325 val
* var1
/* : Iterator[Object] */;
4326 var1
= array__ArrayMapKeys__iterator(self
);
4331 /* method array#ArrayMapKeys#clear for (self: ArrayMapKeys[Object, nullable Object]) */
4332 void array__ArrayMapKeys__clear(val
* self
) {
4333 val
* var
/* : ArrayMap[Object, nullable Object] */;
4334 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4335 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Map__clear
]))(var
) /* clear on <var:ArrayMap[Object, nullable Object]>*/;
4338 /* method array#ArrayMapKeys#clear for (self: Object) */
4339 void VIRTUAL_array__ArrayMapKeys__clear(val
* self
) {
4340 array__ArrayMapKeys__clear(self
);
4343 /* method array#ArrayMapKeys#remove for (self: ArrayMapKeys[Object, nullable Object], Object) */
4344 void array__ArrayMapKeys__remove(val
* self
, val
* p0
) {
4345 short int var
/* : Bool */;
4348 const struct type
* type_struct
;
4349 const char* var_class_name
;
4350 val
* var_key
/* var key: Object */;
4351 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4352 long var2
/* : Int */;
4353 long var_i
/* var i: Int */;
4354 long var3
/* : Int */;
4355 short int var4
/* : Bool */;
4356 short int var6
/* : Bool */;
4359 const char* var_class_name9
;
4360 short int var10
/* : Bool */;
4361 val
* var11
/* : ArrayMap[Object, nullable Object] */;
4362 /* Covariant cast for argument 0 (key) <p0:Object> isa RemovableCollection#0 */
4363 /* <p0:Object> isa RemovableCollection#0 */
4364 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
4365 cltype
= type_struct
->color
;
4366 idtype
= type_struct
->id
;
4367 if(cltype
>= p0
->type
->table_size
) {
4370 var
= p0
->type
->type_table
[cltype
] == idtype
;
4373 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4374 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
4375 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 546);
4379 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4380 var2
= ((long (*)(val
*, val
*))(var1
->class->vft
[COLOR_array__ArrayMap__index
]))(var1
, var_key
) /* index on <var1:ArrayMap[Object, nullable Object]>*/;
4383 { /* Inline kernel#Int#>= (var_i,var3) */
4384 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
4385 /* <var3:Int> isa OTHER */
4386 var6
= 1; /* easy <var3:Int> isa OTHER*/
4388 var_class_name9
= type_kernel__Int
.name
;
4389 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
4390 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
4393 var10
= var_i
>= var3
;
4399 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4400 ((void (*)(val
*, long))(var11
->class->vft
[COLOR_array__ArrayMap__remove_at_index
]))(var11
, var_i
) /* remove_at_index on <var11:ArrayMap[Object, nullable Object]>*/;
4405 /* method array#ArrayMapKeys#remove for (self: Object, nullable Object) */
4406 void VIRTUAL_array__ArrayMapKeys__remove(val
* self
, val
* p0
) {
4407 array__ArrayMapKeys__remove(self
, p0
);
4410 /* method array#ArrayMapKeys#remove_all for (self: ArrayMapKeys[Object, nullable Object], Object) */
4411 void array__ArrayMapKeys__remove_all(val
* self
, val
* p0
) {
4412 short int var
/* : Bool */;
4415 const struct type
* type_struct
;
4416 const char* var_class_name
;
4417 val
* var_key
/* var key: Object */;
4418 /* Covariant cast for argument 0 (key) <p0:Object> isa RemovableCollection#0 */
4419 /* <p0:Object> isa RemovableCollection#0 */
4420 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
4421 cltype
= type_struct
->color
;
4422 idtype
= type_struct
->id
;
4423 if(cltype
>= p0
->type
->table_size
) {
4426 var
= p0
->type
->type_table
[cltype
] == idtype
;
4429 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4430 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
4431 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 551);
4435 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(self
, var_key
) /* remove on <self:ArrayMapKeys[Object, nullable Object]>*/;
4438 /* method array#ArrayMapKeys#remove_all for (self: Object, nullable Object) */
4439 void VIRTUAL_array__ArrayMapKeys__remove_all(val
* self
, val
* p0
) {
4440 array__ArrayMapKeys__remove_all(self
, p0
);
4443 /* method array#ArrayMapKeys#init for (self: ArrayMapKeys[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4444 void array__ArrayMapKeys__init(val
* self
, val
* p0
) {
4445 short int var
/* : Bool */;
4448 const struct type
* type_struct
;
4449 const char* var_class_name
;
4450 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4451 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4452 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
];
4453 cltype
= type_struct
->color
;
4454 idtype
= type_struct
->id
;
4455 if(cltype
>= p0
->type
->table_size
) {
4458 var
= p0
->type
->type_table
[cltype
] == idtype
;
4461 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4462 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1]", var_class_name
);
4463 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 534);
4466 self
->attrs
[COLOR_array__ArrayMapKeys___64dmap
].val
= p0
; /* @map on <self:ArrayMapKeys[Object, nullable Object]> */
4469 /* method array#ArrayMapKeys#init for (self: Object, ArrayMap[Object, nullable Object]) */
4470 void VIRTUAL_array__ArrayMapKeys__init(val
* self
, val
* p0
) {
4471 array__ArrayMapKeys__init(self
, p0
);
4474 /* method array#ArrayMapValues#map for (self: ArrayMapValues[Object, nullable Object]): ArrayMap[Object, nullable Object] */
4475 val
* array__ArrayMapValues__map(val
* self
) {
4476 val
* var
/* : ArrayMap[Object, nullable Object] */;
4477 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4478 var1
= self
->attrs
[COLOR_array__ArrayMapValues___64dmap
].val
; /* @map on <self:ArrayMapValues[Object, nullable Object]> */
4480 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @map");
4481 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 556);
4488 /* method array#ArrayMapValues#map for (self: Object): ArrayMap[Object, nullable Object] */
4489 val
* VIRTUAL_array__ArrayMapValues__map(val
* self
) {
4490 val
* var
/* : ArrayMap[Object, nullable Object] */;
4491 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4492 var1
= array__ArrayMapValues__map(self
);
4497 /* method array#ArrayMapValues#map= for (self: ArrayMapValues[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4498 void array__ArrayMapValues__map_61d(val
* self
, val
* p0
) {
4499 short int var
/* : Bool */;
4502 const struct type
* type_struct
;
4503 const char* var_class_name
;
4504 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
4505 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
4506 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapValues_FT0array__ArrayMapValues_FT1
];
4507 cltype
= type_struct
->color
;
4508 idtype
= type_struct
->id
;
4509 if(cltype
>= p0
->type
->table_size
) {
4512 var
= p0
->type
->type_table
[cltype
] == idtype
;
4515 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4516 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapValues#0, ArrayMapValues#1]", var_class_name
);
4517 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 556);
4520 self
->attrs
[COLOR_array__ArrayMapValues___64dmap
].val
= p0
; /* @map on <self:ArrayMapValues[Object, nullable Object]> */
4523 /* method array#ArrayMapValues#map= for (self: Object, ArrayMap[Object, nullable Object]) */
4524 void VIRTUAL_array__ArrayMapValues__map_61d(val
* self
, val
* p0
) {
4525 array__ArrayMapValues__map_61d(self
, p0
);
4528 /* method array#ArrayMapValues#first for (self: ArrayMapValues[Object, nullable Object]): nullable Object */
4529 val
* array__ArrayMapValues__first(val
* self
) {
4530 val
* var
/* : nullable Object */;
4531 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4532 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
4533 val
* var3
/* : nullable Object */;
4534 val
* var4
/* : nullable Object */;
4535 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4536 var2
= var1
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var1:ArrayMap[Object, nullable Object]> */
4538 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4539 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 558);
4542 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:Array[Couple[Object, nullable Object]]>*/;
4543 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var3
) /* second on <var3:nullable Object(Couple[Object, nullable Object])>*/;
4549 /* method array#ArrayMapValues#first for (self: Object): nullable Object */
4550 val
* VIRTUAL_array__ArrayMapValues__first(val
* self
) {
4551 val
* var
/* : nullable Object */;
4552 val
* var1
/* : nullable Object */;
4553 var1
= array__ArrayMapValues__first(self
);
4558 /* method array#ArrayMapValues#is_empty for (self: ArrayMapValues[Object, nullable Object]): Bool */
4559 short int array__ArrayMapValues__is_empty(val
* self
) {
4560 short int var
/* : Bool */;
4561 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4562 short int var2
/* : Bool */;
4563 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4564 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__is_empty
]))(var1
) /* is_empty on <var1:ArrayMap[Object, nullable Object]>*/;
4570 /* method array#ArrayMapValues#is_empty for (self: Object): Bool */
4571 short int VIRTUAL_array__ArrayMapValues__is_empty(val
* self
) {
4572 short int var
/* : Bool */;
4573 short int var1
/* : Bool */;
4574 var1
= array__ArrayMapValues__is_empty(self
);
4579 /* method array#ArrayMapValues#length for (self: ArrayMapValues[Object, nullable Object]): Int */
4580 long array__ArrayMapValues__length(val
* self
) {
4581 long var
/* : Int */;
4582 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4583 long var2
/* : Int */;
4584 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4585 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__length
]))(var1
) /* length on <var1:ArrayMap[Object, nullable Object]>*/;
4591 /* method array#ArrayMapValues#length for (self: Object): Int */
4592 long VIRTUAL_array__ArrayMapValues__length(val
* self
) {
4593 long var
/* : Int */;
4594 long var1
/* : Int */;
4595 var1
= array__ArrayMapValues__length(self
);
4600 /* method array#ArrayMapValues#iterator for (self: ArrayMapValues[Object, nullable Object]): Iterator[nullable Object] */
4601 val
* array__ArrayMapValues__iterator(val
* self
) {
4602 val
* var
/* : Iterator[nullable Object] */;
4603 val
* var1
/* : MapValuesIterator[Object, nullable Object] */;
4604 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4605 val
* var3
/* : MapIterator[Object, nullable Object] */;
4606 var1
= NEW_abstract_collection__MapValuesIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapValuesIteratorarray__ArrayMapValues_FT0array__ArrayMapValues_FT1
]);
4607 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4608 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var2
) /* iterator on <var2:ArrayMap[Object, nullable Object]>*/;
4609 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapValuesIterator__init
]))(var1
, var3
) /* init on <var1:MapValuesIterator[Object, nullable Object]>*/;
4615 /* method array#ArrayMapValues#iterator for (self: Object): Iterator[nullable Object] */
4616 val
* VIRTUAL_array__ArrayMapValues__iterator(val
* self
) {
4617 val
* var
/* : Iterator[nullable Object] */;
4618 val
* var1
/* : Iterator[nullable Object] */;
4619 var1
= array__ArrayMapValues__iterator(self
);
4624 /* method array#ArrayMapValues#has for (self: ArrayMapValues[Object, nullable Object], nullable Object): Bool */
4625 short int array__ArrayMapValues__has(val
* self
, val
* p0
) {
4626 short int var
/* : Bool */;
4627 short int var1
/* : Bool */;
4630 const struct type
* type_struct
;
4631 short int is_nullable
;
4632 const char* var_class_name
;
4633 val
* var_item
/* var item: nullable Object */;
4634 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4635 val
* var3
/* : Array[Couple[Object, nullable Object]] */;
4636 val
* var4
/* : Iterator[nullable Object] */;
4637 short int var5
/* : Bool */;
4638 val
* var6
/* : nullable Object */;
4639 val
* var_i
/* var i: Couple[Object, nullable Object] */;
4640 val
* var7
/* : nullable Object */;
4641 short int var8
/* : Bool */;
4642 short int var9
/* : Bool */;
4643 short int var10
/* : Bool */;
4644 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
4645 /* <p0:nullable Object> isa Collection#0 */
4646 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4647 cltype
= type_struct
->color
;
4648 idtype
= type_struct
->id
;
4649 is_nullable
= type_struct
->is_nullable
;
4653 if(cltype
>= p0
->type
->table_size
) {
4656 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4660 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4661 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4662 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 563);
4666 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4667 var3
= var2
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var2:ArrayMap[Object, nullable Object]> */
4669 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4670 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 566);
4673 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:Array[Couple[Object, nullable Object]]>*/;
4675 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
4677 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
4679 var7
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var_i
) /* second on <var_i:Couple[Object, nullable Object]>*/;
4681 var8
= (var_item
== NULL
);
4683 var8
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var7
, var_item
) /* == on <var7:nullable Object>*/;
4691 CONTINUE_label
: (void)0;
4692 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
4694 BREAK_label
: (void)0;
4701 /* method array#ArrayMapValues#has for (self: Object, nullable Object): Bool */
4702 short int VIRTUAL_array__ArrayMapValues__has(val
* self
, val
* p0
) {
4703 short int var
/* : Bool */;
4704 short int var1
/* : Bool */;
4705 var1
= array__ArrayMapValues__has(self
, p0
);
4710 /* method array#ArrayMapValues#has_only for (self: ArrayMapValues[Object, nullable Object], nullable Object): Bool */
4711 short int array__ArrayMapValues__has_only(val
* self
, val
* p0
) {
4712 short int var
/* : Bool */;
4713 short int var1
/* : Bool */;
4716 const struct type
* type_struct
;
4717 short int is_nullable
;
4718 const char* var_class_name
;
4719 val
* var_item
/* var item: nullable Object */;
4720 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4721 val
* var3
/* : Array[Couple[Object, nullable Object]] */;
4722 val
* var4
/* : Iterator[nullable Object] */;
4723 short int var5
/* : Bool */;
4724 val
* var6
/* : nullable Object */;
4725 val
* var_i
/* var i: Couple[Object, nullable Object] */;
4726 val
* var7
/* : nullable Object */;
4727 short int var8
/* : Bool */;
4728 short int var9
/* : Bool */;
4729 short int var10
/* : Bool */;
4730 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
4731 /* <p0:nullable Object> isa Collection#0 */
4732 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4733 cltype
= type_struct
->color
;
4734 idtype
= type_struct
->id
;
4735 is_nullable
= type_struct
->is_nullable
;
4739 if(cltype
>= p0
->type
->table_size
) {
4742 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4746 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4747 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4748 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 570);
4752 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4753 var3
= var2
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var2:ArrayMap[Object, nullable Object]> */
4755 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4756 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 573);
4759 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:Array[Couple[Object, nullable Object]]>*/;
4761 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
4763 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
4765 var7
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var_i
) /* second on <var_i:Couple[Object, nullable Object]>*/;
4767 var8
= (var_item
!= NULL
);
4769 var8
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var7
, var_item
) /* != on <var7:nullable Object>*/;
4777 CONTINUE_label
: (void)0;
4778 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
4780 BREAK_label
: (void)0;
4787 /* method array#ArrayMapValues#has_only for (self: Object, nullable Object): Bool */
4788 short int VIRTUAL_array__ArrayMapValues__has_only(val
* self
, val
* p0
) {
4789 short int var
/* : Bool */;
4790 short int var1
/* : Bool */;
4791 var1
= array__ArrayMapValues__has_only(self
, p0
);
4796 /* method array#ArrayMapValues#count for (self: ArrayMapValues[Object, nullable Object], nullable Object): Int */
4797 long array__ArrayMapValues__count(val
* self
, val
* p0
) {
4798 long var
/* : Int */;
4799 short int var1
/* : Bool */;
4802 const struct type
* type_struct
;
4803 short int is_nullable
;
4804 const char* var_class_name
;
4805 val
* var_item
/* var item: nullable Object */;
4806 long var2
/* : Int */;
4807 long var_nb
/* var nb: Int */;
4808 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4809 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
4810 val
* var5
/* : Iterator[nullable Object] */;
4811 short int var6
/* : Bool */;
4812 val
* var7
/* : nullable Object */;
4813 val
* var_i
/* var i: Couple[Object, nullable Object] */;
4814 val
* var8
/* : nullable Object */;
4815 short int var9
/* : Bool */;
4816 long var10
/* : Int */;
4817 long var11
/* : Int */;
4818 long var13
/* : Int */;
4819 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
4820 /* <p0:nullable Object> isa Collection#0 */
4821 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4822 cltype
= type_struct
->color
;
4823 idtype
= type_struct
->id
;
4824 is_nullable
= type_struct
->is_nullable
;
4828 if(cltype
>= p0
->type
->table_size
) {
4831 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4835 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4836 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4837 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 577);
4843 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4844 var4
= var3
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var3:ArrayMap[Object, nullable Object]> */
4846 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4847 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 581);
4850 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:Array[Couple[Object, nullable Object]]>*/;
4852 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
4854 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
4856 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var_i
) /* second on <var_i:Couple[Object, nullable Object]>*/;
4858 var9
= (var_item
== NULL
);
4860 var9
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var8
, var_item
) /* == on <var8:nullable Object>*/;
4864 { /* Inline kernel#Int#+ (var_nb,var10) */
4865 var13
= var_nb
+ var10
;
4868 RET_LABEL12
:(void)0;
4873 CONTINUE_label
: (void)0;
4874 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
4876 BREAK_label
: (void)0;
4882 /* method array#ArrayMapValues#count for (self: Object, nullable Object): Int */
4883 long VIRTUAL_array__ArrayMapValues__count(val
* self
, val
* p0
) {
4884 long var
/* : Int */;
4885 long var1
/* : Int */;
4886 var1
= array__ArrayMapValues__count(self
, p0
);
4891 /* method array#ArrayMapValues#clear for (self: ArrayMapValues[Object, nullable Object]) */
4892 void array__ArrayMapValues__clear(val
* self
) {
4893 val
* var
/* : ArrayMap[Object, nullable Object] */;
4894 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4895 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Map__clear
]))(var
) /* clear on <var:ArrayMap[Object, nullable Object]>*/;
4898 /* method array#ArrayMapValues#clear for (self: Object) */
4899 void VIRTUAL_array__ArrayMapValues__clear(val
* self
) {
4900 array__ArrayMapValues__clear(self
);
4903 /* method array#ArrayMapValues#remove for (self: ArrayMapValues[Object, nullable Object], nullable Object) */
4904 void array__ArrayMapValues__remove(val
* self
, val
* p0
) {
4905 short int var
/* : Bool */;
4908 const struct type
* type_struct
;
4909 short int is_nullable
;
4910 const char* var_class_name
;
4911 val
* var_item
/* var item: nullable Object */;
4912 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4913 val
* var_map
/* var map: ArrayMap[Object, nullable Object] */;
4914 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
4915 long var3
/* : Int */;
4916 long var4
/* : Int */;
4917 long var5
/* : Int */;
4918 long var7
/* : Int */;
4919 long var_i
/* var i: Int */;
4920 long var8
/* : Int */;
4921 short int var9
/* : Bool */;
4922 short int var11
/* : Bool */;
4925 const char* var_class_name14
;
4926 short int var15
/* : Bool */;
4927 val
* var16
/* : Array[Couple[Object, nullable Object]] */;
4928 val
* var17
/* : nullable Object */;
4929 val
* var18
/* : nullable Object */;
4930 short int var19
/* : Bool */;
4931 long var20
/* : Int */;
4932 long var21
/* : Int */;
4933 long var23
/* : Int */;
4934 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
4935 /* <p0:nullable Object> isa RemovableCollection#0 */
4936 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
4937 cltype
= type_struct
->color
;
4938 idtype
= type_struct
->id
;
4939 is_nullable
= type_struct
->is_nullable
;
4943 if(cltype
>= p0
->type
->table_size
) {
4946 var
= p0
->type
->type_table
[cltype
] == idtype
;
4950 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4951 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
4952 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 587);
4956 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4958 var2
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
4960 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4961 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 590);
4964 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var2
) /* length on <var2:Array[Couple[Object, nullable Object]]>*/;
4966 { /* Inline kernel#Int#- (var3,var4) */
4975 { /* Inline kernel#Int#>= (var_i,var8) */
4976 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
4977 /* <var8:Int> isa OTHER */
4978 var11
= 1; /* easy <var8:Int> isa OTHER*/
4980 var_class_name14
= type_kernel__Int
.name
;
4981 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
4982 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
4985 var15
= var_i
>= var8
;
4988 RET_LABEL10
:(void)0;
4991 var16
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
4992 if (var16
== NULL
) {
4993 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4994 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 592);
4997 var17
= ((val
* (*)(val
*, long))(var16
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var16
, var_i
) /* [] on <var16:Array[Couple[Object, nullable Object]]>*/;
4998 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var17
) /* second on <var17:nullable Object(Couple[Object, nullable Object])>*/;
4999 if (var18
== NULL
) {
5000 var19
= (var_item
== NULL
);
5002 var19
= ((short int (*)(val
*, val
*))(var18
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var18
, var_item
) /* == on <var18:nullable Object>*/;
5005 ((void (*)(val
*, long))(var_map
->class->vft
[COLOR_array__ArrayMap__remove_at_index
]))(var_map
, var_i
) /* remove_at_index on <var_map:ArrayMap[Object, nullable Object]>*/;
5010 { /* Inline kernel#Int#- (var_i,var20) */
5011 var23
= var_i
- var20
;
5014 RET_LABEL22
:(void)0;
5017 CONTINUE_label
: (void)0;
5019 BREAK_label
: (void)0;
5022 /* method array#ArrayMapValues#remove for (self: Object, nullable Object) */
5023 void VIRTUAL_array__ArrayMapValues__remove(val
* self
, val
* p0
) {
5024 array__ArrayMapValues__remove(self
, p0
);
5027 /* method array#ArrayMapValues#remove_all for (self: ArrayMapValues[Object, nullable Object], nullable Object) */
5028 void array__ArrayMapValues__remove_all(val
* self
, val
* p0
) {
5029 short int var
/* : Bool */;
5032 const struct type
* type_struct
;
5033 short int is_nullable
;
5034 const char* var_class_name
;
5035 val
* var_item
/* var item: nullable Object */;
5036 val
* var1
/* : ArrayMap[Object, nullable Object] */;
5037 val
* var_map
/* var map: ArrayMap[Object, nullable Object] */;
5038 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
5039 long var3
/* : Int */;
5040 long var4
/* : Int */;
5041 long var5
/* : Int */;
5042 long var7
/* : Int */;
5043 long var_i
/* var i: Int */;
5044 long var8
/* : Int */;
5045 short int var9
/* : Bool */;
5046 short int var11
/* : Bool */;
5049 const char* var_class_name14
;
5050 short int var15
/* : Bool */;
5051 val
* var16
/* : Array[Couple[Object, nullable Object]] */;
5052 val
* var17
/* : nullable Object */;
5053 val
* var18
/* : nullable Object */;
5054 short int var19
/* : Bool */;
5055 long var20
/* : Int */;
5056 long var21
/* : Int */;
5057 long var23
/* : Int */;
5058 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
5059 /* <p0:nullable Object> isa RemovableCollection#0 */
5060 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
5061 cltype
= type_struct
->color
;
5062 idtype
= type_struct
->id
;
5063 is_nullable
= type_struct
->is_nullable
;
5067 if(cltype
>= p0
->type
->table_size
) {
5070 var
= p0
->type
->type_table
[cltype
] == idtype
;
5074 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5075 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
5076 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 600);
5080 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
5082 var2
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
5084 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
5085 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 603);
5088 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var2
) /* length on <var2:Array[Couple[Object, nullable Object]]>*/;
5090 { /* Inline kernel#Int#- (var3,var4) */
5099 { /* Inline kernel#Int#>= (var_i,var8) */
5100 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
5101 /* <var8:Int> isa OTHER */
5102 var11
= 1; /* easy <var8:Int> isa OTHER*/
5104 var_class_name14
= type_kernel__Int
.name
;
5105 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
5106 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
5109 var15
= var_i
>= var8
;
5112 RET_LABEL10
:(void)0;
5115 var16
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
5116 if (var16
== NULL
) {
5117 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
5118 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 605);
5121 var17
= ((val
* (*)(val
*, long))(var16
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var16
, var_i
) /* [] on <var16:Array[Couple[Object, nullable Object]]>*/;
5122 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var17
) /* second on <var17:nullable Object(Couple[Object, nullable Object])>*/;
5123 if (var18
== NULL
) {
5124 var19
= (var_item
== NULL
);
5126 var19
= ((short int (*)(val
*, val
*))(var18
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var18
, var_item
) /* == on <var18:nullable Object>*/;
5129 ((void (*)(val
*, long))(var_map
->class->vft
[COLOR_array__ArrayMap__remove_at_index
]))(var_map
, var_i
) /* remove_at_index on <var_map:ArrayMap[Object, nullable Object]>*/;
5133 { /* Inline kernel#Int#- (var_i,var20) */
5134 var23
= var_i
- var20
;
5137 RET_LABEL22
:(void)0;
5140 CONTINUE_label
: (void)0;
5142 BREAK_label
: (void)0;
5145 /* method array#ArrayMapValues#remove_all for (self: Object, nullable Object) */
5146 void VIRTUAL_array__ArrayMapValues__remove_all(val
* self
, val
* p0
) {
5147 array__ArrayMapValues__remove_all(self
, p0
);
5150 /* method array#ArrayMapValues#init for (self: ArrayMapValues[Object, nullable Object], ArrayMap[Object, nullable Object]) */
5151 void array__ArrayMapValues__init(val
* self
, val
* p0
) {
5152 short int var
/* : Bool */;
5155 const struct type
* type_struct
;
5156 const char* var_class_name
;
5157 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
5158 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
5159 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapValues_FT0array__ArrayMapValues_FT1
];
5160 cltype
= type_struct
->color
;
5161 idtype
= type_struct
->id
;
5162 if(cltype
>= p0
->type
->table_size
) {
5165 var
= p0
->type
->type_table
[cltype
] == idtype
;
5168 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5169 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapValues#0, ArrayMapValues#1]", var_class_name
);
5170 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 554);
5173 self
->attrs
[COLOR_array__ArrayMapValues___64dmap
].val
= p0
; /* @map on <self:ArrayMapValues[Object, nullable Object]> */
5176 /* method array#ArrayMapValues#init for (self: Object, ArrayMap[Object, nullable Object]) */
5177 void VIRTUAL_array__ArrayMapValues__init(val
* self
, val
* p0
) {
5178 array__ArrayMapValues__init(self
, p0
);
5181 /* method array#Iterator#to_a for (self: Iterator[nullable Object]): Array[nullable Object] */
5182 val
* array__Iterator__to_a(val
* self
) {
5183 val
* var
/* : Array[nullable Object] */;
5184 val
* var1
/* : Array[nullable Object] */;
5185 val
* var_res
/* var res: Array[nullable Object] */;
5186 short int var2
/* : Bool */;
5187 val
* var3
/* : nullable Object */;
5188 var1
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayabstract_collection__Iterator_FT0
]);
5189 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[nullable Object]>*/;
5192 var2
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(self
) /* is_ok on <self:Iterator[nullable Object]>*/;
5194 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(self
) /* item on <self:Iterator[nullable Object]>*/;
5195 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var3
) /* add on <var_res:Array[nullable Object]>*/;
5196 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(self
) /* next on <self:Iterator[nullable Object]>*/;
5197 CONTINUE_label
: (void)0;
5199 BREAK_label
: (void)0;
5205 /* method array#Iterator#to_a for (self: Object): Array[nullable Object] */
5206 val
* VIRTUAL_array__Iterator__to_a(val
* self
) {
5207 val
* var
/* : Array[nullable Object] */;
5208 val
* var1
/* : Array[nullable Object] */;
5209 var1
= array__Iterator__to_a(self
);
5214 /* method array#Collection#to_a for (self: Collection[nullable Object]): Array[nullable Object] */
5215 val
* array__Collection__to_a(val
* self
) {
5216 val
* var
/* : Array[nullable Object] */;
5217 val
* var1
/* : Iterator[nullable Object] */;
5218 val
* var2
/* : Array[nullable Object] */;
5219 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
5220 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_array__Iterator__to_a
]))(var1
) /* to_a on <var1:Iterator[nullable Object]>*/;
5226 /* method array#Collection#to_a for (self: Object): Array[nullable Object] */
5227 val
* VIRTUAL_array__Collection__to_a(val
* self
) {
5228 val
* var
/* : Array[nullable Object] */;
5229 val
* var1
/* : Array[nullable Object] */;
5230 var1
= array__Collection__to_a(self
);
5235 /* method array#ArrayCapable#calloc_array for (self: ArrayCapable[nullable Object], Int): NativeArray[nullable Object] */
5236 val
* array__ArrayCapable__calloc_array(val
* self
, long p0
) {
5237 val
* var
/* : NativeArray[nullable Object] */;
5238 val
* var1
/* : NativeArray[nullable Object] */;
5239 var1
= NEW_array__NativeArray(p0
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
5245 /* method array#ArrayCapable#calloc_array for (self: Object, Int): NativeArray[nullable Object] */
5246 val
* VIRTUAL_array__ArrayCapable__calloc_array(val
* self
, long p0
) {
5247 val
* var
/* : NativeArray[nullable Object] */;
5248 val
* var1
/* : NativeArray[nullable Object] */;
5249 val
* var3
/* : NativeArray[nullable Object] */;
5250 { /* Inline array#ArrayCapable#calloc_array (self,p0) */
5251 var3
= NEW_array__NativeArray(p0
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
5260 /* method array#NativeArray#[] for (self: NativeArray[nullable Object], Int): nullable Object */
5261 val
* array__NativeArray___91d_93d(val
* self
, long p0
) {
5262 val
* var
/* : nullable Object */;
5263 val
* var1
/* : nullable Object */;
5264 var1
= ((struct instance_array__NativeArray
*)self
)->values
[p0
];
5270 /* method array#NativeArray#[] for (self: Object, Int): nullable Object */
5271 val
* VIRTUAL_array__NativeArray___91d_93d(val
* self
, long p0
) {
5272 val
* var
/* : nullable Object */;
5273 val
* var1
/* : nullable Object */;
5274 val
* var3
/* : nullable Object */;
5275 { /* Inline array#NativeArray#[] (self,p0) */
5276 var3
= ((struct instance_array__NativeArray
*)self
)->values
[p0
];
5285 /* method array#NativeArray#[]= for (self: NativeArray[nullable Object], Int, nullable Object) */
5286 void array__NativeArray___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
5287 short int var
/* : Bool */;
5290 const struct type
* type_struct
;
5291 short int is_nullable
;
5292 const char* var_class_name
;
5293 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa NativeArray#0 */
5294 /* <p1:nullable Object> isa NativeArray#0 */
5295 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
5296 cltype
= type_struct
->color
;
5297 idtype
= type_struct
->id
;
5298 is_nullable
= type_struct
->is_nullable
;
5302 if(cltype
>= p1
->type
->table_size
) {
5305 var
= p1
->type
->type_table
[cltype
] == idtype
;
5309 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
5310 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray#0", var_class_name
);
5311 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 648);
5314 ((struct instance_array__NativeArray
*)self
)->values
[p0
]=p1
;
5317 /* method array#NativeArray#[]= for (self: Object, Int, nullable Object) */
5318 void VIRTUAL_array__NativeArray___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
5319 short int var
/* : Bool */;
5322 const struct type
* type_struct
;
5323 short int is_nullable
;
5324 const char* var_class_name
;
5325 { /* Inline array#NativeArray#[]= (self,p0,p1) */
5326 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa NativeArray#0 */
5327 /* <p1:nullable Object> isa NativeArray#0 */
5328 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
5329 cltype
= type_struct
->color
;
5330 idtype
= type_struct
->id
;
5331 is_nullable
= type_struct
->is_nullable
;
5335 if(cltype
>= p1
->type
->table_size
) {
5338 var
= p1
->type
->type_table
[cltype
] == idtype
;
5342 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
5343 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray#0", var_class_name
);
5344 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 648);
5347 ((struct instance_array__NativeArray
*)self
)->values
[p0
]=p1
;
5352 /* method array#NativeArray#copy_to for (self: NativeArray[nullable Object], NativeArray[nullable Object], Int) */
5353 void array__NativeArray__copy_to(val
* self
, val
* p0
, long p1
) {
5354 short int var
/* : Bool */;
5357 const struct type
* type_struct
;
5358 const char* var_class_name
;
5359 /* Covariant cast for argument 0 (dest) <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5360 /* <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5361 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
5362 cltype
= type_struct
->color
;
5363 idtype
= type_struct
->id
;
5364 if(cltype
>= p0
->type
->table_size
) {
5367 var
= p0
->type
->type_table
[cltype
] == idtype
;
5370 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5371 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[NativeArray#0]", var_class_name
);
5372 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 649);
5375 memcpy(((struct instance_array__NativeArray
*)p0
)->values
, ((struct instance_array__NativeArray
*)self
)->values
, p1
*sizeof(val
*));
5378 /* method array#NativeArray#copy_to for (self: Object, NativeArray[nullable Object], Int) */
5379 void VIRTUAL_array__NativeArray__copy_to(val
* self
, val
* p0
, long p1
) {
5380 short int var
/* : Bool */;
5383 const struct type
* type_struct
;
5384 const char* var_class_name
;
5385 { /* Inline array#NativeArray#copy_to (self,p0,p1) */
5386 /* Covariant cast for argument 0 (dest) <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5387 /* <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5388 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
5389 cltype
= type_struct
->color
;
5390 idtype
= type_struct
->id
;
5391 if(cltype
>= p0
->type
->table_size
) {
5394 var
= p0
->type
->type_table
[cltype
] == idtype
;
5397 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5398 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[NativeArray#0]", var_class_name
);
5399 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 649);
5402 memcpy(((struct instance_array__NativeArray
*)p0
)->values
, ((struct instance_array__NativeArray
*)self
)->values
, p1
*sizeof(val
*));