1 #include "core__list.sep.0.h"
2 /* method list#List#[] for (self: List[nullable Object], Int): nullable Object */
3 val
* core___core__List___core__abstract_collection__SequenceRead___91d_93d(val
* self
, long p0
) {
4 val
* var
/* : nullable Object */;
5 long var_index
/* var index: Int */;
6 val
* var1
/* : nullable ListNode[nullable Object] */;
7 val
* var2
/* : nullable Object */;
8 val
* var4
/* : nullable Object */;
11 var1
= core___core__List___get_node(self
, var_index
);
14 PRINT_ERROR("Runtime error: %s", "Receiver is null");
15 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 24);
18 { /* Inline abstract_collection#Ref#item (var1) on <var1:nullable ListNode[nullable Object]> */
19 if (unlikely(var1
== NULL
)) {
20 PRINT_ERROR("Runtime error: %s", "Receiver is null");
21 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 334);
24 var4
= var1
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <var1:nullable ListNode[nullable Object]> */
34 /* method list#List#[]= for (self: List[nullable Object], Int, nullable Object) */
35 void core___core__List___core__abstract_collection__Sequence___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
36 short int var
/* : Bool */;
39 const struct type
* type_struct
;
40 short int is_nullable
;
41 const char* var_class_name
;
42 long var_index
/* var index: Int */;
43 val
* var_item
/* var item: nullable Object */;
44 val
* var1
/* : nullable ListNode[nullable Object] */;
45 short int var3
/* : Bool */;
48 const struct type
* type_struct6
;
49 short int is_nullable7
;
50 const char* var_class_name8
;
51 /* Covariant cast for argument 1 (item) <p1:nullable Object> isa E */
52 /* <p1:nullable Object> isa E */
53 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__List___35dE
];
54 cltype
= type_struct
->color
;
55 idtype
= type_struct
->id
;
56 is_nullable
= type_struct
->is_nullable
;
60 if(cltype
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
63 var
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype
] == idtype
;
67 var_class_name
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
68 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
69 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 26);
75 var1
= core___core__List___get_node(self
, var_index
);
78 PRINT_ERROR("Runtime error: %s", "Receiver is null");
79 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 26);
82 { /* Inline abstract_collection#Ref#item= (var1,var_item) on <var1:nullable ListNode[nullable Object]> */
83 /* Covariant cast for argument 0 (item) <var_item:nullable Object> isa E */
84 /* <var_item:nullable Object> isa E */
85 type_struct6
= var1
->type
->resolution_table
->types
[COLOR_core__Ref___35dE
];
86 cltype4
= type_struct6
->color
;
87 idtype5
= type_struct6
->id
;
88 is_nullable7
= type_struct6
->is_nullable
;
89 if(var_item
== NULL
) {
92 if(cltype4
>= (((long)var_item
&3)?type_info
[((long)var_item
&3)]:var_item
->type
)->table_size
) {
95 var3
= (((long)var_item
&3)?type_info
[((long)var_item
&3)]:var_item
->type
)->type_table
[cltype4
] == idtype5
;
98 if (unlikely(!var3
)) {
99 var_class_name8
= var_item
== NULL ?
"null" : (((long)var_item
&3)?type_info
[((long)var_item
&3)]:var_item
->type
)->name
;
100 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name8
);
101 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 334);
104 if (unlikely(var1
== NULL
)) {
105 PRINT_ERROR("Runtime error: %s", "Receiver is null");
106 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 334);
109 var1
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
= var_item
; /* _item on <var1:nullable ListNode[nullable Object]> */
115 /* method list#List#first for (self: List[nullable Object]): nullable Object */
116 val
* core___core__List___core__abstract_collection__Collection__first(val
* self
) {
117 val
* var
/* : nullable Object */;
118 val
* var1
/* : nullable ListNode[nullable Object] */;
119 val
* var2
/* : nullable Object */;
120 val
* var4
/* : nullable Object */;
121 var1
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
123 PRINT_ERROR("Runtime error: %s", "Receiver is null");
124 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 29);
127 { /* Inline abstract_collection#Ref#item (var1) on <var1:nullable ListNode[nullable Object]> */
128 if (unlikely(var1
== NULL
)) {
129 PRINT_ERROR("Runtime error: %s", "Receiver is null");
130 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 334);
133 var4
= var1
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <var1:nullable ListNode[nullable Object]> */
143 /* method list#List#first= for (self: List[nullable Object], nullable Object) */
144 void core___core__List___core__abstract_collection__Sequence__first_61d(val
* self
, val
* p0
) {
145 short int var
/* : Bool */;
148 const struct type
* type_struct
;
149 short int is_nullable
;
150 const char* var_class_name
;
151 val
* var_e
/* var e: nullable Object */;
152 val
* var1
/* : nullable ListNode[nullable Object] */;
153 short int var3
/* : Bool */;
156 const struct type
* type_struct6
;
157 short int is_nullable7
;
158 const char* var_class_name8
;
159 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
160 /* <p0:nullable Object> isa E */
161 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__List___35dE
];
162 cltype
= type_struct
->color
;
163 idtype
= type_struct
->id
;
164 is_nullable
= type_struct
->is_nullable
;
168 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
171 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
174 if (unlikely(!var
)) {
175 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
176 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
177 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 31);
181 var1
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
183 PRINT_ERROR("Runtime error: %s", "Receiver is null");
184 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 32);
187 { /* Inline abstract_collection#Ref#item= (var1,var_e) on <var1:nullable ListNode[nullable Object]> */
188 /* Covariant cast for argument 0 (item) <var_e:nullable Object> isa E */
189 /* <var_e:nullable Object> isa E */
190 type_struct6
= var1
->type
->resolution_table
->types
[COLOR_core__Ref___35dE
];
191 cltype4
= type_struct6
->color
;
192 idtype5
= type_struct6
->id
;
193 is_nullable7
= type_struct6
->is_nullable
;
197 if(cltype4
>= (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->table_size
) {
200 var3
= (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->type_table
[cltype4
] == idtype5
;
203 if (unlikely(!var3
)) {
204 var_class_name8
= var_e
== NULL ?
"null" : (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->name
;
205 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name8
);
206 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 334);
209 if (unlikely(var1
== NULL
)) {
210 PRINT_ERROR("Runtime error: %s", "Receiver is null");
211 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 334);
214 var1
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
= var_e
; /* _item on <var1:nullable ListNode[nullable Object]> */
220 /* method list#List#last for (self: List[nullable Object]): nullable Object */
221 val
* core___core__List___core__abstract_collection__SequenceRead__last(val
* self
) {
222 val
* var
/* : nullable Object */;
223 val
* var1
/* : nullable ListNode[nullable Object] */;
224 val
* var2
/* : nullable Object */;
225 val
* var4
/* : nullable Object */;
226 var1
= self
->attrs
[COLOR_core__list__List___tail
].val
; /* _tail on <self:List[nullable Object]> */
228 PRINT_ERROR("Runtime error: %s", "Receiver is null");
229 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 35);
232 { /* Inline abstract_collection#Ref#item (var1) on <var1:nullable ListNode[nullable Object]> */
233 if (unlikely(var1
== NULL
)) {
234 PRINT_ERROR("Runtime error: %s", "Receiver is null");
235 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 334);
238 var4
= var1
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <var1:nullable ListNode[nullable Object]> */
248 /* method list#List#is_empty for (self: List[nullable Object]): Bool */
249 short int core___core__List___core__abstract_collection__Collection__is_empty(val
* self
) {
250 short int var
/* : Bool */;
251 val
* var1
/* : nullable ListNode[nullable Object] */;
252 short int var2
/* : Bool */;
253 short int var3
/* : Bool */;
254 val
* var_other
/* var other: nullable Object */;
255 short int var5
/* : Bool */;
256 short int var7
/* : Bool */;
257 var1
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
259 var2
= 1; /* is null */
261 var2
= 0; /* arg is null but recv is not */
264 { /* Inline kernel#Object#== (var1,((val*)NULL)) on <var1:nullable ListNode[nullable Object]> */
265 var_other
= ((val
*)NULL
);
267 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable ListNode[nullable Object](ListNode[nullable Object])> */
268 var7
= var1
== var_other
;
285 /* method list#List#length for (self: List[nullable Object]): Int */
286 long core___core__List___core__abstract_collection__Collection__length(val
* self
) {
287 long var
/* : Int */;
288 long var1
/* : Int */;
289 var1
= self
->attrs
[COLOR_core__list__List___length
].l
; /* _length on <self:List[nullable Object]> */
294 /* method list#List#length= for (self: List[nullable Object], Int) */
295 void core___core__List___length_61d(val
* self
, long p0
) {
296 self
->attrs
[COLOR_core__list__List___length
].l
= p0
; /* _length on <self:List[nullable Object]> */
299 /* method list#List#has for (self: List[nullable Object], nullable Object): Bool */
300 short int core___core__List___core__abstract_collection__Collection__has(val
* self
, val
* p0
) {
301 short int var
/* : Bool */;
302 val
* var_e
/* var e: nullable Object */;
303 short int var1
/* : Bool */;
306 const struct type
* type_struct
;
307 short int is_nullable
;
308 const char* var_class_name
;
309 val
* var2
/* : nullable ListNode[nullable Object] */;
310 val
* var3
/* : nullable ListNode[nullable Object] */;
311 short int var4
/* : Bool */;
312 short int var5
/* : Bool */;
313 val
* var_other
/* var other: nullable Object */;
314 short int var7
/* : Bool */;
315 short int var8
/* : Bool */;
317 /* <var_e:nullable Object> isa E */
318 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__List___35dE
];
319 cltype
= type_struct
->color
;
320 idtype
= type_struct
->id
;
321 is_nullable
= type_struct
->is_nullable
;
325 if(cltype
>= (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->table_size
) {
328 var1
= (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->type_table
[cltype
] == idtype
;
331 if (unlikely(!var1
)) {
332 var_class_name
= var_e
== NULL ?
"null" : (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->name
;
333 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
334 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 49);
337 var2
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
339 var3
= core___core__List___search_node_after(self
, var_e
, var2
);
342 var4
= 0; /* is null */
344 var4
= 1; /* arg is null and recv is not */
347 { /* Inline kernel#Object#!= (var3,((val*)NULL)) on <var3:nullable ListNode[nullable Object]> */
348 var_other
= ((val
*)NULL
);
350 var7
= ((short int(*)(val
* self
, val
* p0
))(var3
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var3
, var_other
); /* == on <var3:nullable ListNode[nullable Object](ListNode[nullable Object])>*/
364 /* method list#List#push for (self: List[nullable Object], nullable Object) */
365 void core___core__List___core__abstract_collection__Sequence__push(val
* self
, val
* p0
) {
366 short int var
/* : Bool */;
369 const struct type
* type_struct
;
370 short int is_nullable
;
371 const char* var_class_name
;
372 val
* var_e
/* var e: nullable Object */;
373 val
* var1
/* : ListNode[nullable Object] */;
374 val
* var_node
/* var node: ListNode[nullable Object] */;
375 val
* var2
/* : nullable ListNode[nullable Object] */;
376 short int var3
/* : Bool */;
377 short int var4
/* : Bool */;
378 val
* var_other
/* var other: nullable Object */;
379 short int var6
/* : Bool */;
380 short int var8
/* : Bool */;
381 val
* var9
/* : nullable ListNode[nullable Object] */;
382 short int var11
/* : Bool */;
385 const struct type
* type_struct14
;
386 const char* var_class_name15
;
387 val
* var16
/* : nullable ListNode[nullable Object] */;
388 short int var18
/* : Bool */;
391 const struct type
* type_struct21
;
392 const char* var_class_name22
;
393 val
* var_
/* var : List[nullable Object] */;
394 long var23
/* : Int */;
395 long var25
/* : Int */;
396 long var26
/* : Int */;
397 short int var28
/* : Bool */;
400 const char* var_class_name31
;
401 long var32
/* : Int */;
402 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
403 /* <p0:nullable Object> isa E */
404 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__List___35dE
];
405 cltype
= type_struct
->color
;
406 idtype
= type_struct
->id
;
407 is_nullable
= type_struct
->is_nullable
;
411 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
414 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
417 if (unlikely(!var
)) {
418 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
419 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
420 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 86);
424 var1
= NEW_core__list__ListNode(self
->type
->resolution_table
->types
[COLOR_core__list__ListNode__core__List___35dE
]);
426 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__abstract_collection__Ref__item_61d
]))(var1
, var_e
); /* item= on <var1:ListNode[nullable Object]>*/
429 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:ListNode[nullable Object]>*/
432 var2
= self
->attrs
[COLOR_core__list__List___tail
].val
; /* _tail on <self:List[nullable Object]> */
434 var3
= 1; /* is null */
436 var3
= 0; /* arg is null but recv is not */
439 { /* Inline kernel#Object#== (var2,((val*)NULL)) on <var2:nullable ListNode[nullable Object]> */
440 var_other
= ((val
*)NULL
);
442 { /* Inline kernel#Object#is_same_instance (var2,var_other) on <var2:nullable ListNode[nullable Object](ListNode[nullable Object])> */
443 var8
= var2
== var_other
;
456 self
->attrs
[COLOR_core__list__List___head
].val
= var_node
; /* _head on <self:List[nullable Object]> */
458 var9
= self
->attrs
[COLOR_core__list__List___tail
].val
; /* _tail on <self:List[nullable Object]> */
460 PRINT_ERROR("Runtime error: %s", "Receiver is null");
461 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 93);
464 { /* Inline list#ListNode#next= (var9,var_node) on <var9:nullable ListNode[nullable Object]> */
465 /* Covariant cast for argument 0 (next) <var_node:ListNode[nullable Object]> isa nullable ListNode[E] */
466 /* <var_node:ListNode[nullable Object]> isa nullable ListNode[E] */
467 type_struct14
= var9
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
468 cltype12
= type_struct14
->color
;
469 idtype13
= type_struct14
->id
;
470 if(cltype12
>= var_node
->type
->table_size
) {
473 var11
= var_node
->type
->type_table
[cltype12
] == idtype13
;
475 if (unlikely(!var11
)) {
476 var_class_name15
= var_node
== NULL ?
"null" : var_node
->type
->name
;
477 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name15
);
478 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
481 if (unlikely(var9
== NULL
)) {
482 PRINT_ERROR("Runtime error: %s", "Receiver is null");
483 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
486 var9
->attrs
[COLOR_core__list__ListNode___next
].val
= var_node
; /* _next on <var9:nullable ListNode[nullable Object]> */
490 var16
= self
->attrs
[COLOR_core__list__List___tail
].val
; /* _tail on <self:List[nullable Object]> */
492 { /* Inline list#ListNode#prev= (var_node,var16) on <var_node:ListNode[nullable Object]> */
493 /* Covariant cast for argument 0 (prev) <var16:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
494 /* <var16:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
495 type_struct21
= var_node
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
496 cltype19
= type_struct21
->color
;
497 idtype20
= type_struct21
->id
;
501 if(cltype19
>= var16
->type
->table_size
) {
504 var18
= var16
->type
->type_table
[cltype19
] == idtype20
;
507 if (unlikely(!var18
)) {
508 var_class_name22
= var16
== NULL ?
"null" : var16
->type
->name
;
509 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name22
);
510 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
513 var_node
->attrs
[COLOR_core__list__ListNode___prev
].val
= var16
; /* _prev on <var_node:ListNode[nullable Object]> */
518 self
->attrs
[COLOR_core__list__List___tail
].val
= var_node
; /* _tail on <self:List[nullable Object]> */
521 { /* Inline list#List#length (var_) on <var_:List[nullable Object]> */
522 var25
= var_
->attrs
[COLOR_core__list__List___length
].l
; /* _length on <var_:List[nullable Object]> */
528 { /* Inline kernel#Int#+ (var23,1l) on <var23:Int> */
529 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
530 /* <1l:Int> isa OTHER */
531 var28
= 1; /* easy <1l:Int> isa OTHER*/
532 if (unlikely(!var28
)) {
533 var_class_name31
= type_core__Int
.name
;
534 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
535 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
545 { /* Inline list#List#length= (var_,var26) on <var_:List[nullable Object]> */
546 var_
->attrs
[COLOR_core__list__List___length
].l
= var26
; /* _length on <var_:List[nullable Object]> */
552 /* method list#List#unshift for (self: List[nullable Object], nullable Object) */
553 void core___core__List___core__abstract_collection__Sequence__unshift(val
* self
, val
* p0
) {
554 short int var
/* : Bool */;
557 const struct type
* type_struct
;
558 short int is_nullable
;
559 const char* var_class_name
;
560 val
* var_e
/* var e: nullable Object */;
561 val
* var1
/* : ListNode[nullable Object] */;
562 val
* var_node
/* var node: ListNode[nullable Object] */;
563 val
* var2
/* : nullable ListNode[nullable Object] */;
564 short int var3
/* : Bool */;
565 short int var4
/* : Bool */;
566 val
* var_other
/* var other: nullable Object */;
567 short int var6
/* : Bool */;
568 short int var8
/* : Bool */;
569 val
* var9
/* : nullable ListNode[nullable Object] */;
570 short int var11
/* : Bool */;
573 const struct type
* type_struct14
;
574 const char* var_class_name15
;
575 val
* var16
/* : nullable ListNode[nullable Object] */;
576 short int var18
/* : Bool */;
579 const struct type
* type_struct21
;
580 const char* var_class_name22
;
581 val
* var_
/* var : List[nullable Object] */;
582 long var23
/* : Int */;
583 long var25
/* : Int */;
584 long var26
/* : Int */;
585 short int var28
/* : Bool */;
588 const char* var_class_name31
;
589 long var32
/* : Int */;
590 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
591 /* <p0:nullable Object> isa E */
592 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__List___35dE
];
593 cltype
= type_struct
->color
;
594 idtype
= type_struct
->id
;
595 is_nullable
= type_struct
->is_nullable
;
599 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
602 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
605 if (unlikely(!var
)) {
606 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
607 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
608 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 100);
612 var1
= NEW_core__list__ListNode(self
->type
->resolution_table
->types
[COLOR_core__list__ListNode__core__List___35dE
]);
614 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__abstract_collection__Ref__item_61d
]))(var1
, var_e
); /* item= on <var1:ListNode[nullable Object]>*/
617 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:ListNode[nullable Object]>*/
620 var2
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
622 var3
= 1; /* is null */
624 var3
= 0; /* arg is null but recv is not */
627 { /* Inline kernel#Object#== (var2,((val*)NULL)) on <var2:nullable ListNode[nullable Object]> */
628 var_other
= ((val
*)NULL
);
630 { /* Inline kernel#Object#is_same_instance (var2,var_other) on <var2:nullable ListNode[nullable Object](ListNode[nullable Object])> */
631 var8
= var2
== var_other
;
644 self
->attrs
[COLOR_core__list__List___tail
].val
= var_node
; /* _tail on <self:List[nullable Object]> */
646 var9
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
648 { /* Inline list#ListNode#next= (var_node,var9) on <var_node:ListNode[nullable Object]> */
649 /* Covariant cast for argument 0 (next) <var9:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
650 /* <var9:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
651 type_struct14
= var_node
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
652 cltype12
= type_struct14
->color
;
653 idtype13
= type_struct14
->id
;
657 if(cltype12
>= var9
->type
->table_size
) {
660 var11
= var9
->type
->type_table
[cltype12
] == idtype13
;
663 if (unlikely(!var11
)) {
664 var_class_name15
= var9
== NULL ?
"null" : var9
->type
->name
;
665 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name15
);
666 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
669 var_node
->attrs
[COLOR_core__list__ListNode___next
].val
= var9
; /* _next on <var_node:ListNode[nullable Object]> */
673 var16
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
675 PRINT_ERROR("Runtime error: %s", "Receiver is null");
676 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 108);
679 { /* Inline list#ListNode#prev= (var16,var_node) on <var16:nullable ListNode[nullable Object]> */
680 /* Covariant cast for argument 0 (prev) <var_node:ListNode[nullable Object]> isa nullable ListNode[E] */
681 /* <var_node:ListNode[nullable Object]> isa nullable ListNode[E] */
682 type_struct21
= var16
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
683 cltype19
= type_struct21
->color
;
684 idtype20
= type_struct21
->id
;
685 if(cltype19
>= var_node
->type
->table_size
) {
688 var18
= var_node
->type
->type_table
[cltype19
] == idtype20
;
690 if (unlikely(!var18
)) {
691 var_class_name22
= var_node
== NULL ?
"null" : var_node
->type
->name
;
692 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name22
);
693 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
696 if (unlikely(var16
== NULL
)) {
697 PRINT_ERROR("Runtime error: %s", "Receiver is null");
698 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
701 var16
->attrs
[COLOR_core__list__ListNode___prev
].val
= var_node
; /* _prev on <var16:nullable ListNode[nullable Object]> */
706 self
->attrs
[COLOR_core__list__List___head
].val
= var_node
; /* _head on <self:List[nullable Object]> */
709 { /* Inline list#List#length (var_) on <var_:List[nullable Object]> */
710 var25
= var_
->attrs
[COLOR_core__list__List___length
].l
; /* _length on <var_:List[nullable Object]> */
716 { /* Inline kernel#Int#+ (var23,1l) on <var23:Int> */
717 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
718 /* <1l:Int> isa OTHER */
719 var28
= 1; /* easy <1l:Int> isa OTHER*/
720 if (unlikely(!var28
)) {
721 var_class_name31
= type_core__Int
.name
;
722 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
723 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
733 { /* Inline list#List#length= (var_,var26) on <var_:List[nullable Object]> */
734 var_
->attrs
[COLOR_core__list__List___length
].l
= var26
; /* _length on <var_:List[nullable Object]> */
740 /* method list#List#insert for (self: List[nullable Object], nullable Object, Int) */
741 void core___core__List___core__abstract_collection__Sequence__insert(val
* self
, val
* p0
, long p1
) {
742 short int var
/* : Bool */;
745 const struct type
* type_struct
;
746 short int is_nullable
;
747 const char* var_class_name
;
748 val
* var_e
/* var e: nullable Object */;
749 long var_i
/* var i: Int */;
750 val
* var1
/* : nullable ListNode[nullable Object] */;
751 val
* var_node
/* var node: nullable ListNode[nullable Object] */;
752 short int var2
/* : Bool */;
753 short int var3
/* : Bool */;
754 val
* var_other
/* var other: nullable Object */;
755 short int var5
/* : Bool */;
756 short int var7
/* : Bool */;
757 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
758 /* <p0:nullable Object> isa E */
759 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__List___35dE
];
760 cltype
= type_struct
->color
;
761 idtype
= type_struct
->id
;
762 is_nullable
= type_struct
->is_nullable
;
766 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
769 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
772 if (unlikely(!var
)) {
773 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
774 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
775 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 114);
781 var1
= core___core__List___get_node(self
, var_i
);
784 if (var_node
== NULL
) {
785 var2
= 1; /* is null */
787 var2
= 0; /* arg is null but recv is not */
790 { /* Inline kernel#Object#== (var_node,((val*)NULL)) on <var_node:nullable ListNode[nullable Object]> */
791 var_other
= ((val
*)NULL
);
793 { /* Inline kernel#Object#is_same_instance (var_node,var_other) on <var_node:nullable ListNode[nullable Object](ListNode[nullable Object])> */
794 var7
= var_node
== var_other
;
808 core___core__List___core__abstract_collection__Sequence__push(self
, var_e
); /* Direct call list#List#push on <self:List[nullable Object]>*/
814 core___core__List___insert_before(self
, var_e
, var_node
); /* Direct call list#List#insert_before on <self:List[nullable Object]>*/
818 /* method list#List#pop for (self: List[nullable Object]): nullable Object */
819 val
* core___core__List___core__abstract_collection__Sequence__pop(val
* self
) {
820 val
* var
/* : nullable Object */;
821 val
* var1
/* : nullable ListNode[nullable Object] */;
822 val
* var_node
/* var node: nullable ListNode[nullable Object] */;
823 val
* var2
/* : nullable ListNode[nullable Object] */;
824 val
* var4
/* : nullable ListNode[nullable Object] */;
825 short int var6
/* : Bool */;
828 const char* var_class_name
;
829 val
* var7
/* : nullable ListNode[nullable Object] */;
830 short int var8
/* : Bool */;
831 short int var9
/* : Bool */;
832 val
* var_other
/* var other: nullable Object */;
833 short int var11
/* : Bool */;
834 short int var13
/* : Bool */;
835 val
* var14
/* : nullable ListNode[nullable Object] */;
836 short int var16
/* : Bool */;
839 const char* var_class_name19
;
840 val
* var_
/* var : List[nullable Object] */;
841 long var20
/* : Int */;
842 long var22
/* : Int */;
843 long var23
/* : Int */;
844 short int var25
/* : Bool */;
847 const char* var_class_name28
;
848 long var29
/* : Int */;
849 val
* var31
/* : nullable Object */;
850 val
* var33
/* : nullable Object */;
851 var1
= self
->attrs
[COLOR_core__list__List___tail
].val
; /* _tail on <self:List[nullable Object]> */
853 if (var_node
== NULL
) {
854 PRINT_ERROR("Runtime error: %s", "Receiver is null");
855 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 147);
858 { /* Inline list#ListNode#prev (var_node) on <var_node:nullable ListNode[nullable Object]> */
859 if (unlikely(var_node
== NULL
)) {
860 PRINT_ERROR("Runtime error: %s", "Receiver is null");
861 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
864 var4
= var_node
->attrs
[COLOR_core__list__ListNode___prev
].val
; /* _prev on <var_node:nullable ListNode[nullable Object]> */
869 self
->attrs
[COLOR_core__list__List___tail
].val
= var2
; /* _tail on <self:List[nullable Object]> */
870 if (var_node
== NULL
) {
871 PRINT_ERROR("Runtime error: %s", "Receiver is null");
872 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 148);
875 { /* Inline list#ListNode#prev= (var_node,((val*)NULL)) on <var_node:nullable ListNode[nullable Object]> */
876 /* Covariant cast for argument 0 (prev) <((val*)NULL):null> isa nullable ListNode[E] */
877 /* <((val*)NULL):null> isa nullable ListNode[E] */
878 var6
= 1; /* easy <((val*)NULL):null> isa nullable ListNode[E]*/
879 if (unlikely(!var6
)) {
880 var_class_name
= ((val
*)NULL
) == NULL ?
"null" : ((val
*)NULL
)->type
->name
;
881 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name
);
882 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
885 if (unlikely(var_node
== NULL
)) {
886 PRINT_ERROR("Runtime error: %s", "Receiver is null");
887 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
890 var_node
->attrs
[COLOR_core__list__ListNode___prev
].val
= ((val
*)NULL
); /* _prev on <var_node:nullable ListNode[nullable Object]> */
894 var7
= self
->attrs
[COLOR_core__list__List___tail
].val
; /* _tail on <self:List[nullable Object]> */
896 var8
= 1; /* is null */
898 var8
= 0; /* arg is null but recv is not */
901 { /* Inline kernel#Object#== (var7,((val*)NULL)) on <var7:nullable ListNode[nullable Object]> */
902 var_other
= ((val
*)NULL
);
904 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:nullable ListNode[nullable Object](ListNode[nullable Object])> */
905 var13
= var7
== var_other
;
918 self
->attrs
[COLOR_core__list__List___head
].val
= ((val
*)NULL
); /* _head on <self:List[nullable Object]> */
920 var14
= self
->attrs
[COLOR_core__list__List___tail
].val
; /* _tail on <self:List[nullable Object]> */
922 PRINT_ERROR("Runtime error: %s", "Receiver is null");
923 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 152);
926 { /* Inline list#ListNode#next= (var14,((val*)NULL)) on <var14:nullable ListNode[nullable Object]> */
927 /* Covariant cast for argument 0 (next) <((val*)NULL):null> isa nullable ListNode[E] */
928 /* <((val*)NULL):null> isa nullable ListNode[E] */
929 var16
= 1; /* easy <((val*)NULL):null> isa nullable ListNode[E]*/
930 if (unlikely(!var16
)) {
931 var_class_name19
= ((val
*)NULL
) == NULL ?
"null" : ((val
*)NULL
)->type
->name
;
932 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name19
);
933 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
936 if (unlikely(var14
== NULL
)) {
937 PRINT_ERROR("Runtime error: %s", "Receiver is null");
938 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
941 var14
->attrs
[COLOR_core__list__ListNode___next
].val
= ((val
*)NULL
); /* _next on <var14:nullable ListNode[nullable Object]> */
948 { /* Inline list#List#length (var_) on <var_:List[nullable Object]> */
949 var22
= var_
->attrs
[COLOR_core__list__List___length
].l
; /* _length on <var_:List[nullable Object]> */
955 { /* Inline kernel#Int#- (var20,1l) on <var20:Int> */
956 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
957 /* <1l:Int> isa OTHER */
958 var25
= 1; /* easy <1l:Int> isa OTHER*/
959 if (unlikely(!var25
)) {
960 var_class_name28
= type_core__Int
.name
;
961 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
962 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
972 { /* Inline list#List#length= (var_,var23) on <var_:List[nullable Object]> */
973 var_
->attrs
[COLOR_core__list__List___length
].l
= var23
; /* _length on <var_:List[nullable Object]> */
977 if (var_node
== NULL
) {
978 PRINT_ERROR("Runtime error: %s", "Receiver is null");
979 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 155);
982 { /* Inline abstract_collection#Ref#item (var_node) on <var_node:nullable ListNode[nullable Object]> */
983 if (unlikely(var_node
== NULL
)) {
984 PRINT_ERROR("Runtime error: %s", "Receiver is null");
985 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 334);
988 var33
= var_node
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <var_node:nullable ListNode[nullable Object]> */
998 /* method list#List#shift for (self: List[nullable Object]): nullable Object */
999 val
* core___core__List___core__abstract_collection__Sequence__shift(val
* self
) {
1000 val
* var
/* : nullable Object */;
1001 val
* var1
/* : nullable ListNode[nullable Object] */;
1002 val
* var_node
/* var node: nullable ListNode[nullable Object] */;
1003 val
* var2
/* : nullable ListNode[nullable Object] */;
1004 val
* var4
/* : nullable ListNode[nullable Object] */;
1005 short int var6
/* : Bool */;
1008 const char* var_class_name
;
1009 val
* var7
/* : nullable ListNode[nullable Object] */;
1010 short int var8
/* : Bool */;
1011 short int var9
/* : Bool */;
1012 val
* var_other
/* var other: nullable Object */;
1013 short int var11
/* : Bool */;
1014 short int var13
/* : Bool */;
1015 val
* var14
/* : nullable ListNode[nullable Object] */;
1016 short int var16
/* : Bool */;
1019 const char* var_class_name19
;
1020 val
* var_
/* var : List[nullable Object] */;
1021 long var20
/* : Int */;
1022 long var22
/* : Int */;
1023 long var23
/* : Int */;
1024 short int var25
/* : Bool */;
1027 const char* var_class_name28
;
1028 long var29
/* : Int */;
1029 val
* var31
/* : nullable Object */;
1030 val
* var33
/* : nullable Object */;
1031 var1
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
1033 if (var_node
== NULL
) {
1034 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1035 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 162);
1038 { /* Inline list#ListNode#next (var_node) on <var_node:nullable ListNode[nullable Object]> */
1039 if (unlikely(var_node
== NULL
)) {
1040 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1041 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
1044 var4
= var_node
->attrs
[COLOR_core__list__ListNode___next
].val
; /* _next on <var_node:nullable ListNode[nullable Object]> */
1049 self
->attrs
[COLOR_core__list__List___head
].val
= var2
; /* _head on <self:List[nullable Object]> */
1050 if (var_node
== NULL
) {
1051 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1052 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 163);
1055 { /* Inline list#ListNode#next= (var_node,((val*)NULL)) on <var_node:nullable ListNode[nullable Object]> */
1056 /* Covariant cast for argument 0 (next) <((val*)NULL):null> isa nullable ListNode[E] */
1057 /* <((val*)NULL):null> isa nullable ListNode[E] */
1058 var6
= 1; /* easy <((val*)NULL):null> isa nullable ListNode[E]*/
1059 if (unlikely(!var6
)) {
1060 var_class_name
= ((val
*)NULL
) == NULL ?
"null" : ((val
*)NULL
)->type
->name
;
1061 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name
);
1062 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
1065 if (unlikely(var_node
== NULL
)) {
1066 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1067 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
1070 var_node
->attrs
[COLOR_core__list__ListNode___next
].val
= ((val
*)NULL
); /* _next on <var_node:nullable ListNode[nullable Object]> */
1074 var7
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
1076 var8
= 1; /* is null */
1078 var8
= 0; /* arg is null but recv is not */
1081 { /* Inline kernel#Object#== (var7,((val*)NULL)) on <var7:nullable ListNode[nullable Object]> */
1082 var_other
= ((val
*)NULL
);
1084 { /* Inline kernel#Object#is_same_instance (var7,var_other) on <var7:nullable ListNode[nullable Object](ListNode[nullable Object])> */
1085 var13
= var7
== var_other
;
1088 RET_LABEL12
:(void)0;
1093 RET_LABEL10
:(void)0;
1098 self
->attrs
[COLOR_core__list__List___tail
].val
= ((val
*)NULL
); /* _tail on <self:List[nullable Object]> */
1100 var14
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
1101 if (var14
== NULL
) {
1102 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1103 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 167);
1106 { /* Inline list#ListNode#prev= (var14,((val*)NULL)) on <var14:nullable ListNode[nullable Object]> */
1107 /* Covariant cast for argument 0 (prev) <((val*)NULL):null> isa nullable ListNode[E] */
1108 /* <((val*)NULL):null> isa nullable ListNode[E] */
1109 var16
= 1; /* easy <((val*)NULL):null> isa nullable ListNode[E]*/
1110 if (unlikely(!var16
)) {
1111 var_class_name19
= ((val
*)NULL
) == NULL ?
"null" : ((val
*)NULL
)->type
->name
;
1112 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name19
);
1113 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
1116 if (unlikely(var14
== NULL
)) {
1117 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1118 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
1121 var14
->attrs
[COLOR_core__list__ListNode___prev
].val
= ((val
*)NULL
); /* _prev on <var14:nullable ListNode[nullable Object]> */
1122 RET_LABEL15
:(void)0;
1128 { /* Inline list#List#length (var_) on <var_:List[nullable Object]> */
1129 var22
= var_
->attrs
[COLOR_core__list__List___length
].l
; /* _length on <var_:List[nullable Object]> */
1131 RET_LABEL21
:(void)0;
1135 { /* Inline kernel#Int#- (var20,1l) on <var20:Int> */
1136 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1137 /* <1l:Int> isa OTHER */
1138 var25
= 1; /* easy <1l:Int> isa OTHER*/
1139 if (unlikely(!var25
)) {
1140 var_class_name28
= type_core__Int
.name
;
1141 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
1142 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1148 RET_LABEL24
:(void)0;
1152 { /* Inline list#List#length= (var_,var23) on <var_:List[nullable Object]> */
1153 var_
->attrs
[COLOR_core__list__List___length
].l
= var23
; /* _length on <var_:List[nullable Object]> */
1154 RET_LABEL30
:(void)0;
1157 if (var_node
== NULL
) {
1158 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1159 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 170);
1162 { /* Inline abstract_collection#Ref#item (var_node) on <var_node:nullable ListNode[nullable Object]> */
1163 if (unlikely(var_node
== NULL
)) {
1164 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1165 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 334);
1168 var33
= var_node
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <var_node:nullable ListNode[nullable Object]> */
1170 RET_LABEL32
:(void)0;
1178 /* method list#List#remove for (self: List[nullable Object], nullable Object) */
1179 void core___core__List___core__abstract_collection__RemovableCollection__remove(val
* self
, val
* p0
) {
1180 val
* var_e
/* var e: nullable Object */;
1181 short int var
/* : Bool */;
1184 const struct type
* type_struct
;
1185 short int is_nullable
;
1186 const char* var_class_name
;
1187 val
* var1
/* : nullable ListNode[nullable Object] */;
1188 val
* var2
/* : nullable ListNode[nullable Object] */;
1189 val
* var_node
/* var node: nullable ListNode[nullable Object] */;
1190 short int var3
/* : Bool */;
1191 short int var4
/* : Bool */;
1192 val
* var_other
/* var other: nullable Object */;
1193 short int var6
/* : Bool */;
1194 short int var7
/* : Bool */;
1196 /* <var_e:nullable Object> isa E */
1197 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__List___35dE
];
1198 cltype
= type_struct
->color
;
1199 idtype
= type_struct
->id
;
1200 is_nullable
= type_struct
->is_nullable
;
1204 if(cltype
>= (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->table_size
) {
1207 var
= (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->type_table
[cltype
] == idtype
;
1210 if (unlikely(!var
)) {
1211 var_class_name
= var_e
== NULL ?
"null" : (((long)var_e
&3)?type_info
[((long)var_e
&3)]:var_e
->type
)->name
;
1212 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1213 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 175);
1216 var1
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
1218 var2
= core___core__List___search_node_after(self
, var_e
, var1
);
1221 if (var_node
== NULL
) {
1222 var3
= 0; /* is null */
1224 var3
= 1; /* arg is null and recv is not */
1227 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ListNode[nullable Object]> */
1228 var_other
= ((val
*)NULL
);
1230 var6
= ((short int(*)(val
* self
, val
* p0
))(var_node
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_node
, var_other
); /* == on <var_node:nullable ListNode[nullable Object](ListNode[nullable Object])>*/
1241 core___core__List___remove_node(self
, var_node
); /* Direct call list#List#remove_node on <self:List[nullable Object]>*/
1247 /* method list#List#remove_at for (self: List[nullable Object], Int) */
1248 void core___core__List___core__abstract_collection__Sequence__remove_at(val
* self
, long p0
) {
1249 long var_i
/* var i: Int */;
1250 val
* var
/* : nullable ListNode[nullable Object] */;
1251 val
* var_node
/* var node: nullable ListNode[nullable Object] */;
1252 short int var1
/* : Bool */;
1253 short int var2
/* : Bool */;
1254 val
* var_other
/* var other: nullable Object */;
1255 short int var4
/* : Bool */;
1256 short int var5
/* : Bool */;
1259 var
= core___core__List___get_node(self
, var_i
);
1262 if (var_node
== NULL
) {
1263 var1
= 0; /* is null */
1265 var1
= 1; /* arg is null and recv is not */
1268 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ListNode[nullable Object]> */
1269 var_other
= ((val
*)NULL
);
1271 var4
= ((short int(*)(val
* self
, val
* p0
))(var_node
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_node
, var_other
); /* == on <var_node:nullable ListNode[nullable Object](ListNode[nullable Object])>*/
1282 core___core__List___remove_node(self
, var_node
); /* Direct call list#List#remove_node on <self:List[nullable Object]>*/
1288 /* method list#List#clear for (self: List[nullable Object]) */
1289 void core___core__List___core__abstract_collection__RemovableCollection__clear(val
* self
) {
1290 self
->attrs
[COLOR_core__list__List___head
].val
= ((val
*)NULL
); /* _head on <self:List[nullable Object]> */
1291 self
->attrs
[COLOR_core__list__List___tail
].val
= ((val
*)NULL
); /* _tail on <self:List[nullable Object]> */
1294 /* method list#List#iterator for (self: List[nullable Object]): ListIterator[nullable Object] */
1295 val
* core___core__List___core__abstract_collection__Collection__iterator(val
* self
) {
1296 val
* var
/* : ListIterator[nullable Object] */;
1297 val
* var1
/* : ListIterator[nullable Object] */;
1298 var1
= NEW_core__ListIterator(self
->type
->resolution_table
->types
[COLOR_core__ListIterator__core__List___35dE
]);
1300 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__list__ListIterator__list_61d
]))(var1
, self
); /* list= on <var1:ListIterator[nullable Object]>*/
1303 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:ListIterator[nullable Object]>*/
1310 /* method list#List#reverse_iterator for (self: List[nullable Object]): ListIterator[nullable Object] */
1311 val
* core___core__List___core__abstract_collection__SequenceRead__reverse_iterator(val
* self
) {
1312 val
* var
/* : ListIterator[nullable Object] */;
1313 val
* var1
/* : ListReverseIterator[nullable Object] */;
1314 var1
= NEW_core__list__ListReverseIterator(self
->type
->resolution_table
->types
[COLOR_core__list__ListReverseIterator__core__List___35dE
]);
1316 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__list__ListIterator__list_61d
]))(var1
, self
); /* list= on <var1:ListReverseIterator[nullable Object]>*/
1319 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:ListReverseIterator[nullable Object]>*/
1326 /* method list#List#init for (self: List[nullable Object]) */
1327 void core___core__List___core__kernel__Object__init(val
* self
) {
1329 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__List___core__kernel__Object__init
]))(self
); /* init on <self:List[nullable Object]>*/
1333 /* method list#List#get_node for (self: List[nullable Object], Int): nullable ListNode[nullable Object] */
1334 val
* core___core__List___get_node(val
* self
, long p0
) {
1335 val
* var
/* : nullable ListNode[nullable Object] */;
1336 long var_i
/* var i: Int */;
1337 val
* var1
/* : nullable ListNode[nullable Object] */;
1338 val
* var_n
/* var n: nullable ListNode[nullable Object] */;
1339 short int var2
/* : Bool */;
1340 short int var4
/* : Bool */;
1343 const char* var_class_name
;
1344 short int var5
/* : Bool */;
1345 short int var6
/* : Bool */;
1346 short int var7
/* : Bool */;
1347 short int var8
/* : Bool */;
1348 val
* var_other
/* var other: nullable Object */;
1349 short int var10
/* : Bool */;
1350 short int var11
/* : Bool */;
1351 short int var_
/* var : Bool */;
1352 short int var12
/* : Bool */;
1353 short int var14
/* : Bool */;
1356 const char* var_class_name17
;
1357 short int var18
/* : Bool */;
1358 val
* var19
/* : nullable ListNode[nullable Object] */;
1359 val
* var21
/* : nullable ListNode[nullable Object] */;
1360 long var22
/* : Int */;
1361 short int var24
/* : Bool */;
1364 const char* var_class_name27
;
1365 long var28
/* : Int */;
1367 var1
= self
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <self:List[nullable Object]> */
1370 { /* Inline kernel#Int#< (var_i,0l) on <var_i:Int> */
1371 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1372 /* <0l:Int> isa OTHER */
1373 var4
= 1; /* easy <0l:Int> isa OTHER*/
1374 if (unlikely(!var4
)) {
1375 var_class_name
= type_core__Int
.name
;
1376 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1377 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
1392 if (var_n
== NULL
) {
1393 var7
= 0; /* is null */
1395 var7
= 1; /* arg is null and recv is not */
1398 { /* Inline kernel#Object#!= (var_n,((val*)NULL)) on <var_n:nullable ListNode[nullable Object]> */
1399 var_other
= ((val
*)NULL
);
1401 var10
= ((short int(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_n
, var_other
); /* == on <var_n:nullable ListNode[nullable Object](ListNode[nullable Object])>*/
1413 { /* Inline kernel#Int#> (var_i,0l) on <var_i:Int> */
1414 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1415 /* <0l:Int> isa OTHER */
1416 var14
= 1; /* easy <0l:Int> isa OTHER*/
1417 if (unlikely(!var14
)) {
1418 var_class_name17
= type_core__Int
.name
;
1419 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
1420 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
1426 RET_LABEL13
:(void)0;
1435 { /* Inline list#ListNode#next (var_n) on <var_n:nullable ListNode[nullable Object](ListNode[nullable Object])> */
1436 var21
= var_n
->attrs
[COLOR_core__list__ListNode___next
].val
; /* _next on <var_n:nullable ListNode[nullable Object](ListNode[nullable Object])> */
1438 RET_LABEL20
:(void)0;
1443 { /* Inline kernel#Int#- (var_i,1l) on <var_i:Int> */
1444 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1445 /* <1l:Int> isa OTHER */
1446 var24
= 1; /* easy <1l:Int> isa OTHER*/
1447 if (unlikely(!var24
)) {
1448 var_class_name27
= type_core__Int
.name
;
1449 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
1450 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1456 RET_LABEL23
:(void)0;
1464 BREAK_label
: (void)0;
1470 /* method list#List#search_node_after for (self: List[nullable Object], nullable Object, nullable ListNode[nullable Object]): nullable ListNode[nullable Object] */
1471 val
* core___core__List___search_node_after(val
* self
, val
* p0
, val
* p1
) {
1472 val
* var
/* : nullable ListNode[nullable Object] */;
1473 short int var1
/* : Bool */;
1476 const struct type
* type_struct
;
1477 short int is_nullable
;
1478 const char* var_class_name
;
1479 short int var2
/* : Bool */;
1482 const struct type
* type_struct5
;
1483 const char* var_class_name6
;
1484 val
* var_e
/* var e: nullable Object */;
1485 val
* var_after
/* var after: nullable ListNode[nullable Object] */;
1486 val
* var_n
/* var n: nullable ListNode[nullable Object] */;
1487 short int var7
/* : Bool */;
1488 short int var8
/* : Bool */;
1489 short int var9
/* : Bool */;
1490 val
* var_other
/* var other: nullable Object */;
1491 short int var11
/* : Bool */;
1492 short int var12
/* : Bool */;
1493 short int var_
/* var : Bool */;
1494 val
* var13
/* : nullable Object */;
1495 val
* var15
/* : nullable Object */;
1496 short int var16
/* : Bool */;
1497 short int var17
/* : Bool */;
1498 val
* var18
/* : nullable ListNode[nullable Object] */;
1499 val
* var20
/* : nullable ListNode[nullable Object] */;
1500 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
1501 /* <p0:nullable Object> isa E */
1502 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__List___35dE
];
1503 cltype
= type_struct
->color
;
1504 idtype
= type_struct
->id
;
1505 is_nullable
= type_struct
->is_nullable
;
1509 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1512 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1515 if (unlikely(!var1
)) {
1516 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1517 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1518 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 221);
1521 /* Covariant cast for argument 1 (after) <p1:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
1522 /* <p1:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
1523 type_struct5
= self
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__List___35dE
];
1524 cltype3
= type_struct5
->color
;
1525 idtype4
= type_struct5
->id
;
1529 if(cltype3
>= p1
->type
->table_size
) {
1532 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
1535 if (unlikely(!var2
)) {
1536 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
1537 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name6
);
1538 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 221);
1545 if (var_n
== NULL
) {
1546 var8
= 0; /* is null */
1548 var8
= 1; /* arg is null and recv is not */
1551 { /* Inline kernel#Object#!= (var_n,((val*)NULL)) on <var_n:nullable ListNode[nullable Object]> */
1552 var_other
= ((val
*)NULL
);
1554 var11
= ((short int(*)(val
* self
, val
* p0
))(var_n
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_n
, var_other
); /* == on <var_n:nullable ListNode[nullable Object](ListNode[nullable Object])>*/
1559 RET_LABEL10
:(void)0;
1566 { /* Inline abstract_collection#Ref#item (var_n) on <var_n:nullable ListNode[nullable Object](ListNode[nullable Object])> */
1567 var15
= var_n
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <var_n:nullable ListNode[nullable Object](ListNode[nullable Object])> */
1569 RET_LABEL14
:(void)0;
1572 if (var13
== NULL
) {
1573 var16
= (var_e
!= NULL
);
1575 var17
= ((short int(*)(val
* self
, val
* p0
))((((long)var13
&3)?class_info
[((long)var13
&3)]:var13
->class)->vft
[COLOR_core__kernel__Object___33d_61d
]))(var13
, var_e
); /* != on <var13:nullable Object>*/
1584 { /* Inline list#ListNode#next (var_n) on <var_n:nullable ListNode[nullable Object](ListNode[nullable Object])> */
1585 var20
= var_n
->attrs
[COLOR_core__list__ListNode___next
].val
; /* _next on <var_n:nullable ListNode[nullable Object](ListNode[nullable Object])> */
1587 RET_LABEL19
:(void)0;
1595 BREAK_label
: (void)0;
1601 /* method list#List#remove_node for (self: List[nullable Object], ListNode[nullable Object]) */
1602 void core___core__List___remove_node(val
* self
, val
* p0
) {
1603 short int var
/* : Bool */;
1606 const struct type
* type_struct
;
1607 const char* var_class_name
;
1608 val
* var_node
/* var node: ListNode[nullable Object] */;
1609 val
* var_
/* var : List[nullable Object] */;
1610 long var1
/* : Int */;
1611 long var3
/* : Int */;
1612 long var4
/* : Int */;
1613 short int var6
/* : Bool */;
1616 const char* var_class_name9
;
1617 long var10
/* : Int */;
1618 val
* var12
/* : nullable ListNode[nullable Object] */;
1619 val
* var14
/* : nullable ListNode[nullable Object] */;
1620 short int var15
/* : Bool */;
1621 short int var16
/* : Bool */;
1622 val
* var_other
/* var other: nullable Object */;
1623 short int var18
/* : Bool */;
1624 short int var20
/* : Bool */;
1625 val
* var21
/* : nullable ListNode[nullable Object] */;
1626 val
* var23
/* : nullable ListNode[nullable Object] */;
1627 val
* var24
/* : nullable ListNode[nullable Object] */;
1628 val
* var26
/* : nullable ListNode[nullable Object] */;
1629 short int var27
/* : Bool */;
1630 short int var28
/* : Bool */;
1631 short int var30
/* : Bool */;
1632 short int var32
/* : Bool */;
1633 val
* var33
/* : nullable ListNode[nullable Object] */;
1634 val
* var35
/* : nullable ListNode[nullable Object] */;
1635 short int var37
/* : Bool */;
1638 const char* var_class_name40
;
1639 val
* var41
/* : nullable ListNode[nullable Object] */;
1640 val
* var43
/* : nullable ListNode[nullable Object] */;
1641 short int var44
/* : Bool */;
1642 short int var45
/* : Bool */;
1643 short int var47
/* : Bool */;
1644 short int var49
/* : Bool */;
1645 val
* var50
/* : nullable ListNode[nullable Object] */;
1646 val
* var52
/* : nullable ListNode[nullable Object] */;
1647 val
* var53
/* : nullable ListNode[nullable Object] */;
1648 val
* var55
/* : nullable ListNode[nullable Object] */;
1649 short int var57
/* : Bool */;
1652 const char* var_class_name60
;
1653 val
* var61
/* : nullable ListNode[nullable Object] */;
1654 val
* var63
/* : nullable ListNode[nullable Object] */;
1655 val
* var64
/* : nullable ListNode[nullable Object] */;
1656 val
* var66
/* : nullable ListNode[nullable Object] */;
1657 short int var68
/* : Bool */;
1660 const struct type
* type_struct71
;
1661 const char* var_class_name72
;
1662 val
* var73
/* : nullable ListNode[nullable Object] */;
1663 val
* var75
/* : nullable ListNode[nullable Object] */;
1664 val
* var76
/* : nullable ListNode[nullable Object] */;
1665 val
* var78
/* : nullable ListNode[nullable Object] */;
1666 short int var80
/* : Bool */;
1669 const struct type
* type_struct83
;
1670 const char* var_class_name84
;
1671 /* Covariant cast for argument 0 (node) <p0:ListNode[nullable Object]> isa ListNode[E] */
1672 /* <p0:ListNode[nullable Object]> isa ListNode[E] */
1673 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__list__ListNode__core__List___35dE
];
1674 cltype
= type_struct
->color
;
1675 idtype
= type_struct
->id
;
1676 if(cltype
>= p0
->type
->table_size
) {
1679 var
= p0
->type
->type_table
[cltype
] == idtype
;
1681 if (unlikely(!var
)) {
1682 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1683 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ListNode[E]", var_class_name
);
1684 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 229);
1690 { /* Inline list#List#length (var_) on <var_:List[nullable Object]> */
1691 var3
= var_
->attrs
[COLOR_core__list__List___length
].l
; /* _length on <var_:List[nullable Object]> */
1697 { /* Inline kernel#Int#- (var1,1l) on <var1:Int> */
1698 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1699 /* <1l:Int> isa OTHER */
1700 var6
= 1; /* easy <1l:Int> isa OTHER*/
1701 if (unlikely(!var6
)) {
1702 var_class_name9
= type_core__Int
.name
;
1703 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
1704 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1714 { /* Inline list#List#length= (var_,var4) on <var_:List[nullable Object]> */
1715 var_
->attrs
[COLOR_core__list__List___length
].l
= var4
; /* _length on <var_:List[nullable Object]> */
1716 RET_LABEL11
:(void)0;
1720 { /* Inline list#ListNode#prev (var_node) on <var_node:ListNode[nullable Object]> */
1721 var14
= var_node
->attrs
[COLOR_core__list__ListNode___prev
].val
; /* _prev on <var_node:ListNode[nullable Object]> */
1723 RET_LABEL13
:(void)0;
1726 if (var12
== NULL
) {
1727 var15
= 1; /* is null */
1729 var15
= 0; /* arg is null but recv is not */
1732 { /* Inline kernel#Object#== (var12,((val*)NULL)) on <var12:nullable ListNode[nullable Object]> */
1733 var_other
= ((val
*)NULL
);
1735 { /* Inline kernel#Object#is_same_instance (var12,var_other) on <var12:nullable ListNode[nullable Object](ListNode[nullable Object])> */
1736 var20
= var12
== var_other
;
1739 RET_LABEL19
:(void)0;
1744 RET_LABEL17
:(void)0;
1750 { /* Inline list#ListNode#next (var_node) on <var_node:ListNode[nullable Object]> */
1751 var23
= var_node
->attrs
[COLOR_core__list__ListNode___next
].val
; /* _next on <var_node:ListNode[nullable Object]> */
1753 RET_LABEL22
:(void)0;
1756 self
->attrs
[COLOR_core__list__List___head
].val
= var21
; /* _head on <self:List[nullable Object]> */
1758 { /* Inline list#ListNode#next (var_node) on <var_node:ListNode[nullable Object]> */
1759 var26
= var_node
->attrs
[COLOR_core__list__ListNode___next
].val
; /* _next on <var_node:ListNode[nullable Object]> */
1761 RET_LABEL25
:(void)0;
1764 if (var24
== NULL
) {
1765 var27
= 1; /* is null */
1767 var27
= 0; /* arg is null but recv is not */
1770 { /* Inline kernel#Object#== (var24,((val*)NULL)) on <var24:nullable ListNode[nullable Object]> */
1771 var_other
= ((val
*)NULL
);
1773 { /* Inline kernel#Object#is_same_instance (var24,var_other) on <var24:nullable ListNode[nullable Object](ListNode[nullable Object])> */
1774 var32
= var24
== var_other
;
1777 RET_LABEL31
:(void)0;
1782 RET_LABEL29
:(void)0;
1787 self
->attrs
[COLOR_core__list__List___tail
].val
= ((val
*)NULL
); /* _tail on <self:List[nullable Object]> */
1790 { /* Inline list#ListNode#next (var_node) on <var_node:ListNode[nullable Object]> */
1791 var35
= var_node
->attrs
[COLOR_core__list__ListNode___next
].val
; /* _next on <var_node:ListNode[nullable Object]> */
1793 RET_LABEL34
:(void)0;
1796 if (var33
== NULL
) {
1797 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1798 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 238);
1801 { /* Inline list#ListNode#prev= (var33,((val*)NULL)) on <var33:nullable ListNode[nullable Object]> */
1802 /* Covariant cast for argument 0 (prev) <((val*)NULL):null> isa nullable ListNode[E] */
1803 /* <((val*)NULL):null> isa nullable ListNode[E] */
1804 var37
= 1; /* easy <((val*)NULL):null> isa nullable ListNode[E]*/
1805 if (unlikely(!var37
)) {
1806 var_class_name40
= ((val
*)NULL
) == NULL ?
"null" : ((val
*)NULL
)->type
->name
;
1807 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name40
);
1808 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
1811 if (unlikely(var33
== NULL
)) {
1812 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1813 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
1816 var33
->attrs
[COLOR_core__list__ListNode___prev
].val
= ((val
*)NULL
); /* _prev on <var33:nullable ListNode[nullable Object]> */
1817 RET_LABEL36
:(void)0;
1823 { /* Inline list#ListNode#next (var_node) on <var_node:ListNode[nullable Object]> */
1824 var43
= var_node
->attrs
[COLOR_core__list__ListNode___next
].val
; /* _next on <var_node:ListNode[nullable Object]> */
1826 RET_LABEL42
:(void)0;
1829 if (var41
== NULL
) {
1830 var44
= 1; /* is null */
1832 var44
= 0; /* arg is null but recv is not */
1835 { /* Inline kernel#Object#== (var41,((val*)NULL)) on <var41:nullable ListNode[nullable Object]> */
1836 var_other
= ((val
*)NULL
);
1838 { /* Inline kernel#Object#is_same_instance (var41,var_other) on <var41:nullable ListNode[nullable Object](ListNode[nullable Object])> */
1839 var49
= var41
== var_other
;
1842 RET_LABEL48
:(void)0;
1847 RET_LABEL46
:(void)0;
1853 { /* Inline list#ListNode#prev (var_node) on <var_node:ListNode[nullable Object]> */
1854 var52
= var_node
->attrs
[COLOR_core__list__ListNode___prev
].val
; /* _prev on <var_node:ListNode[nullable Object]> */
1856 RET_LABEL51
:(void)0;
1859 self
->attrs
[COLOR_core__list__List___tail
].val
= var50
; /* _tail on <self:List[nullable Object]> */
1861 { /* Inline list#ListNode#prev (var_node) on <var_node:ListNode[nullable Object]> */
1862 var55
= var_node
->attrs
[COLOR_core__list__ListNode___prev
].val
; /* _prev on <var_node:ListNode[nullable Object]> */
1864 RET_LABEL54
:(void)0;
1867 if (var53
== NULL
) {
1868 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1869 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 242);
1872 { /* Inline list#ListNode#next= (var53,((val*)NULL)) on <var53:nullable ListNode[nullable Object]> */
1873 /* Covariant cast for argument 0 (next) <((val*)NULL):null> isa nullable ListNode[E] */
1874 /* <((val*)NULL):null> isa nullable ListNode[E] */
1875 var57
= 1; /* easy <((val*)NULL):null> isa nullable ListNode[E]*/
1876 if (unlikely(!var57
)) {
1877 var_class_name60
= ((val
*)NULL
) == NULL ?
"null" : ((val
*)NULL
)->type
->name
;
1878 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name60
);
1879 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
1882 if (unlikely(var53
== NULL
)) {
1883 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1884 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
1887 var53
->attrs
[COLOR_core__list__ListNode___next
].val
= ((val
*)NULL
); /* _next on <var53:nullable ListNode[nullable Object]> */
1888 RET_LABEL56
:(void)0;
1893 { /* Inline list#ListNode#prev (var_node) on <var_node:ListNode[nullable Object]> */
1894 var63
= var_node
->attrs
[COLOR_core__list__ListNode___prev
].val
; /* _prev on <var_node:ListNode[nullable Object]> */
1896 RET_LABEL62
:(void)0;
1900 { /* Inline list#ListNode#next (var_node) on <var_node:ListNode[nullable Object]> */
1901 var66
= var_node
->attrs
[COLOR_core__list__ListNode___next
].val
; /* _next on <var_node:ListNode[nullable Object]> */
1903 RET_LABEL65
:(void)0;
1906 if (var61
== NULL
) {
1907 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1908 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 244);
1911 { /* Inline list#ListNode#next= (var61,var64) on <var61:nullable ListNode[nullable Object]> */
1912 /* Covariant cast for argument 0 (next) <var64:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
1913 /* <var64:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
1914 type_struct71
= var61
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
1915 cltype69
= type_struct71
->color
;
1916 idtype70
= type_struct71
->id
;
1920 if(cltype69
>= var64
->type
->table_size
) {
1923 var68
= var64
->type
->type_table
[cltype69
] == idtype70
;
1926 if (unlikely(!var68
)) {
1927 var_class_name72
= var64
== NULL ?
"null" : var64
->type
->name
;
1928 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name72
);
1929 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
1932 if (unlikely(var61
== NULL
)) {
1933 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1934 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
1937 var61
->attrs
[COLOR_core__list__ListNode___next
].val
= var64
; /* _next on <var61:nullable ListNode[nullable Object]> */
1938 RET_LABEL67
:(void)0;
1942 { /* Inline list#ListNode#next (var_node) on <var_node:ListNode[nullable Object]> */
1943 var75
= var_node
->attrs
[COLOR_core__list__ListNode___next
].val
; /* _next on <var_node:ListNode[nullable Object]> */
1945 RET_LABEL74
:(void)0;
1949 { /* Inline list#ListNode#prev (var_node) on <var_node:ListNode[nullable Object]> */
1950 var78
= var_node
->attrs
[COLOR_core__list__ListNode___prev
].val
; /* _prev on <var_node:ListNode[nullable Object]> */
1952 RET_LABEL77
:(void)0;
1955 if (var73
== NULL
) {
1956 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1957 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 245);
1960 { /* Inline list#ListNode#prev= (var73,var76) on <var73:nullable ListNode[nullable Object]> */
1961 /* Covariant cast for argument 0 (prev) <var76:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
1962 /* <var76:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
1963 type_struct83
= var73
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
1964 cltype81
= type_struct83
->color
;
1965 idtype82
= type_struct83
->id
;
1969 if(cltype81
>= var76
->type
->table_size
) {
1972 var80
= var76
->type
->type_table
[cltype81
] == idtype82
;
1975 if (unlikely(!var80
)) {
1976 var_class_name84
= var76
== NULL ?
"null" : var76
->type
->name
;
1977 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name84
);
1978 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
1981 if (unlikely(var73
== NULL
)) {
1982 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1983 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
1986 var73
->attrs
[COLOR_core__list__ListNode___prev
].val
= var76
; /* _prev on <var73:nullable ListNode[nullable Object]> */
1987 RET_LABEL79
:(void)0;
1994 /* method list#List#insert_before for (self: List[nullable Object], nullable Object, ListNode[nullable Object]) */
1995 void core___core__List___insert_before(val
* self
, val
* p0
, val
* p1
) {
1996 short int var
/* : Bool */;
1999 const struct type
* type_struct
;
2000 short int is_nullable
;
2001 const char* var_class_name
;
2002 short int var1
/* : Bool */;
2005 const struct type
* type_struct4
;
2006 const char* var_class_name5
;
2007 val
* var_element
/* var element: nullable Object */;
2008 val
* var_node
/* var node: ListNode[nullable Object] */;
2009 val
* var_
/* var : List[nullable Object] */;
2010 long var6
/* : Int */;
2011 long var8
/* : Int */;
2012 long var9
/* : Int */;
2013 short int var11
/* : Bool */;
2016 const char* var_class_name14
;
2017 long var15
/* : Int */;
2018 val
* var17
/* : ListNode[nullable Object] */;
2019 val
* var_nnode
/* var nnode: ListNode[nullable Object] */;
2020 val
* var18
/* : nullable ListNode[nullable Object] */;
2021 val
* var20
/* : nullable ListNode[nullable Object] */;
2022 val
* var_prev
/* var prev: nullable ListNode[nullable Object] */;
2023 short int var21
/* : Bool */;
2024 short int var22
/* : Bool */;
2025 val
* var_other
/* var other: nullable Object */;
2026 short int var24
/* : Bool */;
2027 short int var26
/* : Bool */;
2028 short int var28
/* : Bool */;
2031 const struct type
* type_struct31
;
2032 const char* var_class_name32
;
2033 short int var34
/* : Bool */;
2036 const struct type
* type_struct37
;
2037 const char* var_class_name38
;
2038 short int var40
/* : Bool */;
2041 const struct type
* type_struct43
;
2042 const char* var_class_name44
;
2043 short int var46
/* : Bool */;
2046 const struct type
* type_struct49
;
2047 const char* var_class_name50
;
2048 /* Covariant cast for argument 0 (element) <p0:nullable Object> isa E */
2049 /* <p0:nullable Object> isa E */
2050 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__List___35dE
];
2051 cltype
= type_struct
->color
;
2052 idtype
= type_struct
->id
;
2053 is_nullable
= type_struct
->is_nullable
;
2057 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2060 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2063 if (unlikely(!var
)) {
2064 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2065 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
2066 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 249);
2069 /* Covariant cast for argument 1 (node) <p1:ListNode[nullable Object]> isa ListNode[E] */
2070 /* <p1:ListNode[nullable Object]> isa ListNode[E] */
2071 type_struct4
= self
->type
->resolution_table
->types
[COLOR_core__list__ListNode__core__List___35dE
];
2072 cltype2
= type_struct4
->color
;
2073 idtype3
= type_struct4
->id
;
2074 if(cltype2
>= p1
->type
->table_size
) {
2077 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
2079 if (unlikely(!var1
)) {
2080 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
2081 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "ListNode[E]", var_class_name5
);
2082 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 249);
2089 { /* Inline list#List#length (var_) on <var_:List[nullable Object]> */
2090 var8
= var_
->attrs
[COLOR_core__list__List___length
].l
; /* _length on <var_:List[nullable Object]> */
2096 { /* Inline kernel#Int#+ (var6,1l) on <var6:Int> */
2097 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2098 /* <1l:Int> isa OTHER */
2099 var11
= 1; /* easy <1l:Int> isa OTHER*/
2100 if (unlikely(!var11
)) {
2101 var_class_name14
= type_core__Int
.name
;
2102 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
2103 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2109 RET_LABEL10
:(void)0;
2113 { /* Inline list#List#length= (var_,var9) on <var_:List[nullable Object]> */
2114 var_
->attrs
[COLOR_core__list__List___length
].l
= var9
; /* _length on <var_:List[nullable Object]> */
2115 RET_LABEL16
:(void)0;
2118 var17
= NEW_core__list__ListNode(self
->type
->resolution_table
->types
[COLOR_core__list__ListNode__core__List___35dE
]);
2120 ((void(*)(val
* self
, val
* p0
))(var17
->class->vft
[COLOR_core__abstract_collection__Ref__item_61d
]))(var17
, var_element
); /* item= on <var17:ListNode[nullable Object]>*/
2123 ((void(*)(val
* self
))(var17
->class->vft
[COLOR_core__kernel__Object__init
]))(var17
); /* init on <var17:ListNode[nullable Object]>*/
2127 { /* Inline list#ListNode#prev (var_node) on <var_node:ListNode[nullable Object]> */
2128 var20
= var_node
->attrs
[COLOR_core__list__ListNode___prev
].val
; /* _prev on <var_node:ListNode[nullable Object]> */
2130 RET_LABEL19
:(void)0;
2134 if (var_prev
== NULL
) {
2135 var21
= 1; /* is null */
2137 var21
= 0; /* arg is null but recv is not */
2140 { /* Inline kernel#Object#== (var_prev,((val*)NULL)) on <var_prev:nullable ListNode[nullable Object]> */
2141 var_other
= ((val
*)NULL
);
2143 { /* Inline kernel#Object#is_same_instance (var_prev,var_other) on <var_prev:nullable ListNode[nullable Object](ListNode[nullable Object])> */
2144 var26
= var_prev
== var_other
;
2147 RET_LABEL25
:(void)0;
2152 RET_LABEL23
:(void)0;
2157 self
->attrs
[COLOR_core__list__List___head
].val
= var_nnode
; /* _head on <self:List[nullable Object]> */
2160 { /* Inline list#ListNode#next= (var_prev,var_nnode) on <var_prev:nullable ListNode[nullable Object](ListNode[nullable Object])> */
2161 /* Covariant cast for argument 0 (next) <var_nnode:ListNode[nullable Object]> isa nullable ListNode[E] */
2162 /* <var_nnode:ListNode[nullable Object]> isa nullable ListNode[E] */
2163 type_struct31
= var_prev
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
2164 cltype29
= type_struct31
->color
;
2165 idtype30
= type_struct31
->id
;
2166 if(cltype29
>= var_nnode
->type
->table_size
) {
2169 var28
= var_nnode
->type
->type_table
[cltype29
] == idtype30
;
2171 if (unlikely(!var28
)) {
2172 var_class_name32
= var_nnode
== NULL ?
"null" : var_nnode
->type
->name
;
2173 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name32
);
2174 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
2177 var_prev
->attrs
[COLOR_core__list__ListNode___next
].val
= var_nnode
; /* _next on <var_prev:nullable ListNode[nullable Object](ListNode[nullable Object])> */
2178 RET_LABEL27
:(void)0;
2183 { /* Inline list#ListNode#prev= (var_nnode,var_prev) on <var_nnode:ListNode[nullable Object]> */
2184 /* Covariant cast for argument 0 (prev) <var_prev:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
2185 /* <var_prev:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
2186 type_struct37
= var_nnode
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
2187 cltype35
= type_struct37
->color
;
2188 idtype36
= type_struct37
->id
;
2189 if(var_prev
== NULL
) {
2192 if(cltype35
>= var_prev
->type
->table_size
) {
2195 var34
= var_prev
->type
->type_table
[cltype35
] == idtype36
;
2198 if (unlikely(!var34
)) {
2199 var_class_name38
= var_prev
== NULL ?
"null" : var_prev
->type
->name
;
2200 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name38
);
2201 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
2204 var_nnode
->attrs
[COLOR_core__list__ListNode___prev
].val
= var_prev
; /* _prev on <var_nnode:ListNode[nullable Object]> */
2205 RET_LABEL33
:(void)0;
2209 { /* Inline list#ListNode#next= (var_nnode,var_node) on <var_nnode:ListNode[nullable Object]> */
2210 /* Covariant cast for argument 0 (next) <var_node:ListNode[nullable Object]> isa nullable ListNode[E] */
2211 /* <var_node:ListNode[nullable Object]> isa nullable ListNode[E] */
2212 type_struct43
= var_nnode
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
2213 cltype41
= type_struct43
->color
;
2214 idtype42
= type_struct43
->id
;
2215 if(cltype41
>= var_node
->type
->table_size
) {
2218 var40
= var_node
->type
->type_table
[cltype41
] == idtype42
;
2220 if (unlikely(!var40
)) {
2221 var_class_name44
= var_node
== NULL ?
"null" : var_node
->type
->name
;
2222 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name44
);
2223 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
2226 var_nnode
->attrs
[COLOR_core__list__ListNode___next
].val
= var_node
; /* _next on <var_nnode:ListNode[nullable Object]> */
2227 RET_LABEL39
:(void)0;
2231 { /* Inline list#ListNode#prev= (var_node,var_nnode) on <var_node:ListNode[nullable Object]> */
2232 /* Covariant cast for argument 0 (prev) <var_nnode:ListNode[nullable Object]> isa nullable ListNode[E] */
2233 /* <var_nnode:ListNode[nullable Object]> isa nullable ListNode[E] */
2234 type_struct49
= var_node
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
2235 cltype47
= type_struct49
->color
;
2236 idtype48
= type_struct49
->id
;
2237 if(cltype47
>= var_nnode
->type
->table_size
) {
2240 var46
= var_nnode
->type
->type_table
[cltype47
] == idtype48
;
2242 if (unlikely(!var46
)) {
2243 var_class_name50
= var_nnode
== NULL ?
"null" : var_nnode
->type
->name
;
2244 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name50
);
2245 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
2248 var_node
->attrs
[COLOR_core__list__ListNode___prev
].val
= var_nnode
; /* _prev on <var_node:ListNode[nullable Object]> */
2249 RET_LABEL45
:(void)0;
2254 /* method list#ListIterator#item for (self: ListIterator[nullable Object]): nullable Object */
2255 val
* core___core__ListIterator___core__abstract_collection__Iterator__item(val
* self
) {
2256 val
* var
/* : nullable Object */;
2257 val
* var1
/* : nullable ListNode[nullable Object] */;
2258 val
* var2
/* : nullable Object */;
2259 val
* var4
/* : nullable Object */;
2260 var1
= self
->attrs
[COLOR_core__list__ListIterator___node
].val
; /* _node on <self:ListIterator[nullable Object]> */
2262 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2263 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 268);
2266 { /* Inline abstract_collection#Ref#item (var1) on <var1:nullable ListNode[nullable Object]> */
2267 if (unlikely(var1
== NULL
)) {
2268 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2269 PRINT_ERROR(" (%s:%d)\n", FILE_core__abstract_collection
, 334);
2272 var4
= var1
->attrs
[COLOR_core__abstract_collection__Ref___item
].val
; /* _item on <var1:nullable ListNode[nullable Object]> */
2282 /* method list#ListIterator#is_ok for (self: ListIterator[nullable Object]): Bool */
2283 short int core___core__ListIterator___core__abstract_collection__Iterator__is_ok(val
* self
) {
2284 short int var
/* : Bool */;
2285 val
* var1
/* : nullable ListNode[nullable Object] */;
2286 short int var2
/* : Bool */;
2287 short int var3
/* : Bool */;
2288 val
* var_other
/* var other: nullable Object */;
2289 short int var5
/* : Bool */;
2290 short int var7
/* : Bool */;
2291 short int var8
/* : Bool */;
2292 var1
= self
->attrs
[COLOR_core__list__ListIterator___node
].val
; /* _node on <self:ListIterator[nullable Object]> */
2294 var2
= 1; /* is null */
2296 var2
= 0; /* arg is null but recv is not */
2299 { /* Inline kernel#Object#== (var1,((val*)NULL)) on <var1:nullable ListNode[nullable Object]> */
2300 var_other
= ((val
*)NULL
);
2302 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable ListNode[nullable Object](ListNode[nullable Object])> */
2303 var7
= var1
== var_other
;
2321 /* method list#ListIterator#next for (self: ListIterator[nullable Object]) */
2322 void core___core__ListIterator___core__abstract_collection__Iterator__next(val
* self
) {
2323 val
* var
/* : nullable ListNode[nullable Object] */;
2324 val
* var1
/* : nullable ListNode[nullable Object] */;
2325 val
* var3
/* : nullable ListNode[nullable Object] */;
2326 val
* var_
/* var : ListIterator[nullable Object] */;
2327 long var4
/* : Int */;
2328 long var5
/* : Int */;
2329 short int var7
/* : Bool */;
2332 const char* var_class_name
;
2333 long var8
/* : Int */;
2334 var
= self
->attrs
[COLOR_core__list__ListIterator___node
].val
; /* _node on <self:ListIterator[nullable Object]> */
2336 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2337 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 277);
2340 { /* Inline list#ListNode#next (var) on <var:nullable ListNode[nullable Object]> */
2341 if (unlikely(var
== NULL
)) {
2342 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2343 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
2346 var3
= var
->attrs
[COLOR_core__list__ListNode___next
].val
; /* _next on <var:nullable ListNode[nullable Object]> */
2351 self
->attrs
[COLOR_core__list__ListIterator___node
].val
= var1
; /* _node on <self:ListIterator[nullable Object]> */
2353 var4
= var_
->attrs
[COLOR_core__list__ListIterator___index
].l
; /* _index on <var_:ListIterator[nullable Object]> */
2355 { /* Inline kernel#Int#+ (var4,1l) on <var4:Int> */
2356 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2357 /* <1l:Int> isa OTHER */
2358 var7
= 1; /* easy <1l:Int> isa OTHER*/
2359 if (unlikely(!var7
)) {
2360 var_class_name
= type_core__Int
.name
;
2361 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2362 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2371 var_
->attrs
[COLOR_core__list__ListIterator___index
].l
= var5
; /* _index on <var_:ListIterator[nullable Object]> */
2374 /* method list#ListIterator#init for (self: ListIterator[nullable Object]) */
2375 void core___core__ListIterator___core__kernel__Object__init(val
* self
) {
2376 val
* var
/* : List[nullable Object] */;
2377 val
* var1
/* : nullable ListNode[nullable Object] */;
2379 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__ListIterator___core__kernel__Object__init
]))(self
); /* init on <self:ListIterator[nullable Object]>*/
2381 var
= self
->attrs
[COLOR_core__list__ListIterator___list
].val
; /* _list on <self:ListIterator[nullable Object]> */
2382 if (unlikely(var
== NULL
)) {
2383 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _list");
2384 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 284);
2387 var1
= var
->attrs
[COLOR_core__list__List___head
].val
; /* _head on <var:List[nullable Object]> */
2388 self
->attrs
[COLOR_core__list__ListIterator___node
].val
= var1
; /* _node on <self:ListIterator[nullable Object]> */
2391 /* method list#ListIterator#list= for (self: ListIterator[nullable Object], List[nullable Object]) */
2392 void core___core__ListIterator___list_61d(val
* self
, val
* p0
) {
2393 short int var
/* : Bool */;
2396 const struct type
* type_struct
;
2397 const char* var_class_name
;
2398 /* Covariant cast for argument 0 (list) <p0:List[nullable Object]> isa List[E] */
2399 /* <p0:List[nullable Object]> isa List[E] */
2400 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__List__core__ListIterator___35dE
];
2401 cltype
= type_struct
->color
;
2402 idtype
= type_struct
->id
;
2403 if(cltype
>= p0
->type
->table_size
) {
2406 var
= p0
->type
->type_table
[cltype
] == idtype
;
2408 if (unlikely(!var
)) {
2409 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2410 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "List[E]", var_class_name
);
2411 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 287);
2414 self
->attrs
[COLOR_core__list__ListIterator___list
].val
= p0
; /* _list on <self:ListIterator[nullable Object]> */
2417 /* method list#ListIterator#index for (self: ListIterator[nullable Object]): Int */
2418 long core___core__ListIterator___core__abstract_collection__IndexedIterator__index(val
* self
) {
2419 long var
/* : Int */;
2420 long var1
/* : Int */;
2421 var1
= self
->attrs
[COLOR_core__list__ListIterator___index
].l
; /* _index on <self:ListIterator[nullable Object]> */
2426 /* method list#ListReverseIterator#next for (self: ListReverseIterator[nullable Object]) */
2427 void core__list___core__list__ListReverseIterator___core__abstract_collection__Iterator__next(val
* self
) {
2428 val
* var
/* : nullable ListNode[nullable Object] */;
2429 val
* var1
/* : nullable ListNode[nullable Object] */;
2430 val
* var3
/* : nullable ListNode[nullable Object] */;
2431 val
* var_
/* var : ListReverseIterator[nullable Object] */;
2432 long var4
/* : Int */;
2433 long var5
/* : Int */;
2434 short int var7
/* : Bool */;
2437 const char* var_class_name
;
2438 long var8
/* : Int */;
2439 var
= self
->attrs
[COLOR_core__list__ListIterator___node
].val
; /* _node on <self:ListReverseIterator[nullable Object]> */
2441 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2442 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 314);
2445 { /* Inline list#ListNode#prev (var) on <var:nullable ListNode[nullable Object]> */
2446 if (unlikely(var
== NULL
)) {
2447 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2448 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
2451 var3
= var
->attrs
[COLOR_core__list__ListNode___prev
].val
; /* _prev on <var:nullable ListNode[nullable Object]> */
2456 self
->attrs
[COLOR_core__list__ListIterator___node
].val
= var1
; /* _node on <self:ListReverseIterator[nullable Object]> */
2458 var4
= var_
->attrs
[COLOR_core__list__ListIterator___index
].l
; /* _index on <var_:ListReverseIterator[nullable Object]> */
2460 { /* Inline kernel#Int#- (var4,1l) on <var4:Int> */
2461 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2462 /* <1l:Int> isa OTHER */
2463 var7
= 1; /* easy <1l:Int> isa OTHER*/
2464 if (unlikely(!var7
)) {
2465 var_class_name
= type_core__Int
.name
;
2466 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2467 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2476 var_
->attrs
[COLOR_core__list__ListIterator___index
].l
= var5
; /* _index on <var_:ListReverseIterator[nullable Object]> */
2479 /* method list#ListReverseIterator#init for (self: ListReverseIterator[nullable Object]) */
2480 void core__list___core__list__ListReverseIterator___core__kernel__Object__init(val
* self
) {
2481 val
* var
/* : List[nullable Object] */;
2482 val
* var_list
/* var list: List[nullable Object] */;
2483 val
* var1
/* : nullable ListNode[nullable Object] */;
2484 long var2
/* : Int */;
2485 long var4
/* : Int */;
2487 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core__list___core__list__ListReverseIterator___core__kernel__Object__init
]))(self
); /* init on <self:ListReverseIterator[nullable Object]>*/
2489 var
= self
->attrs
[COLOR_core__list__ListIterator___list
].val
; /* _list on <self:ListReverseIterator[nullable Object]> */
2490 if (unlikely(var
== NULL
)) {
2491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _list");
2492 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 320);
2496 var1
= var_list
->attrs
[COLOR_core__list__List___tail
].val
; /* _tail on <var_list:List[nullable Object]> */
2497 self
->attrs
[COLOR_core__list__ListIterator___node
].val
= var1
; /* _node on <self:ListReverseIterator[nullable Object]> */
2499 { /* Inline list#List#length (var_list) on <var_list:List[nullable Object]> */
2500 var4
= var_list
->attrs
[COLOR_core__list__List___length
].l
; /* _length on <var_list:List[nullable Object]> */
2505 self
->attrs
[COLOR_core__list__ListIterator___index
].l
= var2
; /* _index on <self:ListReverseIterator[nullable Object]> */
2508 /* method list#ListNode#next for (self: ListNode[nullable Object]): nullable ListNode[nullable Object] */
2509 val
* core__list___core__list__ListNode___next(val
* self
) {
2510 val
* var
/* : nullable ListNode[nullable Object] */;
2511 val
* var1
/* : nullable ListNode[nullable Object] */;
2512 var1
= self
->attrs
[COLOR_core__list__ListNode___next
].val
; /* _next on <self:ListNode[nullable Object]> */
2517 /* method list#ListNode#next= for (self: ListNode[nullable Object], nullable ListNode[nullable Object]) */
2518 void core__list___core__list__ListNode___next_61d(val
* self
, val
* p0
) {
2519 short int var
/* : Bool */;
2522 const struct type
* type_struct
;
2523 const char* var_class_name
;
2524 /* Covariant cast for argument 0 (next) <p0:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
2525 /* <p0:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
2526 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
2527 cltype
= type_struct
->color
;
2528 idtype
= type_struct
->id
;
2532 if(cltype
>= p0
->type
->table_size
) {
2535 var
= p0
->type
->type_table
[cltype
] == idtype
;
2538 if (unlikely(!var
)) {
2539 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2540 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name
);
2541 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 330);
2544 self
->attrs
[COLOR_core__list__ListNode___next
].val
= p0
; /* _next on <self:ListNode[nullable Object]> */
2547 /* method list#ListNode#prev for (self: ListNode[nullable Object]): nullable ListNode[nullable Object] */
2548 val
* core__list___core__list__ListNode___prev(val
* self
) {
2549 val
* var
/* : nullable ListNode[nullable Object] */;
2550 val
* var1
/* : nullable ListNode[nullable Object] */;
2551 var1
= self
->attrs
[COLOR_core__list__ListNode___prev
].val
; /* _prev on <self:ListNode[nullable Object]> */
2556 /* method list#ListNode#prev= for (self: ListNode[nullable Object], nullable ListNode[nullable Object]) */
2557 void core__list___core__list__ListNode___prev_61d(val
* self
, val
* p0
) {
2558 short int var
/* : Bool */;
2561 const struct type
* type_struct
;
2562 const char* var_class_name
;
2563 /* Covariant cast for argument 0 (prev) <p0:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
2564 /* <p0:nullable ListNode[nullable Object]> isa nullable ListNode[E] */
2565 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable__core__list__ListNode__core__list__ListNode___35dE
];
2566 cltype
= type_struct
->color
;
2567 idtype
= type_struct
->id
;
2571 if(cltype
>= p0
->type
->table_size
) {
2574 var
= p0
->type
->type_table
[cltype
] == idtype
;
2577 if (unlikely(!var
)) {
2578 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2579 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable ListNode[E]", var_class_name
);
2580 PRINT_ERROR(" (%s:%d)\n", FILE_core__list
, 333);
2583 self
->attrs
[COLOR_core__list__ListNode___prev
].val
= p0
; /* _prev on <self:ListNode[nullable Object]> */