1 #include "core__abstract_collection.sep.0.h"
2 /* method abstract_collection$Collection$iterator for (self: Collection[nullable Object]): Iterator[nullable Object] */
3 val
* core___core__Collection___iterator(val
* self
) {
4 val
* var
/* : Iterator[nullable Object] */;
5 const char* var_class_name
;
6 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
7 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "iterator", var_class_name
);
8 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 60);
13 /* method abstract_collection$Collection$is_empty for (self: Collection[nullable Object]): Bool */
14 short int core___core__Collection___is_empty(val
* self
) {
15 short int var
/* : Bool */;
16 long var1
/* : Int */;
17 short int var2
/* : Bool */;
18 short int var4
/* : Bool */;
20 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]>*/
23 { /* Inline kernel$Int$== (var1,0l) on <var1:Int> */
35 /* method abstract_collection$Collection$not_empty for (self: Collection[nullable Object]): Bool */
36 short int core___core__Collection___not_empty(val
* self
) {
37 short int var
/* : Bool */;
38 short int var1
/* : Bool */;
39 short int var2
/* : Bool */;
41 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]>*/
49 /* method abstract_collection$Collection$length for (self: Collection[nullable Object]): Int */
50 long core___core__Collection___length(val
* self
) {
52 long var_nb
/* var nb: Int */;
53 val
* var_
/* var : Collection[nullable Object] */;
54 val
* var1
/* : Iterator[nullable Object] */;
55 val
* var_2
/* var : Iterator[nullable Object] */;
56 short int var3
/* : Bool */;
57 val
* var4
/* : nullable Object */;
58 val
* var_i
/* var i: nullable Object */;
59 long var5
/* : Int */;
60 short int var7
/* : Bool */;
63 const char* var_class_name
;
64 long var8
/* : Int */;
68 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]>*/
73 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]>*/
80 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]>*/
84 { /* Inline kernel$Int$+ (var_nb,1l) on <var_nb:Int> */
85 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
86 /* <1l:Int> isa OTHER */
87 var7
= 1; /* easy <1l:Int> isa OTHER*/
88 if (unlikely(!var7
)) {
89 var_class_name
= type_core__Int
.name
;
90 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
91 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
102 ((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]>*/
105 BREAK_label
: (void)0;
107 ((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]>*/
114 /* method abstract_collection$Collection$has for (self: Collection[nullable Object], nullable Object): Bool */
115 short int core___core__Collection___has(val
* self
, val
* p0
) {
116 short int var
/* : Bool */;
117 val
* var_item
/* var item: nullable Object */;
118 val
* var_
/* var : Collection[nullable Object] */;
119 val
* var1
/* : Iterator[nullable Object] */;
120 val
* var_2
/* var : Iterator[nullable Object] */;
121 short int var3
/* : Bool */;
122 val
* var4
/* : nullable Object */;
123 val
* var_i
/* var i: nullable Object */;
124 short int var5
/* : Bool */;
125 short int var6
/* : Bool */;
129 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]>*/
134 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]>*/
141 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]>*/
145 var5
= (var_item
== NULL
);
147 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>*/
156 ((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]>*/
159 BREAK_label
: (void)0;
161 ((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]>*/
168 /* method abstract_collection$Collection$count for (self: Collection[nullable Object], nullable Object): Int */
169 long core___core__Collection___count(val
* self
, val
* p0
) {
170 long var
/* : Int */;
171 val
* var_item
/* var item: nullable Object */;
172 long var_nb
/* var nb: Int */;
173 val
* var_
/* var : Collection[nullable Object] */;
174 val
* var1
/* : Iterator[nullable Object] */;
175 val
* var_2
/* var : Iterator[nullable Object] */;
176 short int var3
/* : Bool */;
177 val
* var4
/* : nullable Object */;
178 val
* var_i
/* var i: nullable Object */;
179 short int var5
/* : Bool */;
180 short int var6
/* : Bool */;
181 long var7
/* : Int */;
182 short int var9
/* : Bool */;
185 const char* var_class_name
;
186 long var10
/* : Int */;
191 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]>*/
196 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]>*/
203 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]>*/
207 var5
= (var_item
== NULL
);
209 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>*/
214 { /* Inline kernel$Int$+ (var_nb,1l) on <var_nb:Int> */
215 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
216 /* <1l:Int> isa OTHER */
217 var9
= 1; /* easy <1l:Int> isa OTHER*/
218 if (unlikely(!var9
)) {
219 var_class_name
= type_core__Int
.name
;
220 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
221 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
234 ((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]>*/
237 BREAK_label
: (void)0;
239 ((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]>*/
246 /* method abstract_collection$Collection$first for (self: Collection[nullable Object]): nullable Object */
247 val
* core___core__Collection___first(val
* self
) {
248 val
* var
/* : nullable Object */;
249 long var1
/* : Int */;
250 short int var2
/* : Bool */;
251 short int var4
/* : Bool */;
254 const char* var_class_name
;
255 short int var5
/* : Bool */;
256 val
* var6
/* : Iterator[nullable Object] */;
257 val
* var7
/* : nullable Object */;
259 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]>*/
262 { /* Inline kernel$Int$> (var1,0l) on <var1:Int> */
263 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
264 /* <0l:Int> isa OTHER */
265 var4
= 1; /* easy <0l:Int> isa OTHER*/
266 if (unlikely(!var4
)) {
267 var_class_name
= type_core__Int
.name
;
268 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
269 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
278 if (unlikely(!var2
)) {
279 if(catchStack
.cursor
>= 0){
280 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
282 PRINT_ERROR("Runtime error: %s", "Assert failed");
283 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 134);
287 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]>*/
290 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]>*/
297 /* method abstract_collection$Collection$has_all for (self: Collection[nullable Object], Collection[nullable Object]): Bool */
298 short int core___core__Collection___has_all(val
* self
, val
* p0
) {
299 short int var
/* : Bool */;
300 val
* var_other
/* var other: Collection[nullable Object] */;
301 short int var1
/* : Bool */;
302 short int var3
/* : Bool */;
303 long var4
/* : Int */;
304 long var_ol
/* var ol: Int */;
305 long var5
/* : Int */;
306 long var_l
/* var l: Int */;
307 short int var6
/* : Bool */;
308 short int var8
/* : Bool */;
309 short int var9
/* : Bool */;
310 short int var11
/* : Bool */;
311 short int var12
/* : Bool */;
312 short int var14
/* : Bool */;
313 val
* var15
/* : nullable Object */;
314 short int var16
/* : Bool */;
315 val
* var_
/* var : Collection[nullable Object] */;
316 val
* var17
/* : Iterator[nullable Object] */;
317 val
* var_18
/* var : Iterator[nullable Object] */;
318 short int var19
/* : Bool */;
319 val
* var20
/* : nullable Object */;
320 val
* var_x
/* var x: nullable Object */;
321 short int var21
/* : Bool */;
322 short int var22
/* : Bool */;
325 { /* Inline kernel$Object$is_same_instance (self,var_other) on <self:Collection[nullable Object]> */
326 var3
= self
== var_other
|| ((!((long)self
&3)) && (!((long)var_other
&3)) && self
->class == var_other
->class && ((self
->class->box_kind
== 3 && ((struct instance_core__Byte
*)self
)->value
== ((struct instance_core__Byte
*)var_other
)->value
) || (self
->class->box_kind
== 5 && ((struct instance_core__Float
*)self
)->value
== ((struct instance_core__Float
*)var_other
)->value
) || (self
->class->box_kind
== 6 && ((struct instance_core__CString
*)self
)->value
== ((struct instance_core__CString
*)var_other
)->value
) || (self
->class->box_kind
== 7 && ((struct instance_core__Pointer
*)self
)->value
== ((struct instance_core__Pointer
*)var_other
)->value
) || (self
->class->box_kind
== 8 && ((struct instance_core__Int8
*)self
)->value
== ((struct instance_core__Int8
*)var_other
)->value
) || (self
->class->box_kind
== 9 && ((struct instance_core__Int16
*)self
)->value
== ((struct instance_core__Int16
*)var_other
)->value
) || (self
->class->box_kind
== 10 && ((struct instance_core__UInt16
*)self
)->value
== ((struct instance_core__UInt16
*)var_other
)->value
) || (self
->class->box_kind
== 11 && ((struct instance_core__Int32
*)self
)->value
== ((struct instance_core__Int32
*)var_other
)->value
) || (self
->class->box_kind
== 12 && ((struct instance_core__UInt32
*)self
)->value
== ((struct instance_core__UInt32
*)var_other
)->value
)));
338 var4
= ((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:Collection[nullable Object]>*/
342 var5
= ((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]>*/
346 { /* Inline kernel$Int$== (var_ol,0l) on <var_ol:Int> */
359 { /* Inline kernel$Int$== (var_l,0l) on <var_l:Int> */
372 { /* Inline kernel$Int$== (var_ol,1l) on <var_ol:Int> */
373 var14
= var_ol
== 1l;
381 var15
= ((val
*(*)(val
* self
))((((long)var_other
&3)?class_info
[((long)var_other
&3)]:var_other
->class)->vft
[COLOR_core__abstract_collection__Collection__first
]))(var_other
); /* first on <var_other:Collection[nullable Object]>*/
384 var16
= ((short int(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(self
, var15
); /* has on <self:Collection[nullable Object]>*/
392 var17
= ((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]>*/
397 var19
= ((short int(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_18
); /* is_ok on <var_18:Iterator[nullable Object]>*/
404 var20
= ((val
*(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_18
); /* item on <var_18:Iterator[nullable Object]>*/
408 var21
= ((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]>*/
417 ((void(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_18
); /* next on <var_18:Iterator[nullable Object]>*/
420 BREAK_label
: (void)0;
422 ((void(*)(val
* self
))((((long)var_18
&3)?class_info
[((long)var_18
&3)]:var_18
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_18
); /* finish on <var_18:Iterator[nullable Object]>*/
429 /* method abstract_collection$Collection$has_exactly for (self: Collection[nullable Object], Collection[nullable Object]): Bool */
430 short int core___core__Collection___has_exactly(val
* self
, val
* p0
) {
431 short int var
/* : Bool */;
432 val
* var_other
/* var other: Collection[nullable Object] */;
433 long var1
/* : Int */;
434 long var2
/* : Int */;
435 short int var3
/* : Bool */;
436 short int var5
/* : Bool */;
437 short int var6
/* : Bool */;
438 val
* var_
/* var : Collection[nullable Object] */;
439 val
* var7
/* : Iterator[nullable Object] */;
440 val
* var_8
/* var : Iterator[nullable Object] */;
441 short int var9
/* : Bool */;
442 val
* var10
/* : nullable Object */;
443 val
* var_e
/* var e: nullable Object */;
444 long var11
/* : Int */;
445 long var12
/* : Int */;
446 short int var13
/* : Bool */;
447 short int var15
/* : Bool */;
448 short int var16
/* : Bool */;
451 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]>*/
454 var2
= ((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:Collection[nullable Object]>*/
457 { /* Inline kernel$Int$!= (var1,var2) on <var1:Int> */
472 var7
= ((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]>*/
477 var9
= ((short int(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_8
); /* is_ok on <var_8:Iterator[nullable Object]>*/
484 var10
= ((val
*(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_8
); /* item on <var_8:Iterator[nullable Object]>*/
488 var11
= ((long(*)(val
* self
, val
* p0
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Collection__count
]))(self
, var_e
); /* count on <self:Collection[nullable Object]>*/
491 var12
= ((long(*)(val
* self
, val
* p0
))((((long)var_other
&3)?class_info
[((long)var_other
&3)]:var_other
->class)->vft
[COLOR_core__abstract_collection__Collection__count
]))(var_other
, var_e
); /* count on <var_other:Collection[nullable Object]>*/
494 { /* Inline kernel$Int$!= (var11,var12) on <var11:Int> */
495 var15
= var11
== var12
;
508 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_8
); /* next on <var_8:Iterator[nullable Object]>*/
511 BREAK_label
: (void)0;
513 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_8
); /* finish on <var_8:Iterator[nullable Object]>*/
520 /* method abstract_collection$Iterator$iterator for (self: Iterator[nullable Object]): Iterator[nullable Object] */
521 val
* core___core__Iterator___iterator(val
* self
) {
522 val
* var
/* : Iterator[nullable Object] */;
528 /* method abstract_collection$Iterator$finish for (self: Iterator[nullable Object]) */
529 void core___core__Iterator___finish(val
* self
) {
532 /* method abstract_collection$Ref$first for (self: Ref[nullable Object]): nullable Object */
533 val
* core___core__Ref___Collection__first(val
* self
) {
534 val
* var
/* : nullable Object */;
535 val
* var1
/* : nullable Object */;
536 val
* var3
/* : nullable Object */;
538 { /* Inline abstract_collection$Ref$item (self) on <self:Ref[nullable Object]> */
539 var3
= self
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <self:Ref[nullable Object]> */
549 /* method abstract_collection$Ref$is_empty for (self: Ref[nullable Object]): Bool */
550 short int core___core__Ref___Collection__is_empty(val
* self
) {
551 short int var
/* : Bool */;
557 /* method abstract_collection$Ref$length for (self: Ref[nullable Object]): Int */
558 long core___core__Ref___Collection__length(val
* self
) {
559 long var
/* : Int */;
565 /* method abstract_collection$Ref$has for (self: Ref[nullable Object], nullable Object): Bool */
566 short int core___core__Ref___Collection__has(val
* self
, val
* p0
) {
567 short int var
/* : Bool */;
568 val
* var_an_item
/* var an_item: nullable Object */;
569 val
* var1
/* : nullable Object */;
570 val
* var3
/* : nullable Object */;
571 short int var4
/* : Bool */;
572 short int var5
/* : Bool */;
575 { /* Inline abstract_collection$Ref$item (self) on <self:Ref[nullable Object]> */
576 var3
= self
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <self:Ref[nullable Object]> */
582 var4
= (var_an_item
== NULL
);
584 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>*/
592 /* method abstract_collection$Ref$count for (self: Ref[nullable Object], nullable Object): Int */
593 long core___core__Ref___Collection__count(val
* self
, val
* p0
) {
594 long var
/* : Int */;
595 val
* var_an_item
/* var an_item: nullable Object */;
596 val
* var1
/* : nullable Object */;
597 val
* var3
/* : nullable Object */;
598 short int var4
/* : Bool */;
599 short int var5
/* : Bool */;
602 { /* Inline abstract_collection$Ref$item (self) on <self:Ref[nullable Object]> */
603 var3
= self
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <self:Ref[nullable Object]> */
609 var4
= (var_an_item
== NULL
);
611 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>*/
624 /* method abstract_collection$Ref$iterator for (self: Ref[nullable Object]): Iterator[nullable Object] */
625 val
* core___core__Ref___Collection__iterator(val
* self
) {
626 val
* var
/* : Iterator[nullable Object] */;
627 val
* var1
/* : RefIterator[nullable Object] */;
628 var1
= NEW_core__abstract_collection__RefIterator(self
->type
->resolution_table
->types
[COLOR_core__abstract_collection__RefIterator__core__Ref___35dE
]);
630 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__abstract_collection__RefIterator__container_61d
]))(var1
, self
); /* container= on <var1:RefIterator[nullable Object]>*/
633 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:RefIterator[nullable Object]>*/
640 /* method abstract_collection$Ref$item for (self: Ref[nullable Object]): nullable Object */
641 val
* core___core__Ref___item(val
* self
) {
642 val
* var
/* : nullable Object */;
643 val
* var1
/* : nullable Object */;
644 var1
= self
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <self:Ref[nullable Object]> */
649 /* method abstract_collection$Ref$item= for (self: Ref[nullable Object], nullable Object) */
650 void core___core__Ref___item_61d(val
* self
, val
* p0
) {
651 short int var
/* : Bool */;
654 const struct type
* type_struct
;
655 short int is_nullable
;
656 const char* var_class_name
;
657 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
658 /* <p0:nullable Object> isa E */
659 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Ref___35dE
];
660 cltype
= type_struct
->color
;
661 idtype
= type_struct
->id
;
662 is_nullable
= type_struct
->is_nullable
;
666 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
669 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
672 if (unlikely(!var
)) {
673 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
674 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
675 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 340);
678 self
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
= p0
; /* _item on <self:Ref[nullable Object]> */
681 /* method abstract_collection$Ref$init for (self: Ref[nullable Object]) */
682 void core___core__Ref___core__kernel__Object__init(val
* self
) {
684 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Ref___core__kernel__Object__init
]))(self
); /* init on <self:Ref[nullable Object]>*/
688 /* method abstract_collection$RefIterator$item for (self: RefIterator[nullable Object]): nullable Object */
689 val
* core__abstract_collection___core__abstract_collection__RefIterator___Iterator__item(val
* self
) {
690 val
* var
/* : nullable Object */;
691 val
* var1
/* : Ref[nullable Object] */;
692 val
* var2
/* : nullable Object */;
693 val
* var4
/* : nullable Object */;
694 var1
= self
->attrs
[COLOR_core__abstract_collection__RefIterator___container
].val
; /* _container on <self:RefIterator[nullable Object]> */
695 if (unlikely(var1
== NULL
)) {
696 if(catchStack
.cursor
>= 0){
697 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _container");
700 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 347);
704 { /* Inline abstract_collection$Ref$item (var1) on <var1:Ref[nullable Object]> */
705 var4
= var1
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <var1:Ref[nullable Object]> */
715 /* method abstract_collection$RefIterator$next for (self: RefIterator[nullable Object]) */
716 void core__abstract_collection___core__abstract_collection__RefIterator___Iterator__next(val
* self
) {
718 { /* Inline abstract_collection$RefIterator$is_ok= (self,0) on <self:RefIterator[nullable Object]> */
719 self
->attrs
[COLOR_core__abstract_collection__RefIterator___is_ok
].s
= 0; /* _is_ok on <self:RefIterator[nullable Object]> */
725 /* method abstract_collection$RefIterator$is_ok for (self: RefIterator[nullable Object]): Bool */
726 short int core__abstract_collection___core__abstract_collection__RefIterator___Iterator__is_ok(val
* self
) {
727 short int var
/* : Bool */;
728 short int var1
/* : Bool */;
729 var1
= self
->attrs
[COLOR_core__abstract_collection__RefIterator___is_ok
].s
; /* _is_ok on <self:RefIterator[nullable Object]> */
734 /* method abstract_collection$RefIterator$is_ok= for (self: RefIterator[nullable Object], Bool) */
735 void core__abstract_collection___core__abstract_collection__RefIterator___is_ok_61d(val
* self
, short int p0
) {
736 self
->attrs
[COLOR_core__abstract_collection__RefIterator___is_ok
].s
= p0
; /* _is_ok on <self:RefIterator[nullable Object]> */
739 /* method abstract_collection$RefIterator$container= for (self: RefIterator[nullable Object], Ref[nullable Object]) */
740 void core__abstract_collection___core__abstract_collection__RefIterator___container_61d(val
* self
, val
* p0
) {
741 short int var
/* : Bool */;
744 const struct type
* type_struct
;
745 const char* var_class_name
;
746 /* Covariant cast for argument 0 (container) <p0:Ref[nullable Object]> isa Ref[E] */
747 /* <p0:Ref[nullable Object]> isa Ref[E] */
748 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Ref__core__abstract_collection__RefIterator___35dE
];
749 cltype
= type_struct
->color
;
750 idtype
= type_struct
->id
;
751 if(cltype
>= p0
->type
->table_size
) {
754 var
= p0
->type
->type_table
[cltype
] == idtype
;
756 if (unlikely(!var
)) {
757 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
758 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Ref[E]", var_class_name
);
759 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 353);
762 self
->attrs
[COLOR_core__abstract_collection__RefIterator___container
].val
= p0
; /* _container on <self:RefIterator[nullable Object]> */
765 /* method abstract_collection$RefIterator$init for (self: RefIterator[nullable Object]) */
766 void core__abstract_collection___core__abstract_collection__RefIterator___core__kernel__Object__init(val
* self
) {
768 ((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]>*/
772 /* method abstract_collection$RemovableCollection$clear for (self: RemovableCollection[nullable Object]) */
773 void core___core__RemovableCollection___clear(val
* self
) {
774 const char* var_class_name
;
775 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
776 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "clear", var_class_name
);
777 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 360);
781 /* method abstract_collection$RemovableCollection$remove for (self: RemovableCollection[nullable Object], nullable Object) */
782 void core___core__RemovableCollection___remove(val
* self
, val
* p0
) {
783 const char* var_class_name
;
784 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
785 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "remove", var_class_name
);
786 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 369);
790 /* method abstract_collection$SimpleCollection$add for (self: SimpleCollection[nullable Object], nullable Object) */
791 void core___core__SimpleCollection___add(val
* self
, val
* p0
) {
792 const char* var_class_name
;
793 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
794 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "add", var_class_name
);
795 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 388);
799 /* method abstract_collection$SimpleCollection$add_all for (self: SimpleCollection[nullable Object], Collection[nullable Object]) */
800 void core___core__SimpleCollection___add_all(val
* self
, val
* p0
) {
801 short int var
/* : Bool */;
804 const struct type
* type_struct
;
805 const char* var_class_name
;
806 val
* var_coll
/* var coll: Collection[nullable Object] */;
807 val
* var_
/* var : Collection[nullable Object] */;
808 val
* var1
/* : Iterator[nullable Object] */;
809 val
* var_2
/* var : Iterator[nullable Object] */;
810 short int var3
/* : Bool */;
811 val
* var4
/* : nullable Object */;
812 val
* var_i
/* var i: nullable Object */;
813 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
814 /* <p0:Collection[nullable Object]> isa Collection[E] */
815 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Collection__core__SimpleCollection___35dE
];
816 cltype
= type_struct
->color
;
817 idtype
= type_struct
->id
;
818 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
821 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
823 if (unlikely(!var
)) {
824 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
825 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
826 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 398);
832 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]>*/
837 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]>*/
844 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]>*/
848 ((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]>*/
851 ((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]>*/
854 BREAK_label
: (void)0;
856 ((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]>*/
860 /* method abstract_collection$Set$count for (self: Set[nullable Object], nullable Object): Int */
861 long core___core__Set___Collection__count(val
* self
, val
* p0
) {
862 long var
/* : Int */;
863 val
* var_item
/* var item: nullable Object */;
864 short int var1
/* : Bool */;
867 var1
= ((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_item
); /* has on <self:Set[nullable Object]>*/
879 /* method abstract_collection$Set$== for (self: Set[nullable Object], nullable Object): Bool */
880 short int core___core__Set___core__kernel__Object___61d_61d(val
* self
, val
* p0
) {
881 short int var
/* : Bool */;
882 val
* var_other
/* var other: nullable Object */;
883 short int var1
/* : Bool */;
886 short int var2
/* : Bool */;
887 long var3
/* : Int */;
888 long var4
/* : Int */;
889 short int var5
/* : Bool */;
890 short int var7
/* : Bool */;
891 short int var8
/* : Bool */;
892 short int var9
/* : Bool */;
894 /* <var_other:nullable Object> isa Set[nullable Object] */
895 cltype
= type_core__Set__nullable__core__Object
.color
;
896 idtype
= type_core__Set__nullable__core__Object
.id
;
897 if(var_other
== NULL
) {
900 if(cltype
>= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->table_size
) {
903 var1
= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->type_table
[cltype
] == idtype
;
913 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])>*/
916 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]>*/
919 { /* Inline kernel$Int$!= (var3,var4) on <var3:Int> */
933 var9
= core___core__Collection___has_all(self
, var_other
);
940 /* method abstract_collection$Set$hash for (self: Set[nullable Object]): Int */
941 long core___core__Set___core__kernel__Object__hash(val
* self
) {
942 long var
/* : Int */;
943 long var1
/* : Int */;
944 long var2
/* : Int */;
945 short int var4
/* : Bool */;
948 const char* var_class_name
;
949 long var5
/* : Int */;
950 long var_res
/* var res: Int */;
951 val
* var_
/* var : Set[nullable Object] */;
952 val
* var6
/* : Iterator[nullable Object] */;
953 val
* var_7
/* var : Iterator[nullable Object] */;
954 short int var8
/* : Bool */;
955 val
* var9
/* : nullable Object */;
956 val
* var_e
/* var e: nullable Object */;
957 short int var10
/* : Bool */;
958 short int var11
/* : Bool */;
959 long var12
/* : Int */;
960 long var13
/* : Int */;
961 short int var15
/* : Bool */;
964 const char* var_class_name18
;
965 long var19
/* : Int */;
967 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]>*/
970 { /* Inline kernel$Int$+ (23l,var1) on <23l:Int> */
971 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
972 /* <var1:Int> isa OTHER */
973 var4
= 1; /* easy <var1:Int> isa OTHER*/
974 if (unlikely(!var4
)) {
975 var_class_name
= type_core__Int
.name
;
976 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
977 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
989 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]>*/
994 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]>*/
1001 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]>*/
1004 if (var_e
== NULL
) {
1005 var10
= 0; /* is null */
1007 var10
= 1; /* arg is null and recv is not */
1010 var11
= ((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>*/
1015 var12
= ((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)>*/
1018 { /* Inline kernel$Int$+ (var_res,var12) on <var_res:Int> */
1019 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
1020 /* <var12:Int> isa OTHER */
1021 var15
= 1; /* easy <var12:Int> isa OTHER*/
1022 if (unlikely(!var15
)) {
1023 var_class_name18
= type_core__Int
.name
;
1024 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
1025 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
1028 var19
= var_res
+ var12
;
1031 RET_LABEL14
:(void)0;
1038 ((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]>*/
1041 BREAK_label
: (void)0;
1043 ((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]>*/
1050 /* method abstract_collection$Set$union for (self: Set[nullable Object], Set[nullable Object]): Set[nullable Object] */
1051 val
* core___core__Set___union(val
* self
, val
* p0
) {
1052 val
* var
/* : Set[nullable Object] */;
1053 short int var1
/* : Bool */;
1056 const struct type
* type_struct
;
1057 const char* var_class_name
;
1058 val
* var_other
/* var other: Set[nullable Object] */;
1059 val
* var2
/* : Set[nullable Object] */;
1060 val
* var_nhs
/* var nhs: Set[nullable Object] */;
1061 /* Covariant cast for argument 0 (other) <p0:Set[nullable Object]> isa Set[E] */
1062 /* <p0:Set[nullable Object]> isa Set[E] */
1063 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Set__core__Set___35dE
];
1064 cltype
= type_struct
->color
;
1065 idtype
= type_struct
->id
;
1066 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1069 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1071 if (unlikely(!var1
)) {
1072 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1073 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[E]", var_class_name
);
1074 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 466);
1079 var2
= ((val
*(*)(val
* self
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Set__new_set
]))(self
); /* new_set on <self:Set[nullable Object]>*/
1083 core___core__SimpleCollection___add_all(var_nhs
, self
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_nhs:Set[nullable Object]>*/
1086 core___core__SimpleCollection___add_all(var_nhs
, var_other
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_nhs:Set[nullable Object]>*/
1093 /* method abstract_collection$Set$clone for (self: Set[nullable Object]): Set[nullable Object] */
1094 val
* core___core__Set___core__kernel__Cloneable__clone(val
* self
) {
1095 val
* var
/* : Set[nullable Object] */;
1096 val
* var1
/* : Set[nullable Object] */;
1097 short int var2
/* : Bool */;
1100 const struct type
* type_struct
;
1101 const char* var_class_name
;
1103 var1
= core___core__Set___union(self
, self
);
1105 /* <var1:Set[nullable Object]> isa SELF */
1106 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__kernel__Object__SELF
];
1107 cltype
= type_struct
->color
;
1108 idtype
= type_struct
->id
;
1109 if(cltype
>= (((long)var1
&3)?type_info
[((long)var1
&3)]:var1
->type
)->table_size
) {
1112 var2
= (((long)var1
&3)?type_info
[((long)var1
&3)]:var1
->type
)->type_table
[cltype
] == idtype
;
1114 if (unlikely(!var2
)) {
1115 var_class_name
= var1
== NULL ?
"null" : (((long)var1
&3)?type_info
[((long)var1
&3)]:var1
->type
)->name
;
1116 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELF", var_class_name
);
1117 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 483);
1125 /* method abstract_collection$Set$new_set for (self: Set[nullable Object]): Set[nullable Object] */
1126 val
* core___core__Set___new_set(val
* self
) {
1127 val
* var
/* : Set[nullable Object] */;
1128 const char* var_class_name
;
1129 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
1130 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "new_set", var_class_name
);
1131 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 485);
1136 /* method abstract_collection$MapRead$get_or_null for (self: MapRead[nullable Object, nullable Object], nullable Object): nullable Object */
1137 val
* core___core__MapRead___get_or_null(val
* self
, val
* p0
) {
1138 val
* var
/* : nullable Object */;
1139 val
* var_key
/* var key: nullable Object */;
1140 short int var1
/* : Bool */;
1141 val
* var2
/* : nullable Object */;
1144 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]>*/
1148 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]>*/
1159 /* method abstract_collection$MapRead$provide_default_value for (self: MapRead[nullable Object, nullable Object], nullable Object): nullable Object */
1160 val
* core___core__MapRead___provide_default_value(val
* self
, val
* p0
) {
1161 val
* var
/* : nullable Object */;
1162 val
* var_key
/* var key: nullable Object */;
1164 if(catchStack
.cursor
>= 0){
1165 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1167 PRINT_ERROR("Runtime error: %s", "Aborted");
1168 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 598);
1173 /* method abstract_collection$MapRead$== for (self: MapRead[nullable Object, nullable Object], nullable Object): Bool */
1174 short int core___core__MapRead___core__kernel__Object___61d_61d(val
* self
, val
* p0
) {
1175 short int var
/* : Bool */;
1176 val
* var_other
/* var other: nullable Object */;
1177 short int var1
/* : Bool */;
1180 short int var2
/* : Bool */;
1181 long var3
/* : Int */;
1182 long var4
/* : Int */;
1183 short int var5
/* : Bool */;
1184 short int var7
/* : Bool */;
1185 short int var8
/* : Bool */;
1186 val
* var_
/* var : MapRead[nullable Object, nullable Object] */;
1187 val
* var9
/* : MapIterator[nullable Object, nullable Object] */;
1188 val
* var_10
/* var : MapIterator[nullable Object, nullable Object] */;
1189 short int var11
/* : Bool */;
1190 val
* var12
/* : nullable Object */;
1191 val
* var_k
/* var k: nullable Object */;
1192 val
* var13
/* : nullable Object */;
1193 val
* var_v
/* var v: nullable Object */;
1194 short int var14
/* : Bool */;
1195 short int var15
/* : Bool */;
1196 val
* var16
/* : nullable Object */;
1197 short int var17
/* : Bool */;
1198 short int var18
/* : Bool */;
1200 /* <var_other:nullable Object> isa MapRead[nullable Object, nullable Object] */
1201 cltype
= type_core__MapRead__nullable__core__Object__nullable__core__Object
.color
;
1202 idtype
= type_core__MapRead__nullable__core__Object__nullable__core__Object
.id
;
1203 if(var_other
== NULL
) {
1206 if(cltype
>= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->table_size
) {
1209 var1
= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->type_table
[cltype
] == idtype
;
1219 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])>*/
1222 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]>*/
1225 { /* Inline kernel$Int$!= (var3,var4) on <var3:Int> */
1226 var7
= var3
== var4
;
1240 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]>*/
1245 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]>*/
1252 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]>*/
1256 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]>*/
1260 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])>*/
1269 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])>*/
1271 if (var16
== NULL
) {
1272 var17
= (var_v
!= NULL
);
1274 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>*/
1283 ((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]>*/
1286 BREAK_label
: (void)0;
1288 { /* Inline abstract_collection$MapIterator$finish (var_10) on <var_10:MapIterator[nullable Object, nullable Object]> */
1289 RET_LABEL19
:(void)0;
1297 /* method abstract_collection$MapRead$hash for (self: MapRead[nullable Object, nullable Object]): Int */
1298 long core___core__MapRead___core__kernel__Object__hash(val
* self
) {
1299 long var
/* : Int */;
1300 long var1
/* : Int */;
1301 long var_res
/* var res: Int */;
1302 val
* var_
/* var : MapRead[nullable Object, nullable Object] */;
1303 val
* var2
/* : MapIterator[nullable Object, nullable Object] */;
1304 val
* var_3
/* var : MapIterator[nullable Object, nullable Object] */;
1305 short int var4
/* : Bool */;
1306 val
* var5
/* : nullable Object */;
1307 val
* var_k
/* var k: nullable Object */;
1308 val
* var6
/* : nullable Object */;
1309 val
* var_v
/* var v: nullable Object */;
1310 short int var7
/* : Bool */;
1311 short int var8
/* : Bool */;
1312 long var9
/* : Int */;
1313 long var10
/* : Int */;
1314 short int var12
/* : Bool */;
1317 const char* var_class_name
;
1318 long var13
/* : Int */;
1319 long var14
/* : Int */;
1320 short int var16
/* : Bool */;
1323 const char* var_class_name19
;
1324 long var20
/* : Int */;
1325 short int var21
/* : Bool */;
1326 short int var22
/* : Bool */;
1327 long var23
/* : Int */;
1328 long var24
/* : Int */;
1329 short int var26
/* : Bool */;
1332 const char* var_class_name29
;
1333 long var30
/* : Int */;
1334 long var31
/* : Int */;
1335 short int var33
/* : Bool */;
1338 const char* var_class_name36
;
1339 long var37
/* : Int */;
1341 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]>*/
1346 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]>*/
1351 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]>*/
1358 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]>*/
1362 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]>*/
1365 if (var_k
== NULL
) {
1366 var7
= 0; /* is null */
1368 var7
= 1; /* arg is null and recv is not */
1371 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>*/
1376 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)>*/
1379 { /* Inline kernel$Int$* (var9,7l) on <var9:Int> */
1380 /* Covariant cast for argument 0 (i) <7l:Int> isa OTHER */
1381 /* <7l:Int> isa OTHER */
1382 var12
= 1; /* easy <7l:Int> isa OTHER*/
1383 if (unlikely(!var12
)) {
1384 var_class_name
= type_core__Int
.name
;
1385 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1386 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 732);
1392 RET_LABEL11
:(void)0;
1396 { /* Inline kernel$Int$+ (var_res,var10) on <var_res:Int> */
1397 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
1398 /* <var10:Int> isa OTHER */
1399 var16
= 1; /* easy <var10:Int> isa OTHER*/
1400 if (unlikely(!var16
)) {
1401 var_class_name19
= type_core__Int
.name
;
1402 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
1403 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
1406 var20
= var_res
+ var10
;
1409 RET_LABEL15
:(void)0;
1415 if (var_v
== NULL
) {
1416 var21
= 0; /* is null */
1418 var21
= 1; /* arg is null and recv is not */
1421 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>*/
1426 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)>*/
1429 { /* Inline kernel$Int$* (var23,11l) on <var23:Int> */
1430 /* Covariant cast for argument 0 (i) <11l:Int> isa OTHER */
1431 /* <11l:Int> isa OTHER */
1432 var26
= 1; /* easy <11l:Int> isa OTHER*/
1433 if (unlikely(!var26
)) {
1434 var_class_name29
= type_core__Int
.name
;
1435 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29
);
1436 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 732);
1439 var30
= var23
* 11l;
1442 RET_LABEL25
:(void)0;
1446 { /* Inline kernel$Int$+ (var_res,var24) on <var_res:Int> */
1447 /* Covariant cast for argument 0 (i) <var24:Int> isa OTHER */
1448 /* <var24:Int> isa OTHER */
1449 var33
= 1; /* easy <var24:Int> isa OTHER*/
1450 if (unlikely(!var33
)) {
1451 var_class_name36
= type_core__Int
.name
;
1452 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36
);
1453 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
1456 var37
= var_res
+ var24
;
1459 RET_LABEL32
:(void)0;
1466 ((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]>*/
1469 BREAK_label
: (void)0;
1471 { /* Inline abstract_collection$MapIterator$finish (var_3) on <var_3:MapIterator[nullable Object, nullable Object]> */
1472 RET_LABEL38
:(void)0;
1480 /* method abstract_collection$Map$add_all for (self: Map[nullable Object, nullable Object], MapRead[nullable Object, nullable Object]) */
1481 void core___core__Map___add_all(val
* self
, val
* p0
) {
1482 short int var
/* : Bool */;
1485 const struct type
* type_struct
;
1486 const char* var_class_name
;
1487 val
* var_map
/* var map: MapRead[nullable Object, nullable Object] */;
1488 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1489 val
* var_i
/* var i: MapIterator[nullable Object, nullable Object] */;
1490 short int var2
/* : Bool */;
1491 val
* var3
/* : nullable Object */;
1492 val
* var4
/* : nullable Object */;
1493 /* Covariant cast for argument 0 (map) <p0:MapRead[nullable Object, nullable Object]> isa MapRead[K, V] */
1494 /* <p0:MapRead[nullable Object, nullable Object]> isa MapRead[K, V] */
1495 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__MapRead__core__Map___35dK__core__Map___35dV
];
1496 cltype
= type_struct
->color
;
1497 idtype
= type_struct
->id
;
1498 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1501 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1503 if (unlikely(!var
)) {
1504 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1505 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MapRead[K, V]", var_class_name
);
1506 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 688);
1511 var1
= ((val
*(*)(val
* self
))((((long)var_map
&3)?class_info
[((long)var_map
&3)]:var_map
->class)->vft
[COLOR_core__abstract_collection__MapRead__iterator
]))(var_map
); /* iterator on <var_map:MapRead[nullable Object, nullable Object]>*/
1516 var2
= ((short int(*)(val
* self
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_i
); /* is_ok on <var_i:MapIterator[nullable Object, nullable Object]>*/
1520 var3
= ((val
*(*)(val
* self
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_i
); /* key on <var_i:MapIterator[nullable Object, nullable Object]>*/
1523 var4
= ((val
*(*)(val
* self
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_i
); /* item on <var_i:MapIterator[nullable Object, nullable Object]>*/
1526 ((void(*)(val
* self
, val
* p0
, val
* p1
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__abstract_collection__Map___91d_93d_61d
]))(self
, var3
, var4
); /* []= on <self:Map[nullable Object, nullable Object]>*/
1529 ((void(*)(val
* self
))((((long)var_i
&3)?class_info
[((long)var_i
&3)]:var_i
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_i
); /* next on <var_i:MapIterator[nullable Object, nullable Object]>*/
1535 BREAK_label
: (void)0;
1538 /* method abstract_collection$MapIterator$finish for (self: MapIterator[nullable Object, nullable Object]) */
1539 void core___core__MapIterator___finish(val
* self
) {
1542 /* method abstract_collection$MapKeysIterator$original_iterator for (self: MapKeysIterator[nullable Object, nullable Object]): MapIterator[nullable Object, nullable Object] */
1543 val
* core___core__MapKeysIterator___original_iterator(val
* self
) {
1544 val
* var
/* : MapIterator[nullable Object, nullable Object] */;
1545 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1546 var1
= self
->attrs
[COLOR_core__abstract_collection__MapKeysIterator___original_iterator
].val
; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
1547 if (unlikely(var1
== NULL
)) {
1548 if(catchStack
.cursor
>= 0){
1549 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1551 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1552 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 772);
1559 /* method abstract_collection$MapKeysIterator$original_iterator= for (self: MapKeysIterator[nullable Object, nullable Object], MapIterator[nullable Object, nullable Object]) */
1560 void core___core__MapKeysIterator___original_iterator_61d(val
* self
, val
* p0
) {
1561 short int var
/* : Bool */;
1564 const struct type
* type_struct
;
1565 const char* var_class_name
;
1566 /* Covariant cast for argument 0 (original_iterator) <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
1567 /* <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
1568 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__MapIterator__core__MapKeysIterator___35dK__core__MapKeysIterator___35dV
];
1569 cltype
= type_struct
->color
;
1570 idtype
= type_struct
->id
;
1571 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1574 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1576 if (unlikely(!var
)) {
1577 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1578 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[K, V]", var_class_name
);
1579 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 772);
1582 self
->attrs
[COLOR_core__abstract_collection__MapKeysIterator___original_iterator
].val
= p0
; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
1585 /* method abstract_collection$MapKeysIterator$is_ok for (self: MapKeysIterator[nullable Object, nullable Object]): Bool */
1586 short int core___core__MapKeysIterator___Iterator__is_ok(val
* self
) {
1587 short int var
/* : Bool */;
1588 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1589 val
* var3
/* : MapIterator[nullable Object, nullable Object] */;
1590 short int var4
/* : Bool */;
1592 { /* Inline abstract_collection$MapKeysIterator$original_iterator (self) on <self:MapKeysIterator[nullable Object, nullable Object]> */
1593 var3
= self
->attrs
[COLOR_core__abstract_collection__MapKeysIterator___original_iterator
].val
; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
1594 if (unlikely(var3
== NULL
)) {
1595 if(catchStack
.cursor
>= 0){
1596 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1599 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 772);
1607 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]>*/
1614 /* method abstract_collection$MapKeysIterator$next for (self: MapKeysIterator[nullable Object, nullable Object]) */
1615 void core___core__MapKeysIterator___Iterator__next(val
* self
) {
1616 val
* var
/* : MapIterator[nullable Object, nullable Object] */;
1617 val
* var2
/* : MapIterator[nullable Object, nullable Object] */;
1619 { /* Inline abstract_collection$MapKeysIterator$original_iterator (self) on <self:MapKeysIterator[nullable Object, nullable Object]> */
1620 var2
= self
->attrs
[COLOR_core__abstract_collection__MapKeysIterator___original_iterator
].val
; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
1621 if (unlikely(var2
== NULL
)) {
1622 if(catchStack
.cursor
>= 0){
1623 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1625 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1626 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 772);
1634 ((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]>*/
1638 /* method abstract_collection$MapKeysIterator$item for (self: MapKeysIterator[nullable Object, nullable Object]): nullable Object */
1639 val
* core___core__MapKeysIterator___Iterator__item(val
* self
) {
1640 val
* var
/* : nullable Object */;
1641 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1642 val
* var3
/* : MapIterator[nullable Object, nullable Object] */;
1643 val
* var4
/* : nullable Object */;
1645 { /* Inline abstract_collection$MapKeysIterator$original_iterator (self) on <self:MapKeysIterator[nullable Object, nullable Object]> */
1646 var3
= self
->attrs
[COLOR_core__abstract_collection__MapKeysIterator___original_iterator
].val
; /* _original_iterator on <self:MapKeysIterator[nullable Object, nullable Object]> */
1647 if (unlikely(var3
== NULL
)) {
1648 if(catchStack
.cursor
>= 0){
1649 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1652 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 772);
1660 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]>*/
1667 /* method abstract_collection$MapKeysIterator$init for (self: MapKeysIterator[nullable Object, nullable Object]) */
1668 void core___core__MapKeysIterator___core__kernel__Object__init(val
* self
) {
1670 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__MapKeysIterator___core__kernel__Object__init
]))(self
); /* init on <self:MapKeysIterator[nullable Object, nullable Object]>*/
1674 /* method abstract_collection$MapValuesIterator$original_iterator for (self: MapValuesIterator[nullable Object, nullable Object]): MapIterator[nullable Object, nullable Object] */
1675 val
* core___core__MapValuesIterator___original_iterator(val
* self
) {
1676 val
* var
/* : MapIterator[nullable Object, nullable Object] */;
1677 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1678 var1
= self
->attrs
[COLOR_core__abstract_collection__MapValuesIterator___original_iterator
].val
; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
1679 if (unlikely(var1
== NULL
)) {
1680 if(catchStack
.cursor
>= 0){
1681 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1684 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 783);
1691 /* method abstract_collection$MapValuesIterator$original_iterator= for (self: MapValuesIterator[nullable Object, nullable Object], MapIterator[nullable Object, nullable Object]) */
1692 void core___core__MapValuesIterator___original_iterator_61d(val
* self
, val
* p0
) {
1693 short int var
/* : Bool */;
1696 const struct type
* type_struct
;
1697 const char* var_class_name
;
1698 /* Covariant cast for argument 0 (original_iterator) <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
1699 /* <p0:MapIterator[nullable Object, nullable Object]> isa MapIterator[K, V] */
1700 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__MapIterator__core__MapValuesIterator___35dK__core__MapValuesIterator___35dV
];
1701 cltype
= type_struct
->color
;
1702 idtype
= type_struct
->id
;
1703 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1706 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1708 if (unlikely(!var
)) {
1709 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1710 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "MapIterator[K, V]", var_class_name
);
1711 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 783);
1714 self
->attrs
[COLOR_core__abstract_collection__MapValuesIterator___original_iterator
].val
= p0
; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
1717 /* method abstract_collection$MapValuesIterator$is_ok for (self: MapValuesIterator[nullable Object, nullable Object]): Bool */
1718 short int core___core__MapValuesIterator___Iterator__is_ok(val
* self
) {
1719 short int var
/* : Bool */;
1720 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1721 val
* var3
/* : MapIterator[nullable Object, nullable Object] */;
1722 short int var4
/* : Bool */;
1724 { /* Inline abstract_collection$MapValuesIterator$original_iterator (self) on <self:MapValuesIterator[nullable Object, nullable Object]> */
1725 var3
= self
->attrs
[COLOR_core__abstract_collection__MapValuesIterator___original_iterator
].val
; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
1726 if (unlikely(var3
== NULL
)) {
1727 if(catchStack
.cursor
>= 0){
1728 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1730 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1731 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 783);
1739 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]>*/
1746 /* method abstract_collection$MapValuesIterator$next for (self: MapValuesIterator[nullable Object, nullable Object]) */
1747 void core___core__MapValuesIterator___Iterator__next(val
* self
) {
1748 val
* var
/* : MapIterator[nullable Object, nullable Object] */;
1749 val
* var2
/* : MapIterator[nullable Object, nullable Object] */;
1751 { /* Inline abstract_collection$MapValuesIterator$original_iterator (self) on <self:MapValuesIterator[nullable Object, nullable Object]> */
1752 var2
= self
->attrs
[COLOR_core__abstract_collection__MapValuesIterator___original_iterator
].val
; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
1753 if (unlikely(var2
== NULL
)) {
1754 if(catchStack
.cursor
>= 0){
1755 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1758 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 783);
1766 ((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]>*/
1770 /* method abstract_collection$MapValuesIterator$item for (self: MapValuesIterator[nullable Object, nullable Object]): nullable Object */
1771 val
* core___core__MapValuesIterator___Iterator__item(val
* self
) {
1772 val
* var
/* : nullable Object */;
1773 val
* var1
/* : MapIterator[nullable Object, nullable Object] */;
1774 val
* var3
/* : MapIterator[nullable Object, nullable Object] */;
1775 val
* var4
/* : nullable Object */;
1777 { /* Inline abstract_collection$MapValuesIterator$original_iterator (self) on <self:MapValuesIterator[nullable Object, nullable Object]> */
1778 var3
= self
->attrs
[COLOR_core__abstract_collection__MapValuesIterator___original_iterator
].val
; /* _original_iterator on <self:MapValuesIterator[nullable Object, nullable Object]> */
1779 if (unlikely(var3
== NULL
)) {
1780 if(catchStack
.cursor
>= 0){
1781 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1783 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _original_iterator");
1784 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 783);
1792 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]>*/
1799 /* method abstract_collection$MapValuesIterator$init for (self: MapValuesIterator[nullable Object, nullable Object]) */
1800 void core___core__MapValuesIterator___core__kernel__Object__init(val
* self
) {
1802 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__MapValuesIterator___core__kernel__Object__init
]))(self
); /* init on <self:MapValuesIterator[nullable Object, nullable Object]>*/
1806 /* method abstract_collection$SequenceRead$first for (self: SequenceRead[nullable Object]): nullable Object */
1807 val
* core___core__SequenceRead___Collection__first(val
* self
) {
1808 val
* var
/* : nullable Object */;
1809 short int var1
/* : Bool */;
1810 short int var2
/* : Bool */;
1811 val
* var3
/* : nullable Object */;
1813 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]>*/
1816 if (unlikely(!var2
)) {
1817 if(catchStack
.cursor
>= 0){
1818 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1820 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
1821 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 808);
1825 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]>*/
1832 /* method abstract_collection$SequenceRead$last for (self: SequenceRead[nullable Object]): nullable Object */
1833 val
* core___core__SequenceRead___last(val
* self
) {
1834 val
* var
/* : nullable Object */;
1835 short int var1
/* : Bool */;
1836 short int var2
/* : Bool */;
1837 long var3
/* : Int */;
1838 long var4
/* : Int */;
1839 short int var6
/* : Bool */;
1842 const char* var_class_name
;
1843 long var7
/* : Int */;
1844 val
* var8
/* : nullable Object */;
1846 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]>*/
1849 if (unlikely(!var2
)) {
1850 if(catchStack
.cursor
>= 0){
1851 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1853 PRINT_ERROR("Runtime error: %s", "Assert \'not_empty\' failed");
1854 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 871);
1858 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]>*/
1861 { /* Inline kernel$Int$- (var3,1l) on <var3:Int> */
1862 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1863 /* <1l:Int> isa OTHER */
1864 var6
= 1; /* easy <1l:Int> isa OTHER*/
1865 if (unlikely(!var6
)) {
1866 var_class_name
= type_core__Int
.name
;
1867 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1868 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1878 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]>*/
1885 /* method abstract_collection$SequenceRead$index_of for (self: SequenceRead[nullable Object], nullable Object): Int */
1886 long core___core__SequenceRead___index_of(val
* self
, val
* p0
) {
1887 long var
/* : Int */;
1888 val
* var_item
/* var item: nullable Object */;
1889 long var1
/* : Int */;
1892 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]>*/
1899 /* method abstract_collection$SequenceRead$last_index_of for (self: SequenceRead[nullable Object], nullable Object): Int */
1900 long core___core__SequenceRead___last_index_of(val
* self
, val
* p0
) {
1901 long var
/* : Int */;
1902 val
* var_item
/* var item: nullable Object */;
1903 long var1
/* : Int */;
1904 long var2
/* : Int */;
1905 short int var4
/* : Bool */;
1908 const char* var_class_name
;
1909 long var5
/* : Int */;
1910 long var6
/* : Int */;
1913 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]>*/
1916 { /* Inline kernel$Int$- (var1,1l) on <var1:Int> */
1917 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1918 /* <1l:Int> isa OTHER */
1919 var4
= 1; /* easy <1l:Int> isa OTHER*/
1920 if (unlikely(!var4
)) {
1921 var_class_name
= type_core__Int
.name
;
1922 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1923 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1933 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]>*/
1940 /* method abstract_collection$SequenceRead$index_of_from for (self: SequenceRead[nullable Object], nullable Object, Int): Int */
1941 long core___core__SequenceRead___index_of_from(val
* self
, val
* p0
, long p1
) {
1942 long var
/* : Int */;
1943 val
* var_item
/* var item: nullable Object */;
1944 long var_pos
/* var pos: Int */;
1945 long var_p
/* var p: Int */;
1946 val
* var1
/* : Iterator[nullable Object] */;
1947 val
* var_i
/* var i: IndexedIterator[nullable Object] */;
1948 short int var2
/* : Bool */;
1949 short int var3
/* : Bool */;
1950 short int var4
/* : Bool */;
1951 short int var6
/* : Bool */;
1954 const char* var_class_name
;
1955 short int var7
/* : Bool */;
1956 short int var_
/* var : Bool */;
1957 val
* var8
/* : nullable Object */;
1958 short int var9
/* : Bool */;
1959 short int var10
/* : Bool */;
1960 long var11
/* : Int */;
1961 long var12
/* : Int */;
1962 short int var14
/* : Bool */;
1965 const char* var_class_name17
;
1966 long var18
/* : Int */;
1967 long var19
/* : Int */;
1968 long var21
/* : Int */;
1973 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]>*/
1978 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]>*/
1982 { /* Inline kernel$Int$>= (var_p,var_pos) on <var_p:Int> */
1983 /* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
1984 /* <var_pos:Int> isa OTHER */
1985 var6
= 1; /* easy <var_pos:Int> isa OTHER*/
1986 if (unlikely(!var6
)) {
1987 var_class_name
= type_core__Int
.name
;
1988 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1989 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
1992 var7
= var_p
>= var_pos
;
2001 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]>*/
2004 var9
= (var_item
== NULL
);
2006 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>*/
2015 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]>*/
2022 ((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]>*/
2025 { /* Inline kernel$Int$+ (var_p,1l) on <var_p:Int> */
2026 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2027 /* <1l:Int> isa OTHER */
2028 var14
= 1; /* easy <1l:Int> isa OTHER*/
2029 if (unlikely(!var14
)) {
2030 var_class_name17
= type_core__Int
.name
;
2031 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
2032 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
2038 RET_LABEL13
:(void)0;
2046 BREAK_label
: (void)0;
2048 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
2052 RET_LABEL20
:(void)0;
2060 /* method abstract_collection$SequenceRead$last_index_of_from for (self: SequenceRead[nullable Object], nullable Object, Int): Int */
2061 long core___core__SequenceRead___last_index_of_from(val
* self
, val
* p0
, long p1
) {
2062 long var
/* : Int */;
2063 val
* var_item
/* var item: nullable Object */;
2064 long var_pos
/* var pos: Int */;
2065 long var_i
/* var i: Int */;
2066 short int var1
/* : Bool */;
2067 short int var3
/* : Bool */;
2070 const char* var_class_name
;
2071 short int var4
/* : Bool */;
2072 val
* var5
/* : nullable Object */;
2073 short int var6
/* : Bool */;
2074 short int var7
/* : Bool */;
2075 long var8
/* : Int */;
2076 short int var10
/* : Bool */;
2079 const char* var_class_name13
;
2080 long var14
/* : Int */;
2081 long var15
/* : Int */;
2082 long var17
/* : Int */;
2088 { /* Inline kernel$Int$>= (var_i,0l) on <var_i:Int> */
2089 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2090 /* <0l:Int> isa OTHER */
2091 var3
= 1; /* easy <0l:Int> isa OTHER*/
2092 if (unlikely(!var3
)) {
2093 var_class_name
= type_core__Int
.name
;
2094 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2095 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
2106 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]>*/
2109 var6
= (var_item
== NULL
);
2111 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>*/
2120 { /* Inline kernel$Int$- (var_i,1l) on <var_i:Int> */
2121 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2122 /* <1l:Int> isa OTHER */
2123 var10
= 1; /* easy <1l:Int> isa OTHER*/
2124 if (unlikely(!var10
)) {
2125 var_class_name13
= type_core__Int
.name
;
2126 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
2127 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2141 BREAK_label
: (void)0;
2143 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
2147 RET_LABEL16
:(void)0;
2155 /* method abstract_collection$SequenceRead$== for (self: SequenceRead[nullable Object], nullable Object): Bool */
2156 short int core___core__SequenceRead___core__kernel__Object___61d_61d(val
* self
, val
* p0
) {
2157 short int var
/* : Bool */;
2158 val
* var_o
/* var o: nullable Object */;
2159 short int var1
/* : Bool */;
2162 short int var2
/* : Bool */;
2163 long var3
/* : Int */;
2164 long var_l
/* var l: Int */;
2165 long var4
/* : Int */;
2166 short int var5
/* : Bool */;
2167 short int var7
/* : Bool */;
2168 short int var8
/* : Bool */;
2169 long var_i
/* var i: Int */;
2170 short int var9
/* : Bool */;
2171 short int var11
/* : Bool */;
2174 const char* var_class_name
;
2175 short int var14
/* : Bool */;
2176 val
* var15
/* : nullable Object */;
2177 val
* var16
/* : nullable Object */;
2178 short int var17
/* : Bool */;
2179 short int var18
/* : Bool */;
2180 long var19
/* : Int */;
2181 short int var21
/* : Bool */;
2184 const char* var_class_name24
;
2185 long var25
/* : Int */;
2187 /* <var_o:nullable Object> isa SequenceRead[nullable Object] */
2188 cltype
= type_core__SequenceRead__nullable__core__Object
.color
;
2189 idtype
= type_core__SequenceRead__nullable__core__Object
.id
;
2193 if(cltype
>= (((long)var_o
&3)?type_info
[((long)var_o
&3)]:var_o
->type
)->table_size
) {
2196 var1
= (((long)var_o
&3)?type_info
[((long)var_o
&3)]:var_o
->type
)->type_table
[cltype
] == idtype
;
2206 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]>*/
2210 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])>*/
2213 { /* Inline kernel$Int$!= (var4,var_l) on <var4:Int> */
2214 var7
= var4
== var_l
;
2229 { /* Inline kernel$Int$< (var_i,var_l) on <var_i:Int> */
2230 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
2231 /* <var_l:Int> isa OTHER */
2232 var11
= 1; /* easy <var_l:Int> isa OTHER*/
2233 if (unlikely(!var11
)) {
2234 var_class_name
= type_core__Int
.name
;
2235 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2236 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
2239 var14
= var_i
< var_l
;
2242 RET_LABEL10
:(void)0;
2247 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]>*/
2250 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])>*/
2252 if (var15
== NULL
) {
2253 var17
= (var16
!= NULL
);
2255 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>*/
2264 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
2265 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2266 /* <1l:Int> isa OTHER */
2267 var21
= 1; /* easy <1l:Int> isa OTHER*/
2268 if (unlikely(!var21
)) {
2269 var_class_name24
= type_core__Int
.name
;
2270 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
2271 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
2277 RET_LABEL20
:(void)0;
2285 BREAK_label
: (void)0;
2291 /* method abstract_collection$SequenceRead$hash for (self: SequenceRead[nullable Object]): Int */
2292 long core___core__SequenceRead___core__kernel__Object__hash(val
* self
) {
2293 long var
/* : Int */;
2294 long var1
/* : Int */;
2295 long var2
/* : Int */;
2296 short int var4
/* : Bool */;
2299 const char* var_class_name
;
2300 long var5
/* : Int */;
2301 long var_res
/* var res: Int */;
2302 val
* var_
/* var : SequenceRead[nullable Object] */;
2303 val
* var6
/* : Iterator[nullable Object] */;
2304 val
* var_7
/* var : IndexedIterator[nullable Object] */;
2305 short int var8
/* : Bool */;
2306 val
* var9
/* : nullable Object */;
2307 val
* var_e
/* var e: nullable Object */;
2308 long var10
/* : Int */;
2309 short int var12
/* : Bool */;
2312 const char* var_class_name15
;
2313 long var16
/* : Int */;
2314 long var17
/* : Int */;
2315 short int var19
/* : Bool */;
2318 const char* var_class_name22
;
2319 long var23
/* : Int */;
2320 short int var24
/* : Bool */;
2321 short int var25
/* : Bool */;
2322 long var26
/* : Int */;
2323 long var27
/* : Int */;
2324 short int var29
/* : Bool */;
2327 const char* var_class_name32
;
2328 long var33
/* : Int */;
2330 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]>*/
2333 { /* Inline kernel$Int$+ (17l,var1) on <17l:Int> */
2334 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2335 /* <var1:Int> isa OTHER */
2336 var4
= 1; /* easy <var1:Int> isa OTHER*/
2337 if (unlikely(!var4
)) {
2338 var_class_name
= type_core__Int
.name
;
2339 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2340 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
2352 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]>*/
2357 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]>*/
2364 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]>*/
2368 { /* Inline kernel$Int$* (var_res,3l) on <var_res:Int> */
2369 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
2370 /* <3l:Int> isa OTHER */
2371 var12
= 1; /* easy <3l: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
, 732);
2378 var16
= var_res
* 3l;
2381 RET_LABEL11
:(void)0;
2385 { /* Inline kernel$Int$/ (var10,2l) on <var10:Int> */
2386 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
2387 /* <2l:Int> isa OTHER */
2388 var19
= 1; /* easy <2l:Int> isa OTHER*/
2389 if (unlikely(!var19
)) {
2390 var_class_name22
= type_core__Int
.name
;
2391 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
2392 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 733);
2398 RET_LABEL18
:(void)0;
2402 if (var_e
== NULL
) {
2403 var24
= 0; /* is null */
2405 var24
= 1; /* arg is null and recv is not */
2408 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>*/
2413 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)>*/
2416 { /* Inline kernel$Int$+ (var_res,var26) on <var_res:Int> */
2417 /* Covariant cast for argument 0 (i) <var26:Int> isa OTHER */
2418 /* <var26:Int> isa OTHER */
2419 var29
= 1; /* easy <var26:Int> isa OTHER*/
2420 if (unlikely(!var29
)) {
2421 var_class_name32
= type_core__Int
.name
;
2422 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
2423 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
2426 var33
= var_res
+ var26
;
2429 RET_LABEL28
:(void)0;
2436 ((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]>*/
2439 BREAK_label
: (void)0;
2441 ((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]>*/
2448 /* method abstract_collection$SequenceRead$iterator_from for (self: SequenceRead[nullable Object], Int): IndexedIterator[nullable Object] */
2449 val
* core___core__SequenceRead___iterator_from(val
* self
, long p0
) {
2450 val
* var
/* : IndexedIterator[nullable Object] */;
2451 long var_pos
/* var pos: Int */;
2452 val
* var1
/* : Iterator[nullable Object] */;
2453 val
* var_res
/* var res: IndexedIterator[nullable Object] */;
2454 short int var2
/* : Bool */;
2455 short int var3
/* : Bool */;
2456 short int var5
/* : Bool */;
2459 const char* var_class_name
;
2460 short int var6
/* : Bool */;
2461 short int var_
/* var : Bool */;
2462 short int var7
/* : Bool */;
2463 long var8
/* : Int */;
2464 short int var10
/* : Bool */;
2467 const char* var_class_name13
;
2468 long var14
/* : Int */;
2471 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]>*/
2476 { /* Inline kernel$Int$> (var_pos,0l) on <var_pos:Int> */
2477 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2478 /* <0l:Int> isa OTHER */
2479 var5
= 1; /* easy <0l:Int> isa OTHER*/
2480 if (unlikely(!var5
)) {
2481 var_class_name
= type_core__Int
.name
;
2482 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2483 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
2486 var6
= var_pos
> 0l;
2495 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]>*/
2503 ((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]>*/
2506 { /* Inline kernel$Int$- (var_pos,1l) on <var_pos:Int> */
2507 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2508 /* <1l:Int> isa OTHER */
2509 var10
= 1; /* easy <1l:Int> isa OTHER*/
2510 if (unlikely(!var10
)) {
2511 var_class_name13
= type_core__Int
.name
;
2512 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
2513 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2516 var14
= var_pos
- 1l;
2527 BREAK_label
: (void)0;
2533 /* method abstract_collection$SequenceRead$reverse_iterator for (self: SequenceRead[nullable Object]): IndexedIterator[nullable Object] */
2534 val
* core___core__SequenceRead___reverse_iterator(val
* self
) {
2535 val
* var
/* : IndexedIterator[nullable Object] */;
2536 const char* var_class_name
;
2537 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2538 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "reverse_iterator", var_class_name
);
2539 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 981);
2544 /* method abstract_collection$SequenceRead$reverse_iterator_from for (self: SequenceRead[nullable Object], Int): IndexedIterator[nullable Object] */
2545 val
* core___core__SequenceRead___reverse_iterator_from(val
* self
, long p0
) {
2546 val
* var
/* : IndexedIterator[nullable Object] */;
2547 long var_pos
/* var pos: Int */;
2548 val
* var1
/* : IndexedIterator[nullable Object] */;
2549 val
* var_res
/* var res: IndexedIterator[nullable Object] */;
2550 short int var2
/* : Bool */;
2551 short int var3
/* : Bool */;
2552 short int var5
/* : Bool */;
2555 const char* var_class_name
;
2556 short int var6
/* : Bool */;
2557 short int var_
/* var : Bool */;
2558 short int var7
/* : Bool */;
2559 long var8
/* : Int */;
2560 short int var10
/* : Bool */;
2563 const char* var_class_name13
;
2564 long var14
/* : Int */;
2567 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]>*/
2572 { /* Inline kernel$Int$> (var_pos,0l) on <var_pos:Int> */
2573 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2574 /* <0l:Int> isa OTHER */
2575 var5
= 1; /* easy <0l:Int> isa OTHER*/
2576 if (unlikely(!var5
)) {
2577 var_class_name
= type_core__Int
.name
;
2578 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2579 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
2582 var6
= var_pos
> 0l;
2591 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]>*/
2599 ((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]>*/
2602 { /* Inline kernel$Int$- (var_pos,1l) on <var_pos:Int> */
2603 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2604 /* <1l:Int> isa OTHER */
2605 var10
= 1; /* easy <1l:Int> isa OTHER*/
2606 if (unlikely(!var10
)) {
2607 var_class_name13
= type_core__Int
.name
;
2608 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
2609 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2612 var14
= var_pos
- 1l;
2623 BREAK_label
: (void)0;
2629 /* method abstract_collection$Sequence$first= for (self: Sequence[nullable Object], nullable Object) */
2630 void core___core__Sequence___first_61d(val
* self
, val
* p0
) {
2631 short int var
/* : Bool */;
2634 const struct type
* type_struct
;
2635 short int is_nullable
;
2636 const char* var_class_name
;
2637 val
* var_item
/* var item: nullable Object */;
2638 /* Covariant cast for argument 0 (item) <p0:nullable Object> isa E */
2639 /* <p0:nullable Object> isa E */
2640 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Sequence___35dE
];
2641 cltype
= type_struct
->color
;
2642 idtype
= type_struct
->id
;
2643 is_nullable
= type_struct
->is_nullable
;
2647 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2650 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2653 if (unlikely(!var
)) {
2654 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2655 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
2656 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1008);
2661 ((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]>*/
2665 /* method abstract_collection$Sequence$add for (self: Sequence[nullable Object], nullable Object) */
2666 void core___core__Sequence___SimpleCollection__add(val
* self
, val
* p0
) {
2667 short int var
/* : Bool */;
2670 const struct type
* type_struct
;
2671 short int is_nullable
;
2672 const char* var_class_name
;
2673 val
* var_e
/* var e: nullable Object */;
2674 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
2675 /* <p0:nullable Object> isa E */
2676 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Sequence___35dE
];
2677 cltype
= type_struct
->color
;
2678 idtype
= type_struct
->id
;
2679 is_nullable
= type_struct
->is_nullable
;
2683 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2686 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2689 if (unlikely(!var
)) {
2690 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2691 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
2692 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1039);
2697 ((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]>*/
2701 /* method abstract_collection$Sequence$append for (self: Sequence[nullable Object], Collection[nullable Object]) */
2702 void core___core__Sequence___append(val
* self
, val
* p0
) {
2703 short int var
/* : Bool */;
2706 const struct type
* type_struct
;
2707 const char* var_class_name
;
2708 val
* var_coll
/* var coll: Collection[nullable Object] */;
2709 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
2710 /* <p0:Collection[nullable Object]> isa Collection[E] */
2711 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Collection__core__Sequence___35dE
];
2712 cltype
= type_struct
->color
;
2713 idtype
= type_struct
->id
;
2714 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2717 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`", "Collection[E]", var_class_name
);
2722 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1050);
2727 ((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]>*/
2731 /* method abstract_collection$Sequence$pop for (self: Sequence[nullable Object]): nullable Object */
2732 val
* core___core__Sequence___pop(val
* self
) {
2733 val
* var
/* : nullable Object */;
2734 const char* var_class_name
;
2735 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2736 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "pop", var_class_name
);
2737 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1059);
2742 /* method abstract_collection$Sequence$unshift for (self: Sequence[nullable Object], nullable Object) */
2743 void core___core__Sequence___unshift(val
* self
, val
* p0
) {
2744 const char* var_class_name
;
2745 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2746 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "unshift", var_class_name
);
2747 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1069);
2751 /* method abstract_collection$Sequence$prepend for (self: Sequence[nullable Object], Collection[nullable Object]) */
2752 void core___core__Sequence___prepend(val
* self
, val
* p0
) {
2753 short int var
/* : Bool */;
2756 const struct type
* type_struct
;
2757 const char* var_class_name
;
2758 val
* var_coll
/* var coll: Collection[nullable Object] */;
2759 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
2760 /* <p0:Collection[nullable Object]> isa Collection[E] */
2761 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Collection__core__Sequence___35dE
];
2762 cltype
= type_struct
->color
;
2763 idtype
= type_struct
->id
;
2764 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2767 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2769 if (unlikely(!var
)) {
2770 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2771 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
2772 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1077);
2777 ((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]>*/
2781 /* method abstract_collection$Sequence$shift for (self: Sequence[nullable Object]): nullable Object */
2782 val
* core___core__Sequence___shift(val
* self
) {
2783 val
* var
/* : nullable Object */;
2784 const char* var_class_name
;
2785 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2786 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "shift", var_class_name
);
2787 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1086);
2792 /* method abstract_collection$Sequence$insert for (self: Sequence[nullable Object], nullable Object, Int) */
2793 void core___core__Sequence___insert(val
* self
, val
* p0
, long p1
) {
2794 const char* var_class_name
;
2795 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2796 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "insert", var_class_name
);
2797 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1130);
2801 /* method abstract_collection$Sequence$insert_all for (self: Sequence[nullable Object], Collection[nullable Object], Int) */
2802 void core___core__Sequence___insert_all(val
* self
, val
* p0
, long p1
) {
2803 short int var
/* : Bool */;
2806 const struct type
* type_struct
;
2807 const char* var_class_name
;
2808 val
* var_coll
/* var coll: Collection[nullable Object] */;
2809 long var_index
/* var index: Int */;
2810 short int var1
/* : Bool */;
2811 short int var2
/* : Bool */;
2812 short int var4
/* : Bool */;
2815 const char* var_class_name7
;
2816 short int var8
/* : Bool */;
2817 short int var_
/* var : Bool */;
2818 long var9
/* : Int */;
2819 short int var10
/* : Bool */;
2820 short int var12
/* : Bool */;
2823 const char* var_class_name15
;
2824 short int var16
/* : Bool */;
2825 long var17
/* : Int */;
2826 short int var18
/* : Bool */;
2827 short int var20
/* : Bool */;
2828 val
* var_21
/* var : Collection[nullable Object] */;
2829 val
* var22
/* : Iterator[nullable Object] */;
2830 val
* var_23
/* var : Iterator[nullable Object] */;
2831 short int var24
/* : Bool */;
2832 val
* var25
/* : nullable Object */;
2833 val
* var_c
/* var c: nullable Object */;
2834 long var26
/* : Int */;
2835 short int var28
/* : Bool */;
2838 const char* var_class_name31
;
2839 long var32
/* : Int */;
2840 /* Covariant cast for argument 0 (coll) <p0:Collection[nullable Object]> isa Collection[E] */
2841 /* <p0:Collection[nullable Object]> isa Collection[E] */
2842 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Collection__core__Sequence___35dE
];
2843 cltype
= type_struct
->color
;
2844 idtype
= type_struct
->id
;
2845 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2848 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2850 if (unlikely(!var
)) {
2851 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2852 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
2853 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1140);
2859 { /* Inline kernel$Int$>= (var_index,0l) on <var_index:Int> */
2860 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2861 /* <0l:Int> isa OTHER */
2862 var4
= 1; /* easy <0l:Int> isa OTHER*/
2863 if (unlikely(!var4
)) {
2864 var_class_name7
= type_core__Int
.name
;
2865 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7
);
2866 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
2869 var8
= var_index
>= 0l;
2878 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]>*/
2881 { /* Inline kernel$Int$< (var_index,var9) on <var_index:Int> */
2882 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
2883 /* <var9:Int> isa OTHER */
2884 var12
= 1; /* easy <var9:Int> isa OTHER*/
2885 if (unlikely(!var12
)) {
2886 var_class_name15
= type_core__Int
.name
;
2887 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
2888 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
2891 var16
= var_index
< var9
;
2894 RET_LABEL11
:(void)0;
2901 if (unlikely(!var1
)) {
2902 if(catchStack
.cursor
>= 0){
2903 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2905 PRINT_ERROR("Runtime error: %s", "Assert failed");
2906 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1150);
2910 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]>*/
2913 { /* Inline kernel$Int$== (var_index,var17) on <var_index:Int> */
2914 var20
= var_index
== var17
;
2917 RET_LABEL19
:(void)0;
2922 ((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]>*/
2928 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]>*/
2933 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]>*/
2940 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]>*/
2944 ((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]>*/
2947 { /* Inline kernel$Int$+ (var_index,1l) on <var_index:Int> */
2948 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2949 /* <1l:Int> isa OTHER */
2950 var28
= 1; /* easy <1l:Int> isa OTHER*/
2951 if (unlikely(!var28
)) {
2952 var_class_name31
= type_core__Int
.name
;
2953 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
2954 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
2957 var32
= var_index
+ 1l;
2960 RET_LABEL27
:(void)0;
2965 ((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]>*/
2968 BREAK_label
: (void)0;
2970 ((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]>*/
2974 /* method abstract_collection$Sequence$remove_at for (self: Sequence[nullable Object], Int) */
2975 void core___core__Sequence___remove_at(val
* self
, long p0
) {
2976 const char* var_class_name
;
2977 var_class_name
= self
== NULL ?
"null" : (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->name
;
2978 PRINT_ERROR("Runtime error: Abstract method `%s` called on `%s`", "remove_at", var_class_name
);
2979 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1160);
2983 /* method abstract_collection$CoupleMap$iterator for (self: CoupleMap[nullable Object, nullable Object]): MapIterator[nullable Object, nullable Object] */
2984 val
* core___core__CoupleMap___MapRead__iterator(val
* self
) {
2985 val
* var
/* : MapIterator[nullable Object, nullable Object] */;
2986 val
* var1
/* : CoupleMapIterator[nullable Object, nullable Object] */;
2987 val
* var2
/* : Iterator[Couple[nullable Object, nullable Object]] */;
2988 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
]);
2990 var2
= core___core__ArrayMap___core__abstract_collection__CoupleMap__couple_iterator(self
);
2993 ((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]>*/
2996 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:CoupleMapIterator[nullable Object, nullable Object]>*/
3003 /* method abstract_collection$CoupleMap$has_key for (self: CoupleMap[nullable Object, nullable Object], nullable Object): Bool */
3004 short int core___core__CoupleMap___MapRead__has_key(val
* self
, val
* p0
) {
3005 short int var
/* : Bool */;
3006 val
* var_key
/* var key: nullable Object */;
3007 val
* var1
/* : nullable Couple[nullable Object, nullable Object] */;
3008 short int var2
/* : Bool */;
3009 short int var3
/* : Bool */;
3010 val
* var_other
/* var other: nullable Object */;
3011 short int var5
/* : Bool */;
3012 short int var6
/* : Bool */;
3015 var1
= core___core__ArrayMap___core__abstract_collection__CoupleMap__couple_at(self
, var_key
);
3018 var2
= 0; /* is null */
3020 var2
= 1; /* arg is null and recv is not */
3023 { /* Inline kernel$Object$!= (var1,((val*)NULL)) on <var1:nullable Couple[nullable Object, nullable Object]> */
3024 var_other
= ((val
*)NULL
);
3026 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])>*/
3040 /* method abstract_collection$CoupleMapIterator$item for (self: CoupleMapIterator[nullable Object, nullable Object]): nullable Object */
3041 val
* core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__item(val
* self
) {
3042 val
* var
/* : nullable Object */;
3043 val
* var1
/* : Iterator[Couple[nullable Object, nullable Object]] */;
3044 val
* var2
/* : nullable Object */;
3045 val
* var3
/* : nullable Object */;
3046 val
* var5
/* : nullable Object */;
3047 var1
= self
->attrs
[COLOR_core__abstract_collection__CoupleMapIterator___iter
].val
; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
3048 if (unlikely(var1
== NULL
)) {
3049 if(catchStack
.cursor
>= 0){
3050 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3052 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
3053 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1234);
3057 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]]>*/
3060 { /* Inline abstract_collection$Couple$second (var2) on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
3061 var5
= var2
->attrs
[COLOR_core__abstract_collection__Couple___second
].val
; /* _second on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
3071 /* method abstract_collection$CoupleMapIterator$key for (self: CoupleMapIterator[nullable Object, nullable Object]): nullable Object */
3072 val
* core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__key(val
* self
) {
3073 val
* var
/* : nullable Object */;
3074 val
* var1
/* : Iterator[Couple[nullable Object, nullable Object]] */;
3075 val
* var2
/* : nullable Object */;
3076 val
* var3
/* : nullable Object */;
3077 val
* var5
/* : nullable Object */;
3078 var1
= self
->attrs
[COLOR_core__abstract_collection__CoupleMapIterator___iter
].val
; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
3079 if (unlikely(var1
== NULL
)) {
3080 if(catchStack
.cursor
>= 0){
3081 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3083 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
3084 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1238);
3088 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]]>*/
3091 { /* Inline abstract_collection$Couple$first (var2) on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
3092 var5
= var2
->attrs
[COLOR_core__abstract_collection__Couple___first
].val
; /* _first on <var2:nullable Object(Couple[nullable Object, nullable Object])> */
3102 /* method abstract_collection$CoupleMapIterator$is_ok for (self: CoupleMapIterator[nullable Object, nullable Object]): Bool */
3103 short int core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__is_ok(val
* self
) {
3104 short int var
/* : Bool */;
3105 val
* var1
/* : Iterator[Couple[nullable Object, nullable Object]] */;
3106 short int var2
/* : Bool */;
3107 var1
= self
->attrs
[COLOR_core__abstract_collection__CoupleMapIterator___iter
].val
; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
3108 if (unlikely(var1
== NULL
)) {
3109 if(catchStack
.cursor
>= 0){
3110 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3112 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
3113 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1240);
3117 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]]>*/
3124 /* method abstract_collection$CoupleMapIterator$next for (self: CoupleMapIterator[nullable Object, nullable Object]) */
3125 void core__abstract_collection___core__abstract_collection__CoupleMapIterator___MapIterator__next(val
* self
) {
3126 val
* var
/* : Iterator[Couple[nullable Object, nullable Object]] */;
3127 var
= self
->attrs
[COLOR_core__abstract_collection__CoupleMapIterator___iter
].val
; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
3128 if (unlikely(var
== NULL
)) {
3129 if(catchStack
.cursor
>= 0){
3130 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3132 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iter");
3133 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1244);
3137 ((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]]>*/
3141 /* method abstract_collection$CoupleMapIterator$iter= for (self: CoupleMapIterator[nullable Object, nullable Object], Iterator[Couple[nullable Object, nullable Object]]) */
3142 void core__abstract_collection___core__abstract_collection__CoupleMapIterator___iter_61d(val
* self
, val
* p0
) {
3143 short int var
/* : Bool */;
3146 const struct type
* type_struct
;
3147 const char* var_class_name
;
3148 /* Covariant cast for argument 0 (iter) <p0:Iterator[Couple[nullable Object, nullable Object]]> isa Iterator[Couple[K, V]] */
3149 /* <p0:Iterator[Couple[nullable Object, nullable Object]]> isa Iterator[Couple[K, V]] */
3150 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Iterator__core__Couple__core__abstract_collection__CoupleMapIterator___35dK__core__abstract_collection__CoupleMapIterator___35dV
];
3151 cltype
= type_struct
->color
;
3152 idtype
= type_struct
->id
;
3153 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
3156 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
3158 if (unlikely(!var
)) {
3159 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
3160 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Iterator[Couple[K, V]]", var_class_name
);
3161 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1247);
3164 self
->attrs
[COLOR_core__abstract_collection__CoupleMapIterator___iter
].val
= p0
; /* _iter on <self:CoupleMapIterator[nullable Object, nullable Object]> */
3167 /* method abstract_collection$CoupleMapIterator$init for (self: CoupleMapIterator[nullable Object, nullable Object]) */
3168 void core__abstract_collection___core__abstract_collection__CoupleMapIterator___core__kernel__Object__init(val
* self
) {
3170 ((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]>*/
3174 /* method abstract_collection$Couple$first for (self: Couple[nullable Object, nullable Object]): nullable Object */
3175 val
* core___core__Couple___first(val
* self
) {
3176 val
* var
/* : nullable Object */;
3177 val
* var1
/* : nullable Object */;
3178 var1
= self
->attrs
[COLOR_core__abstract_collection__Couple___first
].val
; /* _first on <self:Couple[nullable Object, nullable Object]> */
3183 /* method abstract_collection$Couple$first= for (self: Couple[nullable Object, nullable Object], nullable Object) */
3184 void core___core__Couple___first_61d(val
* self
, val
* p0
) {
3185 short int var
/* : Bool */;
3188 const struct type
* type_struct
;
3189 short int is_nullable
;
3190 const char* var_class_name
;
3191 /* Covariant cast for argument 0 (first) <p0:nullable Object> isa F */
3192 /* <p0:nullable Object> isa F */
3193 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Couple___35dF
];
3194 cltype
= type_struct
->color
;
3195 idtype
= type_struct
->id
;
3196 is_nullable
= type_struct
->is_nullable
;
3200 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
3203 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
3206 if (unlikely(!var
)) {
3207 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
3208 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "F", var_class_name
);
3209 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1255);
3212 self
->attrs
[COLOR_core__abstract_collection__Couple___first
].val
= p0
; /* _first on <self:Couple[nullable Object, nullable Object]> */
3215 /* method abstract_collection$Couple$second for (self: Couple[nullable Object, nullable Object]): nullable Object */
3216 val
* core___core__Couple___second(val
* self
) {
3217 val
* var
/* : nullable Object */;
3218 val
* var1
/* : nullable Object */;
3219 var1
= self
->attrs
[COLOR_core__abstract_collection__Couple___second
].val
; /* _second on <self:Couple[nullable Object, nullable Object]> */
3224 /* method abstract_collection$Couple$second= for (self: Couple[nullable Object, nullable Object], nullable Object) */
3225 void core___core__Couple___second_61d(val
* self
, val
* p0
) {
3226 short int var
/* : Bool */;
3229 const struct type
* type_struct
;
3230 short int is_nullable
;
3231 const char* var_class_name
;
3232 /* Covariant cast for argument 0 (second) <p0:nullable Object> isa S */
3233 /* <p0:nullable Object> isa S */
3234 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Couple___35dS
];
3235 cltype
= type_struct
->color
;
3236 idtype
= type_struct
->id
;
3237 is_nullable
= type_struct
->is_nullable
;
3241 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
3244 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
3247 if (unlikely(!var
)) {
3248 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
3249 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "S", var_class_name
);
3250 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 1258);
3253 self
->attrs
[COLOR_core__abstract_collection__Couple___second
].val
= p0
; /* _second on <self:Couple[nullable Object, nullable Object]> */
3256 /* method abstract_collection$Couple$init for (self: Couple[nullable Object, nullable Object]) */
3257 void core___core__Couple___core__kernel__Object__init(val
* self
) {
3259 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Couple___core__kernel__Object__init
]))(self
); /* init on <self:Couple[nullable Object, nullable Object]>*/