1 #include "core__sorter.sep.0.h"
2 /* method sorter#Comparator#sort for (self: Comparator, Array[nullable Object]) */
3 void core___core__Comparator___sort(val
* self
, val
* p0
) {
4 short int var
/* : Bool */;
7 const struct type
* type_struct
;
8 const char* var_class_name
;
9 val
* var_array
/* var array: Array[nullable Object] */;
10 long var1
/* : Int */;
11 long var3
/* : Int */;
12 long var4
/* : Int */;
13 short int var6
/* : Bool */;
16 const char* var_class_name9
;
17 long var10
/* : Int */;
18 /* Covariant cast for argument 0 (array) <p0:Array[nullable Object]> isa Array[COMPARED] */
19 /* <p0:Array[nullable Object]> isa Array[COMPARED] */
20 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Array__core__sorter__Comparator__COMPARED
];
21 cltype
= type_struct
->color
;
22 idtype
= type_struct
->id
;
23 if(cltype
>= p0
->type
->table_size
) {
26 var
= p0
->type
->type_table
[cltype
] == idtype
;
29 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
30 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name
);
31 PRINT_ERROR(" (%s:%d)\n", FILE_core__sorter
, 82);
36 { /* Inline array#AbstractArrayRead#length (var_array) on <var_array:Array[nullable Object]> */
37 var3
= var_array
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_array:Array[nullable Object]> */
43 { /* Inline kernel#Int#- (var1,1l) on <var1:Int> */
44 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
45 /* <1l:Int> isa OTHER */
46 var6
= 1; /* easy <1l:Int> isa OTHER*/
47 if (unlikely(!var6
)) {
48 var_class_name9
= type_core__Int
.name
;
49 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
50 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
60 core___core__Comparator___sub_sort(self
, var_array
, 0l, var4
); /* Direct call sorter#Comparator#sub_sort on <self:Comparator>*/
64 /* method sorter#Comparator#sub_sort for (self: Comparator, Array[nullable Object], Int, Int) */
65 void core___core__Comparator___sub_sort(val
* self
, val
* p0
, long p1
, long p2
) {
66 short int var
/* : Bool */;
69 const struct type
* type_struct
;
70 const char* var_class_name
;
71 val
* var_array
/* var array: Array[nullable Object] */;
72 long var_from
/* var from: Int */;
73 long var_to
/* var to: Int */;
74 short int var1
/* : Bool */;
75 short int var3
/* : Bool */;
78 const char* var_class_name6
;
79 short int var7
/* : Bool */;
80 long var8
/* : Int */;
81 short int var10
/* : Bool */;
84 const char* var_class_name13
;
85 long var14
/* : Int */;
86 short int var15
/* : Bool */;
87 short int var17
/* : Bool */;
90 const char* var_class_name20
;
91 short int var21
/* : Bool */;
92 /* Covariant cast for argument 0 (array) <p0:Array[nullable Object]> isa Array[COMPARED] */
93 /* <p0:Array[nullable Object]> isa Array[COMPARED] */
94 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Array__core__sorter__Comparator__COMPARED
];
95 cltype
= type_struct
->color
;
96 idtype
= type_struct
->id
;
97 if(cltype
>= p0
->type
->table_size
) {
100 var
= p0
->type
->type_table
[cltype
] == idtype
;
102 if (unlikely(!var
)) {
103 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
104 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name
);
105 PRINT_ERROR(" (%s:%d)\n", FILE_core__sorter
, 91);
112 { /* Inline kernel#Int#>= (var_from,var_to) on <var_from:Int> */
113 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
114 /* <var_to:Int> isa OTHER */
115 var3
= 1; /* easy <var_to:Int> isa OTHER*/
116 if (unlikely(!var3
)) {
117 var_class_name6
= type_core__Int
.name
;
118 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name6
);
119 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
122 var7
= var_from
>= var_to
;
132 { /* Inline kernel#Int#+ (var_from,7l) on <var_from:Int> */
133 /* Covariant cast for argument 0 (i) <7l:Int> isa OTHER */
134 /* <7l:Int> isa OTHER */
135 var10
= 1; /* easy <7l:Int> isa OTHER*/
136 if (unlikely(!var10
)) {
137 var_class_name13
= type_core__Int
.name
;
138 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
139 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
142 var14
= var_from
+ 7l;
149 { /* Inline kernel#Int#< (var8,var_to) on <var8:Int> */
150 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
151 /* <var_to:Int> isa OTHER */
152 var17
= 1; /* easy <var_to:Int> isa OTHER*/
153 if (unlikely(!var17
)) {
154 var_class_name20
= type_core__Int
.name
;
155 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
156 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
159 var21
= var8
< var_to
;
167 core___core__Comparator___quick_sort(self
, var_array
, var_from
, var_to
); /* Direct call sorter#Comparator#quick_sort on <self:Comparator>*/
171 core___core__Comparator___bubble_sort(self
, var_array
, var_from
, var_to
); /* Direct call sorter#Comparator#bubble_sort on <self:Comparator>*/
177 /* method sorter#Comparator#quick_sort for (self: Comparator, Array[nullable Object], Int, Int) */
178 void core___core__Comparator___quick_sort(val
* self
, val
* p0
, long p1
, long p2
) {
179 short int var
/* : Bool */;
182 const struct type
* type_struct
;
183 const char* var_class_name
;
184 val
* var_array
/* var array: Array[nullable Object] */;
185 long var_from
/* var from: Int */;
186 long var_to
/* var to: Int */;
187 val
* var1
/* : nullable Object */;
188 val
* var_pivot
/* var pivot: nullable Object */;
189 long var_i
/* var i: Int */;
190 long var_j
/* var j: Int */;
191 short int var2
/* : Bool */;
192 short int var4
/* : Bool */;
195 const char* var_class_name7
;
196 short int var8
/* : Bool */;
197 short int var9
/* : Bool */;
198 short int var10
/* : Bool */;
199 short int var12
/* : Bool */;
202 const char* var_class_name15
;
203 short int var16
/* : Bool */;
204 short int var_
/* var : Bool */;
205 val
* var17
/* : nullable Object */;
206 long var18
/* : Int */;
207 short int var19
/* : Bool */;
208 short int var21
/* : Bool */;
211 const char* var_class_name24
;
212 short int var25
/* : Bool */;
213 long var26
/* : Int */;
214 short int var28
/* : Bool */;
217 const char* var_class_name31
;
218 long var32
/* : Int */;
219 short int var33
/* : Bool */;
220 short int var34
/* : Bool */;
221 short int var36
/* : Bool */;
224 const char* var_class_name39
;
225 short int var40
/* : Bool */;
226 short int var_41
/* var : Bool */;
227 val
* var42
/* : nullable Object */;
228 long var43
/* : Int */;
229 short int var44
/* : Bool */;
230 short int var46
/* : Bool */;
233 const char* var_class_name49
;
234 short int var50
/* : Bool */;
235 long var51
/* : Int */;
236 short int var53
/* : Bool */;
239 const char* var_class_name56
;
240 long var57
/* : Int */;
241 short int var59
/* : Bool */;
242 short int var61
/* : Bool */;
245 const char* var_class_name64
;
246 short int var65
/* : Bool */;
247 val
* var66
/* : nullable Object */;
248 val
* var_t
/* var t: nullable Object */;
249 val
* var67
/* : nullable Object */;
250 long var69
/* : Int */;
251 short int var71
/* : Bool */;
254 const char* var_class_name74
;
255 long var75
/* : Int */;
256 val
* var76
/* : nullable Object */;
257 long var77
/* : Int */;
258 short int var79
/* : Bool */;
261 const char* var_class_name82
;
262 long var83
/* : Int */;
263 long var84
/* : Int */;
264 short int var86
/* : Bool */;
267 const char* var_class_name89
;
268 long var90
/* : Int */;
269 /* Covariant cast for argument 0 (array) <p0:Array[nullable Object]> isa Array[COMPARED] */
270 /* <p0:Array[nullable Object]> isa Array[COMPARED] */
271 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Array__core__sorter__Comparator__COMPARED
];
272 cltype
= type_struct
->color
;
273 idtype
= type_struct
->id
;
274 if(cltype
>= p0
->type
->table_size
) {
277 var
= p0
->type
->type_table
[cltype
] == idtype
;
279 if (unlikely(!var
)) {
280 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
281 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name
);
282 PRINT_ERROR(" (%s:%d)\n", FILE_core__sorter
, 103);
289 var1
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_array
, var_from
);
296 { /* Inline kernel#Int#> (var_j,var_i) on <var_j:Int> */
297 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
298 /* <var_i:Int> isa OTHER */
299 var4
= 1; /* easy <var_i:Int> isa OTHER*/
300 if (unlikely(!var4
)) {
301 var_class_name7
= type_core__Int
.name
;
302 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7
);
303 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
306 var8
= var_j
> var_i
;
315 { /* Inline kernel#Int#<= (var_i,var_to) on <var_i:Int> */
316 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
317 /* <var_to:Int> isa OTHER */
318 var12
= 1; /* easy <var_to:Int> isa OTHER*/
319 if (unlikely(!var12
)) {
320 var_class_name15
= type_core__Int
.name
;
321 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
322 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
325 var16
= var_i
<= var_to
;
334 var17
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_array
, var_i
);
337 var18
= ((long(*)(val
* self
, val
* p0
, val
* p1
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__sorter__Comparator__compare
]))(self
, var17
, var_pivot
); /* compare on <self:Comparator>*/
340 { /* Inline kernel#Int#<= (var18,0l) on <var18:Int> */
341 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
342 /* <0l:Int> isa OTHER */
343 var21
= 1; /* easy <0l:Int> isa OTHER*/
344 if (unlikely(!var21
)) {
345 var_class_name24
= type_core__Int
.name
;
346 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
347 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
362 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
363 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
364 /* <1l:Int> isa OTHER */
365 var28
= 1; /* easy <1l:Int> isa OTHER*/
366 if (unlikely(!var28
)) {
367 var_class_name31
= type_core__Int
.name
;
368 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
369 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
383 BREAK_label
: (void)0;
386 { /* Inline kernel#Int#> (var_j,var_i) on <var_j:Int> */
387 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
388 /* <var_i:Int> isa OTHER */
389 var36
= 1; /* easy <var_i:Int> isa OTHER*/
390 if (unlikely(!var36
)) {
391 var_class_name39
= type_core__Int
.name
;
392 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
393 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
396 var40
= var_j
> var_i
;
405 var42
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_array
, var_j
);
408 var43
= ((long(*)(val
* self
, val
* p0
, val
* p1
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__sorter__Comparator__compare
]))(self
, var42
, var_pivot
); /* compare on <self:Comparator>*/
411 { /* Inline kernel#Int#>= (var43,0l) on <var43:Int> */
412 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
413 /* <0l:Int> isa OTHER */
414 var46
= 1; /* easy <0l:Int> isa OTHER*/
415 if (unlikely(!var46
)) {
416 var_class_name49
= type_core__Int
.name
;
417 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49
);
418 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
433 { /* Inline kernel#Int#- (var_j,1l) on <var_j:Int> */
434 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
435 /* <1l:Int> isa OTHER */
436 var53
= 1; /* easy <1l:Int> isa OTHER*/
437 if (unlikely(!var53
)) {
438 var_class_name56
= type_core__Int
.name
;
439 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56
);
440 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
454 BREAK_label58
: (void)0;
456 { /* Inline kernel#Int#> (var_j,var_i) on <var_j:Int> */
457 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
458 /* <var_i:Int> isa OTHER */
459 var61
= 1; /* easy <var_i:Int> isa OTHER*/
460 if (unlikely(!var61
)) {
461 var_class_name64
= type_core__Int
.name
;
462 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64
);
463 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
466 var65
= var_j
> var_i
;
474 var66
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_array
, var_i
);
478 var67
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_array
, var_j
);
481 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_array
, var_i
, var67
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
484 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_array
, var_j
, var_t
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
492 BREAK_label68
: (void)0;
494 { /* Inline kernel#Int#- (var_i,1l) on <var_i:Int> */
495 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
496 /* <1l:Int> isa OTHER */
497 var71
= 1; /* easy <1l:Int> isa OTHER*/
498 if (unlikely(!var71
)) {
499 var_class_name74
= type_core__Int
.name
;
500 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74
);
501 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
511 var76
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_array
, var69
);
514 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_array
, var_from
, var76
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
517 { /* Inline kernel#Int#- (var_i,1l) on <var_i:Int> */
518 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
519 /* <1l:Int> isa OTHER */
520 var79
= 1; /* easy <1l:Int> isa OTHER*/
521 if (unlikely(!var79
)) {
522 var_class_name82
= type_core__Int
.name
;
523 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name82
);
524 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
534 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_array
, var77
, var_pivot
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
537 { /* Inline kernel#Int#- (var_i,2l) on <var_i:Int> */
538 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
539 /* <2l:Int> isa OTHER */
540 var86
= 1; /* easy <2l:Int> isa OTHER*/
541 if (unlikely(!var86
)) {
542 var_class_name89
= type_core__Int
.name
;
543 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name89
);
544 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
554 core___core__Comparator___sub_sort(self
, var_array
, var_from
, var84
); /* Direct call sorter#Comparator#sub_sort on <self:Comparator>*/
557 core___core__Comparator___sub_sort(self
, var_array
, var_i
, var_to
); /* Direct call sorter#Comparator#sub_sort on <self:Comparator>*/
561 /* method sorter#Comparator#bubble_sort for (self: Comparator, Array[nullable Object], Int, Int) */
562 void core___core__Comparator___bubble_sort(val
* self
, val
* p0
, long p1
, long p2
) {
563 short int var
/* : Bool */;
566 const struct type
* type_struct
;
567 const char* var_class_name
;
568 val
* var_array
/* var array: Array[nullable Object] */;
569 long var_from
/* var from: Int */;
570 long var_to
/* var to: Int */;
571 long var_i
/* var i: Int */;
572 short int var1
/* : Bool */;
573 short int var3
/* : Bool */;
576 const char* var_class_name6
;
577 short int var7
/* : Bool */;
578 long var_min
/* var min: Int */;
579 val
* var8
/* : nullable Object */;
580 val
* var_min_v
/* var min_v: nullable Object */;
581 long var_j
/* var j: Int */;
582 short int var9
/* : Bool */;
583 short int var11
/* : Bool */;
586 const char* var_class_name14
;
587 short int var15
/* : Bool */;
588 val
* var16
/* : nullable Object */;
589 long var17
/* : Int */;
590 short int var18
/* : Bool */;
591 short int var20
/* : Bool */;
594 const char* var_class_name23
;
595 short int var24
/* : Bool */;
596 val
* var25
/* : nullable Object */;
597 long var26
/* : Int */;
598 short int var28
/* : Bool */;
601 const char* var_class_name31
;
602 long var32
/* : Int */;
603 short int var33
/* : Bool */;
604 short int var35
/* : Bool */;
605 short int var36
/* : Bool */;
606 val
* var37
/* : nullable Object */;
607 long var38
/* : Int */;
608 short int var40
/* : Bool */;
611 const char* var_class_name43
;
612 long var44
/* : Int */;
613 /* Covariant cast for argument 0 (array) <p0:Array[nullable Object]> isa Array[COMPARED] */
614 /* <p0:Array[nullable Object]> isa Array[COMPARED] */
615 type_struct
= (((long)self
&3)?type_info
[((long)self
&3)]:self
->type
)->resolution_table
->types
[COLOR_core__Array__core__sorter__Comparator__COMPARED
];
616 cltype
= type_struct
->color
;
617 idtype
= type_struct
->id
;
618 if(cltype
>= p0
->type
->table_size
) {
621 var
= p0
->type
->type_table
[cltype
] == idtype
;
623 if (unlikely(!var
)) {
624 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
625 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name
);
626 PRINT_ERROR(" (%s:%d)\n", FILE_core__sorter
, 128);
635 { /* Inline kernel#Int#< (var_i,var_to) on <var_i:Int> */
636 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
637 /* <var_to:Int> isa OTHER */
638 var3
= 1; /* easy <var_to:Int> isa OTHER*/
639 if (unlikely(!var3
)) {
640 var_class_name6
= type_core__Int
.name
;
641 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name6
);
642 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
645 var7
= var_i
< var_to
;
654 var8
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_array
, var_i
);
660 { /* Inline kernel#Int#<= (var_j,var_to) on <var_j:Int> */
661 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
662 /* <var_to:Int> isa OTHER */
663 var11
= 1; /* easy <var_to:Int> isa OTHER*/
664 if (unlikely(!var11
)) {
665 var_class_name14
= type_core__Int
.name
;
666 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
667 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
670 var15
= var_j
<= var_to
;
678 var16
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_array
, var_j
);
681 var17
= ((long(*)(val
* self
, val
* p0
, val
* p1
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__sorter__Comparator__compare
]))(self
, var_min_v
, var16
); /* compare on <self:Comparator>*/
684 { /* Inline kernel#Int#> (var17,0l) on <var17:Int> */
685 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
686 /* <0l:Int> isa OTHER */
687 var20
= 1; /* easy <0l:Int> isa OTHER*/
688 if (unlikely(!var20
)) {
689 var_class_name23
= type_core__Int
.name
;
690 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23
);
691 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
703 var25
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_array
, var_j
);
709 { /* Inline kernel#Int#+ (var_j,1l) on <var_j:Int> */
710 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
711 /* <1l:Int> isa OTHER */
712 var28
= 1; /* easy <1l:Int> isa OTHER*/
713 if (unlikely(!var28
)) {
714 var_class_name31
= type_core__Int
.name
;
715 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
716 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
730 BREAK_label
: (void)0;
732 { /* Inline kernel#Int#!= (var_min,var_i) on <var_min:Int> */
733 var35
= var_min
== var_i
;
742 var37
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_array
, var_i
);
745 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_array
, var_min
, var37
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
748 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_array
, var_i
, var_min_v
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
753 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
754 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
755 /* <1l:Int> isa OTHER */
756 var40
= 1; /* easy <1l:Int> isa OTHER*/
757 if (unlikely(!var40
)) {
758 var_class_name43
= type_core__Int
.name
;
759 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43
);
760 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
774 BREAK_label45
: (void)0;
777 /* method sorter#DefaultComparator#compare for (self: DefaultComparator, Comparable, Comparable): Int */
778 long core___core__DefaultComparator___Comparator__compare(val
* self
, val
* p0
, val
* p1
) {
779 long var
/* : Int */;
780 short int var1
/* : Bool */;
783 const struct type
* type_struct
;
784 const char* var_class_name
;
785 short int var2
/* : Bool */;
788 const struct type
* type_struct5
;
789 const char* var_class_name6
;
790 val
* var_a
/* var a: Comparable */;
791 val
* var_b
/* var b: Comparable */;
792 long var7
/* : Int */;
793 /* Covariant cast for argument 0 (a) <p0:Comparable> isa COMPARED */
794 /* <p0:Comparable> isa COMPARED */
795 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__sorter__Comparator__COMPARED
];
796 cltype
= type_struct
->color
;
797 idtype
= type_struct
->id
;
798 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
801 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
803 if (unlikely(!var1
)) {
804 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
805 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name
);
806 PRINT_ERROR(" (%s:%d)\n", FILE_core__sorter
, 335);
809 /* Covariant cast for argument 1 (b) <p1:Comparable> isa COMPARED */
810 /* <p1:Comparable> isa COMPARED */
811 type_struct5
= self
->type
->resolution_table
->types
[COLOR_core__sorter__Comparator__COMPARED
];
812 cltype3
= type_struct5
->color
;
813 idtype4
= type_struct5
->id
;
814 if(cltype3
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
817 var2
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype3
] == idtype4
;
819 if (unlikely(!var2
)) {
820 var_class_name6
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
821 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name6
);
822 PRINT_ERROR(" (%s:%d)\n", FILE_core__sorter
, 335);
828 var7
= ((long(*)(val
* self
, val
* p0
))((((long)var_a
&3)?class_info
[((long)var_a
&3)]:var_a
->class)->vft
[COLOR_core__kernel__Comparable___60d_61d_62d
]))(var_a
, var_b
); /* <=> on <var_a:Comparable>*/
835 /* method sorter#Sys#default_comparator for (self: Sys): DefaultComparator */
836 val
* core__sorter___Sys___default_comparator(val
* self
) {
837 val
* var
/* : DefaultComparator */;
839 static int varonce_guard
;
840 val
* var1
/* : DefaultComparator */;
841 val
* var2
/* : DefaultComparator */;
842 if (likely(varonce_guard
)) {
845 var2
= NEW_core__DefaultComparator(&type_core__DefaultComparator
);
847 { /* Inline kernel#Object#init (var2) on <var2:DefaultComparator> */