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", 261);
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", 261);
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", 261);
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", 261);
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", 262);
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", 263);
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", 263);
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", 261);
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", "Reciever 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", 261);
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", 263);
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", 262);
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", 262);
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", 261);
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", 261);
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", 262);
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", 261);
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", "Reciever 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", 262);
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", 261);
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", 260);
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", 260);
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", "Reciever 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", 260);
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", "Reciever 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", 260);
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", 260);
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", 263);
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", "Reciever 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", 262);
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", 262);
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", 261);
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", 262);
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", 261);
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", 263);
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", 262);
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 /* Covariant cast for argument 0 (key) <p0:Object> isa MapRead#0 */
3278 /* <p0:Object> isa MapRead#0 */
3279 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapRead_FT0
];
3280 cltype
= type_struct
->color
;
3281 idtype
= type_struct
->id
;
3282 if(cltype
>= p0
->type
->table_size
) {
3285 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3288 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3289 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "MapRead#0", var_class_name
);
3290 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 449);
3294 var2
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_array__ArrayMap__index
]))(self
, var_key
) /* index on <self:ArrayMap[Object, nullable Object]>*/;
3297 { /* Inline kernel#Int#>= (var_i,var3) */
3298 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3299 /* <var3:Int> isa OTHER */
3300 var6
= 1; /* easy <var3:Int> isa OTHER*/
3302 var_class_name9
= type_kernel__Int
.name
;
3303 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
3304 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
3307 var10
= var_i
>= var3
;
3313 var11
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3314 if (var11
== NULL
) {
3315 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3316 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 454);
3319 var12
= ((val
* (*)(val
*, long))(var11
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var11
, var_i
) /* [] on <var11:Array[Couple[Object, nullable Object]]>*/;
3320 var13
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var12
) /* second on <var12:nullable Object(Couple[Object, nullable Object])>*/;
3324 fprintf(stderr
, "Runtime error: %s", "Aborted");
3325 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 456);
3331 /* method array#ArrayMap#[] for (self: Object, Object): nullable Object */
3332 val
* VIRTUAL_array__ArrayMap___91d_93d(val
* self
, val
* p0
) {
3333 val
* var
/* : nullable Object */;
3334 val
* var1
/* : nullable Object */;
3335 var1
= array__ArrayMap___91d_93d(self
, p0
);
3340 /* method array#ArrayMap#[]= for (self: ArrayMap[Object, nullable Object], Object, nullable Object) */
3341 void array__ArrayMap___91d_93d_61d(val
* self
, val
* p0
, val
* p1
) {
3342 short int var
/* : Bool */;
3345 const struct type
* type_struct
;
3346 const char* var_class_name
;
3347 short int var1
/* : Bool */;
3350 const struct type
* type_struct4
;
3351 short int is_nullable
;
3352 const char* var_class_name5
;
3353 val
* var_key
/* var key: Object */;
3354 val
* var_item
/* var item: nullable Object */;
3355 long var6
/* : Int */;
3356 long var_i
/* var i: Int */;
3357 long var7
/* : Int */;
3358 short int var8
/* : Bool */;
3359 short int var10
/* : Bool */;
3362 const char* var_class_name13
;
3363 short int var14
/* : Bool */;
3364 val
* var15
/* : Array[Couple[Object, nullable Object]] */;
3365 val
* var16
/* : nullable Object */;
3366 val
* var17
/* : Array[Couple[Object, nullable Object]] */;
3367 val
* var18
/* : Couple[Object, nullable Object] */;
3368 /* Covariant cast for argument 0 (key) <p0:Object> isa Map#0 */
3369 /* <p0:Object> isa Map#0 */
3370 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Map_FT0
];
3371 cltype
= type_struct
->color
;
3372 idtype
= type_struct
->id
;
3373 if(cltype
>= p0
->type
->table_size
) {
3376 var
= p0
->type
->type_table
[cltype
] == idtype
;
3379 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3380 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map#0", var_class_name
);
3381 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 460);
3384 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa Map#1 */
3385 /* <p1:nullable Object> isa Map#1 */
3386 type_struct4
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Map_FT1
];
3387 cltype2
= type_struct4
->color
;
3388 idtype3
= type_struct4
->id
;
3389 is_nullable
= type_struct4
->is_nullable
;
3393 if(cltype2
>= p1
->type
->table_size
) {
3396 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
3400 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
3401 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Map#1", var_class_name5
);
3402 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 460);
3407 var6
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_array__ArrayMap__index
]))(self
, var_key
) /* index on <self:ArrayMap[Object, nullable Object]>*/;
3410 { /* Inline kernel#Int#>= (var_i,var7) */
3411 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
3412 /* <var7:Int> isa OTHER */
3413 var10
= 1; /* easy <var7:Int> isa OTHER*/
3415 var_class_name13
= type_kernel__Int
.name
;
3416 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
3417 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
3420 var14
= var_i
>= var7
;
3426 var15
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3427 if (var15
== NULL
) {
3428 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3429 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 465);
3432 var16
= ((val
* (*)(val
*, long))(var15
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var15
, var_i
) /* [] on <var15:Array[Couple[Object, nullable Object]]>*/;
3433 ((void (*)(val
*, val
*))(var16
->class->vft
[COLOR_abstract_collection__Couple__second_61d
]))(var16
, var_item
) /* second= on <var16:nullable Object(Couple[Object, nullable Object])>*/;
3435 var17
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3436 if (var17
== NULL
) {
3437 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3438 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 467);
3441 var18
= NEW_abstract_collection__Couple(self
->type
->resolution_table
->types
[COLOR_abstract_collection__Couplearray__ArrayMap_FT0array__ArrayMap_FT1
]);
3442 ((void (*)(val
*, val
*, val
*))(var18
->class->vft
[COLOR_abstract_collection__Couple__init
]))(var18
, var_key
, var_item
) /* init on <var18:Couple[Object, nullable Object]>*/;
3443 ((void (*)(val
*, val
*))(var17
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var17
, var18
) /* push on <var17:Array[Couple[Object, nullable Object]]>*/;
3447 /* method array#ArrayMap#[]= for (self: Object, Object, nullable Object) */
3448 void VIRTUAL_array__ArrayMap___91d_93d_61d(val
* self
, val
* p0
, val
* p1
) {
3449 array__ArrayMap___91d_93d_61d(self
, p0
, p1
);
3452 /* method array#ArrayMap#keys for (self: ArrayMap[Object, nullable Object]): ArrayMapKeys[Object, nullable Object] */
3453 val
* array__ArrayMap__keys(val
* self
) {
3454 val
* var
/* : ArrayMapKeys[Object, nullable Object] */;
3455 val
* var1
/* : ArrayMapKeys[Object, nullable Object] */;
3456 var1
= self
->attrs
[COLOR_array__ArrayMap___64dkeys
].val
; /* @keys on <self:ArrayMap[Object, nullable Object]> */
3458 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @keys");
3459 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 471);
3466 /* method array#ArrayMap#keys for (self: Object): Collection[Object] */
3467 val
* VIRTUAL_array__ArrayMap__keys(val
* self
) {
3468 val
* var
/* : Collection[Object] */;
3469 val
* var1
/* : ArrayMapKeys[Object, nullable Object] */;
3470 var1
= array__ArrayMap__keys(self
);
3475 /* method array#ArrayMap#keys= for (self: ArrayMap[Object, nullable Object], ArrayMapKeys[Object, nullable Object]) */
3476 void array__ArrayMap__keys_61d(val
* self
, val
* p0
) {
3477 short int var
/* : Bool */;
3480 const struct type
* type_struct
;
3481 const char* var_class_name
;
3482 /* Covariant cast for argument 0 (keys) <p0:ArrayMapKeys[Object, nullable Object]> isa ArrayMapKeys[ArrayMap#0, ArrayMap#1] */
3483 /* <p0:ArrayMapKeys[Object, nullable Object]> isa ArrayMapKeys[ArrayMap#0, ArrayMap#1] */
3484 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMapKeysarray__ArrayMap_FT0array__ArrayMap_FT1
];
3485 cltype
= type_struct
->color
;
3486 idtype
= type_struct
->id
;
3487 if(cltype
>= p0
->type
->table_size
) {
3490 var
= p0
->type
->type_table
[cltype
] == idtype
;
3493 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3494 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMapKeys[ArrayMap#0, ArrayMap#1]", var_class_name
);
3495 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 471);
3498 self
->attrs
[COLOR_array__ArrayMap___64dkeys
].val
= p0
; /* @keys on <self:ArrayMap[Object, nullable Object]> */
3501 /* method array#ArrayMap#keys= for (self: Object, ArrayMapKeys[Object, nullable Object]) */
3502 void VIRTUAL_array__ArrayMap__keys_61d(val
* self
, val
* p0
) {
3503 array__ArrayMap__keys_61d(self
, p0
);
3506 /* method array#ArrayMap#values for (self: ArrayMap[Object, nullable Object]): ArrayMapValues[Object, nullable Object] */
3507 val
* array__ArrayMap__values(val
* self
) {
3508 val
* var
/* : ArrayMapValues[Object, nullable Object] */;
3509 val
* var1
/* : ArrayMapValues[Object, nullable Object] */;
3510 var1
= self
->attrs
[COLOR_array__ArrayMap___64dvalues
].val
; /* @values on <self:ArrayMap[Object, nullable Object]> */
3512 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @values");
3513 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 472);
3520 /* method array#ArrayMap#values for (self: Object): Collection[nullable Object] */
3521 val
* VIRTUAL_array__ArrayMap__values(val
* self
) {
3522 val
* var
/* : Collection[nullable Object] */;
3523 val
* var1
/* : ArrayMapValues[Object, nullable Object] */;
3524 var1
= array__ArrayMap__values(self
);
3529 /* method array#ArrayMap#values= for (self: ArrayMap[Object, nullable Object], ArrayMapValues[Object, nullable Object]) */
3530 void array__ArrayMap__values_61d(val
* self
, val
* p0
) {
3531 short int var
/* : Bool */;
3534 const struct type
* type_struct
;
3535 const char* var_class_name
;
3536 /* Covariant cast for argument 0 (values) <p0:ArrayMapValues[Object, nullable Object]> isa ArrayMapValues[ArrayMap#0, ArrayMap#1] */
3537 /* <p0:ArrayMapValues[Object, nullable Object]> isa ArrayMapValues[ArrayMap#0, ArrayMap#1] */
3538 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMapValuesarray__ArrayMap_FT0array__ArrayMap_FT1
];
3539 cltype
= type_struct
->color
;
3540 idtype
= type_struct
->id
;
3541 if(cltype
>= p0
->type
->table_size
) {
3544 var
= p0
->type
->type_table
[cltype
] == idtype
;
3547 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3548 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMapValues[ArrayMap#0, ArrayMap#1]", var_class_name
);
3549 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 472);
3552 self
->attrs
[COLOR_array__ArrayMap___64dvalues
].val
= p0
; /* @values on <self:ArrayMap[Object, nullable Object]> */
3555 /* method array#ArrayMap#values= for (self: Object, ArrayMapValues[Object, nullable Object]) */
3556 void VIRTUAL_array__ArrayMap__values_61d(val
* self
, val
* p0
) {
3557 array__ArrayMap__values_61d(self
, p0
);
3560 /* method array#ArrayMap#length for (self: ArrayMap[Object, nullable Object]): Int */
3561 long array__ArrayMap__length(val
* self
) {
3562 long var
/* : Int */;
3563 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3564 long var2
/* : Int */;
3565 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3567 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3568 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 475);
3571 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:Array[Couple[Object, nullable Object]]>*/;
3577 /* method array#ArrayMap#length for (self: Object): Int */
3578 long VIRTUAL_array__ArrayMap__length(val
* self
) {
3579 long var
/* : Int */;
3580 long var1
/* : Int */;
3581 var1
= array__ArrayMap__length(self
);
3586 /* method array#ArrayMap#iterator for (self: ArrayMap[Object, nullable Object]): CoupleMapIterator[Object, nullable Object] */
3587 val
* array__ArrayMap__iterator(val
* self
) {
3588 val
* var
/* : CoupleMapIterator[Object, nullable Object] */;
3589 val
* var1
/* : CoupleMapIterator[Object, nullable Object] */;
3590 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
3591 val
* var3
/* : Iterator[nullable Object] */;
3592 var1
= NEW_abstract_collection__CoupleMapIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__CoupleMapIteratorarray__ArrayMap_FT0array__ArrayMap_FT1
]);
3593 var2
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3595 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3596 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 477);
3599 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:Array[Couple[Object, nullable Object]]>*/;
3600 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__CoupleMapIterator__init
]))(var1
, var3
) /* init on <var1:CoupleMapIterator[Object, nullable Object]>*/;
3606 /* method array#ArrayMap#iterator for (self: Object): MapIterator[Object, nullable Object] */
3607 val
* VIRTUAL_array__ArrayMap__iterator(val
* self
) {
3608 val
* var
/* : MapIterator[Object, nullable Object] */;
3609 val
* var1
/* : CoupleMapIterator[Object, nullable Object] */;
3610 var1
= array__ArrayMap__iterator(self
);
3615 /* method array#ArrayMap#is_empty for (self: ArrayMap[Object, nullable Object]): Bool */
3616 short int array__ArrayMap__is_empty(val
* self
) {
3617 short int var
/* : Bool */;
3618 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3619 short int var2
/* : Bool */;
3620 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3622 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3623 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 479);
3626 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var1
) /* is_empty on <var1:Array[Couple[Object, nullable Object]]>*/;
3632 /* method array#ArrayMap#is_empty for (self: Object): Bool */
3633 short int VIRTUAL_array__ArrayMap__is_empty(val
* self
) {
3634 short int var
/* : Bool */;
3635 short int var1
/* : Bool */;
3636 var1
= array__ArrayMap__is_empty(self
);
3641 /* method array#ArrayMap#clear for (self: ArrayMap[Object, nullable Object]) */
3642 void array__ArrayMap__clear(val
* self
) {
3643 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3644 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3646 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3647 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 481);
3650 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var
) /* clear on <var:Array[Couple[Object, nullable Object]]>*/;
3653 /* method array#ArrayMap#clear for (self: Object) */
3654 void VIRTUAL_array__ArrayMap__clear(val
* self
) {
3655 array__ArrayMap__clear(self
);
3658 /* method array#ArrayMap#enlarge for (self: ArrayMap[Object, nullable Object], Int) */
3659 void array__ArrayMap__enlarge(val
* self
, long p0
) {
3660 long var_cap
/* var cap: Int */;
3661 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3663 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3665 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3666 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 484);
3669 ((void (*)(val
*, long))(var
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(var
, var_cap
) /* enlarge on <var:Array[Couple[Object, nullable Object]]>*/;
3672 /* method array#ArrayMap#enlarge for (self: Object, Int) */
3673 void VIRTUAL_array__ArrayMap__enlarge(val
* self
, long p0
) {
3674 array__ArrayMap__enlarge(self
, p0
);
3677 /* method array#ArrayMap#couple_at for (self: ArrayMap[Object, nullable Object], Object): nullable Couple[Object, nullable Object] */
3678 val
* array__ArrayMap__couple_at(val
* self
, val
* p0
) {
3679 val
* var
/* : nullable Couple[Object, nullable Object] */;
3680 short int var1
/* : Bool */;
3683 const struct type
* type_struct
;
3684 const char* var_class_name
;
3685 val
* var_key
/* var key: Object */;
3686 long var2
/* : Int */;
3687 long var_i
/* var i: Int */;
3688 long var3
/* : Int */;
3689 short int var4
/* : Bool */;
3690 short int var6
/* : Bool */;
3693 const char* var_class_name9
;
3694 short int var10
/* : Bool */;
3695 val
* var11
/* : Array[Couple[Object, nullable Object]] */;
3696 val
* var12
/* : nullable Object */;
3697 val
* var13
/* : null */;
3698 /* Covariant cast for argument 0 (key) <p0:Object> isa CoupleMap#0 */
3699 /* <p0:Object> isa CoupleMap#0 */
3700 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__CoupleMap_FT0
];
3701 cltype
= type_struct
->color
;
3702 idtype
= type_struct
->id
;
3703 if(cltype
>= p0
->type
->table_size
) {
3706 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3709 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3710 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "CoupleMap#0", var_class_name
);
3711 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 486);
3715 var2
= ((long (*)(val
*, val
*))(self
->class->vft
[COLOR_array__ArrayMap__index
]))(self
, var_key
) /* index on <self:ArrayMap[Object, nullable Object]>*/;
3718 { /* Inline kernel#Int#>= (var_i,var3) */
3719 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3720 /* <var3:Int> isa OTHER */
3721 var6
= 1; /* easy <var3:Int> isa OTHER*/
3723 var_class_name9
= type_kernel__Int
.name
;
3724 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
3725 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
3728 var10
= var_i
>= var3
;
3734 var11
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3735 if (var11
== NULL
) {
3736 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3737 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 490);
3740 var12
= ((val
* (*)(val
*, long))(var11
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var11
, var_i
) /* [] on <var11:Array[Couple[Object, nullable Object]]>*/;
3751 /* method array#ArrayMap#couple_at for (self: Object, Object): nullable Couple[Object, nullable Object] */
3752 val
* VIRTUAL_array__ArrayMap__couple_at(val
* self
, val
* p0
) {
3753 val
* var
/* : nullable Couple[Object, nullable Object] */;
3754 val
* var1
/* : nullable Couple[Object, nullable Object] */;
3755 var1
= array__ArrayMap__couple_at(self
, p0
);
3760 /* method array#ArrayMap#remove_at_index for (self: ArrayMap[Object, nullable Object], Int) */
3761 void array__ArrayMap__remove_at_index(val
* self
, long p0
) {
3762 long var_i
/* var i: Int */;
3763 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3764 val
* var1
/* : Array[Couple[Object, nullable Object]] */;
3765 val
* var2
/* : nullable Object */;
3766 val
* var3
/* : Array[Couple[Object, nullable Object]] */;
3767 val
* var4
/* : nullable Object */;
3769 var
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3771 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3772 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 502);
3775 var1
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3777 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3778 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 502);
3781 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var1
) /* last on <var1:Array[Couple[Object, nullable Object]]>*/;
3782 ((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]]>*/;
3783 var3
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3785 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3786 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 503);
3789 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence__pop
]))(var3
) /* pop on <var3:Array[Couple[Object, nullable Object]]>*/;
3793 /* method array#ArrayMap#remove_at_index for (self: Object, Int) */
3794 void VIRTUAL_array__ArrayMap__remove_at_index(val
* self
, long p0
) {
3795 array__ArrayMap__remove_at_index(self
, p0
);
3798 /* method array#ArrayMap#index for (self: ArrayMap[Object, nullable Object], Object): Int */
3799 long array__ArrayMap__index(val
* self
, val
* p0
) {
3800 long var
/* : Int */;
3801 short int var1
/* : Bool */;
3804 const struct type
* type_struct
;
3805 const char* var_class_name
;
3806 val
* var_key
/* var key: Object */;
3807 long var2
/* : Int */;
3808 long var_l
/* var l: Int */;
3809 short int var3
/* : Bool */;
3810 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
3811 long var5
/* : Int */;
3812 short int var6
/* : Bool */;
3813 short int var8
/* : Bool */;
3816 const char* var_class_name11
;
3817 short int var12
/* : Bool */;
3818 short int var_
/* var : Bool */;
3819 val
* var13
/* : Array[Couple[Object, nullable Object]] */;
3820 val
* var14
/* : nullable Object */;
3821 val
* var15
/* : nullable Object */;
3822 short int var16
/* : Bool */;
3823 long var17
/* : Int */;
3824 long var_i
/* var i: Int */;
3825 val
* var18
/* : Array[Couple[Object, nullable Object]] */;
3826 long var19
/* : Int */;
3827 short int var20
/* : Bool */;
3828 short int var22
/* : Bool */;
3831 const char* var_class_name25
;
3832 short int var26
/* : Bool */;
3833 val
* var27
/* : Array[Couple[Object, nullable Object]] */;
3834 val
* var28
/* : nullable Object */;
3835 val
* var29
/* : nullable Object */;
3836 short int var30
/* : Bool */;
3837 long var31
/* : Int */;
3838 long var32
/* : Int */;
3839 long var34
/* : Int */;
3840 long var35
/* : Int */;
3841 long var36
/* : Int */;
3842 long var38
/* : Int */;
3843 /* Covariant cast for argument 0 (key) <p0:Object> isa ArrayMap#0 */
3844 /* <p0:Object> isa ArrayMap#0 */
3845 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMap_FT0
];
3846 cltype
= type_struct
->color
;
3847 idtype
= type_struct
->id
;
3848 if(cltype
>= p0
->type
->table_size
) {
3851 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3854 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3855 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap#0", var_class_name
);
3856 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 509);
3860 var2
= self
->attrs
[COLOR_array__ArrayMap___last_index
].l
; /* _last_index on <self:ArrayMap[Object, nullable Object]> */
3862 var4
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3864 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3865 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 514);
3868 var5
= ((long (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var4
) /* length on <var4:Array[Couple[Object, nullable Object]]>*/;
3869 { /* Inline kernel#Int#< (var_l,var5) */
3870 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
3871 /* <var5:Int> isa OTHER */
3872 var8
= 1; /* easy <var5:Int> isa OTHER*/
3874 var_class_name11
= type_kernel__Int
.name
;
3875 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
3876 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
3879 var12
= var_l
< var5
;
3886 var13
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3887 if (var13
== NULL
) {
3888 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3889 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 514);
3892 var14
= ((val
* (*)(val
*, long))(var13
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var13
, var_l
) /* [] on <var13:Array[Couple[Object, nullable Object]]>*/;
3893 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Couple__first
]))(var14
) /* first on <var14:nullable Object(Couple[Object, nullable Object])>*/;
3894 var16
= ((short int (*)(val
*, val
*))(var15
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var15
, var_key
) /* == on <var15:nullable Object(Object)>*/;
3907 var18
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3908 if (var18
== NULL
) {
3909 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3910 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 517);
3913 var19
= ((long (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var18
) /* length on <var18:Array[Couple[Object, nullable Object]]>*/;
3914 { /* Inline kernel#Int#< (var_i,var19) */
3915 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
3916 /* <var19:Int> isa OTHER */
3917 var22
= 1; /* easy <var19:Int> isa OTHER*/
3919 var_class_name25
= type_kernel__Int
.name
;
3920 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
3921 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
3924 var26
= var_i
< var19
;
3927 RET_LABEL21
:(void)0;
3930 var27
= self
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3931 if (var27
== NULL
) {
3932 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
3933 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 518);
3936 var28
= ((val
* (*)(val
*, long))(var27
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var27
, var_i
) /* [] on <var27:Array[Couple[Object, nullable Object]]>*/;
3937 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Couple__first
]))(var28
) /* first on <var28:nullable Object(Couple[Object, nullable Object])>*/;
3938 var30
= ((short int (*)(val
*, val
*))(var29
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var29
, var_key
) /* == on <var29:nullable Object(Object)>*/;
3940 self
->attrs
[COLOR_array__ArrayMap___last_index
].l
= var_i
; /* _last_index on <self:ArrayMap[Object, nullable Object]> */
3946 { /* Inline kernel#Int#+ (var_i,var31) */
3947 var34
= var_i
+ var31
;
3950 RET_LABEL33
:(void)0;
3953 CONTINUE_label
: (void)0;
3955 BREAK_label
: (void)0;
3957 { /* Inline kernel#Int#unary - (var35) */
3961 RET_LABEL37
:(void)0;
3968 /* method array#ArrayMap#index for (self: Object, Object): Int */
3969 long VIRTUAL_array__ArrayMap__index(val
* self
, val
* p0
) {
3970 long var
/* : Int */;
3971 long var1
/* : Int */;
3972 var1
= array__ArrayMap__index(self
, p0
);
3977 /* method array#ArrayMap#init for (self: ArrayMap[Object, nullable Object]) */
3978 void array__ArrayMap__init(val
* self
) {
3979 val
* var
/* : Array[Couple[Object, nullable Object]] */;
3980 var
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayabstract_collection__Couplearray__ArrayMap_FT0array__ArrayMap_FT1
]);
3981 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[Couple[Object, nullable Object]]>*/;
3982 self
->attrs
[COLOR_array__ArrayMap___items
].val
= var
; /* _items on <self:ArrayMap[Object, nullable Object]> */
3985 /* method array#ArrayMap#init for (self: Object) */
3986 void VIRTUAL_array__ArrayMap__init(val
* self
) {
3987 array__ArrayMap__init(self
);
3990 /* method array#ArrayMapKeys#map for (self: ArrayMapKeys[Object, nullable Object]): ArrayMap[Object, nullable Object] */
3991 val
* array__ArrayMapKeys__map(val
* self
) {
3992 val
* var
/* : ArrayMap[Object, nullable Object] */;
3993 val
* var1
/* : ArrayMap[Object, nullable Object] */;
3994 var1
= self
->attrs
[COLOR_array__ArrayMapKeys___64dmap
].val
; /* @map on <self:ArrayMapKeys[Object, nullable Object]> */
3996 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @map");
3997 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 536);
4004 /* method array#ArrayMapKeys#map for (self: Object): ArrayMap[Object, nullable Object] */
4005 val
* VIRTUAL_array__ArrayMapKeys__map(val
* self
) {
4006 val
* var
/* : ArrayMap[Object, nullable Object] */;
4007 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4008 var1
= array__ArrayMapKeys__map(self
);
4013 /* method array#ArrayMapKeys#map= for (self: ArrayMapKeys[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4014 void array__ArrayMapKeys__map_61d(val
* self
, val
* p0
) {
4015 short int var
/* : Bool */;
4018 const struct type
* type_struct
;
4019 const char* var_class_name
;
4020 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4021 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4022 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
];
4023 cltype
= type_struct
->color
;
4024 idtype
= type_struct
->id
;
4025 if(cltype
>= p0
->type
->table_size
) {
4028 var
= p0
->type
->type_table
[cltype
] == idtype
;
4031 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4032 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1]", var_class_name
);
4033 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 536);
4036 self
->attrs
[COLOR_array__ArrayMapKeys___64dmap
].val
= p0
; /* @map on <self:ArrayMapKeys[Object, nullable Object]> */
4039 /* method array#ArrayMapKeys#map= for (self: Object, ArrayMap[Object, nullable Object]) */
4040 void VIRTUAL_array__ArrayMapKeys__map_61d(val
* self
, val
* p0
) {
4041 array__ArrayMapKeys__map_61d(self
, p0
);
4044 /* method array#ArrayMapKeys#count for (self: ArrayMapKeys[Object, nullable Object], Object): Int */
4045 long array__ArrayMapKeys__count(val
* self
, val
* p0
) {
4046 long var
/* : Int */;
4047 short int var1
/* : Bool */;
4050 const struct type
* type_struct
;
4051 const char* var_class_name
;
4052 val
* var_k
/* var k: Object */;
4053 short int var2
/* : Bool */;
4054 long var3
/* : Int */;
4055 long var4
/* : Int */;
4056 /* Covariant cast for argument 0 (k) <p0:Object> isa Collection#0 */
4057 /* <p0:Object> isa Collection#0 */
4058 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4059 cltype
= type_struct
->color
;
4060 idtype
= type_struct
->id
;
4061 if(cltype
>= p0
->type
->table_size
) {
4064 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4067 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4068 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4069 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 538);
4073 var2
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__has
]))(self
, var_k
) /* has on <self:ArrayMapKeys[Object, nullable Object]>*/;
4086 /* method array#ArrayMapKeys#count for (self: Object, nullable Object): Int */
4087 long VIRTUAL_array__ArrayMapKeys__count(val
* self
, val
* p0
) {
4088 long var
/* : Int */;
4089 long var1
/* : Int */;
4090 var1
= array__ArrayMapKeys__count(self
, p0
);
4095 /* method array#ArrayMapKeys#first for (self: ArrayMapKeys[Object, nullable Object]): Object */
4096 val
* array__ArrayMapKeys__first(val
* self
) {
4097 val
* var
/* : Object */;
4098 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4099 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
4100 val
* var3
/* : nullable Object */;
4101 val
* var4
/* : nullable Object */;
4102 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4103 var2
= var1
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var1:ArrayMap[Object, nullable Object]> */
4105 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4106 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 539);
4109 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:Array[Couple[Object, nullable Object]]>*/;
4110 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Couple__first
]))(var3
) /* first on <var3:nullable Object(Couple[Object, nullable Object])>*/;
4116 /* method array#ArrayMapKeys#first for (self: Object): nullable Object */
4117 val
* VIRTUAL_array__ArrayMapKeys__first(val
* self
) {
4118 val
* var
/* : nullable Object */;
4119 val
* var1
/* : Object */;
4120 var1
= array__ArrayMapKeys__first(self
);
4125 /* method array#ArrayMapKeys#has for (self: ArrayMapKeys[Object, nullable Object], Object): Bool */
4126 short int array__ArrayMapKeys__has(val
* self
, val
* p0
) {
4127 short int var
/* : Bool */;
4128 short int var1
/* : Bool */;
4131 const struct type
* type_struct
;
4132 const char* var_class_name
;
4133 val
* var_k
/* var k: Object */;
4134 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4135 long var3
/* : Int */;
4136 long var4
/* : Int */;
4137 short int var5
/* : Bool */;
4138 short int var7
/* : Bool */;
4141 const char* var_class_name10
;
4142 short int var11
/* : Bool */;
4143 /* Covariant cast for argument 0 (k) <p0:Object> isa Collection#0 */
4144 /* <p0:Object> isa Collection#0 */
4145 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4146 cltype
= type_struct
->color
;
4147 idtype
= type_struct
->id
;
4148 if(cltype
>= p0
->type
->table_size
) {
4151 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4154 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4155 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4156 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 540);
4160 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4161 var3
= ((long (*)(val
*, val
*))(var2
->class->vft
[COLOR_array__ArrayMap__index
]))(var2
, var_k
) /* index on <var2:ArrayMap[Object, nullable Object]>*/;
4163 { /* Inline kernel#Int#>= (var3,var4) */
4164 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
4165 /* <var4:Int> isa OTHER */
4166 var7
= 1; /* easy <var4:Int> isa OTHER*/
4168 var_class_name10
= type_kernel__Int
.name
;
4169 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
4170 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
4173 var11
= var3
>= var4
;
4183 /* method array#ArrayMapKeys#has for (self: Object, nullable Object): Bool */
4184 short int VIRTUAL_array__ArrayMapKeys__has(val
* self
, val
* p0
) {
4185 short int var
/* : Bool */;
4186 short int var1
/* : Bool */;
4187 var1
= array__ArrayMapKeys__has(self
, p0
);
4192 /* method array#ArrayMapKeys#has_only for (self: ArrayMapKeys[Object, nullable Object], Object): Bool */
4193 short int array__ArrayMapKeys__has_only(val
* self
, val
* p0
) {
4194 short int var
/* : Bool */;
4195 short int var1
/* : Bool */;
4198 const struct type
* type_struct
;
4199 const char* var_class_name
;
4200 val
* var_k
/* var k: Object */;
4201 short int var2
/* : Bool */;
4202 short int var3
/* : Bool */;
4203 short int var4
/* : Bool */;
4204 short int var_
/* var : Bool */;
4205 long var5
/* : Int */;
4206 long var6
/* : Int */;
4207 short int var7
/* : Bool */;
4208 short int var9
/* : Bool */;
4209 short int var_10
/* var : Bool */;
4210 short int var11
/* : Bool */;
4211 /* Covariant cast for argument 0 (k) <p0:Object> isa Collection#0 */
4212 /* <p0:Object> isa Collection#0 */
4213 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4214 cltype
= type_struct
->color
;
4215 idtype
= type_struct
->id
;
4216 if(cltype
>= p0
->type
->table_size
) {
4219 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4222 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4223 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4224 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 541);
4228 var4
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__has
]))(self
, var_k
) /* has on <self:ArrayMapKeys[Object, nullable Object]>*/;
4231 var5
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:ArrayMapKeys[Object, nullable Object]>*/;
4233 { /* Inline kernel#Int#== (var5,var6) */
4234 var9
= var5
== var6
;
4247 var11
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:ArrayMapKeys[Object, nullable Object]>*/;
4255 /* method array#ArrayMapKeys#has_only for (self: Object, nullable Object): Bool */
4256 short int VIRTUAL_array__ArrayMapKeys__has_only(val
* self
, val
* p0
) {
4257 short int var
/* : Bool */;
4258 short int var1
/* : Bool */;
4259 var1
= array__ArrayMapKeys__has_only(self
, p0
);
4264 /* method array#ArrayMapKeys#is_empty for (self: ArrayMapKeys[Object, nullable Object]): Bool */
4265 short int array__ArrayMapKeys__is_empty(val
* self
) {
4266 short int var
/* : Bool */;
4267 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4268 short int var2
/* : Bool */;
4269 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4270 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__is_empty
]))(var1
) /* is_empty on <var1:ArrayMap[Object, nullable Object]>*/;
4276 /* method array#ArrayMapKeys#is_empty for (self: Object): Bool */
4277 short int VIRTUAL_array__ArrayMapKeys__is_empty(val
* self
) {
4278 short int var
/* : Bool */;
4279 short int var1
/* : Bool */;
4280 var1
= array__ArrayMapKeys__is_empty(self
);
4285 /* method array#ArrayMapKeys#length for (self: ArrayMapKeys[Object, nullable Object]): Int */
4286 long array__ArrayMapKeys__length(val
* self
) {
4287 long var
/* : Int */;
4288 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4289 long var2
/* : Int */;
4290 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4291 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__length
]))(var1
) /* length on <var1:ArrayMap[Object, nullable Object]>*/;
4297 /* method array#ArrayMapKeys#length for (self: Object): Int */
4298 long VIRTUAL_array__ArrayMapKeys__length(val
* self
) {
4299 long var
/* : Int */;
4300 long var1
/* : Int */;
4301 var1
= array__ArrayMapKeys__length(self
);
4306 /* method array#ArrayMapKeys#iterator for (self: ArrayMapKeys[Object, nullable Object]): Iterator[Object] */
4307 val
* array__ArrayMapKeys__iterator(val
* self
) {
4308 val
* var
/* : Iterator[Object] */;
4309 val
* var1
/* : MapKeysIterator[Object, nullable Object] */;
4310 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4311 val
* var3
/* : MapIterator[Object, nullable Object] */;
4312 var1
= NEW_abstract_collection__MapKeysIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapKeysIteratorarray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
]);
4313 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4314 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var2
) /* iterator on <var2:ArrayMap[Object, nullable Object]>*/;
4315 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapKeysIterator__init
]))(var1
, var3
) /* init on <var1:MapKeysIterator[Object, nullable Object]>*/;
4321 /* method array#ArrayMapKeys#iterator for (self: Object): Iterator[nullable Object] */
4322 val
* VIRTUAL_array__ArrayMapKeys__iterator(val
* self
) {
4323 val
* var
/* : Iterator[nullable Object] */;
4324 val
* var1
/* : Iterator[Object] */;
4325 var1
= array__ArrayMapKeys__iterator(self
);
4330 /* method array#ArrayMapKeys#clear for (self: ArrayMapKeys[Object, nullable Object]) */
4331 void array__ArrayMapKeys__clear(val
* self
) {
4332 val
* var
/* : ArrayMap[Object, nullable Object] */;
4333 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4334 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Map__clear
]))(var
) /* clear on <var:ArrayMap[Object, nullable Object]>*/;
4337 /* method array#ArrayMapKeys#clear for (self: Object) */
4338 void VIRTUAL_array__ArrayMapKeys__clear(val
* self
) {
4339 array__ArrayMapKeys__clear(self
);
4342 /* method array#ArrayMapKeys#remove for (self: ArrayMapKeys[Object, nullable Object], Object) */
4343 void array__ArrayMapKeys__remove(val
* self
, val
* p0
) {
4344 short int var
/* : Bool */;
4347 const struct type
* type_struct
;
4348 const char* var_class_name
;
4349 val
* var_key
/* var key: Object */;
4350 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4351 long var2
/* : Int */;
4352 long var_i
/* var i: Int */;
4353 long var3
/* : Int */;
4354 short int var4
/* : Bool */;
4355 short int var6
/* : Bool */;
4358 const char* var_class_name9
;
4359 short int var10
/* : Bool */;
4360 val
* var11
/* : ArrayMap[Object, nullable Object] */;
4361 /* Covariant cast for argument 0 (key) <p0:Object> isa RemovableCollection#0 */
4362 /* <p0:Object> isa RemovableCollection#0 */
4363 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
4364 cltype
= type_struct
->color
;
4365 idtype
= type_struct
->id
;
4366 if(cltype
>= p0
->type
->table_size
) {
4369 var
= p0
->type
->type_table
[cltype
] == idtype
;
4372 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4373 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
4374 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 546);
4378 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4379 var2
= ((long (*)(val
*, val
*))(var1
->class->vft
[COLOR_array__ArrayMap__index
]))(var1
, var_key
) /* index on <var1:ArrayMap[Object, nullable Object]>*/;
4382 { /* Inline kernel#Int#>= (var_i,var3) */
4383 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
4384 /* <var3:Int> isa OTHER */
4385 var6
= 1; /* easy <var3:Int> isa OTHER*/
4387 var_class_name9
= type_kernel__Int
.name
;
4388 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
4389 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
4392 var10
= var_i
>= var3
;
4398 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapKeys__map
]))(self
) /* map on <self:ArrayMapKeys[Object, nullable Object]>*/;
4399 ((void (*)(val
*, long))(var11
->class->vft
[COLOR_array__ArrayMap__remove_at_index
]))(var11
, var_i
) /* remove_at_index on <var11:ArrayMap[Object, nullable Object]>*/;
4404 /* method array#ArrayMapKeys#remove for (self: Object, nullable Object) */
4405 void VIRTUAL_array__ArrayMapKeys__remove(val
* self
, val
* p0
) {
4406 array__ArrayMapKeys__remove(self
, p0
);
4409 /* method array#ArrayMapKeys#remove_all for (self: ArrayMapKeys[Object, nullable Object], Object) */
4410 void array__ArrayMapKeys__remove_all(val
* self
, val
* p0
) {
4411 short int var
/* : Bool */;
4414 const struct type
* type_struct
;
4415 const char* var_class_name
;
4416 val
* var_key
/* var key: Object */;
4417 /* Covariant cast for argument 0 (key) <p0:Object> isa RemovableCollection#0 */
4418 /* <p0:Object> isa RemovableCollection#0 */
4419 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
4420 cltype
= type_struct
->color
;
4421 idtype
= type_struct
->id
;
4422 if(cltype
>= p0
->type
->table_size
) {
4425 var
= p0
->type
->type_table
[cltype
] == idtype
;
4428 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4429 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
4430 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 551);
4434 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(self
, var_key
) /* remove on <self:ArrayMapKeys[Object, nullable Object]>*/;
4437 /* method array#ArrayMapKeys#remove_all for (self: Object, nullable Object) */
4438 void VIRTUAL_array__ArrayMapKeys__remove_all(val
* self
, val
* p0
) {
4439 array__ArrayMapKeys__remove_all(self
, p0
);
4442 /* method array#ArrayMapKeys#init for (self: ArrayMapKeys[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4443 void array__ArrayMapKeys__init(val
* self
, val
* p0
) {
4444 short int var
/* : Bool */;
4447 const struct type
* type_struct
;
4448 const char* var_class_name
;
4449 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4450 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1] */
4451 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapKeys_FT0array__ArrayMapKeys_FT1
];
4452 cltype
= type_struct
->color
;
4453 idtype
= type_struct
->id
;
4454 if(cltype
>= p0
->type
->table_size
) {
4457 var
= p0
->type
->type_table
[cltype
] == idtype
;
4460 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4461 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapKeys#0, ArrayMapKeys#1]", var_class_name
);
4462 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 534);
4465 self
->attrs
[COLOR_array__ArrayMapKeys___64dmap
].val
= p0
; /* @map on <self:ArrayMapKeys[Object, nullable Object]> */
4468 /* method array#ArrayMapKeys#init for (self: Object, ArrayMap[Object, nullable Object]) */
4469 void VIRTUAL_array__ArrayMapKeys__init(val
* self
, val
* p0
) {
4470 array__ArrayMapKeys__init(self
, p0
);
4473 /* method array#ArrayMapValues#map for (self: ArrayMapValues[Object, nullable Object]): ArrayMap[Object, nullable Object] */
4474 val
* array__ArrayMapValues__map(val
* self
) {
4475 val
* var
/* : ArrayMap[Object, nullable Object] */;
4476 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4477 var1
= self
->attrs
[COLOR_array__ArrayMapValues___64dmap
].val
; /* @map on <self:ArrayMapValues[Object, nullable Object]> */
4479 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @map");
4480 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 556);
4487 /* method array#ArrayMapValues#map for (self: Object): ArrayMap[Object, nullable Object] */
4488 val
* VIRTUAL_array__ArrayMapValues__map(val
* self
) {
4489 val
* var
/* : ArrayMap[Object, nullable Object] */;
4490 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4491 var1
= array__ArrayMapValues__map(self
);
4496 /* method array#ArrayMapValues#map= for (self: ArrayMapValues[Object, nullable Object], ArrayMap[Object, nullable Object]) */
4497 void array__ArrayMapValues__map_61d(val
* self
, val
* p0
) {
4498 short int var
/* : Bool */;
4501 const struct type
* type_struct
;
4502 const char* var_class_name
;
4503 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
4504 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
4505 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapValues_FT0array__ArrayMapValues_FT1
];
4506 cltype
= type_struct
->color
;
4507 idtype
= type_struct
->id
;
4508 if(cltype
>= p0
->type
->table_size
) {
4511 var
= p0
->type
->type_table
[cltype
] == idtype
;
4514 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4515 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapValues#0, ArrayMapValues#1]", var_class_name
);
4516 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 556);
4519 self
->attrs
[COLOR_array__ArrayMapValues___64dmap
].val
= p0
; /* @map on <self:ArrayMapValues[Object, nullable Object]> */
4522 /* method array#ArrayMapValues#map= for (self: Object, ArrayMap[Object, nullable Object]) */
4523 void VIRTUAL_array__ArrayMapValues__map_61d(val
* self
, val
* p0
) {
4524 array__ArrayMapValues__map_61d(self
, p0
);
4527 /* method array#ArrayMapValues#first for (self: ArrayMapValues[Object, nullable Object]): nullable Object */
4528 val
* array__ArrayMapValues__first(val
* self
) {
4529 val
* var
/* : nullable Object */;
4530 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4531 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
4532 val
* var3
/* : nullable Object */;
4533 val
* var4
/* : nullable Object */;
4534 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4535 var2
= var1
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var1:ArrayMap[Object, nullable Object]> */
4537 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4538 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 558);
4541 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:Array[Couple[Object, nullable Object]]>*/;
4542 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var3
) /* second on <var3:nullable Object(Couple[Object, nullable Object])>*/;
4548 /* method array#ArrayMapValues#first for (self: Object): nullable Object */
4549 val
* VIRTUAL_array__ArrayMapValues__first(val
* self
) {
4550 val
* var
/* : nullable Object */;
4551 val
* var1
/* : nullable Object */;
4552 var1
= array__ArrayMapValues__first(self
);
4557 /* method array#ArrayMapValues#is_empty for (self: ArrayMapValues[Object, nullable Object]): Bool */
4558 short int array__ArrayMapValues__is_empty(val
* self
) {
4559 short int var
/* : Bool */;
4560 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4561 short int var2
/* : Bool */;
4562 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4563 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__is_empty
]))(var1
) /* is_empty on <var1:ArrayMap[Object, nullable Object]>*/;
4569 /* method array#ArrayMapValues#is_empty for (self: Object): Bool */
4570 short int VIRTUAL_array__ArrayMapValues__is_empty(val
* self
) {
4571 short int var
/* : Bool */;
4572 short int var1
/* : Bool */;
4573 var1
= array__ArrayMapValues__is_empty(self
);
4578 /* method array#ArrayMapValues#length for (self: ArrayMapValues[Object, nullable Object]): Int */
4579 long array__ArrayMapValues__length(val
* self
) {
4580 long var
/* : Int */;
4581 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4582 long var2
/* : Int */;
4583 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4584 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__length
]))(var1
) /* length on <var1:ArrayMap[Object, nullable Object]>*/;
4590 /* method array#ArrayMapValues#length for (self: Object): Int */
4591 long VIRTUAL_array__ArrayMapValues__length(val
* self
) {
4592 long var
/* : Int */;
4593 long var1
/* : Int */;
4594 var1
= array__ArrayMapValues__length(self
);
4599 /* method array#ArrayMapValues#iterator for (self: ArrayMapValues[Object, nullable Object]): Iterator[nullable Object] */
4600 val
* array__ArrayMapValues__iterator(val
* self
) {
4601 val
* var
/* : Iterator[nullable Object] */;
4602 val
* var1
/* : MapValuesIterator[Object, nullable Object] */;
4603 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4604 val
* var3
/* : MapIterator[Object, nullable Object] */;
4605 var1
= NEW_abstract_collection__MapValuesIterator(self
->type
->resolution_table
->types
[COLOR_abstract_collection__MapValuesIteratorarray__ArrayMapValues_FT0array__ArrayMapValues_FT1
]);
4606 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4607 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(var2
) /* iterator on <var2:ArrayMap[Object, nullable Object]>*/;
4608 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapValuesIterator__init
]))(var1
, var3
) /* init on <var1:MapValuesIterator[Object, nullable Object]>*/;
4614 /* method array#ArrayMapValues#iterator for (self: Object): Iterator[nullable Object] */
4615 val
* VIRTUAL_array__ArrayMapValues__iterator(val
* self
) {
4616 val
* var
/* : Iterator[nullable Object] */;
4617 val
* var1
/* : Iterator[nullable Object] */;
4618 var1
= array__ArrayMapValues__iterator(self
);
4623 /* method array#ArrayMapValues#has for (self: ArrayMapValues[Object, nullable Object], nullable Object): Bool */
4624 short int array__ArrayMapValues__has(val
* self
, val
* p0
) {
4625 short int var
/* : Bool */;
4626 short int var1
/* : Bool */;
4629 const struct type
* type_struct
;
4630 short int is_nullable
;
4631 const char* var_class_name
;
4632 val
* var_item
/* var item: nullable Object */;
4633 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4634 val
* var3
/* : Array[Couple[Object, nullable Object]] */;
4635 val
* var4
/* : Iterator[nullable Object] */;
4636 short int var5
/* : Bool */;
4637 val
* var6
/* : nullable Object */;
4638 val
* var_i
/* var i: Couple[Object, nullable Object] */;
4639 val
* var7
/* : nullable Object */;
4640 short int var8
/* : Bool */;
4641 short int var9
/* : Bool */;
4642 short int var10
/* : Bool */;
4643 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
4644 /* <p0:nullable Object> isa Collection#0 */
4645 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4646 cltype
= type_struct
->color
;
4647 idtype
= type_struct
->id
;
4648 is_nullable
= type_struct
->is_nullable
;
4652 if(cltype
>= p0
->type
->table_size
) {
4655 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4659 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4660 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4661 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 563);
4665 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4666 var3
= var2
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var2:ArrayMap[Object, nullable Object]> */
4668 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4669 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 566);
4672 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:Array[Couple[Object, nullable Object]]>*/;
4674 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
4676 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
4678 var7
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var_i
) /* second on <var_i:Couple[Object, nullable Object]>*/;
4680 var8
= (var_item
== NULL
);
4682 var8
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var7
, var_item
) /* == on <var7:nullable Object>*/;
4690 CONTINUE_label
: (void)0;
4691 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
4693 BREAK_label
: (void)0;
4700 /* method array#ArrayMapValues#has for (self: Object, nullable Object): Bool */
4701 short int VIRTUAL_array__ArrayMapValues__has(val
* self
, val
* p0
) {
4702 short int var
/* : Bool */;
4703 short int var1
/* : Bool */;
4704 var1
= array__ArrayMapValues__has(self
, p0
);
4709 /* method array#ArrayMapValues#has_only for (self: ArrayMapValues[Object, nullable Object], nullable Object): Bool */
4710 short int array__ArrayMapValues__has_only(val
* self
, val
* p0
) {
4711 short int var
/* : Bool */;
4712 short int var1
/* : Bool */;
4715 const struct type
* type_struct
;
4716 short int is_nullable
;
4717 const char* var_class_name
;
4718 val
* var_item
/* var item: nullable Object */;
4719 val
* var2
/* : ArrayMap[Object, nullable Object] */;
4720 val
* var3
/* : Array[Couple[Object, nullable Object]] */;
4721 val
* var4
/* : Iterator[nullable Object] */;
4722 short int var5
/* : Bool */;
4723 val
* var6
/* : nullable Object */;
4724 val
* var_i
/* var i: Couple[Object, nullable Object] */;
4725 val
* var7
/* : nullable Object */;
4726 short int var8
/* : Bool */;
4727 short int var9
/* : Bool */;
4728 short int var10
/* : Bool */;
4729 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
4730 /* <p0:nullable Object> isa Collection#0 */
4731 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4732 cltype
= type_struct
->color
;
4733 idtype
= type_struct
->id
;
4734 is_nullable
= type_struct
->is_nullable
;
4738 if(cltype
>= p0
->type
->table_size
) {
4741 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4745 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4746 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4747 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 570);
4751 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4752 var3
= var2
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var2:ArrayMap[Object, nullable Object]> */
4754 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4755 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 573);
4758 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:Array[Couple[Object, nullable Object]]>*/;
4760 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
4762 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
4764 var7
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var_i
) /* second on <var_i:Couple[Object, nullable Object]>*/;
4766 var8
= (var_item
!= NULL
);
4768 var8
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var7
, var_item
) /* != on <var7:nullable Object>*/;
4776 CONTINUE_label
: (void)0;
4777 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
4779 BREAK_label
: (void)0;
4786 /* method array#ArrayMapValues#has_only for (self: Object, nullable Object): Bool */
4787 short int VIRTUAL_array__ArrayMapValues__has_only(val
* self
, val
* p0
) {
4788 short int var
/* : Bool */;
4789 short int var1
/* : Bool */;
4790 var1
= array__ArrayMapValues__has_only(self
, p0
);
4795 /* method array#ArrayMapValues#count for (self: ArrayMapValues[Object, nullable Object], nullable Object): Int */
4796 long array__ArrayMapValues__count(val
* self
, val
* p0
) {
4797 long var
/* : Int */;
4798 short int var1
/* : Bool */;
4801 const struct type
* type_struct
;
4802 short int is_nullable
;
4803 const char* var_class_name
;
4804 val
* var_item
/* var item: nullable Object */;
4805 long var2
/* : Int */;
4806 long var_nb
/* var nb: Int */;
4807 val
* var3
/* : ArrayMap[Object, nullable Object] */;
4808 val
* var4
/* : Array[Couple[Object, nullable Object]] */;
4809 val
* var5
/* : Iterator[nullable Object] */;
4810 short int var6
/* : Bool */;
4811 val
* var7
/* : nullable Object */;
4812 val
* var_i
/* var i: Couple[Object, nullable Object] */;
4813 val
* var8
/* : nullable Object */;
4814 short int var9
/* : Bool */;
4815 long var10
/* : Int */;
4816 long var11
/* : Int */;
4817 long var13
/* : Int */;
4818 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa Collection#0 */
4819 /* <p0:nullable Object> isa Collection#0 */
4820 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
4821 cltype
= type_struct
->color
;
4822 idtype
= type_struct
->id
;
4823 is_nullable
= type_struct
->is_nullable
;
4827 if(cltype
>= p0
->type
->table_size
) {
4830 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4834 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4835 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
4836 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 577);
4842 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4843 var4
= var3
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var3:ArrayMap[Object, nullable Object]> */
4845 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4846 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 581);
4849 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:Array[Couple[Object, nullable Object]]>*/;
4851 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
4853 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
4855 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var_i
) /* second on <var_i:Couple[Object, nullable Object]>*/;
4857 var9
= (var_item
== NULL
);
4859 var9
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var8
, var_item
) /* == on <var8:nullable Object>*/;
4863 { /* Inline kernel#Int#+ (var_nb,var10) */
4864 var13
= var_nb
+ var10
;
4867 RET_LABEL12
:(void)0;
4872 CONTINUE_label
: (void)0;
4873 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
4875 BREAK_label
: (void)0;
4881 /* method array#ArrayMapValues#count for (self: Object, nullable Object): Int */
4882 long VIRTUAL_array__ArrayMapValues__count(val
* self
, val
* p0
) {
4883 long var
/* : Int */;
4884 long var1
/* : Int */;
4885 var1
= array__ArrayMapValues__count(self
, p0
);
4890 /* method array#ArrayMapValues#clear for (self: ArrayMapValues[Object, nullable Object]) */
4891 void array__ArrayMapValues__clear(val
* self
) {
4892 val
* var
/* : ArrayMap[Object, nullable Object] */;
4893 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4894 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Map__clear
]))(var
) /* clear on <var:ArrayMap[Object, nullable Object]>*/;
4897 /* method array#ArrayMapValues#clear for (self: Object) */
4898 void VIRTUAL_array__ArrayMapValues__clear(val
* self
) {
4899 array__ArrayMapValues__clear(self
);
4902 /* method array#ArrayMapValues#remove for (self: ArrayMapValues[Object, nullable Object], nullable Object) */
4903 void array__ArrayMapValues__remove(val
* self
, val
* p0
) {
4904 short int var
/* : Bool */;
4907 const struct type
* type_struct
;
4908 short int is_nullable
;
4909 const char* var_class_name
;
4910 val
* var_item
/* var item: nullable Object */;
4911 val
* var1
/* : ArrayMap[Object, nullable Object] */;
4912 val
* var_map
/* var map: ArrayMap[Object, nullable Object] */;
4913 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
4914 long var3
/* : Int */;
4915 long var4
/* : Int */;
4916 long var5
/* : Int */;
4917 long var7
/* : Int */;
4918 long var_i
/* var i: Int */;
4919 long var8
/* : Int */;
4920 short int var9
/* : Bool */;
4921 short int var11
/* : Bool */;
4924 const char* var_class_name14
;
4925 short int var15
/* : Bool */;
4926 val
* var16
/* : Array[Couple[Object, nullable Object]] */;
4927 val
* var17
/* : nullable Object */;
4928 val
* var18
/* : nullable Object */;
4929 short int var19
/* : Bool */;
4930 long var20
/* : Int */;
4931 long var21
/* : Int */;
4932 long var23
/* : Int */;
4933 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
4934 /* <p0:nullable Object> isa RemovableCollection#0 */
4935 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
4936 cltype
= type_struct
->color
;
4937 idtype
= type_struct
->id
;
4938 is_nullable
= type_struct
->is_nullable
;
4942 if(cltype
>= p0
->type
->table_size
) {
4945 var
= p0
->type
->type_table
[cltype
] == idtype
;
4949 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4950 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
4951 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 587);
4955 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
4957 var2
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
4959 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4960 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 590);
4963 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var2
) /* length on <var2:Array[Couple[Object, nullable Object]]>*/;
4965 { /* Inline kernel#Int#- (var3,var4) */
4974 { /* Inline kernel#Int#>= (var_i,var8) */
4975 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
4976 /* <var8:Int> isa OTHER */
4977 var11
= 1; /* easy <var8:Int> isa OTHER*/
4979 var_class_name14
= type_kernel__Int
.name
;
4980 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
4981 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
4984 var15
= var_i
>= var8
;
4987 RET_LABEL10
:(void)0;
4990 var16
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
4991 if (var16
== NULL
) {
4992 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
4993 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 592);
4996 var17
= ((val
* (*)(val
*, long))(var16
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var16
, var_i
) /* [] on <var16:Array[Couple[Object, nullable Object]]>*/;
4997 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var17
) /* second on <var17:nullable Object(Couple[Object, nullable Object])>*/;
4998 if (var18
== NULL
) {
4999 var19
= (var_item
== NULL
);
5001 var19
= ((short int (*)(val
*, val
*))(var18
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var18
, var_item
) /* == on <var18:nullable Object>*/;
5004 ((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]>*/;
5009 { /* Inline kernel#Int#- (var_i,var20) */
5010 var23
= var_i
- var20
;
5013 RET_LABEL22
:(void)0;
5016 CONTINUE_label
: (void)0;
5018 BREAK_label
: (void)0;
5021 /* method array#ArrayMapValues#remove for (self: Object, nullable Object) */
5022 void VIRTUAL_array__ArrayMapValues__remove(val
* self
, val
* p0
) {
5023 array__ArrayMapValues__remove(self
, p0
);
5026 /* method array#ArrayMapValues#remove_all for (self: ArrayMapValues[Object, nullable Object], nullable Object) */
5027 void array__ArrayMapValues__remove_all(val
* self
, val
* p0
) {
5028 short int var
/* : Bool */;
5031 const struct type
* type_struct
;
5032 short int is_nullable
;
5033 const char* var_class_name
;
5034 val
* var_item
/* var item: nullable Object */;
5035 val
* var1
/* : ArrayMap[Object, nullable Object] */;
5036 val
* var_map
/* var map: ArrayMap[Object, nullable Object] */;
5037 val
* var2
/* : Array[Couple[Object, nullable Object]] */;
5038 long var3
/* : Int */;
5039 long var4
/* : Int */;
5040 long var5
/* : Int */;
5041 long var7
/* : Int */;
5042 long var_i
/* var i: Int */;
5043 long var8
/* : Int */;
5044 short int var9
/* : Bool */;
5045 short int var11
/* : Bool */;
5048 const char* var_class_name14
;
5049 short int var15
/* : Bool */;
5050 val
* var16
/* : Array[Couple[Object, nullable Object]] */;
5051 val
* var17
/* : nullable Object */;
5052 val
* var18
/* : nullable Object */;
5053 short int var19
/* : Bool */;
5054 long var20
/* : Int */;
5055 long var21
/* : Int */;
5056 long var23
/* : Int */;
5057 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa RemovableCollection#0 */
5058 /* <p0:nullable Object> isa RemovableCollection#0 */
5059 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__RemovableCollection_FT0
];
5060 cltype
= type_struct
->color
;
5061 idtype
= type_struct
->id
;
5062 is_nullable
= type_struct
->is_nullable
;
5066 if(cltype
>= p0
->type
->table_size
) {
5069 var
= p0
->type
->type_table
[cltype
] == idtype
;
5073 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5074 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "RemovableCollection#0", var_class_name
);
5075 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 600);
5079 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_array__ArrayMapValues__map
]))(self
) /* map on <self:ArrayMapValues[Object, nullable Object]>*/;
5081 var2
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
5083 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
5084 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 603);
5087 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var2
) /* length on <var2:Array[Couple[Object, nullable Object]]>*/;
5089 { /* Inline kernel#Int#- (var3,var4) */
5098 { /* Inline kernel#Int#>= (var_i,var8) */
5099 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
5100 /* <var8:Int> isa OTHER */
5101 var11
= 1; /* easy <var8:Int> isa OTHER*/
5103 var_class_name14
= type_kernel__Int
.name
;
5104 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
5105 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
5108 var15
= var_i
>= var8
;
5111 RET_LABEL10
:(void)0;
5114 var16
= var_map
->attrs
[COLOR_array__ArrayMap___items
].val
; /* _items on <var_map:ArrayMap[Object, nullable Object]> */
5115 if (var16
== NULL
) {
5116 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _items");
5117 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 605);
5120 var17
= ((val
* (*)(val
*, long))(var16
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var16
, var_i
) /* [] on <var16:Array[Couple[Object, nullable Object]]>*/;
5121 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Couple__second
]))(var17
) /* second on <var17:nullable Object(Couple[Object, nullable Object])>*/;
5122 if (var18
== NULL
) {
5123 var19
= (var_item
== NULL
);
5125 var19
= ((short int (*)(val
*, val
*))(var18
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var18
, var_item
) /* == on <var18:nullable Object>*/;
5128 ((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]>*/;
5132 { /* Inline kernel#Int#- (var_i,var20) */
5133 var23
= var_i
- var20
;
5136 RET_LABEL22
:(void)0;
5139 CONTINUE_label
: (void)0;
5141 BREAK_label
: (void)0;
5144 /* method array#ArrayMapValues#remove_all for (self: Object, nullable Object) */
5145 void VIRTUAL_array__ArrayMapValues__remove_all(val
* self
, val
* p0
) {
5146 array__ArrayMapValues__remove_all(self
, p0
);
5149 /* method array#ArrayMapValues#init for (self: ArrayMapValues[Object, nullable Object], ArrayMap[Object, nullable Object]) */
5150 void array__ArrayMapValues__init(val
* self
, val
* p0
) {
5151 short int var
/* : Bool */;
5154 const struct type
* type_struct
;
5155 const char* var_class_name
;
5156 /* Covariant cast for argument 0 (map) <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
5157 /* <p0:ArrayMap[Object, nullable Object]> isa ArrayMap[ArrayMapValues#0, ArrayMapValues#1] */
5158 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__ArrayMaparray__ArrayMapValues_FT0array__ArrayMapValues_FT1
];
5159 cltype
= type_struct
->color
;
5160 idtype
= type_struct
->id
;
5161 if(cltype
>= p0
->type
->table_size
) {
5164 var
= p0
->type
->type_table
[cltype
] == idtype
;
5167 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5168 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "ArrayMap[ArrayMapValues#0, ArrayMapValues#1]", var_class_name
);
5169 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 554);
5172 self
->attrs
[COLOR_array__ArrayMapValues___64dmap
].val
= p0
; /* @map on <self:ArrayMapValues[Object, nullable Object]> */
5175 /* method array#ArrayMapValues#init for (self: Object, ArrayMap[Object, nullable Object]) */
5176 void VIRTUAL_array__ArrayMapValues__init(val
* self
, val
* p0
) {
5177 array__ArrayMapValues__init(self
, p0
);
5180 /* method array#Iterator#to_a for (self: Iterator[nullable Object]): Array[nullable Object] */
5181 val
* array__Iterator__to_a(val
* self
) {
5182 val
* var
/* : Array[nullable Object] */;
5183 val
* var1
/* : Array[nullable Object] */;
5184 val
* var_res
/* var res: Array[nullable Object] */;
5185 short int var2
/* : Bool */;
5186 val
* var3
/* : nullable Object */;
5187 var1
= NEW_array__Array(self
->type
->resolution_table
->types
[COLOR_array__Arrayabstract_collection__Iterator_FT0
]);
5188 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[nullable Object]>*/;
5191 var2
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(self
) /* is_ok on <self:Iterator[nullable Object]>*/;
5193 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(self
) /* item on <self:Iterator[nullable Object]>*/;
5194 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var3
) /* add on <var_res:Array[nullable Object]>*/;
5195 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(self
) /* next on <self:Iterator[nullable Object]>*/;
5196 CONTINUE_label
: (void)0;
5198 BREAK_label
: (void)0;
5204 /* method array#Iterator#to_a for (self: Object): Array[nullable Object] */
5205 val
* VIRTUAL_array__Iterator__to_a(val
* self
) {
5206 val
* var
/* : Array[nullable Object] */;
5207 val
* var1
/* : Array[nullable Object] */;
5208 var1
= array__Iterator__to_a(self
);
5213 /* method array#Collection#to_a for (self: Collection[nullable Object]): Array[nullable Object] */
5214 val
* array__Collection__to_a(val
* self
) {
5215 val
* var
/* : Array[nullable Object] */;
5216 val
* var1
/* : Iterator[nullable Object] */;
5217 val
* var2
/* : Array[nullable Object] */;
5218 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
5219 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_array__Iterator__to_a
]))(var1
) /* to_a on <var1:Iterator[nullable Object]>*/;
5225 /* method array#Collection#to_a for (self: Object): Array[nullable Object] */
5226 val
* VIRTUAL_array__Collection__to_a(val
* self
) {
5227 val
* var
/* : Array[nullable Object] */;
5228 val
* var1
/* : Array[nullable Object] */;
5229 var1
= array__Collection__to_a(self
);
5234 /* method array#ArrayCapable#calloc_array for (self: ArrayCapable[nullable Object], Int): NativeArray[nullable Object] */
5235 val
* array__ArrayCapable__calloc_array(val
* self
, long p0
) {
5236 val
* var
/* : NativeArray[nullable Object] */;
5237 val
* var1
/* : NativeArray[nullable Object] */;
5238 var1
= NEW_array__NativeArray(p0
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
5244 /* method array#ArrayCapable#calloc_array for (self: Object, Int): NativeArray[nullable Object] */
5245 val
* VIRTUAL_array__ArrayCapable__calloc_array(val
* self
, long p0
) {
5246 val
* var
/* : NativeArray[nullable Object] */;
5247 val
* var1
/* : NativeArray[nullable Object] */;
5248 val
* var3
/* : NativeArray[nullable Object] */;
5249 { /* Inline array#ArrayCapable#calloc_array (self,p0) */
5250 var3
= NEW_array__NativeArray(p0
, self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__ArrayCapable_FT0
]);
5259 /* method array#NativeArray#[] for (self: NativeArray[nullable Object], Int): nullable Object */
5260 val
* array__NativeArray___91d_93d(val
* self
, long p0
) {
5261 val
* var
/* : nullable Object */;
5262 val
* var1
/* : nullable Object */;
5263 var1
= ((struct instance_array__NativeArray
*)self
)->values
[p0
];
5269 /* method array#NativeArray#[] for (self: Object, Int): nullable Object */
5270 val
* VIRTUAL_array__NativeArray___91d_93d(val
* self
, long p0
) {
5271 val
* var
/* : nullable Object */;
5272 val
* var1
/* : nullable Object */;
5273 val
* var3
/* : nullable Object */;
5274 { /* Inline array#NativeArray#[] (self,p0) */
5275 var3
= ((struct instance_array__NativeArray
*)self
)->values
[p0
];
5284 /* method array#NativeArray#[]= for (self: NativeArray[nullable Object], Int, nullable Object) */
5285 void array__NativeArray___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
5286 short int var
/* : Bool */;
5289 const struct type
* type_struct
;
5290 short int is_nullable
;
5291 const char* var_class_name
;
5292 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa NativeArray#0 */
5293 /* <p1:nullable Object> isa NativeArray#0 */
5294 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
5295 cltype
= type_struct
->color
;
5296 idtype
= type_struct
->id
;
5297 is_nullable
= type_struct
->is_nullable
;
5301 if(cltype
>= p1
->type
->table_size
) {
5304 var
= p1
->type
->type_table
[cltype
] == idtype
;
5308 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
5309 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray#0", var_class_name
);
5310 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 648);
5313 ((struct instance_array__NativeArray
*)self
)->values
[p0
]=p1
;
5316 /* method array#NativeArray#[]= for (self: Object, Int, nullable Object) */
5317 void VIRTUAL_array__NativeArray___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
5318 short int var
/* : Bool */;
5321 const struct type
* type_struct
;
5322 short int is_nullable
;
5323 const char* var_class_name
;
5324 { /* Inline array#NativeArray#[]= (self,p0,p1) */
5325 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa NativeArray#0 */
5326 /* <p1:nullable Object> isa NativeArray#0 */
5327 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArray_FT0
];
5328 cltype
= type_struct
->color
;
5329 idtype
= type_struct
->id
;
5330 is_nullable
= type_struct
->is_nullable
;
5334 if(cltype
>= p1
->type
->table_size
) {
5337 var
= p1
->type
->type_table
[cltype
] == idtype
;
5341 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
5342 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray#0", var_class_name
);
5343 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 648);
5346 ((struct instance_array__NativeArray
*)self
)->values
[p0
]=p1
;
5351 /* method array#NativeArray#copy_to for (self: NativeArray[nullable Object], NativeArray[nullable Object], Int) */
5352 void array__NativeArray__copy_to(val
* self
, val
* p0
, long p1
) {
5353 short int var
/* : Bool */;
5356 const struct type
* type_struct
;
5357 const char* var_class_name
;
5358 /* Covariant cast for argument 0 (dest) <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5359 /* <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5360 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
5361 cltype
= type_struct
->color
;
5362 idtype
= type_struct
->id
;
5363 if(cltype
>= p0
->type
->table_size
) {
5366 var
= p0
->type
->type_table
[cltype
] == idtype
;
5369 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5370 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[NativeArray#0]", var_class_name
);
5371 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 649);
5374 memcpy(((struct instance_array__NativeArray
*)p0
)->values
, ((struct instance_array__NativeArray
*)self
)->values
, p1
*sizeof(val
*));
5377 /* method array#NativeArray#copy_to for (self: Object, NativeArray[nullable Object], Int) */
5378 void VIRTUAL_array__NativeArray__copy_to(val
* self
, val
* p0
, long p1
) {
5379 short int var
/* : Bool */;
5382 const struct type
* type_struct
;
5383 const char* var_class_name
;
5384 { /* Inline array#NativeArray#copy_to (self,p0,p1) */
5385 /* Covariant cast for argument 0 (dest) <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5386 /* <p0:NativeArray[nullable Object]> isa NativeArray[NativeArray#0] */
5387 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__NativeArrayarray__NativeArray_FT0
];
5388 cltype
= type_struct
->color
;
5389 idtype
= type_struct
->id
;
5390 if(cltype
>= p0
->type
->table_size
) {
5393 var
= p0
->type
->type_table
[cltype
] == idtype
;
5396 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5397 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "NativeArray[NativeArray#0]", var_class_name
);
5398 fprintf(stderr
, " (%s:%d)\n", "lib/standard/collection/array.nit", 649);
5401 memcpy(((struct instance_array__NativeArray
*)p0
)->values
, ((struct instance_array__NativeArray
*)self
)->values
, p1
*sizeof(val
*));