1 #include "standard__sorter.sep.0.h"
2 /* method sorter#Comparator#sort for (self: Comparator, Array[nullable Object]) */
3 void standard___standard__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 var2
/* : Int */;
12 long var4
/* : Int */;
13 long var5
/* : Int */;
14 long var6
/* : Int */;
15 short int var8
/* : Bool */;
18 const char* var_class_name11
;
19 long var12
/* : Int */;
20 /* Covariant cast for argument 0 (array) <p0:Array[nullable Object]> isa Array[COMPARED] */
21 /* <p0:Array[nullable Object]> isa Array[COMPARED] */
22 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__Array__standard__sorter__Comparator__COMPARED
];
23 cltype
= type_struct
->color
;
24 idtype
= type_struct
->id
;
25 if(cltype
>= p0
->type
->table_size
) {
28 var
= p0
->type
->type_table
[cltype
] == idtype
;
31 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
32 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name
);
33 PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter
, 80);
39 { /* Inline array#AbstractArrayRead#length (var_array) on <var_array:Array[nullable Object]> */
40 var4
= var_array
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_array:Array[nullable Object]> */
47 { /* Inline kernel#Int#- (var2,var5) on <var2:Int> */
48 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
49 /* <var5:Int> isa OTHER */
50 var8
= 1; /* easy <var5:Int> isa OTHER*/
51 if (unlikely(!var8
)) {
52 var_class_name11
= type_standard__Int
.name
;
53 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
54 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
64 standard___standard__Comparator___sub_sort(self
, var_array
, var1
, var6
); /* Direct call sorter#Comparator#sub_sort on <self:Comparator>*/
68 /* method sorter#Comparator#sub_sort for (self: Comparator, Array[nullable Object], Int, Int) */
69 void standard___standard__Comparator___sub_sort(val
* self
, val
* p0
, long p1
, long p2
) {
70 short int var
/* : Bool */;
73 const struct type
* type_struct
;
74 const char* var_class_name
;
75 val
* var_array
/* var array: Array[nullable Object] */;
76 long var_from
/* var from: Int */;
77 long var_to
/* var to: Int */;
78 short int var1
/* : Bool */;
79 short int var3
/* : Bool */;
82 const char* var_class_name6
;
83 short int var7
/* : Bool */;
84 long var8
/* : Int */;
85 long var9
/* : Int */;
86 short int var11
/* : Bool */;
89 const char* var_class_name14
;
90 long var15
/* : Int */;
91 short int var16
/* : Bool */;
92 short int var18
/* : Bool */;
95 const char* var_class_name21
;
96 short int var22
/* : Bool */;
97 /* Covariant cast for argument 0 (array) <p0:Array[nullable Object]> isa Array[COMPARED] */
98 /* <p0:Array[nullable Object]> isa Array[COMPARED] */
99 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__Array__standard__sorter__Comparator__COMPARED
];
100 cltype
= type_struct
->color
;
101 idtype
= type_struct
->id
;
102 if(cltype
>= p0
->type
->table_size
) {
105 var
= p0
->type
->type_table
[cltype
] == idtype
;
107 if (unlikely(!var
)) {
108 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
109 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name
);
110 PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter
, 89);
117 { /* Inline kernel#Int#>= (var_from,var_to) on <var_from:Int> */
118 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
119 /* <var_to:Int> isa OTHER */
120 var3
= 1; /* easy <var_to:Int> isa OTHER*/
121 if (unlikely(!var3
)) {
122 var_class_name6
= type_standard__Int
.name
;
123 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name6
);
124 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 411);
127 var7
= var_from
>= var_to
;
138 { /* Inline kernel#Int#+ (var_from,var8) on <var_from:Int> */
139 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
140 /* <var8:Int> isa OTHER */
141 var11
= 1; /* easy <var8:Int> isa OTHER*/
142 if (unlikely(!var11
)) {
143 var_class_name14
= type_standard__Int
.name
;
144 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
145 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
148 var15
= var_from
+ var8
;
155 { /* Inline kernel#Int#< (var9,var_to) on <var9:Int> */
156 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
157 /* <var_to:Int> isa OTHER */
158 var18
= 1; /* easy <var_to:Int> isa OTHER*/
159 if (unlikely(!var18
)) {
160 var_class_name21
= type_standard__Int
.name
;
161 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
162 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
165 var22
= var9
< var_to
;
173 standard___standard__Comparator___quick_sort(self
, var_array
, var_from
, var_to
); /* Direct call sorter#Comparator#quick_sort on <self:Comparator>*/
177 standard___standard__Comparator___bubble_sort(self
, var_array
, var_from
, var_to
); /* Direct call sorter#Comparator#bubble_sort on <self:Comparator>*/
183 /* method sorter#Comparator#quick_sort for (self: Comparator, Array[nullable Object], Int, Int) */
184 void standard___standard__Comparator___quick_sort(val
* self
, val
* p0
, long p1
, long p2
) {
185 short int var
/* : Bool */;
188 const struct type
* type_struct
;
189 const char* var_class_name
;
190 val
* var_array
/* var array: Array[nullable Object] */;
191 long var_from
/* var from: Int */;
192 long var_to
/* var to: Int */;
193 val
* var1
/* : nullable Object */;
194 val
* var_pivot
/* var pivot: nullable Object */;
195 long var_i
/* var i: Int */;
196 long var_j
/* var j: Int */;
197 short int var2
/* : Bool */;
198 short int var4
/* : Bool */;
201 const char* var_class_name7
;
202 short int var8
/* : Bool */;
203 short int var9
/* : Bool */;
204 short int var10
/* : Bool */;
205 short int var12
/* : Bool */;
208 const char* var_class_name15
;
209 short int var16
/* : Bool */;
210 short int var_
/* var : Bool */;
211 val
* var17
/* : nullable Object */;
212 long var18
/* : Int */;
213 long var19
/* : Int */;
214 short int var20
/* : Bool */;
215 short int var22
/* : Bool */;
218 const char* var_class_name25
;
219 short int var26
/* : Bool */;
220 long var27
/* : Int */;
221 long var28
/* : Int */;
222 short int var30
/* : Bool */;
225 const char* var_class_name33
;
226 long var34
/* : Int */;
227 short int var35
/* : Bool */;
228 short int var36
/* : Bool */;
229 short int var38
/* : Bool */;
232 const char* var_class_name41
;
233 short int var42
/* : Bool */;
234 short int var_43
/* var : Bool */;
235 val
* var44
/* : nullable Object */;
236 long var45
/* : Int */;
237 long var46
/* : Int */;
238 short int var47
/* : Bool */;
239 short int var49
/* : Bool */;
242 const char* var_class_name52
;
243 short int var53
/* : Bool */;
244 long var54
/* : Int */;
245 long var55
/* : Int */;
246 short int var57
/* : Bool */;
249 const char* var_class_name60
;
250 long var61
/* : Int */;
251 short int var63
/* : Bool */;
252 short int var65
/* : Bool */;
255 const char* var_class_name68
;
256 short int var69
/* : Bool */;
257 val
* var70
/* : nullable Object */;
258 val
* var_t
/* var t: nullable Object */;
259 val
* var71
/* : nullable Object */;
260 long var73
/* : Int */;
261 long var74
/* : Int */;
262 short int var76
/* : Bool */;
265 const char* var_class_name79
;
266 long var80
/* : Int */;
267 val
* var81
/* : nullable Object */;
268 long var82
/* : Int */;
269 long var83
/* : Int */;
270 short int var85
/* : Bool */;
273 const char* var_class_name88
;
274 long var89
/* : Int */;
275 long var90
/* : Int */;
276 long var91
/* : Int */;
277 short int var93
/* : Bool */;
280 const char* var_class_name96
;
281 long var97
/* : Int */;
282 /* Covariant cast for argument 0 (array) <p0:Array[nullable Object]> isa Array[COMPARED] */
283 /* <p0:Array[nullable Object]> isa Array[COMPARED] */
284 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__Array__standard__sorter__Comparator__COMPARED
];
285 cltype
= type_struct
->color
;
286 idtype
= type_struct
->id
;
287 if(cltype
>= p0
->type
->table_size
) {
290 var
= p0
->type
->type_table
[cltype
] == idtype
;
292 if (unlikely(!var
)) {
293 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
294 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name
);
295 PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter
, 101);
302 var1
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_from
);
309 { /* Inline kernel#Int#> (var_j,var_i) on <var_j:Int> */
310 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
311 /* <var_i:Int> isa OTHER */
312 var4
= 1; /* easy <var_i:Int> isa OTHER*/
313 if (unlikely(!var4
)) {
314 var_class_name7
= type_standard__Int
.name
;
315 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7
);
316 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
319 var8
= var_j
> var_i
;
328 { /* Inline kernel#Int#<= (var_i,var_to) on <var_i:Int> */
329 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
330 /* <var_to:Int> isa OTHER */
331 var12
= 1; /* easy <var_to:Int> isa OTHER*/
332 if (unlikely(!var12
)) {
333 var_class_name15
= type_standard__Int
.name
;
334 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
335 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 409);
338 var16
= var_i
<= var_to
;
347 var17
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_i
);
350 var18
= ((long (*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_standard__sorter__Comparator__compare
]))(self
, var17
, var_pivot
) /* compare on <self:Comparator>*/;
354 { /* Inline kernel#Int#<= (var18,var19) on <var18:Int> */
355 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
356 /* <var19:Int> isa OTHER */
357 var22
= 1; /* easy <var19:Int> isa OTHER*/
358 if (unlikely(!var22
)) {
359 var_class_name25
= type_standard__Int
.name
;
360 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
361 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 409);
364 var26
= var18
<= var19
;
377 { /* Inline kernel#Int#+ (var_i,var27) on <var_i:Int> */
378 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
379 /* <var27:Int> isa OTHER */
380 var30
= 1; /* easy <var27:Int> isa OTHER*/
381 if (unlikely(!var30
)) {
382 var_class_name33
= type_standard__Int
.name
;
383 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
384 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
387 var34
= var_i
+ var27
;
398 BREAK_label
: (void)0;
401 { /* Inline kernel#Int#> (var_j,var_i) on <var_j:Int> */
402 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
403 /* <var_i:Int> isa OTHER */
404 var38
= 1; /* easy <var_i:Int> isa OTHER*/
405 if (unlikely(!var38
)) {
406 var_class_name41
= type_standard__Int
.name
;
407 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
408 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
411 var42
= var_j
> var_i
;
420 var44
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_j
);
423 var45
= ((long (*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_standard__sorter__Comparator__compare
]))(self
, var44
, var_pivot
) /* compare on <self:Comparator>*/;
427 { /* Inline kernel#Int#>= (var45,var46) on <var45:Int> */
428 /* Covariant cast for argument 0 (i) <var46:Int> isa OTHER */
429 /* <var46:Int> isa OTHER */
430 var49
= 1; /* easy <var46:Int> isa OTHER*/
431 if (unlikely(!var49
)) {
432 var_class_name52
= type_standard__Int
.name
;
433 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52
);
434 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 411);
437 var53
= var45
>= var46
;
450 { /* Inline kernel#Int#- (var_j,var54) on <var_j:Int> */
451 /* Covariant cast for argument 0 (i) <var54:Int> isa OTHER */
452 /* <var54:Int> isa OTHER */
453 var57
= 1; /* easy <var54:Int> isa OTHER*/
454 if (unlikely(!var57
)) {
455 var_class_name60
= type_standard__Int
.name
;
456 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name60
);
457 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
460 var61
= var_j
- var54
;
471 BREAK_label62
: (void)0;
473 { /* Inline kernel#Int#> (var_j,var_i) on <var_j:Int> */
474 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
475 /* <var_i:Int> isa OTHER */
476 var65
= 1; /* easy <var_i:Int> isa OTHER*/
477 if (unlikely(!var65
)) {
478 var_class_name68
= type_standard__Int
.name
;
479 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68
);
480 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
483 var69
= var_j
> var_i
;
491 var70
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_i
);
495 var71
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_j
);
498 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array
, var_i
, var71
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
501 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array
, var_j
, var_t
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
509 BREAK_label72
: (void)0;
512 { /* Inline kernel#Int#- (var_i,var73) on <var_i:Int> */
513 /* Covariant cast for argument 0 (i) <var73:Int> isa OTHER */
514 /* <var73:Int> isa OTHER */
515 var76
= 1; /* easy <var73:Int> isa OTHER*/
516 if (unlikely(!var76
)) {
517 var_class_name79
= type_standard__Int
.name
;
518 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79
);
519 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
522 var80
= var_i
- var73
;
529 var81
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var74
);
532 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array
, var_from
, var81
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
536 { /* Inline kernel#Int#- (var_i,var82) on <var_i:Int> */
537 /* Covariant cast for argument 0 (i) <var82:Int> isa OTHER */
538 /* <var82:Int> isa OTHER */
539 var85
= 1; /* easy <var82:Int> isa OTHER*/
540 if (unlikely(!var85
)) {
541 var_class_name88
= type_standard__Int
.name
;
542 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name88
);
543 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
546 var89
= var_i
- var82
;
553 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array
, var83
, var_pivot
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
557 { /* Inline kernel#Int#- (var_i,var90) on <var_i:Int> */
558 /* Covariant cast for argument 0 (i) <var90:Int> isa OTHER */
559 /* <var90:Int> isa OTHER */
560 var93
= 1; /* easy <var90:Int> isa OTHER*/
561 if (unlikely(!var93
)) {
562 var_class_name96
= type_standard__Int
.name
;
563 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96
);
564 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
567 var97
= var_i
- var90
;
574 standard___standard__Comparator___sub_sort(self
, var_array
, var_from
, var91
); /* Direct call sorter#Comparator#sub_sort on <self:Comparator>*/
577 standard___standard__Comparator___sub_sort(self
, var_array
, var_i
, var_to
); /* Direct call sorter#Comparator#sub_sort on <self:Comparator>*/
581 /* method sorter#Comparator#bubble_sort for (self: Comparator, Array[nullable Object], Int, Int) */
582 void standard___standard__Comparator___bubble_sort(val
* self
, val
* p0
, long p1
, long p2
) {
583 short int var
/* : Bool */;
586 const struct type
* type_struct
;
587 const char* var_class_name
;
588 val
* var_array
/* var array: Array[nullable Object] */;
589 long var_from
/* var from: Int */;
590 long var_to
/* var to: Int */;
591 long var_i
/* var i: Int */;
592 short int var1
/* : Bool */;
593 short int var3
/* : Bool */;
596 const char* var_class_name6
;
597 short int var7
/* : Bool */;
598 long var_min
/* var min: Int */;
599 val
* var8
/* : nullable Object */;
600 val
* var_min_v
/* var min_v: nullable Object */;
601 long var_j
/* var j: Int */;
602 short int var9
/* : Bool */;
603 short int var11
/* : Bool */;
606 const char* var_class_name14
;
607 short int var15
/* : Bool */;
608 val
* var16
/* : nullable Object */;
609 long var17
/* : Int */;
610 long var18
/* : Int */;
611 short int var19
/* : Bool */;
612 short int var21
/* : Bool */;
615 const char* var_class_name24
;
616 short int var25
/* : Bool */;
617 val
* var26
/* : nullable Object */;
618 long var27
/* : Int */;
619 long var28
/* : Int */;
620 short int var30
/* : Bool */;
623 const char* var_class_name33
;
624 long var34
/* : Int */;
625 short int var35
/* : Bool */;
626 short int var37
/* : Bool */;
627 short int var38
/* : Bool */;
628 val
* var39
/* : nullable Object */;
629 long var40
/* : Int */;
630 long var41
/* : Int */;
631 short int var43
/* : Bool */;
634 const char* var_class_name46
;
635 long var47
/* : Int */;
636 /* Covariant cast for argument 0 (array) <p0:Array[nullable Object]> isa Array[COMPARED] */
637 /* <p0:Array[nullable Object]> isa Array[COMPARED] */
638 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__Array__standard__sorter__Comparator__COMPARED
];
639 cltype
= type_struct
->color
;
640 idtype
= type_struct
->id
;
641 if(cltype
>= p0
->type
->table_size
) {
644 var
= p0
->type
->type_table
[cltype
] == idtype
;
646 if (unlikely(!var
)) {
647 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
648 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[COMPARED]", var_class_name
);
649 PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter
, 126);
658 { /* Inline kernel#Int#< (var_i,var_to) on <var_i:Int> */
659 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
660 /* <var_to:Int> isa OTHER */
661 var3
= 1; /* easy <var_to:Int> isa OTHER*/
662 if (unlikely(!var3
)) {
663 var_class_name6
= type_standard__Int
.name
;
664 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name6
);
665 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
668 var7
= var_i
< var_to
;
677 var8
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_i
);
683 { /* Inline kernel#Int#<= (var_j,var_to) on <var_j:Int> */
684 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
685 /* <var_to:Int> isa OTHER */
686 var11
= 1; /* easy <var_to:Int> isa OTHER*/
687 if (unlikely(!var11
)) {
688 var_class_name14
= type_standard__Int
.name
;
689 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
690 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 409);
693 var15
= var_j
<= var_to
;
701 var16
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_j
);
704 var17
= ((long (*)(val
* self
, val
* p0
, val
* p1
))(self
->class->vft
[COLOR_standard__sorter__Comparator__compare
]))(self
, var_min_v
, var16
) /* compare on <self:Comparator>*/;
708 { /* Inline kernel#Int#> (var17,var18) on <var17:Int> */
709 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
710 /* <var18:Int> isa OTHER */
711 var21
= 1; /* easy <var18:Int> isa OTHER*/
712 if (unlikely(!var21
)) {
713 var_class_name24
= type_standard__Int
.name
;
714 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
715 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
718 var25
= var17
> var18
;
727 var26
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_j
);
734 { /* Inline kernel#Int#+ (var_j,var27) on <var_j:Int> */
735 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
736 /* <var27:Int> isa OTHER */
737 var30
= 1; /* easy <var27:Int> isa OTHER*/
738 if (unlikely(!var30
)) {
739 var_class_name33
= type_standard__Int
.name
;
740 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
741 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
744 var34
= var_j
+ var27
;
755 BREAK_label
: (void)0;
757 { /* Inline kernel#Int#!= (var_min,var_i) on <var_min:Int> */
758 var37
= var_min
== var_i
;
767 var39
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_array
, var_i
);
770 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array
, var_min
, var39
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
773 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var_array
, var_i
, var_min_v
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
779 { /* Inline kernel#Int#+ (var_i,var40) on <var_i:Int> */
780 /* Covariant cast for argument 0 (i) <var40:Int> isa OTHER */
781 /* <var40:Int> isa OTHER */
782 var43
= 1; /* easy <var40:Int> isa OTHER*/
783 if (unlikely(!var43
)) {
784 var_class_name46
= type_standard__Int
.name
;
785 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46
);
786 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
789 var47
= var_i
+ var40
;
800 BREAK_label48
: (void)0;
803 /* method sorter#DefaultComparator#compare for (self: DefaultComparator, Comparable, Comparable): Int */
804 long standard___standard__DefaultComparator___Comparator__compare(val
* self
, val
* p0
, val
* p1
) {
805 long var
/* : Int */;
806 short int var1
/* : Bool */;
809 const struct type
* type_struct
;
810 const char* var_class_name
;
811 short int var2
/* : Bool */;
814 const struct type
* type_struct5
;
815 const char* var_class_name6
;
816 val
* var_a
/* var a: Comparable */;
817 val
* var_b
/* var b: Comparable */;
818 long var7
/* : Int */;
819 /* Covariant cast for argument 0 (a) <p0:Comparable> isa COMPARED */
820 /* <p0:Comparable> isa COMPARED */
821 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__sorter__Comparator__COMPARED
];
822 cltype
= type_struct
->color
;
823 idtype
= type_struct
->id
;
824 if(cltype
>= p0
->type
->table_size
) {
827 var1
= p0
->type
->type_table
[cltype
] == idtype
;
829 if (unlikely(!var1
)) {
830 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
831 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name
);
832 PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter
, 258);
835 /* Covariant cast for argument 1 (b) <p1:Comparable> isa COMPARED */
836 /* <p1:Comparable> isa COMPARED */
837 type_struct5
= self
->type
->resolution_table
->types
[COLOR_standard__sorter__Comparator__COMPARED
];
838 cltype3
= type_struct5
->color
;
839 idtype4
= type_struct5
->id
;
840 if(cltype3
>= p1
->type
->table_size
) {
843 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
845 if (unlikely(!var2
)) {
846 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
847 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPARED", var_class_name6
);
848 PRINT_ERROR(" (%s:%d)\n", FILE_standard__sorter
, 258);
854 var7
= ((long (*)(val
* self
, val
* p0
))(var_a
->class->vft
[COLOR_standard__kernel__Comparable___60d_61d_62d
]))(var_a
, var_b
) /* <=> on <var_a:Comparable>*/;
861 /* method sorter#Object#default_comparator for (self: Object): DefaultComparator */
862 val
* standard__sorter___Object___default_comparator(val
* self
) {
863 val
* var
/* : DefaultComparator */;
865 static int varonce_guard
;
866 val
* var1
/* : DefaultComparator */;
867 val
* var2
/* : DefaultComparator */;
871 var2
= NEW_standard__DefaultComparator(&type_standard__DefaultComparator
);
873 { /* Inline kernel#Object#init (var2) on <var2:DefaultComparator> */