1 #include "core__abstract_collection.sep.0.h"
2 /* method abstract_collection#Collection#is_empty for (self: Collection[nullable Object]): Bool */
3 short int core___core__Collection___is_empty(val
* self
) {
4 short int var
/* : Bool */;
6 short int var2
/* : Bool */;
7 short int var4
/* : Bool */;
9 var1
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(self
); /* length on <self:Collection[nullable Object]>*/
12 { /* Inline kernel#Int#== (var1,0l) on <var1:Int> */
24 /* method abstract_collection#Collection#not_empty for (self: Collection[nullable Object]): Bool */
25 short int core___core__Collection___not_empty(val
* self
) {
26 short int var
/* : Bool */;
27 short int var1
/* : Bool */;
28 short int var2
/* : Bool */;
30 var1
= ((short int(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__is_empty
]))(self
); /* is_empty on <self:Collection[nullable Object]>*/
38 /* method abstract_collection#Collection#length for (self: Collection[nullable Object]): Int */
39 long core___core__Collection___length(val
* self
) {
41 long var_nb
/* var nb: Int */;
42 val
* var_
/* var : Collection[nullable Object] */;
43 val
* var1
/* : Iterator[nullable Object] */;
44 val
* var_2
/* var : Iterator[nullable Object] */;
45 short int var3
/* : Bool */;
46 val
* var4
/* : nullable Object */;
47 val
* var_i
/* var i: nullable Object */;
48 long var5
/* : Int */;
49 short int var7
/* : Bool */;
52 const char* var_class_name
;
53 long var8
/* : Int */;
57 var1
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[nullable Object]>*/
62 var3
= ((short int(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_2
); /* is_ok on <var_2:Iterator[nullable Object]>*/
69 var4
= ((val
*(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_2
); /* item on <var_2:Iterator[nullable Object]>*/
73 { /* Inline kernel#Int#+ (var_nb,1l) on <var_nb:Int> */
74 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
75 /* <1l:Int> isa OTHER */
76 var7
= 1; /* easy <1l:Int> isa OTHER*/
77 if (unlikely(!var7
)) {
78 var_class_name
= type_core__Int
.name
;
79 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
80 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
91 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_2
); /* next on <var_2:Iterator[nullable Object]>*/
96 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_2
); /* finish on <var_2:Iterator[nullable Object]>*/
103 /* method abstract_collection#Collection#has for (self: Collection[nullable Object], nullable Object): Bool */
104 short int core___core__Collection___has(val
* self
, val
* p0
) {
105 short int var
/* : Bool */;
106 val
* var_item
/* var item: nullable Object */;
107 val
* var_
/* var : Collection[nullable Object] */;
108 val
* var1
/* : Iterator[nullable Object] */;
109 val
* var_2
/* var : Iterator[nullable Object] */;
110 short int var3
/* : Bool */;
111 val
* var4
/* : nullable Object */;
112 val
* var_i
/* var i: nullable Object */;
113 short int var5
/* : Bool */;
114 short int var6
/* : Bool */;
118 var1
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[nullable Object]>*/
123 var3
= ((short int(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_2
); /* is_ok on <var_2:Iterator[nullable Object]>*/
130 var4
= ((val
*(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_2
); /* item on <var_2:Iterator[nullable Object]>*/
134 var5
= (var_item
== NULL
);
136 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_i
, var_item
); /* == on <var_i:nullable Object>*/
145 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_2
); /* next on <var_2:Iterator[nullable Object]>*/
148 BREAK_label
: (void)0;
150 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_2
); /* finish on <var_2:Iterator[nullable Object]>*/
157 /* method abstract_collection#Collection#first for (self: Collection[nullable Object]): nullable Object */
158 val
* core___core__Collection___first(val
* self
) {
159 val
* var
/* : nullable Object */;
160 long var1
/* : Int */;
161 short int var2
/* : Bool */;
162 short int var4
/* : Bool */;
165 const char* var_class_name
;
166 short int var5
/* : Bool */;
167 val
* var6
/* : Iterator[nullable Object] */;
168 val
* var7
/* : nullable Object */;
170 var1
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(self
); /* length on <self:Collection[nullable Object]>*/
173 { /* Inline kernel#Int#> (var1,0l) on <var1:Int> */
174 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
175 /* <0l:Int> isa OTHER */
176 var4
= 1; /* easy <0l:Int> isa OTHER*/
177 if (unlikely(!var4
)) {
178 var_class_name
= type_core__Int
.name
;
179 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
180 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
189 if (unlikely(!var2
)) {
190 PRINT_ERROR("Runtime error: %s", "Assert failed");
191 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 134);
195 var6
= ((val
*(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(self
); /* iterator on <self:Collection[nullable Object]>*/
198 var7
= ((val
*(*)(val
* self
))((((long)var6
&3)?class_info
[((long)var6
&3)]:var6
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var6
); /* item on <var6:Iterator[nullable Object]>*/
205 /* method abstract_collection#Collection#has_all for (self: Collection[nullable Object], Collection[nullable Object]): Bool */
206 short int core___core__Collection___has_all(val
* self
, val
* p0
) {
207 short int var
/* : Bool */;
208 val
* var_other
/* var other: Collection[nullable Object] */;
209 val
* var_
/* var : Collection[nullable Object] */;
210 val
* var1
/* : Iterator[nullable Object] */;
211 val
* var_2
/* var : Iterator[nullable Object] */;
212 short int var3
/* : Bool */;
213 val
* var4
/* : nullable Object */;
214 val
* var_x
/* var x: nullable Object */;
215 short int var5
/* : Bool */;
216 short int var6
/* : Bool */;
220 var1
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[nullable Object]>*/
225 var3
= ((short int(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_2
); /* is_ok on <var_2:Iterator[nullable Object]>*/
232 var4
= ((val
*(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_2
); /* item on <var_2:Iterator[nullable Object]>*/
236 var5
= ((short int(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(self
, var_x
); /* has on <self:Collection[nullable Object]>*/
245 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_2
); /* next on <var_2:Iterator[nullable Object]>*/
248 BREAK_label
: (void)0;
250 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_2
); /* finish on <var_2:Iterator[nullable Object]>*/
257 /* method abstract_collection#Iterator#iterator for (self: Iterator[nullable Object]): Iterator[nullable Object] */
258 val
* core___core__Iterator___iterator(val
* self
) {
259 val
* var
/* : Iterator[nullable Object] */;
265 /* method abstract_collection#Iterator#finish for (self: Iterator[nullable Object]) */
266 void core___core__Iterator___finish(val
* self
) {
269 /* method abstract_collection#Ref#first for (self: Ref[nullable Object]): nullable Object */
270 val
* core___core__Ref___Collection__first(val
* self
) {
271 val
* var
/* : nullable Object */;
272 val
* var1
/* : nullable Object */;
273 val
* var3
/* : nullable Object */;
275 { /* Inline abstract_collection#Ref#item (self) on <self:Ref[nullable Object]> */
276 var3
= self
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <self:Ref[nullable Object]> */
286 /* method abstract_collection#Ref#is_empty for (self: Ref[nullable Object]): Bool */
287 short int core___core__Ref___Collection__is_empty(val
* self
) {
288 short int var
/* : Bool */;
294 /* method abstract_collection#Ref#length for (self: Ref[nullable Object]): Int */
295 long core___core__Ref___Collection__length(val
* self
) {
296 long var
/* : Int */;
302 /* method abstract_collection#Ref#has for (self: Ref[nullable Object], nullable Object): Bool */
303 short int core___core__Ref___Collection__has(val
* self
, val
* p0
) {
304 short int var
/* : Bool */;
305 val
* var_an_item
/* var an_item: nullable Object */;
306 val
* var1
/* : nullable Object */;
307 val
* var3
/* : nullable Object */;
308 short int var4
/* : Bool */;
309 short int var5
/* : Bool */;
312 { /* Inline abstract_collection#Ref#item (self) on <self:Ref[nullable Object]> */
313 var3
= self
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <self:Ref[nullable Object]> */
319 var4
= (var_an_item
== NULL
);
321 var5
= ((short int(*)(val
* self
, val
* p0
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var1
, var_an_item
); /* == on <var1:nullable Object>*/
329 /* method abstract_collection#Ref#iterator for (self: Ref[nullable Object]): Iterator[nullable Object] */
330 val
* core___core__Ref___Collection__iterator(val
* self
) {
331 val
* var
/* : Iterator[nullable Object] */;
332 val
* var1
/* : RefIterator[nullable Object] */;
333 var1
= NEW_core__abstract_collection__RefIterator(self
->type
->resolution_table
->types
[COLOR_core__abstract_collection__RefIterator__core__Ref___35dE
]);
335 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__abstract_collection__RefIterator__container_61d
]))(var1
, self
); /* container= on <var1:RefIterator[nullable Object]>*/
338 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:RefIterator[nullable Object]>*/
345 /* method abstract_collection#Ref#item for (self: Ref[nullable Object]): nullable Object */
346 val
* core___core__Ref___item(val
* self
) {
347 val
* var
/* : nullable Object */;
348 val
* var1
/* : nullable Object */;
349 var1
= self
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <self:Ref[nullable Object]> */
354 /* method abstract_collection#Ref#item= for (self: Ref[nullable Object], nullable Object) */
355 void core___core__Ref___item_61d(val
* self
, val
* p0
) {
356 short int var
/* : Bool */;
359 const struct type
* type_struct
;
360 short int is_nullable
;
361 const char* var_class_name
;
362 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
363 /* <p0:nullable Object> isa E */
364 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Ref___35dE
];
365 cltype
= type_struct
->color
;
366 idtype
= type_struct
->id
;
367 is_nullable
= type_struct
->is_nullable
;
371 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
374 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
377 if (unlikely(!var
)) {
378 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
379 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
380 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 334);
383 self
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
= p0
; /* _item on <self:Ref[nullable Object]> */
386 /* method abstract_collection#Ref#init for (self: Ref[nullable Object]) */
387 void core___core__Ref___core__kernel__Object__init(val
* self
) {
389 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Ref___core__kernel__Object__init
]))(self
); /* init on <self:Ref[nullable Object]>*/
393 /* method abstract_collection#RefIterator#item for (self: RefIterator[nullable Object]): nullable Object */
394 val
* core__abstract_collection___core__abstract_collection__RefIterator___Iterator__item(val
* self
) {
395 val
* var
/* : nullable Object */;
396 val
* var1
/* : Ref[nullable Object] */;
397 val
* var2
/* : nullable Object */;
398 val
* var4
/* : nullable Object */;
399 var1
= self
->attrs
[COLOR_core__abstract_collection__RefIterator___container
].val
; /* _container on <self:RefIterator[nullable Object]> */
400 if (unlikely(var1
== NULL
)) {
401 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _container");
402 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 341);
406 { /* Inline abstract_collection#Ref#item (var1) on <var1:Ref[nullable Object]> */
407 var4
= var1
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <var1:Ref[nullable Object]> */
417 /* method abstract_collection#RefIterator#next for (self: RefIterator[nullable Object]) */
418 void core__abstract_collection___core__abstract_collection__RefIterator___Iterator__next(val
* self
) {
420 { /* Inline abstract_collection#RefIterator#is_ok= (self,0) on <self:RefIterator[nullable Object]> */
421 self
->attrs
[COLOR_core__abstract_collection__RefIterator___is_ok
].s
= 0; /* _is_ok on <self:RefIterator[nullable Object]> */
427 /* method abstract_collection#RefIterator#is_ok for (self: RefIterator[nullable Object]): Bool */
428 short int core__abstract_collection___core__abstract_collection__RefIterator___Iterator__is_ok(val
* self
) {
429 short int var
/* : Bool */;
430 short int var1
/* : Bool */;
431 var1
= self
->attrs
[COLOR_core__abstract_collection__RefIterator___is_ok
].s
; /* _is_ok on <self:RefIterator[nullable Object]> */
436 /* method abstract_collection#RefIterator#is_ok= for (self: RefIterator[nullable Object], Bool) */
437 void core__abstract_collection___core__abstract_collection__RefIterator___is_ok_61d(val
* self
, short int p0
) {
438 self
->attrs
[COLOR_core__abstract_collection__RefIterator___is_ok
].s
= p0
; /* _is_ok on <self:RefIterator[nullable Object]> */
441 /* method abstract_collection#RefIterator#container= for (self: RefIterator[nullable Object], Ref[nullable Object]) */
442 void core__abstract_collection___core__abstract_collection__RefIterator___container_61d(val
* self
, val
* p0
) {
443 short int var
/* : Bool */;
446 const struct type
* type_struct
;
447 const char* var_class_name
;
448 /* Covariant cast for argument 0 (container) <p0:Ref[nullable Object]> isa Ref[E] */
449 /* <p0:Ref[nullable Object]> isa Ref[E] */
450 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Ref__core__abstract_collection__RefIterator___35dE
];
451 cltype
= type_struct
->color
;
452 idtype
= type_struct
->id
;
453 if(cltype
>= p0
->type
->table_size
) {
456 var
= p0
->type
->type_table
[cltype
] == idtype
;
458 if (unlikely(!var
)) {
459 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
460 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Ref[E]", var_class_name
);
461 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 347);
464 self
->attrs
[COLOR_core__abstract_collection__RefIterator___container
].val
= p0
; /* _container on <self:RefIterator[nullable Object]> */
467 /* method abstract_collection#RefIterator#init for (self: RefIterator[nullable Object]) */
468 void core__abstract_collection___core__abstract_collection__RefIterator___core__kernel__Object__init(val
* self
) {
470 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_collection___core__abstract_collection__RefIterator___core__kernel__Object__init
]))(self
); /* init on <self:RefIterator[nullable Object]>*/
474 /* method abstract_collection#RemovableCollection#clear for (self: RemovableCollection[nullable Object]) */
475 void core___core__RemovableCollection___clear(val
* self
) {
476 const char* var_class_name
;
477 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
478 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "clear", var_class_name
);
479 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 354);
483 /* method abstract_collection#RemovableCollection#remove for (self: RemovableCollection[nullable Object], nullable Object) */
484 void core___core__RemovableCollection___remove(val
* self
, val
* p0
) {
485 const char* var_class_name
;
486 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
487 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "remove", var_class_name
);
488 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 363);
492 /* method abstract_collection#SimpleCollection#add_all for (self: SimpleCollection[nullable Object], Collection[nullable Object]) */
493 void core___core__SimpleCollection___add_all(val
* self
, val
* p0
) {
494 short int var
/* : Bool */;
497 const struct type
* type_struct
;
498 const char* var_class_name
;
499 val
* var_coll
/* var coll: Collection[nullable Object] */;
500 val
* var_
/* var : Collection[nullable Object] */;
501 val
* var1
/* : Iterator[nullable Object] */;
502 val
* var_2
/* var : Iterator[nullable Object] */;
503 short int var3
/* : Bool */;
504 val
* var4
/* : nullable Object */;
505 val
* var_i
/* var i: nullable Object */;
506 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
507 /* <p0:Collection[nullable Object]> isa Collection[E] */
508 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Collection__core__SimpleCollection___35dE
];
509 cltype
= type_struct
->color
;
510 idtype
= type_struct
->id
;
511 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
514 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
516 if (unlikely(!var
)) {
517 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
518 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
519 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 392);
525 var1
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[nullable Object]>*/
530 var3
= ((short int(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_2
); /* is_ok on <var_2:Iterator[nullable Object]>*/
537 var4
= ((val
*(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_2
); /* item on <var_2:Iterator[nullable Object]>*/
541 ((void(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(self
, var_i
); /* add on <self:SimpleCollection[nullable Object]>*/
544 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_2
); /* next on <var_2:Iterator[nullable Object]>*/
547 BREAK_label
: (void)0;
549 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_2
); /* finish on <var_2:Iterator[nullable Object]>*/
553 /* method abstract_collection#Set#== for (self: Set[nullable Object], nullable Object): Bool */
554 short int core___core__Set___core__kernel__Object___61d_61d(val
* self
, val
* p0
) {
555 short int var
/* : Bool */;
556 val
* var_other
/* var other: nullable Object */;
557 short int var1
/* : Bool */;
560 short int var2
/* : Bool */;
561 long var3
/* : Int */;
562 long var4
/* : Int */;
563 short int var5
/* : Bool */;
564 short int var7
/* : Bool */;
565 short int var8
/* : Bool */;
566 short int var9
/* : Bool */;
568 /* <var_other:nullable Object> isa Set[nullable Object] */
569 cltype
= type_core__Set__nullable__core__Object
.color
;
570 idtype
= type_core__Set__nullable__core__Object
.id
;
571 if(var_other
== NULL
) {
574 if(cltype
>= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->table_size
) {
577 var1
= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->type_table
[cltype
] == idtype
;
587 var3
= ((long(*)(val
* self
))((((long)var_other
&3)?class_info
[((long)var_other
&3)]:var_other
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(var_other
); /* length on <var_other:nullable Object(Set[nullable Object])>*/
590 var4
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(self
); /* length on <self:Set[nullable Object]>*/
593 { /* Inline kernel#Int#!= (var3,var4) on <var3:Int> */
607 var9
= core___core__Collection___has_all(self
, var_other
);
614 /* method abstract_collection#Set#hash for (self: Set[nullable Object]): Int */
615 long core___core__Set___core__kernel__Object__hash(val
* self
) {
616 long var
/* : Int */;
617 long var1
/* : Int */;
618 long var2
/* : Int */;
619 short int var4
/* : Bool */;
622 const char* var_class_name
;
623 long var5
/* : Int */;
624 long var_res
/* var res: Int */;
625 val
* var_
/* var : Set[nullable Object] */;
626 val
* var6
/* : Iterator[nullable Object] */;
627 val
* var_7
/* var : Iterator[nullable Object] */;
628 short int var8
/* : Bool */;
629 val
* var9
/* : nullable Object */;
630 val
* var_e
/* var e: nullable Object */;
631 long var10
/* : Int */;
632 long var11
/* : Int */;
633 short int var13
/* : Bool */;
636 const char* var_class_name16
;
637 long var17
/* : Int */;
639 var1
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(self
); /* length on <self:Set[nullable Object]>*/
642 { /* Inline kernel#Int#+ (23l,var1) on <23l:Int> */
643 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
644 /* <var1:Int> isa OTHER */
645 var4
= 1; /* easy <var1:Int> isa OTHER*/
646 if (unlikely(!var4
)) {
647 var_class_name
= type_core__Int
.name
;
648 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
649 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
661 var6
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Set[nullable Object]>*/
666 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:Iterator[nullable Object]>*/
673 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:Iterator[nullable Object]>*/
677 PRINT_ERROR("Runtime error: %s", "Receiver is null");
678 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 454);
681 var10
= ((long(*)(val
* self
))((((long)var_e
&3)?class_info
[((long)var_e
&3)]:var_e
->class)->vft
[COLOR_core__kernel__Object__hash
]))(var_e
); /* hash on <var_e:nullable Object>*/
684 { /* Inline kernel#Int#+ (var_res,var10) on <var_res:Int> */
685 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
686 /* <var10:Int> isa OTHER */
687 var13
= 1; /* easy <var10:Int> isa OTHER*/
688 if (unlikely(!var13
)) {
689 var_class_name16
= type_core__Int
.name
;
690 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
691 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
694 var17
= var_res
+ var10
;
702 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:Iterator[nullable Object]>*/
705 BREAK_label
: (void)0;
707 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:Iterator[nullable Object]>*/
714 /* method abstract_collection#MapRead#get_or_null for (self: MapRead[nullable Object, nullable Object], nullable Object): nullable Object */
715 val
* core___core__MapRead___get_or_null(val
* self
, val
* p0
) {
716 val
* var
/* : nullable Object */;
717 val
* var_key
/* var key: nullable Object */;
718 short int var1
/* : Bool */;
719 val
* var2
/* : nullable Object */;
722 var1
= ((short int(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__MapRead__has_key
]))(self
, var_key
); /* has_key on <self:MapRead[nullable Object, nullable Object]>*/
726 var2
= ((val
*(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(self
, var_key
); /* [] on <self:MapRead[nullable Object, nullable Object]>*/
737 /* method abstract_collection#MapRead#provide_default_value for (self: MapRead[nullable Object, nullable Object], nullable Object): nullable Object */
738 val
* core___core__MapRead___provide_default_value(val
* self
, val
* p0
) {
739 val
* var
/* : nullable Object */;
740 val
* var_key
/* var key: nullable Object */;
742 PRINT_ERROR("Runtime error: %s", "Aborted");
743 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 590);
748 /* method abstract_collection#MapRead#== for (self: MapRead[nullable Object, nullable Object], nullable Object): Bool */
749 short int core___core__MapRead___core__kernel__Object___61d_61d(val
* self
, val
* p0
) {
750 short int var
/* : Bool */;
751 val
* var_other
/* var other: nullable Object */;
752 short int var1
/* : Bool */;
755 short int var2
/* : Bool */;
756 long var3
/* : Int */;
757 long var4
/* : Int */;
758 short int var5
/* : Bool */;
759 short int var7
/* : Bool */;
760 short int var8
/* : Bool */;
761 val
* var_
/* var : MapRead[nullable Object, nullable Object] */;
762 val
* var9
/* : MapIterator[nullable Object, nullable Object] */;
763 val
* var_10
/* var : MapIterator[nullable Object, nullable Object] */;
764 short int var11
/* : Bool */;
765 val
* var12
/* : nullable Object */;
766 val
* var_k
/* var k: nullable Object */;
767 val
* var13
/* : nullable Object */;
768 val
* var_v
/* var v: nullable Object */;
769 short int var14
/* : Bool */;
770 short int var15
/* : Bool */;
771 val
* var16
/* : nullable Object */;
772 short int var17
/* : Bool */;
773 short int var18
/* : Bool */;
775 /* <var_other:nullable Object> isa MapRead[nullable Object, nullable Object] */
776 cltype
= type_core__MapRead__nullable__core__Object__nullable__core__Object
.color
;
777 idtype
= type_core__MapRead__nullable__core__Object__nullable__core__Object
.id
;
778 if(var_other
== NULL
) {
781 if(cltype
>= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->table_size
) {
784 var1
= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->type_table
[cltype
] == idtype
;
794 var3
= ((long(*)(val
* self
))((((long)var_other
&3)?class_info
[((long)var_other
&3)]:var_other
->class)->vft
[COLOR_core__abstract_collection__MapRead__length
]))(var_other
); /* length on <var_other:nullable Object(MapRead[nullable Object, nullable Object])>*/
797 var4
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__MapRead__length
]))(self
); /* length on <self:MapRead[nullable Object, nullable Object]>*/
800 { /* Inline kernel#Int#!= (var3,var4) on <var3:Int> */
815 var9
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__MapRead__iterator
]))(var_
); /* iterator on <var_:MapRead[nullable Object, nullable Object]>*/
820 var11
= ((short int(*)(val
* self
))((((long)var_10
&3)?class_info
[((long)var_10
&3)]:var_10
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_10
); /* is_ok on <var_10:MapIterator[nullable Object, nullable Object]>*/
827 var12
= ((val
*(*)(val
* self
))((((long)var_10
&3)?class_info
[((long)var_10
&3)]:var_10
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_10
); /* key on <var_10:MapIterator[nullable Object, nullable Object]>*/
831 var13
= ((val
*(*)(val
* self
))((((long)var_10
&3)?class_info
[((long)var_10
&3)]:var_10
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_10
); /* item on <var_10:MapIterator[nullable Object, nullable Object]>*/
835 var14
= ((short int(*)(val
* self
, val
* p0
))((((long)var_other
&3)?class_info
[((long)var_other
&3)]:var_other
->class)->vft
[COLOR_core__abstract_collection__MapRead__has_key
]))(var_other
, var_k
); /* has_key on <var_other:nullable Object(MapRead[nullable Object, nullable Object])>*/
844 var16
= ((val
*(*)(val
* self
, val
* p0
))((((long)var_other
&3)?class_info
[((long)var_other
&3)]:var_other
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var_other
, var_k
); /* [] on <var_other:nullable Object(MapRead[nullable Object, nullable Object])>*/
847 var17
= (var_v
!= NULL
);
849 var18
= ((short int(*)(val
* self
, val
* p0
))((((long)var16
&3)?class_info
[((long)var16
&3)]:var16
->class)->vft
[COLOR_core__kernel__Object___33d_61d
]))(var16
, var_v
); /* != on <var16:nullable Object>*/
858 ((void(*)(val
* self
))((((long)var_10
&3)?class_info
[((long)var_10
&3)]:var_10
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_10
); /* next on <var_10:MapIterator[nullable Object, nullable Object]>*/
861 BREAK_label
: (void)0;
863 { /* Inline abstract_collection#MapIterator#finish (var_10) on <var_10:MapIterator[nullable Object, nullable Object]> */
872 /* method abstract_collection#MapRead#hash for (self: MapRead[nullable Object, nullable Object]): Int */
873 long core___core__MapRead___core__kernel__Object__hash(val
* self
) {
874 long var
/* : Int */;
875 long var1
/* : Int */;
876 long var_res
/* var res: Int */;
877 val
* var_
/* var : MapRead[nullable Object, nullable Object] */;
878 val
* var2
/* : MapIterator[nullable Object, nullable Object] */;
879 val
* var_3
/* var : MapIterator[nullable Object, nullable Object] */;
880 short int var4
/* : Bool */;
881 val
* var5
/* : nullable Object */;
882 val
* var_k
/* var k: nullable Object */;
883 val
* var6
/* : nullable Object */;
884 val
* var_v
/* var v: nullable Object */;
885 short int var7
/* : Bool */;
886 short int var8
/* : Bool */;
887 long var9
/* : Int */;
888 long var10
/* : Int */;
889 short int var12
/* : Bool */;
892 const char* var_class_name
;
893 long var13
/* : Int */;
894 long var14
/* : Int */;
895 short int var16
/* : Bool */;
898 const char* var_class_name19
;
899 long var20
/* : Int */;
900 short int var21
/* : Bool */;
901 short int var22
/* : Bool */;
902 long var23
/* : Int */;
903 long var24
/* : Int */;
904 short int var26
/* : Bool */;
907 const char* var_class_name29
;
908 long var30
/* : Int */;
909 long var31
/* : Int */;
910 short int var33
/* : Bool */;
913 const char* var_class_name36
;
914 long var37
/* : Int */;
916 var1
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__MapRead__length
]))(self
); /* length on <self:MapRead[nullable Object, nullable Object]>*/
921 var2
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__MapRead__iterator
]))(var_
); /* iterator on <var_:MapRead[nullable Object, nullable Object]>*/
926 var4
= ((short int(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_3
); /* is_ok on <var_3:MapIterator[nullable Object, nullable Object]>*/
933 var5
= ((val
*(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_3
); /* key on <var_3:MapIterator[nullable Object, nullable Object]>*/
937 var6
= ((val
*(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_3
); /* item on <var_3:MapIterator[nullable Object, nullable Object]>*/
941 var7
= 0; /* is null */
943 var7
= 1; /* arg is null and recv is not */
946 var8
= ((short int(*)(val
* self
, val
* p0
))((((long)var_k
&3)?class_info
[((long)var_k
&3)]:var_k
->class)->vft
[COLOR_core__kernel__Object___33d_61d
]))(var_k
, ((val
*)NULL
)); /* != on <var_k:nullable Object>*/
951 var9
= ((long(*)(val
* self
))((((long)var_k
&3)?class_info
[((long)var_k
&3)]:var_k
->class)->vft
[COLOR_core__kernel__Object__hash
]))(var_k
); /* hash on <var_k:nullable Object(Object)>*/
954 { /* Inline kernel#Int#* (var9,7l) on <var9:Int> */
955 /* Covariant cast for argument 0 (i) <7l:Int> isa OTHER */
956 /* <7l:Int> isa OTHER */
957 var12
= 1; /* easy <7l:Int> isa OTHER*/
958 if (unlikely(!var12
)) {
959 var_class_name
= type_core__Int
.name
;
960 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
961 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 735);
971 { /* Inline kernel#Int#+ (var_res,var10) on <var_res:Int> */
972 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
973 /* <var10:Int> isa OTHER */
974 var16
= 1; /* easy <var10:Int> isa OTHER*/
975 if (unlikely(!var16
)) {
976 var_class_name19
= type_core__Int
.name
;
977 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
978 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
981 var20
= var_res
+ var10
;
991 var21
= 0; /* is null */
993 var21
= 1; /* arg is null and recv is not */
996 var22
= ((short int(*)(val
* self
, val
* p0
))((((long)var_v
&3)?class_info
[((long)var_v
&3)]:var_v
->class)->vft
[COLOR_core__kernel__Object___33d_61d
]))(var_v
, ((val
*)NULL
)); /* != on <var_v:nullable Object>*/
1001 var23
= ((long(*)(val
* self
))((((long)var_v
&3)?class_info
[((long)var_v
&3)]:var_v
->class)->vft
[COLOR_core__kernel__Object__hash
]))(var_v
); /* hash on <var_v:nullable Object(Object)>*/
1004 { /* Inline kernel#Int#* (var23,11l) on <var23:Int> */
1005 /* Covariant cast for argument 0 (i) <11l:Int> isa OTHER */
1006 /* <11l:Int> isa OTHER */
1007 var26
= 1; /* easy <11l:Int> isa OTHER*/
1008 if (unlikely(!var26
)) {
1009 var_class_name29
= type_core__Int
.name
;
1010 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29
);
1011 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 735);
1014 var30
= var23
* 11l;
1017 RET_LABEL25
:(void)0;
1021 { /* Inline kernel#Int#+ (var_res,var24) on <var_res:Int> */
1022 /* Covariant cast for argument 0 (i) <var24:Int> isa OTHER */
1023 /* <var24:Int> isa OTHER */
1024 var33
= 1; /* easy <var24:Int> isa OTHER*/
1025 if (unlikely(!var33
)) {
1026 var_class_name36
= type_core__Int
.name
;
1027 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36
);
1028 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1031 var37
= var_res
+ var24
;
1034 RET_LABEL32
:(void)0;
1041 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_3
); /* next on <var_3:MapIterator[nullable Object, nullable Object]>*/
1044 BREAK_label
: (void)0;
1046 { /* Inline abstract_collection#MapIterator#finish (var_3) on <var_3:MapIterator[nullable Object, nullable Object]> */
1047 RET_LABEL38
:(void)0;
1055 /* method abstract_collection#MapIterator#finish for (self: MapIterator[nullable Object, nullable Object]) */
1056 void core___core__MapIterator___finish(val
* self
) {
1059 /* method abstract_collection#MapKeysIterator#original_iterator for (self: MapKeysIterator[nullable Object, nullable Object]): MapIterator[nullable Object, nullable Object] */
1060 val
* core___core__MapKeysIterator___original_iterator(val
* self
) {
1061 val
* var
/* : MapIterator[nullable Object, nullable Object] */;
1062 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1063 var1
= self
->attrs
[COLOR_core__abstract_collection__MapKeysIterator___original_iterator
].val
; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
1064 if (unlikely(var1
== NULL
)) {
1065 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1066 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 763);
1073 /* method abstract_collection#MapKeysIterator#original_iterator= for (self: MapKeysIterator[nullable Object, nullable Object], MapIterator[nullable Object, nullable Object]) */
1074 void core___core__MapKeysIterator___original_iterator_61d(val
* self
, val
* p0
) {
1075 short int var
/* : Bool */;
1078 const struct type
* type_struct
;
1079 const char* var_class_name
;
1080 /* Covariant cast for argument 0 (original_iterator) <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
1081 /* <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
1082 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__MapIterator__core__MapKeysIterator___35dK__core__MapKeysIterator___35dV
];
1083 cltype
= type_struct
->color
;
1084 idtype
= type_struct
->id
;
1085 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1088 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1090 if (unlikely(!var
)) {
1091 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1092 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[K, V]", var_class_name
);
1093 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 763);
1096 self
->attrs
[COLOR_core__abstract_collection__MapKeysIterator___original_iterator
].val
= p0
; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
1099 /* method abstract_collection#MapKeysIterator#is_ok for (self: MapKeysIterator[nullable Object, nullable Object]): Bool */
1100 short int core___core__MapKeysIterator___Iterator__is_ok(val
* self
) {
1101 short int var
/* : Bool */;
1102 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1103 val
* var3
/* : MapIterator[nullable Object, nullable Object] */;
1104 short int var4
/* : Bool */;
1106 { /* Inline abstract_collection#MapKeysIterator#original_iterator (self) on <self:MapKeysIterator[nullable Object, nullable Object]> */
1107 var3
= self
->attrs
[COLOR_core__abstract_collection__MapKeysIterator___original_iterator
].val
; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
1108 if (unlikely(var3
== NULL
)) {
1109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1110 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 763);
1118 var4
= ((short int(*)(val
* self
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var1
); /* is_ok on <var1:MapIterator[nullable Object, nullable Object]>*/
1125 /* method abstract_collection#MapKeysIterator#next for (self: MapKeysIterator[nullable Object, nullable Object]) */
1126 void core___core__MapKeysIterator___Iterator__next(val
* self
) {
1127 val
* var
/* : MapIterator[nullable Object, nullable Object] */;
1128 val
* var2
/* : MapIterator[nullable Object, nullable Object] */;
1130 { /* Inline abstract_collection#MapKeysIterator#original_iterator (self) on <self:MapKeysIterator[nullable Object, nullable Object]> */
1131 var2
= self
->attrs
[COLOR_core__abstract_collection__MapKeysIterator___original_iterator
].val
; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
1132 if (unlikely(var2
== NULL
)) {
1133 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1134 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 763);
1142 ((void(*)(val
* self
))((((long)var
&3)?class_info
[((long)var
&3)]:var
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var
); /* next on <var:MapIterator[nullable Object, nullable Object]>*/
1146 /* method abstract_collection#MapKeysIterator#item for (self: MapKeysIterator[nullable Object, nullable Object]): nullable Object */
1147 val
* core___core__MapKeysIterator___Iterator__item(val
* self
) {
1148 val
* var
/* : nullable Object */;
1149 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1150 val
* var3
/* : MapIterator[nullable Object, nullable Object] */;
1151 val
* var4
/* : nullable Object */;
1153 { /* Inline abstract_collection#MapKeysIterator#original_iterator (self) on <self:MapKeysIterator[nullable Object, nullable Object]> */
1154 var3
= self
->attrs
[COLOR_core__abstract_collection__MapKeysIterator___original_iterator
].val
; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
1155 if (unlikely(var3
== NULL
)) {
1156 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1157 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 763);
1165 var4
= ((val
*(*)(val
* self
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var1
); /* key on <var1:MapIterator[nullable Object, nullable Object]>*/
1172 /* method abstract_collection#MapKeysIterator#init for (self: MapKeysIterator[nullable Object, nullable Object]) */
1173 void core___core__MapKeysIterator___core__kernel__Object__init(val
* self
) {
1175 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__MapKeysIterator___core__kernel__Object__init
]))(self
); /* init on <self:MapKeysIterator[nullable Object, nullable Object]>*/
1179 /* method abstract_collection#MapValuesIterator#original_iterator for (self: MapValuesIterator[nullable Object, nullable Object]): MapIterator[nullable Object, nullable Object] */
1180 val
* core___core__MapValuesIterator___original_iterator(val
* self
) {
1181 val
* var
/* : MapIterator[nullable Object, nullable Object] */;
1182 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1183 var1
= self
->attrs
[COLOR_core__abstract_collection__MapValuesIterator___original_iterator
].val
; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
1184 if (unlikely(var1
== NULL
)) {
1185 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1186 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 774);
1193 /* method abstract_collection#MapValuesIterator#original_iterator= for (self: MapValuesIterator[nullable Object, nullable Object], MapIterator[nullable Object, nullable Object]) */
1194 void core___core__MapValuesIterator___original_iterator_61d(val
* self
, val
* p0
) {
1195 short int var
/* : Bool */;
1198 const struct type
* type_struct
;
1199 const char* var_class_name
;
1200 /* Covariant cast for argument 0 (original_iterator) <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
1201 /* <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
1202 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__MapIterator__core__MapValuesIterator___35dK__core__MapValuesIterator___35dV
];
1203 cltype
= type_struct
->color
;
1204 idtype
= type_struct
->id
;
1205 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1208 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1210 if (unlikely(!var
)) {
1211 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1212 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[K, V]", var_class_name
);
1213 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 774);
1216 self
->attrs
[COLOR_core__abstract_collection__MapValuesIterator___original_iterator
].val
= p0
; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
1219 /* method abstract_collection#MapValuesIterator#is_ok for (self: MapValuesIterator[nullable Object, nullable Object]): Bool */
1220 short int core___core__MapValuesIterator___Iterator__is_ok(val
* self
) {
1221 short int var
/* : Bool */;
1222 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1223 val
* var3
/* : MapIterator[nullable Object, nullable Object] */;
1224 short int var4
/* : Bool */;
1226 { /* Inline abstract_collection#MapValuesIterator#original_iterator (self) on <self:MapValuesIterator[nullable Object, nullable Object]> */
1227 var3
= self
->attrs
[COLOR_core__abstract_collection__MapValuesIterator___original_iterator
].val
; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
1228 if (unlikely(var3
== NULL
)) {
1229 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1230 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 774);
1238 var4
= ((short int(*)(val
* self
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var1
); /* is_ok on <var1:MapIterator[nullable Object, nullable Object]>*/
1245 /* method abstract_collection#MapValuesIterator#next for (self: MapValuesIterator[nullable Object, nullable Object]) */
1246 void core___core__MapValuesIterator___Iterator__next(val
* self
) {
1247 val
* var
/* : MapIterator[nullable Object, nullable Object] */;
1248 val
* var2
/* : MapIterator[nullable Object, nullable Object] */;
1250 { /* Inline abstract_collection#MapValuesIterator#original_iterator (self) on <self:MapValuesIterator[nullable Object, nullable Object]> */
1251 var2
= self
->attrs
[COLOR_core__abstract_collection__MapValuesIterator___original_iterator
].val
; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
1252 if (unlikely(var2
== NULL
)) {
1253 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1254 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 774);
1262 ((void(*)(val
* self
))((((long)var
&3)?class_info
[((long)var
&3)]:var
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var
); /* next on <var:MapIterator[nullable Object, nullable Object]>*/
1266 /* method abstract_collection#MapValuesIterator#item for (self: MapValuesIterator[nullable Object, nullable Object]): nullable Object */
1267 val
* core___core__MapValuesIterator___Iterator__item(val
* self
) {
1268 val
* var
/* : nullable Object */;
1269 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1270 val
* var3
/* : MapIterator[nullable Object, nullable Object] */;
1271 val
* var4
/* : nullable Object */;
1273 { /* Inline abstract_collection#MapValuesIterator#original_iterator (self) on <self:MapValuesIterator[nullable Object, nullable Object]> */
1274 var3
= self
->attrs
[COLOR_core__abstract_collection__MapValuesIterator___original_iterator
].val
; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
1275 if (unlikely(var3
== NULL
)) {
1276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1277 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 774);
1285 var4
= ((val
*(*)(val
* self
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var1
); /* item on <var1:MapIterator[nullable Object, nullable Object]>*/
1292 /* method abstract_collection#MapValuesIterator#init for (self: MapValuesIterator[nullable Object, nullable Object]) */
1293 void core___core__MapValuesIterator___core__kernel__Object__init(val
* self
) {
1295 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__MapValuesIterator___core__kernel__Object__init
]))(self
); /* init on <self:MapValuesIterator[nullable Object, nullable Object]>*/
1299 /* method abstract_collection#SequenceRead#first for (self: SequenceRead[nullable Object]): nullable Object */
1300 val
* core___core__SequenceRead___Collection__first(val
* self
) {
1301 val
* var
/* : nullable Object */;
1302 short int var1
/* : Bool */;
1303 short int var2
/* : Bool */;
1304 val
* var3
/* : nullable Object */;
1306 var1
= ((short int(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__is_empty
]))(self
); /* is_empty on <self:SequenceRead[nullable Object]>*/
1309 if (unlikely(!var2
)) {
1310 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
1311 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 799);
1315 var3
= ((val
*(*)(val
* self
, long p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(self
, 0l); /* [] on <self:SequenceRead[nullable Object]>*/
1322 /* method abstract_collection#SequenceRead#last for (self: SequenceRead[nullable Object]): nullable Object */
1323 val
* core___core__SequenceRead___last(val
* self
) {
1324 val
* var
/* : nullable Object */;
1325 short int var1
/* : Bool */;
1326 short int var2
/* : Bool */;
1327 long var3
/* : Int */;
1328 long var4
/* : Int */;
1329 short int var6
/* : Bool */;
1332 const char* var_class_name
;
1333 long var7
/* : Int */;
1334 val
* var8
/* : nullable Object */;
1336 var1
= ((short int(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__is_empty
]))(self
); /* is_empty on <self:SequenceRead[nullable Object]>*/
1339 if (unlikely(!var2
)) {
1340 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
1341 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 862);
1345 var3
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(self
); /* length on <self:SequenceRead[nullable Object]>*/
1348 { /* Inline kernel#Int#- (var3,1l) on <var3:Int> */
1349 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1350 /* <1l:Int> isa OTHER */
1351 var6
= 1; /* easy <1l:Int> isa OTHER*/
1352 if (unlikely(!var6
)) {
1353 var_class_name
= type_core__Int
.name
;
1354 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1355 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1365 var8
= ((val
*(*)(val
* self
, long p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(self
, var4
); /* [] on <self:SequenceRead[nullable Object]>*/
1372 /* method abstract_collection#SequenceRead#index_of for (self: SequenceRead[nullable Object], nullable Object): Int */
1373 long core___core__SequenceRead___index_of(val
* self
, val
* p0
) {
1374 long var
/* : Int */;
1375 val
* var_item
/* var item: nullable Object */;
1376 long var1
/* : Int */;
1379 var1
= ((long(*)(val
* self
, val
* p0
, long p1
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__SequenceRead__index_of_from
]))(self
, var_item
, 0l); /* index_of_from on <self:SequenceRead[nullable Object]>*/
1386 /* method abstract_collection#SequenceRead#last_index_of for (self: SequenceRead[nullable Object], nullable Object): Int */
1387 long core___core__SequenceRead___last_index_of(val
* self
, val
* p0
) {
1388 long var
/* : Int */;
1389 val
* var_item
/* var item: nullable Object */;
1390 long var1
/* : Int */;
1391 long var2
/* : Int */;
1392 short int var4
/* : Bool */;
1395 const char* var_class_name
;
1396 long var5
/* : Int */;
1397 long var6
/* : Int */;
1400 var1
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(self
); /* length on <self:SequenceRead[nullable Object]>*/
1403 { /* Inline kernel#Int#- (var1,1l) on <var1:Int> */
1404 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1405 /* <1l:Int> isa OTHER */
1406 var4
= 1; /* easy <1l:Int> isa OTHER*/
1407 if (unlikely(!var4
)) {
1408 var_class_name
= type_core__Int
.name
;
1409 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1410 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1420 var6
= ((long(*)(val
* self
, val
* p0
, long p1
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__SequenceRead__last_index_of_from
]))(self
, var_item
, var2
); /* last_index_of_from on <self:SequenceRead[nullable Object]>*/
1427 /* method abstract_collection#SequenceRead#index_of_from for (self: SequenceRead[nullable Object], nullable Object, Int): Int */
1428 long core___core__SequenceRead___index_of_from(val
* self
, val
* p0
, long p1
) {
1429 long var
/* : Int */;
1430 val
* var_item
/* var item: nullable Object */;
1431 long var_pos
/* var pos: Int */;
1432 long var_p
/* var p: Int */;
1433 val
* var1
/* : Iterator[nullable Object] */;
1434 val
* var_i
/* var i: IndexedIterator[nullable Object] */;
1435 short int var2
/* : Bool */;
1436 short int var3
/* : Bool */;
1437 short int var4
/* : Bool */;
1438 short int var6
/* : Bool */;
1441 const char* var_class_name
;
1442 short int var7
/* : Bool */;
1443 short int var_
/* var : Bool */;
1444 val
* var8
/* : nullable Object */;
1445 short int var9
/* : Bool */;
1446 short int var10
/* : Bool */;
1447 long var11
/* : Int */;
1448 long var12
/* : Int */;
1449 short int var14
/* : Bool */;
1452 const char* var_class_name17
;
1453 long var18
/* : Int */;
1454 long var19
/* : Int */;
1455 long var21
/* : Int */;
1460 var1
= ((val
*(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(self
); /* iterator on <self:SequenceRead[nullable Object]>*/
1465 var2
= ((short int(*)(val
* self
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_i
); /* is_ok on <var_i:IndexedIterator[nullable Object]>*/
1469 { /* Inline kernel#Int#>= (var_p,var_pos) on <var_p:Int> */
1470 /* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
1471 /* <var_pos:Int> isa OTHER */
1472 var6
= 1; /* easy <var_pos:Int> isa OTHER*/
1473 if (unlikely(!var6
)) {
1474 var_class_name
= type_core__Int
.name
;
1475 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1476 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
1479 var7
= var_p
>= var_pos
;
1488 var8
= ((val
*(*)(val
* self
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_i
); /* item on <var_i:IndexedIterator[nullable Object]>*/
1491 var9
= (var_item
== NULL
);
1493 var10
= ((short int(*)(val
* self
, val
* p0
))((((long)var8
&3)?class_info
[((long)var8
&3)]:var8
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var8
, var_item
); /* == on <var8:nullable Object>*/
1502 var11
= ((long(*)(val
* self
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__abstract_collection__IndexedIterator__index
]))(var_i
); /* index on <var_i:IndexedIterator[nullable Object]>*/
1509 ((void(*)(val
* self
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_i
); /* next on <var_i:IndexedIterator[nullable Object]>*/
1512 { /* Inline kernel#Int#+ (var_p,1l) on <var_p:Int> */
1513 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1514 /* <1l:Int> isa OTHER */
1515 var14
= 1; /* easy <1l:Int> isa OTHER*/
1516 if (unlikely(!var14
)) {
1517 var_class_name17
= type_core__Int
.name
;
1518 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
1519 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1525 RET_LABEL13
:(void)0;
1533 BREAK_label
: (void)0;
1535 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
1539 RET_LABEL20
:(void)0;
1547 /* method abstract_collection#SequenceRead#last_index_of_from for (self: SequenceRead[nullable Object], nullable Object, Int): Int */
1548 long core___core__SequenceRead___last_index_of_from(val
* self
, val
* p0
, long p1
) {
1549 long var
/* : Int */;
1550 val
* var_item
/* var item: nullable Object */;
1551 long var_pos
/* var pos: Int */;
1552 long var_i
/* var i: Int */;
1553 short int var1
/* : Bool */;
1554 short int var3
/* : Bool */;
1557 const char* var_class_name
;
1558 short int var4
/* : Bool */;
1559 val
* var5
/* : nullable Object */;
1560 short int var6
/* : Bool */;
1561 short int var7
/* : Bool */;
1562 long var8
/* : Int */;
1563 short int var10
/* : Bool */;
1566 const char* var_class_name13
;
1567 long var14
/* : Int */;
1568 long var15
/* : Int */;
1569 long var17
/* : Int */;
1575 { /* Inline kernel#Int#>= (var_i,0l) on <var_i:Int> */
1576 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1577 /* <0l:Int> isa OTHER */
1578 var3
= 1; /* easy <0l:Int> isa OTHER*/
1579 if (unlikely(!var3
)) {
1580 var_class_name
= type_core__Int
.name
;
1581 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1582 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
1593 var5
= ((val
*(*)(val
* self
, long p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
); /* [] on <self:SequenceRead[nullable Object]>*/
1596 var6
= (var_item
== NULL
);
1598 var7
= ((short int(*)(val
* self
, val
* p0
))((((long)var5
&3)?class_info
[((long)var5
&3)]:var5
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var5
, var_item
); /* == on <var5:nullable Object>*/
1607 { /* Inline kernel#Int#- (var_i,1l) on <var_i:Int> */
1608 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1609 /* <1l:Int> isa OTHER */
1610 var10
= 1; /* easy <1l:Int> isa OTHER*/
1611 if (unlikely(!var10
)) {
1612 var_class_name13
= type_core__Int
.name
;
1613 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
1614 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1628 BREAK_label
: (void)0;
1630 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
1634 RET_LABEL16
:(void)0;
1642 /* method abstract_collection#SequenceRead#== for (self: SequenceRead[nullable Object], nullable Object): Bool */
1643 short int core___core__SequenceRead___core__kernel__Object___61d_61d(val
* self
, val
* p0
) {
1644 short int var
/* : Bool */;
1645 val
* var_o
/* var o: nullable Object */;
1646 short int var1
/* : Bool */;
1649 short int var2
/* : Bool */;
1650 long var3
/* : Int */;
1651 long var_l
/* var l: Int */;
1652 long var4
/* : Int */;
1653 short int var5
/* : Bool */;
1654 short int var7
/* : Bool */;
1655 short int var8
/* : Bool */;
1656 long var_i
/* var i: Int */;
1657 short int var9
/* : Bool */;
1658 short int var11
/* : Bool */;
1661 const char* var_class_name
;
1662 short int var14
/* : Bool */;
1663 val
* var15
/* : nullable Object */;
1664 val
* var16
/* : nullable Object */;
1665 short int var17
/* : Bool */;
1666 short int var18
/* : Bool */;
1667 long var19
/* : Int */;
1668 short int var21
/* : Bool */;
1671 const char* var_class_name24
;
1672 long var25
/* : Int */;
1674 /* <var_o:nullable Object> isa SequenceRead[nullable Object] */
1675 cltype
= type_core__SequenceRead__nullable__core__Object
.color
;
1676 idtype
= type_core__SequenceRead__nullable__core__Object
.id
;
1680 if(cltype
>= (((long)var_o
&3)?type_info
[((long)var_o
&3)]:var_o
->type
)->table_size
) {
1683 var1
= (((long)var_o
&3)?type_info
[((long)var_o
&3)]:var_o
->type
)->type_table
[cltype
] == idtype
;
1693 var3
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(self
); /* length on <self:SequenceRead[nullable Object]>*/
1697 var4
= ((long(*)(val
* self
))((((long)var_o
&3)?class_info
[((long)var_o
&3)]:var_o
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(var_o
); /* length on <var_o:nullable Object(SequenceRead[nullable Object])>*/
1700 { /* Inline kernel#Int#!= (var4,var_l) on <var4:Int> */
1701 var7
= var4
== var_l
;
1716 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
1717 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1718 /* <var_l:Int> isa OTHER */
1719 var11
= 1; /* easy <var_l:Int> isa OTHER*/
1720 if (unlikely(!var11
)) {
1721 var_class_name
= type_core__Int
.name
;
1722 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1723 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
1726 var14
= var_i
< var_l
;
1729 RET_LABEL10
:(void)0;
1734 var15
= ((val
*(*)(val
* self
, long p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
); /* [] on <self:SequenceRead[nullable Object]>*/
1737 var16
= ((val
*(*)(val
* self
, long p0
))((((long)var_o
&3)?class_info
[((long)var_o
&3)]:var_o
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var_o
, var_i
); /* [] on <var_o:nullable Object(SequenceRead[nullable Object])>*/
1739 if (var15
== NULL
) {
1740 var17
= (var16
!= NULL
);
1742 var18
= ((short int(*)(val
* self
, val
* p0
))((((long)var15
&3)?class_info
[((long)var15
&3)]:var15
->class)->vft
[COLOR_core__kernel__Object___33d_61d
]))(var15
, var16
); /* != on <var15:nullable Object>*/
1751 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
1752 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1753 /* <1l:Int> isa OTHER */
1754 var21
= 1; /* easy <1l:Int> isa OTHER*/
1755 if (unlikely(!var21
)) {
1756 var_class_name24
= type_core__Int
.name
;
1757 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
1758 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1764 RET_LABEL20
:(void)0;
1772 BREAK_label
: (void)0;
1778 /* method abstract_collection#SequenceRead#hash for (self: SequenceRead[nullable Object]): Int */
1779 long core___core__SequenceRead___core__kernel__Object__hash(val
* self
) {
1780 long var
/* : Int */;
1781 long var1
/* : Int */;
1782 long var2
/* : Int */;
1783 short int var4
/* : Bool */;
1786 const char* var_class_name
;
1787 long var5
/* : Int */;
1788 long var_res
/* var res: Int */;
1789 val
* var_
/* var : SequenceRead[nullable Object] */;
1790 val
* var6
/* : Iterator[nullable Object] */;
1791 val
* var_7
/* var : IndexedIterator[nullable Object] */;
1792 short int var8
/* : Bool */;
1793 val
* var9
/* : nullable Object */;
1794 val
* var_e
/* var e: nullable Object */;
1795 long var10
/* : Int */;
1796 short int var12
/* : Bool */;
1799 const char* var_class_name15
;
1800 long var16
/* : Int */;
1801 long var17
/* : Int */;
1802 short int var19
/* : Bool */;
1805 const char* var_class_name22
;
1806 long var23
/* : Int */;
1807 short int var24
/* : Bool */;
1808 short int var25
/* : Bool */;
1809 long var26
/* : Int */;
1810 long var27
/* : Int */;
1811 short int var29
/* : Bool */;
1814 const char* var_class_name32
;
1815 long var33
/* : Int */;
1817 var1
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(self
); /* length on <self:SequenceRead[nullable Object]>*/
1820 { /* Inline kernel#Int#+ (17l,var1) on <17l:Int> */
1821 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
1822 /* <var1:Int> isa OTHER */
1823 var4
= 1; /* easy <var1:Int> isa OTHER*/
1824 if (unlikely(!var4
)) {
1825 var_class_name
= type_core__Int
.name
;
1826 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1827 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1839 var6
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:SequenceRead[nullable Object]>*/
1844 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:IndexedIterator[nullable Object]>*/
1851 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:IndexedIterator[nullable Object]>*/
1855 { /* Inline kernel#Int#* (var_res,3l) on <var_res:Int> */
1856 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
1857 /* <3l:Int> isa OTHER */
1858 var12
= 1; /* easy <3l:Int> isa OTHER*/
1859 if (unlikely(!var12
)) {
1860 var_class_name15
= type_core__Int
.name
;
1861 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
1862 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 735);
1865 var16
= var_res
* 3l;
1868 RET_LABEL11
:(void)0;
1872 { /* Inline kernel#Int#/ (var10,2l) on <var10:Int> */
1873 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1874 /* <2l:Int> isa OTHER */
1875 var19
= 1; /* easy <2l:Int> isa OTHER*/
1876 if (unlikely(!var19
)) {
1877 var_class_name22
= type_core__Int
.name
;
1878 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
1879 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 736);
1885 RET_LABEL18
:(void)0;
1889 if (var_e
== NULL
) {
1890 var24
= 0; /* is null */
1892 var24
= 1; /* arg is null and recv is not */
1895 var25
= ((short int(*)(val
* self
, val
* p0
))((((long)var_e
&3)?class_info
[((long)var_e
&3)]:var_e
->class)->vft
[COLOR_core__kernel__Object___33d_61d
]))(var_e
, ((val
*)NULL
)); /* != on <var_e:nullable Object>*/
1900 var26
= ((long(*)(val
* self
))((((long)var_e
&3)?class_info
[((long)var_e
&3)]:var_e
->class)->vft
[COLOR_core__kernel__Object__hash
]))(var_e
); /* hash on <var_e:nullable Object(Object)>*/
1903 { /* Inline kernel#Int#+ (var_res,var26) on <var_res:Int> */
1904 /* Covariant cast for argument 0 (i) <var26:Int> isa OTHER */
1905 /* <var26:Int> isa OTHER */
1906 var29
= 1; /* easy <var26:Int> isa OTHER*/
1907 if (unlikely(!var29
)) {
1908 var_class_name32
= type_core__Int
.name
;
1909 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
1910 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1913 var33
= var_res
+ var26
;
1916 RET_LABEL28
:(void)0;
1923 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:IndexedIterator[nullable Object]>*/
1926 BREAK_label
: (void)0;
1928 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:IndexedIterator[nullable Object]>*/
1935 /* method abstract_collection#SequenceRead#iterator_from for (self: SequenceRead[nullable Object], Int): IndexedIterator[nullable Object] */
1936 val
* core___core__SequenceRead___iterator_from(val
* self
, long p0
) {
1937 val
* var
/* : IndexedIterator[nullable Object] */;
1938 long var_pos
/* var pos: Int */;
1939 val
* var1
/* : Iterator[nullable Object] */;
1940 val
* var_res
/* var res: IndexedIterator[nullable Object] */;
1941 short int var2
/* : Bool */;
1942 short int var3
/* : Bool */;
1943 short int var5
/* : Bool */;
1946 const char* var_class_name
;
1947 short int var6
/* : Bool */;
1948 short int var_
/* var : Bool */;
1949 short int var7
/* : Bool */;
1950 long var8
/* : Int */;
1951 short int var10
/* : Bool */;
1954 const char* var_class_name13
;
1955 long var14
/* : Int */;
1958 var1
= ((val
*(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(self
); /* iterator on <self:SequenceRead[nullable Object]>*/
1963 { /* Inline kernel#Int#> (var_pos,0l) on <var_pos:Int> */
1964 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1965 /* <0l:Int> isa OTHER */
1966 var5
= 1; /* easy <0l:Int> isa OTHER*/
1967 if (unlikely(!var5
)) {
1968 var_class_name
= type_core__Int
.name
;
1969 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1970 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
1973 var6
= var_pos
> 0l;
1982 var7
= ((short int(*)(val
* self
))((((long)var_res
&3)?class_info
[((long)var_res
&3)]:var_res
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_res
); /* is_ok on <var_res:IndexedIterator[nullable Object]>*/
1990 ((void(*)(val
* self
))((((long)var_res
&3)?class_info
[((long)var_res
&3)]:var_res
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_res
); /* next on <var_res:IndexedIterator[nullable Object]>*/
1993 { /* Inline kernel#Int#- (var_pos,1l) on <var_pos:Int> */
1994 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1995 /* <1l:Int> isa OTHER */
1996 var10
= 1; /* easy <1l:Int> isa OTHER*/
1997 if (unlikely(!var10
)) {
1998 var_class_name13
= type_core__Int
.name
;
1999 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
2000 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2003 var14
= var_pos
- 1l;
2014 BREAK_label
: (void)0;
2020 /* method abstract_collection#SequenceRead#reverse_iterator for (self: SequenceRead[nullable Object]): IndexedIterator[nullable Object] */
2021 val
* core___core__SequenceRead___reverse_iterator(val
* self
) {
2022 val
* var
/* : IndexedIterator[nullable Object] */;
2023 const char* var_class_name
;
2024 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2025 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "reverse_iterator", var_class_name
);
2026 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 972);
2031 /* method abstract_collection#SequenceRead#reverse_iterator_from for (self: SequenceRead[nullable Object], Int): IndexedIterator[nullable Object] */
2032 val
* core___core__SequenceRead___reverse_iterator_from(val
* self
, long p0
) {
2033 val
* var
/* : IndexedIterator[nullable Object] */;
2034 long var_pos
/* var pos: Int */;
2035 val
* var1
/* : IndexedIterator[nullable Object] */;
2036 val
* var_res
/* var res: IndexedIterator[nullable Object] */;
2037 short int var2
/* : Bool */;
2038 short int var3
/* : Bool */;
2039 short int var5
/* : Bool */;
2042 const char* var_class_name
;
2043 short int var6
/* : Bool */;
2044 short int var_
/* var : Bool */;
2045 short int var7
/* : Bool */;
2046 long var8
/* : Int */;
2047 short int var10
/* : Bool */;
2050 const char* var_class_name13
;
2051 long var14
/* : Int */;
2054 var1
= ((val
*(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__SequenceRead__reverse_iterator
]))(self
); /* reverse_iterator on <self:SequenceRead[nullable Object]>*/
2059 { /* Inline kernel#Int#> (var_pos,0l) on <var_pos:Int> */
2060 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2061 /* <0l:Int> isa OTHER */
2062 var5
= 1; /* easy <0l:Int> isa OTHER*/
2063 if (unlikely(!var5
)) {
2064 var_class_name
= type_core__Int
.name
;
2065 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2066 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
2069 var6
= var_pos
> 0l;
2078 var7
= ((short int(*)(val
* self
))((((long)var_res
&3)?class_info
[((long)var_res
&3)]:var_res
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_res
); /* is_ok on <var_res:IndexedIterator[nullable Object]>*/
2086 ((void(*)(val
* self
))((((long)var_res
&3)?class_info
[((long)var_res
&3)]:var_res
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_res
); /* next on <var_res:IndexedIterator[nullable Object]>*/
2089 { /* Inline kernel#Int#- (var_pos,1l) on <var_pos:Int> */
2090 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2091 /* <1l:Int> isa OTHER */
2092 var10
= 1; /* easy <1l:Int> isa OTHER*/
2093 if (unlikely(!var10
)) {
2094 var_class_name13
= type_core__Int
.name
;
2095 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
2096 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2099 var14
= var_pos
- 1l;
2110 BREAK_label
: (void)0;
2116 /* method abstract_collection#Sequence#first= for (self: Sequence[nullable Object], nullable Object) */
2117 void core___core__Sequence___first_61d(val
* self
, val
* p0
) {
2118 short int var
/* : Bool */;
2121 const struct type
* type_struct
;
2122 short int is_nullable
;
2123 const char* var_class_name
;
2124 val
* var_item
/* var item: nullable Object */;
2125 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
2126 /* <p0:nullable Object> isa E */
2127 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Sequence___35dE
];
2128 cltype
= type_struct
->color
;
2129 idtype
= type_struct
->id
;
2130 is_nullable
= type_struct
->is_nullable
;
2134 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2137 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2140 if (unlikely(!var
)) {
2141 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2142 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
2143 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 999);
2148 ((void(*)(val
* self
, long p0
, val
* p1
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Sequence___91d_93d_61d
]))(self
, 0l, var_item
); /* []= on <self:Sequence[nullable Object]>*/
2152 /* method abstract_collection#Sequence#add for (self: Sequence[nullable Object], nullable Object) */
2153 void core___core__Sequence___SimpleCollection__add(val
* self
, val
* p0
) {
2154 short int var
/* : Bool */;
2157 const struct type
* type_struct
;
2158 short int is_nullable
;
2159 const char* var_class_name
;
2160 val
* var_e
/* var e: nullable Object */;
2161 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
2162 /* <p0:nullable Object> isa E */
2163 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Sequence___35dE
];
2164 cltype
= type_struct
->color
;
2165 idtype
= type_struct
->id
;
2166 is_nullable
= type_struct
->is_nullable
;
2170 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2173 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2176 if (unlikely(!var
)) {
2177 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2178 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
2179 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1030);
2184 ((void(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Sequence__push
]))(self
, var_e
); /* push on <self:Sequence[nullable Object]>*/
2188 /* method abstract_collection#Sequence#append for (self: Sequence[nullable Object], Collection[nullable Object]) */
2189 void core___core__Sequence___append(val
* self
, val
* p0
) {
2190 short int var
/* : Bool */;
2193 const struct type
* type_struct
;
2194 const char* var_class_name
;
2195 val
* var_coll
/* var coll: Collection[nullable Object] */;
2196 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
2197 /* <p0:Collection[nullable Object]> isa Collection[E] */
2198 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Collection__core__Sequence___35dE
];
2199 cltype
= type_struct
->color
;
2200 idtype
= type_struct
->id
;
2201 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2204 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2206 if (unlikely(!var
)) {
2207 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2208 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
2209 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1041);
2214 ((void(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add_all
]))(self
, var_coll
); /* add_all on <self:Sequence[nullable Object]>*/
2218 /* method abstract_collection#Sequence#pop for (self: Sequence[nullable Object]): nullable Object */
2219 val
* core___core__Sequence___pop(val
* self
) {
2220 val
* var
/* : nullable Object */;
2221 const char* var_class_name
;
2222 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2223 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "pop", var_class_name
);
2224 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1050);
2229 /* method abstract_collection#Sequence#unshift for (self: Sequence[nullable Object], nullable Object) */
2230 void core___core__Sequence___unshift(val
* self
, val
* p0
) {
2231 const char* var_class_name
;
2232 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2233 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "unshift", var_class_name
);
2234 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1060);
2238 /* method abstract_collection#Sequence#prepend for (self: Sequence[nullable Object], Collection[nullable Object]) */
2239 void core___core__Sequence___prepend(val
* self
, val
* p0
) {
2240 short int var
/* : Bool */;
2243 const struct type
* type_struct
;
2244 const char* var_class_name
;
2245 val
* var_coll
/* var coll: Collection[nullable Object] */;
2246 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
2247 /* <p0:Collection[nullable Object]> isa Collection[E] */
2248 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Collection__core__Sequence___35dE
];
2249 cltype
= type_struct
->color
;
2250 idtype
= type_struct
->id
;
2251 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2254 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2256 if (unlikely(!var
)) {
2257 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2258 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
2259 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1068);
2264 ((void(*)(val
* self
, val
* p0
, long p1
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Sequence__insert_all
]))(self
, var_coll
, 0l); /* insert_all on <self:Sequence[nullable Object]>*/
2268 /* method abstract_collection#Sequence#shift for (self: Sequence[nullable Object]): nullable Object */
2269 val
* core___core__Sequence___shift(val
* self
) {
2270 val
* var
/* : nullable Object */;
2271 const char* var_class_name
;
2272 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2273 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "shift", var_class_name
);
2274 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1077);
2279 /* method abstract_collection#Sequence#insert for (self: Sequence[nullable Object], nullable Object, Int) */
2280 void core___core__Sequence___insert(val
* self
, val
* p0
, long p1
) {
2281 const char* var_class_name
;
2282 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2283 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "insert", var_class_name
);
2284 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1121);
2288 /* method abstract_collection#Sequence#insert_all for (self: Sequence[nullable Object], Collection[nullable Object], Int) */
2289 void core___core__Sequence___insert_all(val
* self
, val
* p0
, long p1
) {
2290 short int var
/* : Bool */;
2293 const struct type
* type_struct
;
2294 const char* var_class_name
;
2295 val
* var_coll
/* var coll: Collection[nullable Object] */;
2296 long var_index
/* var index: Int */;
2297 short int var1
/* : Bool */;
2298 short int var2
/* : Bool */;
2299 short int var4
/* : Bool */;
2302 const char* var_class_name7
;
2303 short int var8
/* : Bool */;
2304 short int var_
/* var : Bool */;
2305 long var9
/* : Int */;
2306 short int var10
/* : Bool */;
2307 short int var12
/* : Bool */;
2310 const char* var_class_name15
;
2311 short int var16
/* : Bool */;
2312 long var17
/* : Int */;
2313 short int var18
/* : Bool */;
2314 short int var20
/* : Bool */;
2315 val
* var_21
/* var : Collection[nullable Object] */;
2316 val
* var22
/* : Iterator[nullable Object] */;
2317 val
* var_23
/* var : Iterator[nullable Object] */;
2318 short int var24
/* : Bool */;
2319 val
* var25
/* : nullable Object */;
2320 val
* var_c
/* var c: nullable Object */;
2321 long var26
/* : Int */;
2322 short int var28
/* : Bool */;
2325 const char* var_class_name31
;
2326 long var32
/* : Int */;
2327 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
2328 /* <p0:Collection[nullable Object]> isa Collection[E] */
2329 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Collection__core__Sequence___35dE
];
2330 cltype
= type_struct
->color
;
2331 idtype
= type_struct
->id
;
2332 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2335 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2337 if (unlikely(!var
)) {
2338 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2339 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
2340 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1131);
2346 { /* Inline kernel#Int#>= (var_index,0l) on <var_index:Int> */
2347 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2348 /* <0l:Int> isa OTHER */
2349 var4
= 1; /* easy <0l:Int> isa OTHER*/
2350 if (unlikely(!var4
)) {
2351 var_class_name7
= type_core__Int
.name
;
2352 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7
);
2353 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
2356 var8
= var_index
>= 0l;
2365 var9
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(self
); /* length on <self:Sequence[nullable Object]>*/
2368 { /* Inline kernel#Int#< (var_index,var9) on <var_index:Int> */
2369 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
2370 /* <var9:Int> isa OTHER */
2371 var12
= 1; /* easy <var9:Int> isa OTHER*/
2372 if (unlikely(!var12
)) {
2373 var_class_name15
= type_core__Int
.name
;
2374 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
2375 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
2378 var16
= var_index
< var9
;
2381 RET_LABEL11
:(void)0;
2388 if (unlikely(!var1
)) {
2389 PRINT_ERROR("Runtime error: %s", "Assert failed");
2390 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1141);
2394 var17
= ((long(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(self
); /* length on <self:Sequence[nullable Object]>*/
2397 { /* Inline kernel#Int#== (var_index,var17) on <var_index:Int> */
2398 var20
= var_index
== var17
;
2401 RET_LABEL19
:(void)0;
2406 ((void(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add_all
]))(self
, var_coll
); /* add_all on <self:Sequence[nullable Object]>*/
2412 var22
= ((val
*(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_21
); /* iterator on <var_21:Collection[nullable Object]>*/
2417 var24
= ((short int(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_23
); /* is_ok on <var_23:Iterator[nullable Object]>*/
2424 var25
= ((val
*(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_23
); /* item on <var_23:Iterator[nullable Object]>*/
2428 ((void(*)(val
* self
, val
* p0
, long p1
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Sequence__insert
]))(self
, var_c
, var_index
); /* insert on <self:Sequence[nullable Object]>*/
2431 { /* Inline kernel#Int#+ (var_index,1l) on <var_index:Int> */
2432 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2433 /* <1l:Int> isa OTHER */
2434 var28
= 1; /* easy <1l:Int> isa OTHER*/
2435 if (unlikely(!var28
)) {
2436 var_class_name31
= type_core__Int
.name
;
2437 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
2438 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2441 var32
= var_index
+ 1l;
2444 RET_LABEL27
:(void)0;
2449 ((void(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_23
); /* next on <var_23:Iterator[nullable Object]>*/
2452 BREAK_label
: (void)0;
2454 ((void(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_23
); /* finish on <var_23:Iterator[nullable Object]>*/
2458 /* method abstract_collection#Sequence#remove_at for (self: Sequence[nullable Object], Int) */
2459 void core___core__Sequence___remove_at(val
* self
, long p0
) {
2460 const char* var_class_name
;
2461 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2462 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "remove_at", var_class_name
);
2463 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1151);
2467 /* method abstract_collection#CoupleMap#iterator for (self: CoupleMap[nullable Object, nullable Object]): MapIterator[nullable Object, nullable Object] */
2468 val
* core___core__CoupleMap___MapRead__iterator(val
* self
) {
2469 val
* var
/* : MapIterator[nullable Object, nullable Object] */;
2470 val
* var1
/* : CoupleMapIterator[nullable Object, nullable Object] */;
2471 val
* var2
/* : Iterator[Couple[nullable Object, nullable Object]] */;
2472 var1
= NEW_core__abstract_collection__CoupleMapIterator((((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__abstract_collection__CoupleMapIterator__core__CoupleMap___35dK__core__CoupleMap___35dV
]);
2474 var2
= core___core__ArrayMap___core__abstract_collection__CoupleMap__couple_iterator(self
);
2477 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__abstract_collection__CoupleMapIterator__iter_61d
]))(var1
, var2
); /* iter= on <var1:CoupleMapIterator[nullable Object, nullable Object]>*/
2480 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:CoupleMapIterator[nullable Object, nullable Object]>*/
2487 /* method abstract_collection#CoupleMap#has_key for (self: CoupleMap[nullable Object, nullable Object], nullable Object): Bool */
2488 short int core___core__CoupleMap___MapRead__has_key(val
* self
, val
* p0
) {
2489 short int var
/* : Bool */;
2490 val
* var_key
/* var key: nullable Object */;
2491 val
* var1
/* : nullable Couple[nullable Object, nullable Object] */;
2492 short int var2
/* : Bool */;
2493 short int var3
/* : Bool */;
2494 val
* var_other
/* var other: nullable Object */;
2495 short int var5
/* : Bool */;
2496 short int var6
/* : Bool */;
2499 var1
= core___core__ArrayMap___core__abstract_collection__CoupleMap__couple_at(self
, var_key
);
2502 var2
= 0; /* is null */
2504 var2
= 1; /* arg is null and recv is not */
2507 { /* Inline kernel#Object#!= (var1,((val*)NULL)) on <var1:nullable Couple[nullable Object, nullable Object]> */
2508 var_other
= ((val
*)NULL
);
2510 var5
= ((short int(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var1
, var_other
); /* == on <var1:nullable Couple[nullable Object, nullable Object](Couple[nullable Object, nullable Object])>*/
2524 /* method abstract_collection#CoupleMapIterator#item for (self: CoupleMapIterator[nullable Object, nullable Object]): nullable Object */
2525 val
* core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__item(val
* self
) {
2526 val
* var
/* : nullable Object */;
2527 val
* var1
/* : Iterator[Couple[nullable Object, nullable Object]] */;
2528 val
* var2
/* : nullable Object */;
2529 val
* var3
/* : nullable Object */;
2530 val
* var5
/* : nullable Object */;
2531 var1
= self
->attrs
[COLOR_core__abstract_collection__CoupleMapIterator___iter
].val
; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
2532 if (unlikely(var1
== NULL
)) {
2533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
2534 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1201);
2538 var2
= ((val
*(*)(val
* self
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var1
); /* item on <var1:Iterator[Couple[nullable Object, nullable Object]]>*/
2541 { /* Inline abstract_collection#Couple#second (var2) on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
2542 var5
= var2
->attrs
[COLOR_core__abstract_collection__Couple___second
].val
; /* _second on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
2552 /* method abstract_collection#CoupleMapIterator#key for (self: CoupleMapIterator[nullable Object, nullable Object]): nullable Object */
2553 val
* core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__key(val
* self
) {
2554 val
* var
/* : nullable Object */;
2555 val
* var1
/* : Iterator[Couple[nullable Object, nullable Object]] */;
2556 val
* var2
/* : nullable Object */;
2557 val
* var3
/* : nullable Object */;
2558 val
* var5
/* : nullable Object */;
2559 var1
= self
->attrs
[COLOR_core__abstract_collection__CoupleMapIterator___iter
].val
; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
2560 if (unlikely(var1
== NULL
)) {
2561 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
2562 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1205);
2566 var2
= ((val
*(*)(val
* self
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var1
); /* item on <var1:Iterator[Couple[nullable Object, nullable Object]]>*/
2569 { /* Inline abstract_collection#Couple#first (var2) on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
2570 var5
= var2
->attrs
[COLOR_core__abstract_collection__Couple___first
].val
; /* _first on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
2580 /* method abstract_collection#CoupleMapIterator#is_ok for (self: CoupleMapIterator[nullable Object, nullable Object]): Bool */
2581 short int core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__is_ok(val
* self
) {
2582 short int var
/* : Bool */;
2583 val
* var1
/* : Iterator[Couple[nullable Object, nullable Object]] */;
2584 short int var2
/* : Bool */;
2585 var1
= self
->attrs
[COLOR_core__abstract_collection__CoupleMapIterator___iter
].val
; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
2586 if (unlikely(var1
== NULL
)) {
2587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
2588 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1207);
2592 var2
= ((short int(*)(val
* self
))((((long)var1
&3)?class_info
[((long)var1
&3)]:var1
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var1
); /* is_ok on <var1:Iterator[Couple[nullable Object, nullable Object]]>*/
2599 /* method abstract_collection#CoupleMapIterator#next for (self: CoupleMapIterator[nullable Object, nullable Object]) */
2600 void core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__next(val
* self
) {
2601 val
* var
/* : Iterator[Couple[nullable Object, nullable Object]] */;
2602 var
= self
->attrs
[COLOR_core__abstract_collection__CoupleMapIterator___iter
].val
; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
2603 if (unlikely(var
== NULL
)) {
2604 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
2605 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1211);
2609 ((void(*)(val
* self
))((((long)var
&3)?class_info
[((long)var
&3)]:var
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var
); /* next on <var:Iterator[Couple[nullable Object, nullable Object]]>*/
2613 /* method abstract_collection#CoupleMapIterator#iter= for (self: CoupleMapIterator[nullable Object, nullable Object], Iterator[Couple[nullable Object, nullable Object]]) */
2614 void core__abstract_collection___core__abstract_collection__CoupleMapIterator___iter_61d(val
* self
, val
* p0
) {
2615 short int var
/* : Bool */;
2618 const struct type
* type_struct
;
2619 const char* var_class_name
;
2620 /* Covariant cast for argument 0 (iter) <p0:Iterator[Couple[nullable Object, nullable Object]]> isa Iterator[Couple[K, V]] */
2621 /* <p0:Iterator[Couple[nullable Object, nullable Object]]> isa Iterator[Couple[K, V]] */
2622 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Iterator__core__Couple__core__abstract_collection__CoupleMapIterator___35dK__core__abstract_collection__CoupleMapIterator___35dV
];
2623 cltype
= type_struct
->color
;
2624 idtype
= type_struct
->id
;
2625 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2628 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2630 if (unlikely(!var
)) {
2631 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2632 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Iterator[Couple[K, V]]", var_class_name
);
2633 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1214);
2636 self
->attrs
[COLOR_core__abstract_collection__CoupleMapIterator___iter
].val
= p0
; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
2639 /* method abstract_collection#CoupleMapIterator#init for (self: CoupleMapIterator[nullable Object, nullable Object]) */
2640 void core__abstract_collection___core__abstract_collection__CoupleMapIterator___core__kernel__Object__init(val
* self
) {
2642 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_collection___core__abstract_collection__CoupleMapIterator___core__kernel__Object__init
]))(self
); /* init on <self:CoupleMapIterator[nullable Object, nullable Object]>*/
2646 /* method abstract_collection#Couple#first for (self: Couple[nullable Object, nullable Object]): nullable Object */
2647 val
* core___core__Couple___first(val
* self
) {
2648 val
* var
/* : nullable Object */;
2649 val
* var1
/* : nullable Object */;
2650 var1
= self
->attrs
[COLOR_core__abstract_collection__Couple___first
].val
; /* _first on <self:Couple[nullable Object, nullable Object]> */
2655 /* method abstract_collection#Couple#first= for (self: Couple[nullable Object, nullable Object], nullable Object) */
2656 void core___core__Couple___first_61d(val
* self
, val
* p0
) {
2657 short int var
/* : Bool */;
2660 const struct type
* type_struct
;
2661 short int is_nullable
;
2662 const char* var_class_name
;
2663 /* Covariant cast for argument 0 (first) <p0:nullable Object> isa F */
2664 /* <p0:nullable Object> isa F */
2665 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Couple___35dF
];
2666 cltype
= type_struct
->color
;
2667 idtype
= type_struct
->id
;
2668 is_nullable
= type_struct
->is_nullable
;
2672 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2675 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2678 if (unlikely(!var
)) {
2679 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2680 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "F", var_class_name
);
2681 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1222);
2684 self
->attrs
[COLOR_core__abstract_collection__Couple___first
].val
= p0
; /* _first on <self:Couple[nullable Object, nullable Object]> */
2687 /* method abstract_collection#Couple#second for (self: Couple[nullable Object, nullable Object]): nullable Object */
2688 val
* core___core__Couple___second(val
* self
) {
2689 val
* var
/* : nullable Object */;
2690 val
* var1
/* : nullable Object */;
2691 var1
= self
->attrs
[COLOR_core__abstract_collection__Couple___second
].val
; /* _second on <self:Couple[nullable Object, nullable Object]> */
2696 /* method abstract_collection#Couple#second= for (self: Couple[nullable Object, nullable Object], nullable Object) */
2697 void core___core__Couple___second_61d(val
* self
, val
* p0
) {
2698 short int var
/* : Bool */;
2701 const struct type
* type_struct
;
2702 short int is_nullable
;
2703 const char* var_class_name
;
2704 /* Covariant cast for argument 0 (second) <p0:nullable Object> isa S */
2705 /* <p0:nullable Object> isa S */
2706 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Couple___35dS
];
2707 cltype
= type_struct
->color
;
2708 idtype
= type_struct
->id
;
2709 is_nullable
= type_struct
->is_nullable
;
2713 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2716 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2719 if (unlikely(!var
)) {
2720 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2721 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "S", var_class_name
);
2722 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1225);
2725 self
->attrs
[COLOR_core__abstract_collection__Couple___second
].val
= p0
; /* _second on <self:Couple[nullable Object, nullable Object]> */
2728 /* method abstract_collection#Couple#init for (self: Couple[nullable Object, nullable Object]) */
2729 void core___core__Couple___core__kernel__Object__init(val
* self
) {
2731 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Couple___core__kernel__Object__init
]))(self
); /* init on <self:Couple[nullable Object, nullable Object]>*/