1 #include "sorter.sep.0.h"
2 /* method sorter#Comparator#sort for (self: Comparator[nullable Object], Array[nullable Object]) */
3 void sorter__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 var3
/* : Int */;
13 long var4
/* : Int */;
14 short int var6
/* : Bool */;
17 const char* var_class_name9
;
18 long var10
/* : Int */;
19 /* Covariant cast for argument 0 (array) <p0:Array[nullable Object]> isa Array[Comparator#0] */
20 /* <p0:Array[nullable Object]> isa Array[Comparator#0] */
21 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__Arraysorter__Comparator_FT0
];
22 cltype
= type_struct
->color
;
23 idtype
= type_struct
->id
;
24 if(cltype
>= p0
->type
->table_size
) {
27 var
= p0
->type
->type_table
[cltype
] == idtype
;
30 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
31 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[Comparator#0]", var_class_name
);
32 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/sorter.nit", 30);
38 var2
= array__AbstractArrayRead__length(var_array
);
42 { /* Inline kernel#Int#- (var2,var3) on <var2:Int> */
43 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
44 /* <var3:Int> isa OTHER */
45 var6
= 1; /* easy <var3:Int> isa OTHER*/
46 if (unlikely(!var6
)) {
47 var_class_name9
= type_kernel__Int
.name
;
48 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name9
);
49 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
59 sorter__Comparator__sub_sort(self
, var_array
, var1
, var4
); /* Direct call sorter#Comparator#sub_sort on <self:Comparator[nullable Object]>*/
63 /* method sorter#Comparator#sort for (self: Object, Array[nullable Object]) */
64 void VIRTUAL_sorter__Comparator__sort(val
* self
, val
* p0
) {
65 sorter__Comparator__sort(self
, p0
); /* Direct call sorter#Comparator#sort on <self:Object(Comparator[nullable Object])>*/
68 /* method sorter#Comparator#sub_sort for (self: Comparator[nullable Object], Array[nullable Object], Int, Int) */
69 void sorter__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[Comparator#0] */
98 /* <p0:Array[nullable Object]> isa Array[Comparator#0] */
99 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__Arraysorter__Comparator_FT0
];
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[Comparator#0]", var_class_name
);
110 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/sorter.nit", 38);
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_kernel__Int
.name
;
123 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name6
);
124 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
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_kernel__Int
.name
;
144 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
145 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
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_kernel__Int
.name
;
161 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
162 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
165 var22
= var9
< var_to
;
173 sorter__Comparator__quick_sort(self
, var_array
, var_from
, var_to
); /* Direct call sorter#Comparator#quick_sort on <self:Comparator[nullable Object]>*/
177 sorter__Comparator__bubble_sort(self
, var_array
, var_from
, var_to
); /* Direct call sorter#Comparator#bubble_sort on <self:Comparator[nullable Object]>*/
183 /* method sorter#Comparator#sub_sort for (self: Object, Array[nullable Object], Int, Int) */
184 void VIRTUAL_sorter__Comparator__sub_sort(val
* self
, val
* p0
, long p1
, long p2
) {
185 sorter__Comparator__sub_sort(self
, p0
, p1
, p2
); /* Direct call sorter#Comparator#sub_sort on <self:Object(Comparator[nullable Object])>*/
188 /* method sorter#Comparator#quick_sort for (self: Comparator[nullable Object], Array[nullable Object], Int, Int) */
189 void sorter__Comparator__quick_sort(val
* self
, val
* p0
, long p1
, long p2
) {
190 short int var
/* : Bool */;
193 const struct type
* type_struct
;
194 const char* var_class_name
;
195 val
* var_array
/* var array: Array[nullable Object] */;
196 long var_from
/* var from: Int */;
197 long var_to
/* var to: Int */;
198 val
* var1
/* : nullable Object */;
199 val
* var_pivot
/* var pivot: nullable Object */;
200 long var_i
/* var i: Int */;
201 long var_j
/* var j: Int */;
202 short int var2
/* : Bool */;
203 short int var4
/* : Bool */;
206 const char* var_class_name7
;
207 short int var8
/* : Bool */;
208 short int var9
/* : Bool */;
209 short int var10
/* : Bool */;
210 short int var12
/* : Bool */;
213 const char* var_class_name15
;
214 short int var16
/* : Bool */;
215 short int var_
/* var : Bool */;
216 val
* var17
/* : nullable Object */;
217 long var18
/* : Int */;
218 long var19
/* : Int */;
219 short int var20
/* : Bool */;
220 short int var22
/* : Bool */;
223 const char* var_class_name25
;
224 short int var26
/* : Bool */;
225 long var27
/* : Int */;
226 long var28
/* : Int */;
227 short int var30
/* : Bool */;
230 const char* var_class_name33
;
231 long var34
/* : Int */;
232 short int var35
/* : Bool */;
233 short int var36
/* : Bool */;
234 short int var38
/* : Bool */;
237 const char* var_class_name41
;
238 short int var42
/* : Bool */;
239 short int var_43
/* var : Bool */;
240 val
* var44
/* : nullable Object */;
241 long var45
/* : Int */;
242 long var46
/* : Int */;
243 short int var47
/* : Bool */;
244 short int var49
/* : Bool */;
247 const char* var_class_name52
;
248 short int var53
/* : Bool */;
249 long var54
/* : Int */;
250 long var55
/* : Int */;
251 short int var57
/* : Bool */;
254 const char* var_class_name60
;
255 long var61
/* : Int */;
256 short int var63
/* : Bool */;
257 short int var65
/* : Bool */;
260 const char* var_class_name68
;
261 short int var69
/* : Bool */;
262 val
* var70
/* : nullable Object */;
263 val
* var_t
/* var t: nullable Object */;
264 val
* var71
/* : nullable Object */;
265 long var73
/* : Int */;
266 long var74
/* : Int */;
267 short int var76
/* : Bool */;
270 const char* var_class_name79
;
271 long var80
/* : Int */;
272 val
* var81
/* : nullable Object */;
273 long var82
/* : Int */;
274 long var83
/* : Int */;
275 short int var85
/* : Bool */;
278 const char* var_class_name88
;
279 long var89
/* : Int */;
280 long var90
/* : Int */;
281 long var91
/* : Int */;
282 short int var93
/* : Bool */;
285 const char* var_class_name96
;
286 long var97
/* : Int */;
287 /* Covariant cast for argument 0 (array) <p0:Array[nullable Object]> isa Array[Comparator#0] */
288 /* <p0:Array[nullable Object]> isa Array[Comparator#0] */
289 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__Arraysorter__Comparator_FT0
];
290 cltype
= type_struct
->color
;
291 idtype
= type_struct
->id
;
292 if(cltype
>= p0
->type
->table_size
) {
295 var
= p0
->type
->type_table
[cltype
] == idtype
;
297 if (unlikely(!var
)) {
298 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
299 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[Comparator#0]", var_class_name
);
300 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/sorter.nit", 50);
307 var1
= array__Array___91d_93d(var_array
, var_from
);
314 { /* Inline kernel#Int#> (var_j,var_i) on <var_j:Int> */
315 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
316 /* <var_i:Int> isa OTHER */
317 var4
= 1; /* easy <var_i:Int> isa OTHER*/
318 if (unlikely(!var4
)) {
319 var_class_name7
= type_kernel__Int
.name
;
320 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7
);
321 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
324 var8
= var_j
> var_i
;
333 { /* Inline kernel#Int#<= (var_i,var_to) on <var_i:Int> */
334 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
335 /* <var_to:Int> isa OTHER */
336 var12
= 1; /* easy <var_to:Int> isa OTHER*/
337 if (unlikely(!var12
)) {
338 var_class_name15
= type_kernel__Int
.name
;
339 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
340 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
343 var16
= var_i
<= var_to
;
352 var17
= array__Array___91d_93d(var_array
, var_i
);
355 var18
= ((long (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_sorter__Comparator__compare
]))(self
, var17
, var_pivot
) /* compare on <self:Comparator[nullable Object]>*/;
359 { /* Inline kernel#Int#<= (var18,var19) on <var18:Int> */
360 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
361 /* <var19:Int> isa OTHER */
362 var22
= 1; /* easy <var19:Int> isa OTHER*/
363 if (unlikely(!var22
)) {
364 var_class_name25
= type_kernel__Int
.name
;
365 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
366 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
369 var26
= var18
<= var19
;
382 { /* Inline kernel#Int#+ (var_i,var27) on <var_i:Int> */
383 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
384 /* <var27:Int> isa OTHER */
385 var30
= 1; /* easy <var27:Int> isa OTHER*/
386 if (unlikely(!var30
)) {
387 var_class_name33
= type_kernel__Int
.name
;
388 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
389 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
392 var34
= var_i
+ var27
;
399 CONTINUE_label
: (void)0;
401 BREAK_label
: (void)0;
404 { /* Inline kernel#Int#> (var_j,var_i) on <var_j:Int> */
405 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
406 /* <var_i:Int> isa OTHER */
407 var38
= 1; /* easy <var_i:Int> isa OTHER*/
408 if (unlikely(!var38
)) {
409 var_class_name41
= type_kernel__Int
.name
;
410 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
411 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
414 var42
= var_j
> var_i
;
423 var44
= array__Array___91d_93d(var_array
, var_j
);
426 var45
= ((long (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_sorter__Comparator__compare
]))(self
, var44
, var_pivot
) /* compare on <self:Comparator[nullable Object]>*/;
430 { /* Inline kernel#Int#>= (var45,var46) on <var45:Int> */
431 /* Covariant cast for argument 0 (i) <var46:Int> isa OTHER */
432 /* <var46:Int> isa OTHER */
433 var49
= 1; /* easy <var46:Int> isa OTHER*/
434 if (unlikely(!var49
)) {
435 var_class_name52
= type_kernel__Int
.name
;
436 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52
);
437 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
440 var53
= var45
>= var46
;
453 { /* Inline kernel#Int#- (var_j,var54) on <var_j:Int> */
454 /* Covariant cast for argument 0 (i) <var54:Int> isa OTHER */
455 /* <var54:Int> isa OTHER */
456 var57
= 1; /* easy <var54:Int> isa OTHER*/
457 if (unlikely(!var57
)) {
458 var_class_name60
= type_kernel__Int
.name
;
459 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name60
);
460 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
463 var61
= var_j
- var54
;
470 CONTINUE_label62
: (void)0;
472 BREAK_label62
: (void)0;
474 { /* Inline kernel#Int#> (var_j,var_i) on <var_j:Int> */
475 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
476 /* <var_i:Int> isa OTHER */
477 var65
= 1; /* easy <var_i:Int> isa OTHER*/
478 if (unlikely(!var65
)) {
479 var_class_name68
= type_kernel__Int
.name
;
480 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68
);
481 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
484 var69
= var_j
> var_i
;
492 var70
= array__Array___91d_93d(var_array
, var_i
);
496 var71
= array__Array___91d_93d(var_array
, var_j
);
499 array__Array___91d_93d_61d(var_array
, var_i
, var71
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
502 array__Array___91d_93d_61d(var_array
, var_j
, var_t
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
506 CONTINUE_label72
: (void)0;
508 BREAK_label72
: (void)0;
511 { /* Inline kernel#Int#- (var_i,var73) on <var_i:Int> */
512 /* Covariant cast for argument 0 (i) <var73:Int> isa OTHER */
513 /* <var73:Int> isa OTHER */
514 var76
= 1; /* easy <var73:Int> isa OTHER*/
515 if (unlikely(!var76
)) {
516 var_class_name79
= type_kernel__Int
.name
;
517 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79
);
518 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
521 var80
= var_i
- var73
;
528 var81
= array__Array___91d_93d(var_array
, var74
);
531 array__Array___91d_93d_61d(var_array
, var_from
, var81
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
535 { /* Inline kernel#Int#- (var_i,var82) on <var_i:Int> */
536 /* Covariant cast for argument 0 (i) <var82:Int> isa OTHER */
537 /* <var82:Int> isa OTHER */
538 var85
= 1; /* easy <var82:Int> isa OTHER*/
539 if (unlikely(!var85
)) {
540 var_class_name88
= type_kernel__Int
.name
;
541 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name88
);
542 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
545 var89
= var_i
- var82
;
552 array__Array___91d_93d_61d(var_array
, var83
, var_pivot
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
556 { /* Inline kernel#Int#- (var_i,var90) on <var_i:Int> */
557 /* Covariant cast for argument 0 (i) <var90:Int> isa OTHER */
558 /* <var90:Int> isa OTHER */
559 var93
= 1; /* easy <var90:Int> isa OTHER*/
560 if (unlikely(!var93
)) {
561 var_class_name96
= type_kernel__Int
.name
;
562 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96
);
563 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
566 var97
= var_i
- var90
;
573 sorter__Comparator__sub_sort(self
, var_array
, var_from
, var91
); /* Direct call sorter#Comparator#sub_sort on <self:Comparator[nullable Object]>*/
576 sorter__Comparator__sub_sort(self
, var_array
, var_i
, var_to
); /* Direct call sorter#Comparator#sub_sort on <self:Comparator[nullable Object]>*/
580 /* method sorter#Comparator#quick_sort for (self: Object, Array[nullable Object], Int, Int) */
581 void VIRTUAL_sorter__Comparator__quick_sort(val
* self
, val
* p0
, long p1
, long p2
) {
582 sorter__Comparator__quick_sort(self
, p0
, p1
, p2
); /* Direct call sorter#Comparator#quick_sort on <self:Object(Comparator[nullable Object])>*/
585 /* method sorter#Comparator#bubble_sort for (self: Comparator[nullable Object], Array[nullable Object], Int, Int) */
586 void sorter__Comparator__bubble_sort(val
* self
, val
* p0
, long p1
, long p2
) {
587 short int var
/* : Bool */;
590 const struct type
* type_struct
;
591 const char* var_class_name
;
592 val
* var_array
/* var array: Array[nullable Object] */;
593 long var_from
/* var from: Int */;
594 long var_to
/* var to: Int */;
595 long var_i
/* var i: Int */;
596 short int var1
/* : Bool */;
597 short int var3
/* : Bool */;
600 const char* var_class_name6
;
601 short int var7
/* : Bool */;
602 long var_min
/* var min: Int */;
603 val
* var8
/* : nullable Object */;
604 val
* var_min_v
/* var min_v: nullable Object */;
605 long var_j
/* var j: Int */;
606 short int var9
/* : Bool */;
607 short int var11
/* : Bool */;
610 const char* var_class_name14
;
611 short int var15
/* : Bool */;
612 val
* var16
/* : nullable Object */;
613 long var17
/* : Int */;
614 long var18
/* : Int */;
615 short int var19
/* : Bool */;
616 short int var21
/* : Bool */;
619 const char* var_class_name24
;
620 short int var25
/* : Bool */;
621 val
* var26
/* : nullable Object */;
622 long var27
/* : Int */;
623 long var28
/* : Int */;
624 short int var30
/* : Bool */;
627 const char* var_class_name33
;
628 long var34
/* : Int */;
629 short int var35
/* : Bool */;
630 short int var36
/* : Bool */;
631 short int var38
/* : Bool */;
632 short int var39
/* : Bool */;
633 val
* var40
/* : nullable Object */;
634 long var41
/* : Int */;
635 long var42
/* : Int */;
636 short int var44
/* : Bool */;
639 const char* var_class_name47
;
640 long var48
/* : Int */;
641 /* Covariant cast for argument 0 (array) <p0:Array[nullable Object]> isa Array[Comparator#0] */
642 /* <p0:Array[nullable Object]> isa Array[Comparator#0] */
643 type_struct
= self
->type
->resolution_table
->types
[COLOR_array__Arraysorter__Comparator_FT0
];
644 cltype
= type_struct
->color
;
645 idtype
= type_struct
->id
;
646 if(cltype
>= p0
->type
->table_size
) {
649 var
= p0
->type
->type_table
[cltype
] == idtype
;
651 if (unlikely(!var
)) {
652 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
653 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[Comparator#0]", var_class_name
);
654 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/sorter.nit", 76);
663 { /* Inline kernel#Int#< (var_i,var_to) on <var_i:Int> */
664 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
665 /* <var_to:Int> isa OTHER */
666 var3
= 1; /* easy <var_to:Int> isa OTHER*/
667 if (unlikely(!var3
)) {
668 var_class_name6
= type_kernel__Int
.name
;
669 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name6
);
670 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
673 var7
= var_i
< var_to
;
682 var8
= array__Array___91d_93d(var_array
, var_i
);
688 { /* Inline kernel#Int#<= (var_j,var_to) on <var_j:Int> */
689 /* Covariant cast for argument 0 (i) <var_to:Int> isa OTHER */
690 /* <var_to:Int> isa OTHER */
691 var11
= 1; /* easy <var_to:Int> isa OTHER*/
692 if (unlikely(!var11
)) {
693 var_class_name14
= type_kernel__Int
.name
;
694 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
695 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
698 var15
= var_j
<= var_to
;
706 var16
= array__Array___91d_93d(var_array
, var_j
);
709 var17
= ((long (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_sorter__Comparator__compare
]))(self
, var_min_v
, var16
) /* compare on <self:Comparator[nullable Object]>*/;
713 { /* Inline kernel#Int#> (var17,var18) on <var17:Int> */
714 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
715 /* <var18:Int> isa OTHER */
716 var21
= 1; /* easy <var18:Int> isa OTHER*/
717 if (unlikely(!var21
)) {
718 var_class_name24
= type_kernel__Int
.name
;
719 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
720 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
723 var25
= var17
> var18
;
732 var26
= array__Array___91d_93d(var_array
, var_j
);
739 { /* Inline kernel#Int#+ (var_j,var27) on <var_j:Int> */
740 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
741 /* <var27:Int> isa OTHER */
742 var30
= 1; /* easy <var27:Int> isa OTHER*/
743 if (unlikely(!var30
)) {
744 var_class_name33
= type_kernel__Int
.name
;
745 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
746 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
749 var34
= var_j
+ var27
;
756 CONTINUE_label
: (void)0;
758 BREAK_label
: (void)0;
760 { /* Inline kernel#Int#!= (var_min,var_i) on <var_min:Int> */
761 var38
= var_min
== var_i
;
771 var40
= array__Array___91d_93d(var_array
, var_i
);
774 array__Array___91d_93d_61d(var_array
, var_min
, var40
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
777 array__Array___91d_93d_61d(var_array
, var_i
, var_min_v
); /* Direct call array#Array#[]= on <var_array:Array[nullable Object]>*/
783 { /* Inline kernel#Int#+ (var_i,var41) on <var_i:Int> */
784 /* Covariant cast for argument 0 (i) <var41:Int> isa OTHER */
785 /* <var41:Int> isa OTHER */
786 var44
= 1; /* easy <var41:Int> isa OTHER*/
787 if (unlikely(!var44
)) {
788 var_class_name47
= type_kernel__Int
.name
;
789 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47
);
790 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
793 var48
= var_i
+ var41
;
800 CONTINUE_label49
: (void)0;
802 BREAK_label49
: (void)0;
805 /* method sorter#Comparator#bubble_sort for (self: Object, Array[nullable Object], Int, Int) */
806 void VIRTUAL_sorter__Comparator__bubble_sort(val
* self
, val
* p0
, long p1
, long p2
) {
807 sorter__Comparator__bubble_sort(self
, p0
, p1
, p2
); /* Direct call sorter#Comparator#bubble_sort on <self:Object(Comparator[nullable Object])>*/
810 /* method sorter#DefaultComparator#compare for (self: DefaultComparator[Comparable], Comparable, Comparable): Int */
811 long sorter__DefaultComparator__compare(val
* self
, val
* p0
, val
* p1
) {
812 long var
/* : Int */;
813 short int var1
/* : Bool */;
816 const struct type
* type_struct
;
817 const char* var_class_name
;
818 short int var2
/* : Bool */;
821 const struct type
* type_struct5
;
822 const char* var_class_name6
;
823 val
* var_a
/* var a: Comparable */;
824 val
* var_b
/* var b: Comparable */;
825 long var7
/* : Int */;
826 /* Covariant cast for argument 0 (a) <p0:Comparable> isa Comparator#0 */
827 /* <p0:Comparable> isa Comparator#0 */
828 type_struct
= self
->type
->resolution_table
->types
[COLOR_sorter__Comparator_FT0
];
829 cltype
= type_struct
->color
;
830 idtype
= type_struct
->id
;
831 if(cltype
>= p0
->type
->table_size
) {
834 var1
= p0
->type
->type_table
[cltype
] == idtype
;
836 if (unlikely(!var1
)) {
837 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
838 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Comparator#0", var_class_name
);
839 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/sorter.nit", 217);
842 /* Covariant cast for argument 1 (b) <p1:Comparable> isa Comparator#0 */
843 /* <p1:Comparable> isa Comparator#0 */
844 type_struct5
= self
->type
->resolution_table
->types
[COLOR_sorter__Comparator_FT0
];
845 cltype3
= type_struct5
->color
;
846 idtype4
= type_struct5
->id
;
847 if(cltype3
>= p1
->type
->table_size
) {
850 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
852 if (unlikely(!var2
)) {
853 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
854 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Comparator#0", var_class_name6
);
855 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/sorter.nit", 217);
861 var7
= ((long (*)(val
*, val
*))(var_a
->class->vft
[COLOR_kernel__Comparable___60d_61d_62d
]))(var_a
, var_b
) /* <=> on <var_a:Comparable>*/;
868 /* method sorter#DefaultComparator#compare for (self: Object, nullable Object, nullable Object): Int */
869 long VIRTUAL_sorter__DefaultComparator__compare(val
* self
, val
* p0
, val
* p1
) {
870 long var
/* : Int */;
871 long var1
/* : Int */;
872 var1
= sorter__DefaultComparator__compare(self
, p0
, p1
);
877 /* method sorter#DefaultComparator#init for (self: DefaultComparator[Comparable]) */
878 void sorter__DefaultComparator__init(val
* self
) {
881 /* method sorter#DefaultComparator#init for (self: Object) */
882 void VIRTUAL_sorter__DefaultComparator__init(val
* self
) {
883 { /* Inline sorter#DefaultComparator#init (self) on <self:Object(DefaultComparator[Comparable])> */