1 #include "string.sep.0.h"
2 /* method string#AbstractString#items for (self: AbstractString): NativeString */
3 char* string__AbstractString__items(val
* self
) {
4 char* var
/* : NativeString */;
5 char* var1
/* : NativeString */;
6 var1
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
11 /* method string#AbstractString#items for (self: Object): NativeString */
12 char* VIRTUAL_string__AbstractString__items(val
* self
) {
13 char* var
/* : NativeString */;
14 char* var1
/* : NativeString */;
15 var1
= string__AbstractString__items(self
);
20 /* method string#AbstractString#[] for (self: AbstractString, Int): Char */
21 char string__AbstractString___91d_93d(val
* self
, long p0
) {
22 char var
/* : Char */;
23 long var_index
/* var index: Int */;
24 char* var1
/* : NativeString */;
25 char var2
/* : Char */;
26 char var4
/* : Char */;
28 var1
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
29 { /* Inline string#NativeString#[] (var1,var_index) */
30 var4
= var1
[var_index
];
40 /* method string#AbstractString#[] for (self: Object, Int): nullable Object */
41 val
* VIRTUAL_string__AbstractString___91d_93d(val
* self
, long p0
) {
42 val
* var
/* : nullable Object */;
43 char var1
/* : Char */;
44 val
* var2
/* : nullable Object */;
45 var1
= string__AbstractString___91d_93d(self
, p0
);
46 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
51 /* method string#AbstractString#substring for (self: AbstractString, Int, Int): String */
52 val
* string__AbstractString__substring(val
* self
, long p0
, long p1
) {
53 val
* var
/* : String */;
54 long var_from
/* var from: Int */;
55 long var_count
/* var count: Int */;
56 long var1
/* : Int */;
57 short int var2
/* : Bool */;
58 short int var4
/* : Bool */;
61 const char* var_class_name
;
62 short int var5
/* : Bool */;
63 long var6
/* : Int */;
64 long var8
/* : Int */;
65 long var9
/* : Int */;
66 short int var10
/* : Bool */;
67 short int var12
/* : Bool */;
70 const char* var_class_name15
;
71 short int var16
/* : Bool */;
72 long var17
/* : Int */;
73 long var18
/* : Int */;
74 short int var19
/* : Bool */;
75 short int var21
/* : Bool */;
78 const char* var_class_name24
;
79 short int var25
/* : Bool */;
80 long var26
/* : Int */;
81 short int var27
/* : Bool */;
82 short int var29
/* : Bool */;
85 const char* var_class_name32
;
86 short int var33
/* : Bool */;
87 val
* var34
/* : Buffer */;
88 long var35
/* : Int */;
89 long var37
/* : Int */;
90 val
* var_r
/* var r: Buffer */;
91 short int var38
/* : Bool */;
92 short int var40
/* : Bool */;
95 const char* var_class_name43
;
96 short int var44
/* : Bool */;
97 char* var45
/* : NativeString */;
98 char var46
/* : Char */;
99 char var48
/* : Char */;
100 val
* var49
/* : nullable Object */;
101 long var50
/* : Int */;
102 long var51
/* : Int */;
103 long var53
/* : Int */;
104 val
* var54
/* : String */;
106 val
* var55
/* : String */;
107 char* var56
/* : NativeString */;
108 long var57
/* : Int */;
109 val
* var58
/* : String */;
113 { /* Inline kernel#Int#>= (var_count,var1) */
114 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
115 /* <var1:Int> isa OTHER */
116 var4
= 1; /* easy <var1:Int> isa OTHER*/
118 var_class_name
= type_kernel__Int
.name
;
119 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
120 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
123 var5
= var_count
>= var1
;
129 fprintf(stderr
, "Runtime error: %s", "Assert failed");
130 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 50);
133 { /* Inline kernel#Int#+ (var_count,var_from) */
134 var8
= var_count
+ var_from
;
141 { /* Inline kernel#Int#< (var_from,var9) */
142 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
143 /* <var9:Int> isa OTHER */
144 var12
= 1; /* easy <var9:Int> isa OTHER*/
146 var_class_name15
= type_kernel__Int
.name
;
147 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
148 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
151 var16
= var_from
< var9
;
161 var18
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
162 { /* Inline kernel#Int#> (var_count,var18) */
163 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
164 /* <var18:Int> isa OTHER */
165 var21
= 1; /* easy <var18:Int> isa OTHER*/
167 var_class_name24
= type_kernel__Int
.name
;
168 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
169 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
172 var25
= var_count
> var18
;
178 var26
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
182 { /* Inline kernel#Int#< (var_from,var_count) */
183 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
184 /* <var_count:Int> isa OTHER */
185 var29
= 1; /* easy <var_count:Int> isa OTHER*/
187 var_class_name32
= type_kernel__Int
.name
;
188 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
189 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
192 var33
= var_from
< var_count
;
198 var34
= NEW_string__Buffer(&type_string__Buffer
);
199 { /* Inline kernel#Int#- (var_count,var_from) */
200 var37
= var_count
- var_from
;
205 ((void (*)(val
*, long))(var34
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var34
, var35
) /* with_capacity on <var34:Buffer>*/;
206 CHECK_NEW_string__Buffer(var34
);
209 { /* Inline kernel#Int#< (var_from,var_count) */
210 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
211 /* <var_count:Int> isa OTHER */
212 var40
= 1; /* easy <var_count:Int> isa OTHER*/
214 var_class_name43
= type_kernel__Int
.name
;
215 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43
);
216 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
219 var44
= var_from
< var_count
;
225 var45
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
226 { /* Inline string#NativeString#[] (var45,var_from) */
227 var48
= var45
[var_from
];
232 var49
= BOX_kernel__Char(var46
); /* autobox from Char to nullable Object */
233 ((void (*)(val
*, val
*))(var_r
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_r
, var49
) /* push on <var_r:Buffer>*/;
235 { /* Inline kernel#Int#+ (var_from,var50) */
236 var53
= var_from
+ var50
;
242 CONTINUE_label
: (void)0;
244 BREAK_label
: (void)0;
245 var54
= ((val
* (*)(val
*))(var_r
->class->vft
[COLOR_string__Object__to_s
]))(var_r
) /* to_s on <var_r:Buffer>*/;
254 var58
= string__NativeString__to_s_with_length(var56
, var57
);
264 /* method string#AbstractString#substring for (self: Object, Int, Int): String */
265 val
* VIRTUAL_string__AbstractString__substring(val
* self
, long p0
, long p1
) {
266 val
* var
/* : String */;
267 val
* var1
/* : String */;
268 var1
= string__AbstractString__substring(self
, p0
, p1
);
273 /* method string#AbstractString#substring_from for (self: AbstractString, Int): String */
274 val
* string__AbstractString__substring_from(val
* self
, long p0
) {
275 val
* var
/* : String */;
276 long var_from
/* var from: Int */;
277 long var1
/* : Int */;
278 short int var2
/* : Bool */;
279 short int var4
/* : Bool */;
282 const char* var_class_name
;
283 short int var5
/* : Bool */;
284 long var6
/* : Int */;
285 long var7
/* : Int */;
286 long var9
/* : Int */;
287 val
* var10
/* : String */;
289 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
290 { /* Inline kernel#Int#< (var_from,var1) */
291 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
292 /* <var1:Int> isa OTHER */
293 var4
= 1; /* easy <var1:Int> isa OTHER*/
295 var_class_name
= type_kernel__Int
.name
;
296 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
297 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
300 var5
= var_from
< var1
;
306 fprintf(stderr
, "Runtime error: %s", "Assert failed");
307 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 75);
310 var6
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
311 { /* Inline kernel#Int#- (var6,var_from) */
312 var9
= var6
- var_from
;
317 var10
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_from
, var7
) /* substring on <self:AbstractString>*/;
323 /* method string#AbstractString#substring_from for (self: Object, Int): String */
324 val
* VIRTUAL_string__AbstractString__substring_from(val
* self
, long p0
) {
325 val
* var
/* : String */;
326 val
* var1
/* : String */;
327 var1
= string__AbstractString__substring_from(self
, p0
);
332 /* method string#AbstractString#has_substring for (self: AbstractString, String, Int): Bool */
333 short int string__AbstractString__has_substring(val
* self
, val
* p0
, long p1
) {
334 short int var
/* : Bool */;
335 val
* var_str
/* var str: String */;
336 long var_pos
/* var pos: Int */;
337 long var1
/* : Int */;
338 long var2
/* : Int */;
339 long var3
/* : Int */;
340 long var5
/* : Int */;
341 long var_itsindex
/* var itsindex: Int */;
342 long var6
/* : Int */;
343 long var8
/* : Int */;
344 long var_myindex
/* var myindex: Int */;
345 char* var9
/* : NativeString */;
346 char* var_myitems
/* var myitems: NativeString */;
347 char* var10
/* : NativeString */;
348 char* var_itsitems
/* var itsitems: NativeString */;
349 short int var11
/* : Bool */;
350 long var12
/* : Int */;
351 short int var13
/* : Bool */;
352 short int var15
/* : Bool */;
355 const char* var_class_name
;
356 short int var16
/* : Bool */;
357 short int var_
/* var : Bool */;
358 short int var17
/* : Bool */;
359 short int var19
/* : Bool */;
362 const char* var_class_name22
;
363 short int var23
/* : Bool */;
364 short int var24
/* : Bool */;
365 long var25
/* : Int */;
366 long var_its_index_from
/* var its_index_from: Int */;
367 long var26
/* : Int */;
368 long var28
/* : Int */;
369 short int var29
/* : Bool */;
370 short int var31
/* : Bool */;
373 const char* var_class_name34
;
374 short int var35
/* : Bool */;
375 char var36
/* : Char */;
376 char var38
/* : Char */;
377 char var39
/* : Char */;
378 char var41
/* : Char */;
379 short int var42
/* : Bool */;
380 short int var44
/* : Bool */;
381 short int var45
/* : Bool */;
382 short int var46
/* : Bool */;
383 long var47
/* : Int */;
384 long var48
/* : Int */;
385 long var50
/* : Int */;
386 long var51
/* : Int */;
387 long var52
/* : Int */;
388 long var54
/* : Int */;
389 short int var55
/* : Bool */;
392 var1
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
394 { /* Inline kernel#Int#- (var1,var2) */
401 { /* Inline kernel#Int#+ (var_pos,var_itsindex) */
402 var8
= var_pos
+ var_itsindex
;
408 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
410 var10
= var_str
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_str:String> */
411 var_itsitems
= var10
;
412 var12
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
413 { /* Inline kernel#Int#> (var_myindex,var12) */
414 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
415 /* <var12:Int> isa OTHER */
416 var15
= 1; /* easy <var12:Int> isa OTHER*/
418 var_class_name
= type_kernel__Int
.name
;
419 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
420 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
423 var16
= var_myindex
> var12
;
432 { /* Inline kernel#Int#> (var_itsindex,var_myindex) */
433 /* Covariant cast for argument 0 (i) <var_myindex:Int> isa OTHER */
434 /* <var_myindex:Int> isa OTHER */
435 var19
= 1; /* easy <var_myindex:Int> isa OTHER*/
437 var_class_name22
= type_kernel__Int
.name
;
438 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
439 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
442 var23
= var_itsindex
> var_myindex
;
455 var25
= var_str
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_str:String> */
456 var_its_index_from
= var25
;
457 { /* Inline kernel#Int#+ (var_itsindex,var_its_index_from) */
458 var28
= var_itsindex
+ var_its_index_from
;
463 var_itsindex
= var26
;
465 { /* Inline kernel#Int#>= (var_itsindex,var_its_index_from) */
466 /* Covariant cast for argument 0 (i) <var_its_index_from:Int> isa OTHER */
467 /* <var_its_index_from:Int> isa OTHER */
468 var31
= 1; /* easy <var_its_index_from:Int> isa OTHER*/
470 var_class_name34
= type_kernel__Int
.name
;
471 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
472 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
475 var35
= var_itsindex
>= var_its_index_from
;
481 { /* Inline string#NativeString#[] (var_myitems,var_myindex) */
482 var38
= var_myitems
[var_myindex
];
487 { /* Inline string#NativeString#[] (var_itsitems,var_itsindex) */
488 var41
= var_itsitems
[var_itsindex
];
493 { /* Inline kernel#Char#!= (var36,var39) */
494 var44
= var36
== var39
;
507 { /* Inline kernel#Int#- (var_myindex,var47) */
508 var50
= var_myindex
- var47
;
515 { /* Inline kernel#Int#- (var_itsindex,var51) */
516 var54
= var_itsindex
- var51
;
521 var_itsindex
= var52
;
522 CONTINUE_label
: (void)0;
524 BREAK_label
: (void)0;
531 /* method string#AbstractString#has_substring for (self: Object, String, Int): Bool */
532 short int VIRTUAL_string__AbstractString__has_substring(val
* self
, val
* p0
, long p1
) {
533 short int var
/* : Bool */;
534 short int var1
/* : Bool */;
535 var1
= string__AbstractString__has_substring(self
, p0
, p1
);
540 /* method string#AbstractString#has_prefix for (self: AbstractString, String): Bool */
541 short int string__AbstractString__has_prefix(val
* self
, val
* p0
) {
542 short int var
/* : Bool */;
543 val
* var_prefix
/* var prefix: String */;
544 long var1
/* : Int */;
545 short int var2
/* : Bool */;
548 var2
= ((short int (*)(val
*, val
*, long))(self
->class->vft
[COLOR_string__AbstractString__has_substring
]))(self
, var_prefix
, var1
) /* has_substring on <self:AbstractString>*/;
554 /* method string#AbstractString#has_prefix for (self: Object, String): Bool */
555 short int VIRTUAL_string__AbstractString__has_prefix(val
* self
, val
* p0
) {
556 short int var
/* : Bool */;
557 short int var1
/* : Bool */;
558 var1
= string__AbstractString__has_prefix(self
, p0
);
563 /* method string#AbstractString#has_suffix for (self: AbstractString, String): Bool */
564 short int string__AbstractString__has_suffix(val
* self
, val
* p0
) {
565 short int var
/* : Bool */;
566 val
* var_suffix
/* var suffix: String */;
567 long var1
/* : Int */;
568 long var2
/* : Int */;
569 long var3
/* : Int */;
570 long var5
/* : Int */;
571 short int var6
/* : Bool */;
573 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
574 var2
= ((long (*)(val
*))(var_suffix
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_suffix
) /* length on <var_suffix:String>*/;
575 { /* Inline kernel#Int#- (var1,var2) */
581 var6
= ((short int (*)(val
*, val
*, long))(self
->class->vft
[COLOR_string__AbstractString__has_substring
]))(self
, var_suffix
, var3
) /* has_substring on <self:AbstractString>*/;
587 /* method string#AbstractString#has_suffix for (self: Object, String): Bool */
588 short int VIRTUAL_string__AbstractString__has_suffix(val
* self
, val
* p0
) {
589 short int var
/* : Bool */;
590 short int var1
/* : Bool */;
591 var1
= string__AbstractString__has_suffix(self
, p0
);
596 /* method string#AbstractString#to_i for (self: AbstractString): Int */
597 long string__AbstractString__to_i(val
* self
) {
598 long var
/* : Int */;
599 val
* var1
/* : String */;
600 char* var2
/* : NativeString */;
601 long var3
/* : Int */;
602 long var5
/* : Int */;
603 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:AbstractString>*/;
604 var2
= ((char* (*)(val
*))(var1
->class->vft
[COLOR_string__String__to_cstring
]))(var1
) /* to_cstring on <var1:String>*/;
605 { /* Inline string#NativeString#atoi (var2) */
616 /* method string#AbstractString#to_i for (self: Object): Int */
617 long VIRTUAL_string__AbstractString__to_i(val
* self
) {
618 long var
/* : Int */;
619 long var1
/* : Int */;
620 var1
= string__AbstractString__to_i(self
);
625 /* method string#AbstractString#to_f for (self: AbstractString): Float */
626 double string__AbstractString__to_f(val
* self
) {
627 double var
/* : Float */;
628 val
* var1
/* : String */;
629 char* var2
/* : NativeString */;
630 double var3
/* : Float */;
631 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:AbstractString>*/;
632 var2
= ((char* (*)(val
*))(var1
->class->vft
[COLOR_string__String__to_cstring
]))(var1
) /* to_cstring on <var1:String>*/;
633 var3
= string__NativeString__atof(var2
);
639 /* method string#AbstractString#to_f for (self: Object): Float */
640 double VIRTUAL_string__AbstractString__to_f(val
* self
) {
641 double var
/* : Float */;
642 double var1
/* : Float */;
643 var1
= string__AbstractString__to_f(self
);
648 /* method string#AbstractString#to_hex for (self: AbstractString): Int */
649 long string__AbstractString__to_hex(val
* self
) {
650 long var
/* : Int */;
651 long var1
/* : Int */;
652 long var2
/* : Int */;
654 var2
= ((long (*)(val
*, long))(self
->class->vft
[COLOR_string__AbstractString__a_to
]))(self
, var1
) /* a_to on <self:AbstractString>*/;
660 /* method string#AbstractString#to_hex for (self: Object): Int */
661 long VIRTUAL_string__AbstractString__to_hex(val
* self
) {
662 long var
/* : Int */;
663 long var1
/* : Int */;
664 var1
= string__AbstractString__to_hex(self
);
669 /* method string#AbstractString#a_to for (self: AbstractString, Int): Int */
670 long string__AbstractString__a_to(val
* self
, long p0
) {
671 long var
/* : Int */;
672 long var_base
/* var base: Int */;
673 long var1
/* : Int */;
674 long var_i
/* var i: Int */;
675 short int var2
/* : Bool */;
676 short int var_neg
/* var neg: Bool */;
677 val
* var3
/* : Iterator[nullable Object] */;
678 short int var4
/* : Bool */;
679 val
* var5
/* : nullable Object */;
680 char var_c
/* var c: Char */;
681 char var6
/* : Char */;
682 long var7
/* : Int */;
683 long var_v
/* var v: Int */;
684 short int var8
/* : Bool */;
685 short int var10
/* : Bool */;
688 const char* var_class_name
;
689 short int var11
/* : Bool */;
690 long var12
/* : Int */;
691 long var14
/* : Int */;
692 long var15
/* : Int */;
693 short int var16
/* : Bool */;
694 short int var18
/* : Bool */;
697 const char* var_class_name21
;
698 short int var22
/* : Bool */;
699 short int var23
/* : Bool */;
700 long var24
/* : Int */;
701 long var26
/* : Int */;
702 long var27
/* : Int */;
703 long var29
/* : Int */;
704 long var30
/* : Int */;
705 long var32
/* : Int */;
711 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
713 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
715 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
716 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
718 var7
= kernel__Char__to_i(var_c
);
720 { /* Inline kernel#Int#> (var_v,var_base) */
721 /* Covariant cast for argument 0 (i) <var_base:Int> isa OTHER */
722 /* <var_base:Int> isa OTHER */
723 var10
= 1; /* easy <var_base:Int> isa OTHER*/
725 var_class_name
= type_kernel__Int
.name
;
726 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
727 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
730 var11
= var_v
> var_base
;
737 { /* Inline kernel#Int#unary - (var_i) */
751 { /* Inline kernel#Int#< (var_v,var15) */
752 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
753 /* <var15:Int> isa OTHER */
754 var18
= 1; /* easy <var15:Int> isa OTHER*/
756 var_class_name21
= type_kernel__Int
.name
;
757 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
758 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
761 var22
= var_v
< var15
;
770 { /* Inline kernel#Int#* (var_i,var_base) */
771 var26
= var_i
* var_base
;
776 { /* Inline kernel#Int#+ (var24,var_v) */
777 var29
= var24
+ var_v
;
785 CONTINUE_label
: (void)0;
786 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
788 BREAK_label
: (void)0;
790 { /* Inline kernel#Int#unary - (var_i) */
805 /* method string#AbstractString#a_to for (self: Object, Int): Int */
806 long VIRTUAL_string__AbstractString__a_to(val
* self
, long p0
) {
807 long var
/* : Int */;
808 long var1
/* : Int */;
809 var1
= string__AbstractString__a_to(self
, p0
);
814 /* method string#AbstractString#is_numeric for (self: AbstractString): Bool */
815 short int string__AbstractString__is_numeric(val
* self
) {
816 short int var
/* : Bool */;
817 short int var1
/* : Bool */;
818 short int var_has_point_or_comma
/* var has_point_or_comma: Bool */;
819 val
* var2
/* : Iterator[nullable Object] */;
820 short int var3
/* : Bool */;
821 val
* var4
/* : nullable Object */;
822 char var_i
/* var i: Char */;
823 char var5
/* : Char */;
824 short int var6
/* : Bool */;
825 short int var7
/* : Bool */;
826 short int var8
/* : Bool */;
827 short int var9
/* : Bool */;
828 char var10
/* : Char */;
829 short int var11
/* : Bool */;
830 short int var13
/* : Bool */;
831 short int var_
/* var : Bool */;
832 char var14
/* : Char */;
833 short int var15
/* : Bool */;
834 short int var17
/* : Bool */;
835 short int var_18
/* var : Bool */;
836 short int var19
/* : Bool */;
837 short int var20
/* : Bool */;
838 short int var21
/* : Bool */;
839 short int var22
/* : Bool */;
841 var_has_point_or_comma
= var1
;
842 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
844 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
846 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
847 var5
= ((struct instance_kernel__Char
*)var4
)->value
; /* autounbox from nullable Object to Char */;
849 var6
= string__Char__is_numeric(var_i
);
853 { /* Inline kernel#Char#== (var_i,var10) */
854 var13
= var_i
== var10
;
864 { /* Inline kernel#Char#== (var_i,var14) */
865 var17
= var_i
== var14
;
874 var19
= !var_has_point_or_comma
;
881 var_has_point_or_comma
= var20
;
889 CONTINUE_label
: (void)0;
890 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
892 BREAK_label
: (void)0;
899 /* method string#AbstractString#is_numeric for (self: Object): Bool */
900 short int VIRTUAL_string__AbstractString__is_numeric(val
* self
) {
901 short int var
/* : Bool */;
902 short int var1
/* : Bool */;
903 var1
= string__AbstractString__is_numeric(self
);
908 /* method string#AbstractString#to_upper for (self: AbstractString): String */
909 val
* string__AbstractString__to_upper(val
* self
) {
910 val
* var
/* : String */;
911 val
* var1
/* : Buffer */;
912 long var2
/* : Int */;
913 val
* var_s
/* var s: Buffer */;
914 val
* var3
/* : Iterator[nullable Object] */;
915 short int var4
/* : Bool */;
916 val
* var5
/* : nullable Object */;
917 char var_i
/* var i: Char */;
918 char var6
/* : Char */;
919 char var7
/* : Char */;
920 val
* var8
/* : nullable Object */;
921 val
* var9
/* : String */;
922 var1
= NEW_string__Buffer(&type_string__Buffer
);
923 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
924 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
925 CHECK_NEW_string__Buffer(var1
);
927 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
929 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
931 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
932 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
934 var7
= kernel__Char__to_upper(var_i
);
935 var8
= BOX_kernel__Char(var7
); /* autobox from Char to nullable Object */
936 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var8
) /* add on <var_s:Buffer>*/;
937 CONTINUE_label
: (void)0;
938 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
940 BREAK_label
: (void)0;
941 var9
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
947 /* method string#AbstractString#to_upper for (self: Object): String */
948 val
* VIRTUAL_string__AbstractString__to_upper(val
* self
) {
949 val
* var
/* : String */;
950 val
* var1
/* : String */;
951 var1
= string__AbstractString__to_upper(self
);
956 /* method string#AbstractString#to_lower for (self: AbstractString): String */
957 val
* string__AbstractString__to_lower(val
* self
) {
958 val
* var
/* : String */;
959 val
* var1
/* : Buffer */;
960 long var2
/* : Int */;
961 val
* var_s
/* var s: Buffer */;
962 val
* var3
/* : Iterator[nullable Object] */;
963 short int var4
/* : Bool */;
964 val
* var5
/* : nullable Object */;
965 char var_i
/* var i: Char */;
966 char var6
/* : Char */;
967 char var7
/* : Char */;
968 val
* var8
/* : nullable Object */;
969 val
* var9
/* : String */;
970 var1
= NEW_string__Buffer(&type_string__Buffer
);
971 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
972 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
973 CHECK_NEW_string__Buffer(var1
);
975 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
977 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
979 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
980 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
982 var7
= kernel__Char__to_lower(var_i
);
983 var8
= BOX_kernel__Char(var7
); /* autobox from Char to nullable Object */
984 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var8
) /* add on <var_s:Buffer>*/;
985 CONTINUE_label
: (void)0;
986 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
988 BREAK_label
: (void)0;
989 var9
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
995 /* method string#AbstractString#to_lower for (self: Object): String */
996 val
* VIRTUAL_string__AbstractString__to_lower(val
* self
) {
997 val
* var
/* : String */;
998 val
* var1
/* : String */;
999 var1
= string__AbstractString__to_lower(self
);
1004 /* method string#AbstractString#trim for (self: AbstractString): String */
1005 val
* string__AbstractString__trim(val
* self
) {
1006 val
* var
/* : String */;
1007 long var1
/* : Int */;
1008 long var2
/* : Int */;
1009 short int var3
/* : Bool */;
1010 short int var5
/* : Bool */;
1011 val
* var6
/* : String */;
1012 long var7
/* : Int */;
1013 long var_start_pos
/* var start_pos: Int */;
1014 val
* var8
/* : nullable Object */;
1015 long var9
/* : Int */;
1016 char var11
/* : Char */;
1017 long var12
/* : Int */;
1018 long var13
/* : Int */;
1019 short int var14
/* : Bool */;
1020 short int var16
/* : Bool */;
1023 const char* var_class_name
;
1024 short int var17
/* : Bool */;
1025 long var18
/* : Int */;
1026 long var19
/* : Int */;
1027 long var21
/* : Int */;
1028 long var22
/* : Int */;
1029 short int var23
/* : Bool */;
1030 short int var25
/* : Bool */;
1031 static val
* varonce
;
1032 val
* var26
/* : String */;
1033 char* var27
/* : NativeString */;
1034 long var28
/* : Int */;
1035 val
* var29
/* : String */;
1036 long var30
/* : Int */;
1037 long var31
/* : Int */;
1038 long var32
/* : Int */;
1039 long var34
/* : Int */;
1040 long var_end_pos
/* var end_pos: Int */;
1041 val
* var35
/* : nullable Object */;
1042 long var36
/* : Int */;
1043 char var38
/* : Char */;
1044 long var39
/* : Int */;
1045 long var40
/* : Int */;
1046 short int var41
/* : Bool */;
1047 short int var43
/* : Bool */;
1050 const char* var_class_name46
;
1051 short int var47
/* : Bool */;
1052 long var48
/* : Int */;
1053 long var49
/* : Int */;
1054 long var51
/* : Int */;
1055 short int var52
/* : Bool */;
1056 short int var54
/* : Bool */;
1057 val
* var55
/* : nullable Object */;
1058 val
* var56
/* : String */;
1059 char var57
/* : Char */;
1060 long var59
/* : Int */;
1061 long var61
/* : Int */;
1062 long var62
/* : Int */;
1063 long var63
/* : Int */;
1064 long var65
/* : Int */;
1065 val
* var66
/* : String */;
1066 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractString> */
1068 { /* Inline kernel#Int#== (var1,var2) */
1069 var5
= var1
== var2
;
1075 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:AbstractString>*/;
1081 var_start_pos
= var7
;
1083 var8
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_start_pos
) /* [] on <self:AbstractString>*/;
1084 { /* Inline kernel#Char#ascii (var8) */
1085 var11
= ((struct instance_kernel__Char
*)var8
)->value
; /* autounbox from nullable Object to Char */;
1086 var12
= (unsigned char)var11
;
1089 RET_LABEL10
:(void)0;
1092 { /* Inline kernel#Int#<= (var9,var13) */
1093 /* Covariant cast for argument 0 (i) <var13:Int> isa OTHER */
1094 /* <var13:Int> isa OTHER */
1095 var16
= 1; /* easy <var13:Int> isa OTHER*/
1097 var_class_name
= type_kernel__Int
.name
;
1098 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1099 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
1102 var17
= var9
<= var13
;
1105 RET_LABEL15
:(void)0;
1109 { /* Inline kernel#Int#+ (var_start_pos,var18) */
1110 var21
= var_start_pos
+ var18
;
1113 RET_LABEL20
:(void)0;
1115 var_start_pos
= var19
;
1116 var22
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractString> */
1117 { /* Inline kernel#Int#== (var_start_pos,var22) */
1118 var25
= var_start_pos
== var22
;
1121 RET_LABEL24
:(void)0;
1129 var29
= string__NativeString__to_s_with_length(var27
, var28
);
1137 CONTINUE_label
: (void)0;
1139 BREAK_label
: (void)0;
1140 var30
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1142 { /* Inline kernel#Int#- (var30,var31) */
1143 var34
= var30
- var31
;
1146 RET_LABEL33
:(void)0;
1148 var_end_pos
= var32
;
1150 var35
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_end_pos
) /* [] on <self:AbstractString>*/;
1151 { /* Inline kernel#Char#ascii (var35) */
1152 var38
= ((struct instance_kernel__Char
*)var35
)->value
; /* autounbox from nullable Object to Char */;
1153 var39
= (unsigned char)var38
;
1156 RET_LABEL37
:(void)0;
1159 { /* Inline kernel#Int#<= (var36,var40) */
1160 /* Covariant cast for argument 0 (i) <var40:Int> isa OTHER */
1161 /* <var40:Int> isa OTHER */
1162 var43
= 1; /* easy <var40:Int> isa OTHER*/
1164 var_class_name46
= type_kernel__Int
.name
;
1165 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46
);
1166 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
1169 var47
= var36
<= var40
;
1172 RET_LABEL42
:(void)0;
1176 { /* Inline kernel#Int#- (var_end_pos,var48) */
1177 var51
= var_end_pos
- var48
;
1180 RET_LABEL50
:(void)0;
1182 var_end_pos
= var49
;
1183 { /* Inline kernel#Int#== (var_end_pos,var_start_pos) */
1184 var54
= var_end_pos
== var_start_pos
;
1187 RET_LABEL53
:(void)0;
1190 var55
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_start_pos
) /* [] on <self:AbstractString>*/;
1191 var57
= ((struct instance_kernel__Char
*)var55
)->value
; /* autounbox from nullable Object to Char */;
1192 var56
= string__Char__to_s(var57
);
1197 CONTINUE_label58
: (void)0;
1199 BREAK_label58
: (void)0;
1200 { /* Inline kernel#Int#- (var_end_pos,var_start_pos) */
1201 var61
= var_end_pos
- var_start_pos
;
1204 RET_LABEL60
:(void)0;
1207 { /* Inline kernel#Int#+ (var59,var62) */
1208 var65
= var59
+ var62
;
1211 RET_LABEL64
:(void)0;
1213 var66
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_start_pos
, var63
) /* substring on <self:AbstractString>*/;
1219 /* method string#AbstractString#trim for (self: Object): String */
1220 val
* VIRTUAL_string__AbstractString__trim(val
* self
) {
1221 val
* var
/* : String */;
1222 val
* var1
/* : String */;
1223 var1
= string__AbstractString__trim(self
);
1228 /* method string#AbstractString#output for (self: AbstractString) */
1229 void string__AbstractString__output(val
* self
) {
1230 long var
/* : Int */;
1231 long var_i
/* var i: Int */;
1232 long var1
/* : Int */;
1233 short int var2
/* : Bool */;
1234 short int var4
/* : Bool */;
1237 const char* var_class_name
;
1238 short int var5
/* : Bool */;
1239 char* var6
/* : NativeString */;
1240 char var7
/* : Char */;
1241 char var9
/* : Char */;
1242 long var11
/* : Int */;
1243 long var12
/* : Int */;
1244 long var14
/* : Int */;
1248 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1249 { /* Inline kernel#Int#< (var_i,var1) */
1250 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
1251 /* <var1:Int> isa OTHER */
1252 var4
= 1; /* easy <var1:Int> isa OTHER*/
1254 var_class_name
= type_kernel__Int
.name
;
1255 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1256 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
1259 var5
= var_i
< var1
;
1265 var6
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
1266 { /* Inline string#NativeString#[] (var6,var_i) */
1272 { /* Inline kernel#Char#output (var7) */
1274 RET_LABEL10
:(void)0;
1277 { /* Inline kernel#Int#+ (var_i,var11) */
1278 var14
= var_i
+ var11
;
1281 RET_LABEL13
:(void)0;
1284 CONTINUE_label
: (void)0;
1286 BREAK_label
: (void)0;
1289 /* method string#AbstractString#output for (self: Object) */
1290 void VIRTUAL_string__AbstractString__output(val
* self
) {
1291 string__AbstractString__output(self
);
1294 /* method string#AbstractString#to_cmangle for (self: AbstractString): String */
1295 val
* string__AbstractString__to_cmangle(val
* self
) {
1296 val
* var
/* : String */;
1297 val
* var1
/* : Buffer */;
1298 val
* var_res
/* var res: Buffer */;
1299 short int var2
/* : Bool */;
1300 short int var_underscore
/* var underscore: Bool */;
1301 val
* var3
/* : Iterator[nullable Object] */;
1302 short int var4
/* : Bool */;
1303 val
* var5
/* : nullable Object */;
1304 char var_c
/* var c: Char */;
1305 char var6
/* : Char */;
1306 short int var7
/* : Bool */;
1307 short int var8
/* : Bool */;
1308 char var9
/* : Char */;
1309 short int var10
/* : Bool */;
1310 short int var12
/* : Bool */;
1313 const char* var_class_name
;
1314 short int var13
/* : Bool */;
1315 short int var_
/* var : Bool */;
1316 char var14
/* : Char */;
1317 short int var15
/* : Bool */;
1318 short int var17
/* : Bool */;
1321 const char* var_class_name20
;
1322 short int var21
/* : Bool */;
1323 short int var_22
/* var : Bool */;
1324 short int var23
/* : Bool */;
1325 char var24
/* : Char */;
1326 short int var25
/* : Bool */;
1327 short int var27
/* : Bool */;
1330 const char* var_class_name30
;
1331 short int var31
/* : Bool */;
1332 short int var_32
/* var : Bool */;
1333 char var33
/* : Char */;
1334 short int var34
/* : Bool */;
1335 short int var36
/* : Bool */;
1338 const char* var_class_name39
;
1339 short int var40
/* : Bool */;
1340 val
* var41
/* : nullable Object */;
1341 short int var42
/* : Bool */;
1342 char var43
/* : Char */;
1343 long var44
/* : Int */;
1344 long var46
/* : Int */;
1345 val
* var47
/* : String */;
1346 char var48
/* : Char */;
1347 val
* var49
/* : nullable Object */;
1348 short int var50
/* : Bool */;
1349 char var51
/* : Char */;
1350 short int var52
/* : Bool */;
1351 short int var54
/* : Bool */;
1354 const char* var_class_name57
;
1355 short int var58
/* : Bool */;
1356 short int var_59
/* var : Bool */;
1357 char var60
/* : Char */;
1358 short int var61
/* : Bool */;
1359 short int var63
/* : Bool */;
1362 const char* var_class_name66
;
1363 short int var67
/* : Bool */;
1364 val
* var68
/* : nullable Object */;
1365 short int var69
/* : Bool */;
1366 char var70
/* : Char */;
1367 short int var71
/* : Bool */;
1368 short int var73
/* : Bool */;
1369 val
* var74
/* : nullable Object */;
1370 short int var75
/* : Bool */;
1371 char var76
/* : Char */;
1372 val
* var77
/* : nullable Object */;
1373 long var78
/* : Int */;
1374 long var80
/* : Int */;
1375 val
* var81
/* : String */;
1376 char var82
/* : Char */;
1377 val
* var83
/* : nullable Object */;
1378 short int var84
/* : Bool */;
1379 val
* var85
/* : String */;
1380 var1
= NEW_string__Buffer(&type_string__Buffer
);
1381 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1382 CHECK_NEW_string__Buffer(var1
);
1385 var_underscore
= var2
;
1386 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
1388 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
1390 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
1391 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
1394 { /* Inline kernel#Char#>= (var_c,var9) */
1395 /* Covariant cast for argument 0 (i) <var9:Char> isa OTHER */
1396 /* <var9:Char> isa OTHER */
1397 var12
= 1; /* easy <var9:Char> isa OTHER*/
1399 var_class_name
= type_kernel__Char
.name
;
1400 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1401 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
1404 var13
= var_c
>= var9
;
1407 RET_LABEL11
:(void)0;
1412 { /* Inline kernel#Char#<= (var_c,var14) */
1413 /* Covariant cast for argument 0 (i) <var14:Char> isa OTHER */
1414 /* <var14:Char> isa OTHER */
1415 var17
= 1; /* easy <var14:Char> isa OTHER*/
1417 var_class_name20
= type_kernel__Char
.name
;
1418 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
1419 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
1422 var21
= var_c
<= var14
;
1425 RET_LABEL16
:(void)0;
1436 { /* Inline kernel#Char#>= (var_c,var24) */
1437 /* Covariant cast for argument 0 (i) <var24:Char> isa OTHER */
1438 /* <var24:Char> isa OTHER */
1439 var27
= 1; /* easy <var24:Char> isa OTHER*/
1441 var_class_name30
= type_kernel__Char
.name
;
1442 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
1443 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
1446 var31
= var_c
>= var24
;
1449 RET_LABEL26
:(void)0;
1454 { /* Inline kernel#Char#<= (var_c,var33) */
1455 /* Covariant cast for argument 0 (i) <var33:Char> isa OTHER */
1456 /* <var33:Char> isa OTHER */
1457 var36
= 1; /* easy <var33:Char> isa OTHER*/
1459 var_class_name39
= type_kernel__Char
.name
;
1460 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
1461 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
1464 var40
= var_c
<= var33
;
1467 RET_LABEL35
:(void)0;
1476 var41
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1477 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var41
) /* add on <var_res:Buffer>*/;
1479 var_underscore
= var42
;
1480 goto CONTINUE_label
;
1483 if (var_underscore
){
1485 { /* Inline kernel#Char#ascii (var43) */
1486 var46
= (unsigned char)var43
;
1489 RET_LABEL45
:(void)0;
1491 var47
= string__Int__to_s(var44
);
1492 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_res
, var47
) /* append on <var_res:Buffer>*/;
1494 var49
= BOX_kernel__Char(var48
); /* autobox from Char to nullable Object */
1495 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var49
) /* add on <var_res:Buffer>*/;
1499 { /* Inline kernel#Char#>= (var_c,var51) */
1500 /* Covariant cast for argument 0 (i) <var51:Char> isa OTHER */
1501 /* <var51:Char> isa OTHER */
1502 var54
= 1; /* easy <var51:Char> isa OTHER*/
1504 var_class_name57
= type_kernel__Char
.name
;
1505 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57
);
1506 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
1509 var58
= var_c
>= var51
;
1512 RET_LABEL53
:(void)0;
1517 { /* Inline kernel#Char#<= (var_c,var60) */
1518 /* Covariant cast for argument 0 (i) <var60:Char> isa OTHER */
1519 /* <var60:Char> isa OTHER */
1520 var63
= 1; /* easy <var60:Char> isa OTHER*/
1522 var_class_name66
= type_kernel__Char
.name
;
1523 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66
);
1524 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
1527 var67
= var_c
<= var60
;
1530 RET_LABEL62
:(void)0;
1537 var68
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1538 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var68
) /* add on <var_res:Buffer>*/;
1540 var_underscore
= var69
;
1543 { /* Inline kernel#Char#== (var_c,var70) */
1544 var73
= var_c
== var70
;
1547 RET_LABEL72
:(void)0;
1550 var74
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1551 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var74
) /* add on <var_res:Buffer>*/;
1553 var_underscore
= var75
;
1556 var77
= BOX_kernel__Char(var76
); /* autobox from Char to nullable Object */
1557 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var77
) /* add on <var_res:Buffer>*/;
1558 { /* Inline kernel#Char#ascii (var_c) */
1559 var80
= (unsigned char)var_c
;
1562 RET_LABEL79
:(void)0;
1564 var81
= string__Int__to_s(var78
);
1565 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_res
, var81
) /* append on <var_res:Buffer>*/;
1567 var83
= BOX_kernel__Char(var82
); /* autobox from Char to nullable Object */
1568 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var83
) /* add on <var_res:Buffer>*/;
1570 var_underscore
= var84
;
1573 CONTINUE_label
: (void)0;
1574 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
1576 BREAK_label
: (void)0;
1577 var85
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_string__Object__to_s
]))(var_res
) /* to_s on <var_res:Buffer>*/;
1583 /* method string#AbstractString#to_cmangle for (self: Object): String */
1584 val
* VIRTUAL_string__AbstractString__to_cmangle(val
* self
) {
1585 val
* var
/* : String */;
1586 val
* var1
/* : String */;
1587 var1
= string__AbstractString__to_cmangle(self
);
1592 /* method string#AbstractString#escape_to_c for (self: AbstractString): String */
1593 val
* string__AbstractString__escape_to_c(val
* self
) {
1594 val
* var
/* : String */;
1595 val
* var1
/* : Buffer */;
1596 val
* var_b
/* var b: Buffer */;
1597 val
* var2
/* : Iterator[nullable Object] */;
1598 short int var3
/* : Bool */;
1599 val
* var4
/* : nullable Object */;
1600 char var_c
/* var c: Char */;
1601 char var5
/* : Char */;
1602 char var6
/* : Char */;
1603 short int var7
/* : Bool */;
1604 short int var9
/* : Bool */;
1605 static val
* varonce
;
1606 val
* var10
/* : String */;
1607 char* var11
/* : NativeString */;
1608 long var12
/* : Int */;
1609 val
* var13
/* : String */;
1610 char var14
/* : Char */;
1611 short int var15
/* : Bool */;
1612 short int var17
/* : Bool */;
1613 static val
* varonce18
;
1614 val
* var19
/* : String */;
1615 char* var20
/* : NativeString */;
1616 long var21
/* : Int */;
1617 val
* var22
/* : String */;
1618 char var23
/* : Char */;
1619 short int var24
/* : Bool */;
1620 short int var26
/* : Bool */;
1621 static val
* varonce27
;
1622 val
* var28
/* : String */;
1623 char* var29
/* : NativeString */;
1624 long var30
/* : Int */;
1625 val
* var31
/* : String */;
1626 char var32
/* : Char */;
1627 short int var33
/* : Bool */;
1628 short int var35
/* : Bool */;
1629 static val
* varonce36
;
1630 val
* var37
/* : String */;
1631 char* var38
/* : NativeString */;
1632 long var39
/* : Int */;
1633 val
* var40
/* : String */;
1634 char var41
/* : Char */;
1635 short int var42
/* : Bool */;
1636 short int var44
/* : Bool */;
1637 static val
* varonce45
;
1638 val
* var46
/* : String */;
1639 char* var47
/* : NativeString */;
1640 long var48
/* : Int */;
1641 val
* var49
/* : String */;
1642 long var50
/* : Int */;
1643 long var52
/* : Int */;
1644 long var53
/* : Int */;
1645 short int var54
/* : Bool */;
1646 short int var56
/* : Bool */;
1649 const char* var_class_name
;
1650 short int var57
/* : Bool */;
1651 static val
* varonce58
;
1652 val
* var59
/* : String */;
1653 char* var60
/* : NativeString */;
1654 long var61
/* : Int */;
1655 val
* var62
/* : String */;
1656 long var63
/* : Int */;
1657 long var65
/* : Int */;
1658 long var66
/* : Int */;
1659 short int var67
/* : Bool */;
1660 val
* var68
/* : String */;
1661 val
* var69
/* : Array[Object] */;
1662 long var70
/* : Int */;
1663 val
* var71
/* : NativeArray[Object] */;
1664 val
* var72
/* : String */;
1665 val
* var73
/* : nullable Object */;
1666 val
* var74
/* : String */;
1667 var1
= NEW_string__Buffer(&type_string__Buffer
);
1668 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1669 CHECK_NEW_string__Buffer(var1
);
1671 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
1673 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
1675 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
1676 var5
= ((struct instance_kernel__Char
*)var4
)->value
; /* autounbox from nullable Object to Char */;
1679 { /* Inline kernel#Char#== (var_c,var6) */
1680 var9
= var_c
== var6
;
1691 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1695 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var10
) /* append on <var_b:Buffer>*/;
1698 { /* Inline kernel#Char#== (var_c,var14) */
1699 var17
= var_c
== var14
;
1702 RET_LABEL16
:(void)0;
1710 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1714 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var19
) /* append on <var_b:Buffer>*/;
1717 { /* Inline kernel#Char#== (var_c,var23) */
1718 var26
= var_c
== var23
;
1721 RET_LABEL25
:(void)0;
1729 var31
= string__NativeString__to_s_with_length(var29
, var30
);
1733 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var28
) /* append on <var_b:Buffer>*/;
1736 { /* Inline kernel#Char#== (var_c,var32) */
1737 var35
= var_c
== var32
;
1740 RET_LABEL34
:(void)0;
1748 var40
= string__NativeString__to_s_with_length(var38
, var39
);
1752 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var37
) /* append on <var_b:Buffer>*/;
1755 { /* Inline kernel#Char#== (var_c,var41) */
1756 var44
= var_c
== var41
;
1759 RET_LABEL43
:(void)0;
1767 var49
= string__NativeString__to_s_with_length(var47
, var48
);
1771 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var46
) /* append on <var_b:Buffer>*/;
1773 { /* Inline kernel#Char#ascii (var_c) */
1774 var52
= (unsigned char)var_c
;
1777 RET_LABEL51
:(void)0;
1780 { /* Inline kernel#Int#< (var50,var53) */
1781 /* Covariant cast for argument 0 (i) <var53:Int> isa OTHER */
1782 /* <var53:Int> isa OTHER */
1783 var56
= 1; /* easy <var53:Int> isa OTHER*/
1785 var_class_name
= type_kernel__Int
.name
;
1786 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1787 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
1790 var57
= var50
< var53
;
1793 RET_LABEL55
:(void)0;
1801 var62
= string__NativeString__to_s_with_length(var60
, var61
);
1805 { /* Inline kernel#Char#ascii (var_c) */
1806 var65
= (unsigned char)var_c
;
1809 RET_LABEL64
:(void)0;
1813 var68
= string__Int__to_base(var63
, var66
, var67
);
1814 var69
= NEW_array__Array(&type_array__Arraykernel__Object
);
1815 { /* var69 = array_instance Array[Object] */
1817 var71
= NEW_array__NativeArray(var70
, &type_array__NativeArraykernel__Object
);
1818 ((struct instance_array__NativeArray
*)var71
)->values
[0] = (val
*) var59
;
1819 ((struct instance_array__NativeArray
*)var71
)->values
[1] = (val
*) var68
;
1820 ((void (*)(val
*, val
*, long))(var69
->class->vft
[COLOR_array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
1821 CHECK_NEW_array__Array(var69
);
1823 var72
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
1824 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var72
) /* append on <var_b:Buffer>*/;
1826 var73
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1827 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var73
) /* add on <var_b:Buffer>*/;
1834 CONTINUE_label
: (void)0;
1835 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
1837 BREAK_label
: (void)0;
1838 var74
= ((val
* (*)(val
*))(var_b
->class->vft
[COLOR_string__Object__to_s
]))(var_b
) /* to_s on <var_b:Buffer>*/;
1844 /* method string#AbstractString#escape_to_c for (self: Object): String */
1845 val
* VIRTUAL_string__AbstractString__escape_to_c(val
* self
) {
1846 val
* var
/* : String */;
1847 val
* var1
/* : String */;
1848 var1
= string__AbstractString__escape_to_c(self
);
1853 /* method string#AbstractString#escape_more_to_c for (self: AbstractString, String): String */
1854 val
* string__AbstractString__escape_more_to_c(val
* self
, val
* p0
) {
1855 val
* var
/* : String */;
1856 val
* var_chars
/* var chars: String */;
1857 val
* var1
/* : Buffer */;
1858 val
* var_b
/* var b: Buffer */;
1859 val
* var2
/* : String */;
1860 val
* var3
/* : Iterator[nullable Object] */;
1861 short int var4
/* : Bool */;
1862 val
* var5
/* : nullable Object */;
1863 char var_c
/* var c: Char */;
1864 char var6
/* : Char */;
1865 short int var7
/* : Bool */;
1866 val
* var8
/* : nullable Object */;
1867 char var9
/* : Char */;
1868 val
* var10
/* : nullable Object */;
1869 val
* var11
/* : nullable Object */;
1870 val
* var12
/* : String */;
1872 var1
= NEW_string__Buffer(&type_string__Buffer
);
1873 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1874 CHECK_NEW_string__Buffer(var1
);
1876 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(self
) /* escape_to_c on <self:AbstractString>*/;
1877 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:String>*/;
1879 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
1881 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
1882 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
1884 var8
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1885 var7
= ((short int (*)(val
*, val
*))(var_chars
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_chars
, var8
) /* has on <var_chars:String>*/;
1888 var10
= BOX_kernel__Char(var9
); /* autobox from Char to nullable Object */
1889 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var10
) /* add on <var_b:Buffer>*/;
1892 var11
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1893 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var11
) /* add on <var_b:Buffer>*/;
1894 CONTINUE_label
: (void)0;
1895 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
1897 BREAK_label
: (void)0;
1898 var12
= ((val
* (*)(val
*))(var_b
->class->vft
[COLOR_string__Object__to_s
]))(var_b
) /* to_s on <var_b:Buffer>*/;
1904 /* method string#AbstractString#escape_more_to_c for (self: Object, String): String */
1905 val
* VIRTUAL_string__AbstractString__escape_more_to_c(val
* self
, val
* p0
) {
1906 val
* var
/* : String */;
1907 val
* var1
/* : String */;
1908 var1
= string__AbstractString__escape_more_to_c(self
, p0
);
1913 /* method string#AbstractString#escape_to_nit for (self: AbstractString): String */
1914 val
* string__AbstractString__escape_to_nit(val
* self
) {
1915 val
* var
/* : String */;
1916 static val
* varonce
;
1917 val
* var1
/* : String */;
1918 char* var2
/* : NativeString */;
1919 long var3
/* : Int */;
1920 val
* var4
/* : String */;
1921 val
* var5
/* : String */;
1927 var4
= string__NativeString__to_s_with_length(var2
, var3
);
1931 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_string__AbstractString__escape_more_to_c
]))(self
, var1
) /* escape_more_to_c on <self:AbstractString>*/;
1937 /* method string#AbstractString#escape_to_nit for (self: Object): String */
1938 val
* VIRTUAL_string__AbstractString__escape_to_nit(val
* self
) {
1939 val
* var
/* : String */;
1940 val
* var1
/* : String */;
1941 var1
= string__AbstractString__escape_to_nit(self
);
1946 /* method string#AbstractString#unescape_nit for (self: AbstractString): String */
1947 val
* string__AbstractString__unescape_nit(val
* self
) {
1948 val
* var
/* : String */;
1949 val
* var1
/* : Buffer */;
1950 long var2
/* : Int */;
1951 val
* var_res
/* var res: Buffer */;
1952 short int var3
/* : Bool */;
1953 short int var_was_slash
/* var was_slash: Bool */;
1954 val
* var4
/* : Iterator[nullable Object] */;
1955 short int var5
/* : Bool */;
1956 val
* var6
/* : nullable Object */;
1957 char var_c
/* var c: Char */;
1958 char var7
/* : Char */;
1959 short int var8
/* : Bool */;
1960 char var9
/* : Char */;
1961 short int var10
/* : Bool */;
1962 short int var12
/* : Bool */;
1963 short int var13
/* : Bool */;
1964 val
* var14
/* : nullable Object */;
1965 short int var15
/* : Bool */;
1966 char var16
/* : Char */;
1967 short int var17
/* : Bool */;
1968 short int var19
/* : Bool */;
1969 char var20
/* : Char */;
1970 val
* var21
/* : nullable Object */;
1971 char var22
/* : Char */;
1972 short int var23
/* : Bool */;
1973 short int var25
/* : Bool */;
1974 char var26
/* : Char */;
1975 val
* var27
/* : nullable Object */;
1976 char var28
/* : Char */;
1977 short int var29
/* : Bool */;
1978 short int var31
/* : Bool */;
1979 char var32
/* : Char */;
1980 val
* var33
/* : nullable Object */;
1981 char var34
/* : Char */;
1982 short int var35
/* : Bool */;
1983 short int var37
/* : Bool */;
1984 char var38
/* : Char */;
1985 val
* var39
/* : nullable Object */;
1986 val
* var40
/* : nullable Object */;
1987 val
* var41
/* : String */;
1988 var1
= NEW_string__Buffer(&type_string__Buffer
);
1989 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1990 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
1991 CHECK_NEW_string__Buffer(var1
);
1994 var_was_slash
= var3
;
1995 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
1997 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
1999 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
2000 var7
= ((struct instance_kernel__Char
*)var6
)->value
; /* autounbox from nullable Object to Char */;
2002 var8
= !var_was_slash
;
2005 { /* Inline kernel#Char#== (var_c,var9) */
2006 var12
= var_c
== var9
;
2009 RET_LABEL11
:(void)0;
2013 var_was_slash
= var13
;
2015 var14
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
2016 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var14
) /* add on <var_res:Buffer>*/;
2018 goto CONTINUE_label
;
2022 var_was_slash
= var15
;
2024 { /* Inline kernel#Char#== (var_c,var16) */
2025 var19
= var_c
== var16
;
2028 RET_LABEL18
:(void)0;
2032 var21
= BOX_kernel__Char(var20
); /* autobox from Char to nullable Object */
2033 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var21
) /* add on <var_res:Buffer>*/;
2036 { /* Inline kernel#Char#== (var_c,var22) */
2037 var25
= var_c
== var22
;
2040 RET_LABEL24
:(void)0;
2044 var27
= BOX_kernel__Char(var26
); /* autobox from Char to nullable Object */
2045 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var27
) /* add on <var_res:Buffer>*/;
2048 { /* Inline kernel#Char#== (var_c,var28) */
2049 var31
= var_c
== var28
;
2052 RET_LABEL30
:(void)0;
2056 var33
= BOX_kernel__Char(var32
); /* autobox from Char to nullable Object */
2057 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var33
) /* add on <var_res:Buffer>*/;
2060 { /* Inline kernel#Char#== (var_c,var34) */
2061 var37
= var_c
== var34
;
2064 RET_LABEL36
:(void)0;
2068 var39
= BOX_kernel__Char(var38
); /* autobox from Char to nullable Object */
2069 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var39
) /* add on <var_res:Buffer>*/;
2071 var40
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
2072 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var40
) /* add on <var_res:Buffer>*/;
2077 CONTINUE_label
: (void)0;
2078 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2080 BREAK_label
: (void)0;
2081 var41
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_string__Object__to_s
]))(var_res
) /* to_s on <var_res:Buffer>*/;
2087 /* method string#AbstractString#unescape_nit for (self: Object): String */
2088 val
* VIRTUAL_string__AbstractString__unescape_nit(val
* self
) {
2089 val
* var
/* : String */;
2090 val
* var1
/* : String */;
2091 var1
= string__AbstractString__unescape_nit(self
);
2096 /* method string#AbstractString#init for (self: AbstractString) */
2097 void string__AbstractString__init(val
* self
) {
2098 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArrayRead__init
]))(self
) /* init on <self:AbstractString>*/;
2101 /* method string#AbstractString#init for (self: Object) */
2102 void VIRTUAL_string__AbstractString__init(val
* self
) {
2103 string__AbstractString__init(self
);
2106 /* method string#String#index_from for (self: String): Int */
2107 long string__String__index_from(val
* self
) {
2108 long var
/* : Int */;
2109 long var1
/* : Int */;
2110 var1
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2115 /* method string#String#index_from for (self: Object): Int */
2116 long VIRTUAL_string__String__index_from(val
* self
) {
2117 long var
/* : Int */;
2118 long var1
/* : Int */;
2119 var1
= string__String__index_from(self
);
2124 /* method string#String#index_to for (self: String): Int */
2125 long string__String__index_to(val
* self
) {
2126 long var
/* : Int */;
2127 long var1
/* : Int */;
2128 var1
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2133 /* method string#String#index_to for (self: Object): Int */
2134 long VIRTUAL_string__String__index_to(val
* self
) {
2135 long var
/* : Int */;
2136 long var1
/* : Int */;
2137 var1
= string__String__index_to(self
);
2142 /* method string#String#[] for (self: String, Int): Char */
2143 char string__String___91d_93d(val
* self
, long p0
) {
2144 char var
/* : Char */;
2145 long var_index
/* var index: Int */;
2146 long var1
/* : Int */;
2147 short int var2
/* : Bool */;
2148 short int var4
/* : Bool */;
2151 const char* var_class_name
;
2152 short int var5
/* : Bool */;
2153 long var6
/* : Int */;
2154 long var7
/* : Int */;
2155 long var9
/* : Int */;
2156 long var10
/* : Int */;
2157 short int var11
/* : Bool */;
2158 short int var13
/* : Bool */;
2161 const char* var_class_name16
;
2162 short int var17
/* : Bool */;
2163 char* var18
/* : NativeString */;
2164 long var19
/* : Int */;
2165 long var20
/* : Int */;
2166 long var22
/* : Int */;
2167 char var23
/* : Char */;
2168 char var25
/* : Char */;
2171 { /* Inline kernel#Int#>= (var_index,var1) */
2172 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2173 /* <var1:Int> isa OTHER */
2174 var4
= 1; /* easy <var1:Int> isa OTHER*/
2176 var_class_name
= type_kernel__Int
.name
;
2177 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2178 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
2181 var5
= var_index
>= var1
;
2187 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2188 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 379);
2191 var6
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2192 { /* Inline kernel#Int#+ (var_index,var6) */
2193 var9
= var_index
+ var6
;
2198 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2199 { /* Inline kernel#Int#<= (var7,var10) */
2200 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2201 /* <var10:Int> isa OTHER */
2202 var13
= 1; /* easy <var10:Int> isa OTHER*/
2204 var_class_name16
= type_kernel__Int
.name
;
2205 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
2206 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
2209 var17
= var7
<= var10
;
2212 RET_LABEL12
:(void)0;
2215 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2216 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 382);
2219 var18
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2220 var19
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2221 { /* Inline kernel#Int#+ (var_index,var19) */
2222 var22
= var_index
+ var19
;
2225 RET_LABEL21
:(void)0;
2227 { /* Inline string#NativeString#[] (var18,var20) */
2228 var25
= var18
[var20
];
2231 RET_LABEL24
:(void)0;
2238 /* method string#String#[] for (self: Object, Int): nullable Object */
2239 val
* VIRTUAL_string__String___91d_93d(val
* self
, long p0
) {
2240 val
* var
/* : nullable Object */;
2241 char var1
/* : Char */;
2242 val
* var2
/* : nullable Object */;
2243 var1
= string__String___91d_93d(self
, p0
);
2244 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
2249 /* method string#String#substring for (self: String, Int, Int): String */
2250 val
* string__String__substring(val
* self
, long p0
, long p1
) {
2251 val
* var
/* : String */;
2252 long var_from
/* var from: Int */;
2253 long var_count
/* var count: Int */;
2254 long var1
/* : Int */;
2255 short int var2
/* : Bool */;
2256 short int var4
/* : Bool */;
2259 const char* var_class_name
;
2260 short int var5
/* : Bool */;
2261 long var6
/* : Int */;
2262 short int var7
/* : Bool */;
2263 short int var9
/* : Bool */;
2266 const char* var_class_name12
;
2267 short int var13
/* : Bool */;
2268 long var14
/* : Int */;
2269 long var16
/* : Int */;
2270 long var17
/* : Int */;
2271 short int var18
/* : Bool */;
2272 short int var20
/* : Bool */;
2275 const char* var_class_name23
;
2276 short int var24
/* : Bool */;
2277 long var25
/* : Int */;
2278 long var26
/* : Int */;
2279 long var27
/* : Int */;
2280 long var28
/* : Int */;
2281 long var30
/* : Int */;
2282 long var_realFrom
/* var realFrom: Int */;
2283 long var31
/* : Int */;
2284 long var33
/* : Int */;
2285 long var34
/* : Int */;
2286 short int var35
/* : Bool */;
2287 short int var37
/* : Bool */;
2290 const char* var_class_name40
;
2291 short int var41
/* : Bool */;
2292 val
* var42
/* : String */;
2293 long var43
/* : Int */;
2294 char* var44
/* : NativeString */;
2295 long var45
/* : Int */;
2296 short int var46
/* : Bool */;
2297 short int var48
/* : Bool */;
2298 static val
* varonce
;
2299 val
* var49
/* : String */;
2300 char* var50
/* : NativeString */;
2301 long var51
/* : Int */;
2302 val
* var52
/* : String */;
2303 val
* var53
/* : String */;
2304 long var54
/* : Int */;
2305 long var56
/* : Int */;
2306 long var57
/* : Int */;
2307 long var58
/* : Int */;
2308 long var60
/* : Int */;
2309 char* var61
/* : NativeString */;
2313 { /* Inline kernel#Int#>= (var_count,var1) */
2314 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2315 /* <var1:Int> isa OTHER */
2316 var4
= 1; /* easy <var1:Int> isa OTHER*/
2318 var_class_name
= type_kernel__Int
.name
;
2319 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2320 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
2323 var5
= var_count
>= var1
;
2329 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2330 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 388);
2334 { /* Inline kernel#Int#< (var_from,var6) */
2335 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
2336 /* <var6:Int> isa OTHER */
2337 var9
= 1; /* easy <var6:Int> isa OTHER*/
2339 var_class_name12
= type_kernel__Int
.name
;
2340 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
2341 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
2344 var13
= var_from
< var6
;
2350 { /* Inline kernel#Int#+ (var_count,var_from) */
2351 var16
= var_count
+ var_from
;
2354 RET_LABEL15
:(void)0;
2358 { /* Inline kernel#Int#< (var_count,var17) */
2359 /* Covariant cast for argument 0 (i) <var17:Int> isa OTHER */
2360 /* <var17:Int> isa OTHER */
2361 var20
= 1; /* easy <var17:Int> isa OTHER*/
2363 var_class_name23
= type_kernel__Int
.name
;
2364 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23
);
2365 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
2368 var24
= var_count
< var17
;
2371 RET_LABEL19
:(void)0;
2382 var27
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2383 { /* Inline kernel#Int#+ (var27,var_from) */
2384 var30
= var27
+ var_from
;
2387 RET_LABEL29
:(void)0;
2389 var_realFrom
= var28
;
2390 { /* Inline kernel#Int#+ (var_realFrom,var_count) */
2391 var33
= var_realFrom
+ var_count
;
2394 RET_LABEL32
:(void)0;
2396 var34
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2397 { /* Inline kernel#Int#> (var31,var34) */
2398 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
2399 /* <var34:Int> isa OTHER */
2400 var37
= 1; /* easy <var34:Int> isa OTHER*/
2402 var_class_name40
= type_kernel__Int
.name
;
2403 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
2404 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
2407 var41
= var31
> var34
;
2410 RET_LABEL36
:(void)0;
2413 var42
= NEW_string__String(&type_string__String
);
2414 var43
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2415 var44
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2416 ((void (*)(val
*, long, long, char*))(var42
->class->vft
[COLOR_string__String__from_substring
]))(var42
, var_realFrom
, var43
, var44
) /* from_substring on <var42:String>*/;
2417 CHECK_NEW_string__String(var42
);
2423 { /* Inline kernel#Int#== (var_count,var45) */
2424 var48
= var_count
== var45
;
2427 RET_LABEL47
:(void)0;
2435 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2443 var53
= NEW_string__String(&type_string__String
);
2444 { /* Inline kernel#Int#+ (var_realFrom,var_count) */
2445 var56
= var_realFrom
+ var_count
;
2448 RET_LABEL55
:(void)0;
2451 { /* Inline kernel#Int#- (var54,var57) */
2452 var60
= var54
- var57
;
2455 RET_LABEL59
:(void)0;
2457 var61
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2458 ((void (*)(val
*, long, long, char*))(var53
->class->vft
[COLOR_string__String__from_substring
]))(var53
, var_realFrom
, var58
, var61
) /* from_substring on <var53:String>*/;
2459 CHECK_NEW_string__String(var53
);
2465 /* method string#String#substring for (self: Object, Int, Int): String */
2466 val
* VIRTUAL_string__String__substring(val
* self
, long p0
, long p1
) {
2467 val
* var
/* : String */;
2468 val
* var1
/* : String */;
2469 var1
= string__String__substring(self
, p0
, p1
);
2474 /* method string#String#substring_from for (self: String, Int): String */
2475 val
* string__String__substring_from(val
* self
, long p0
) {
2476 val
* var
/* : String */;
2477 long var_from
/* var from: Int */;
2478 long var1
/* : Int */;
2479 short int var2
/* : Bool */;
2480 short int var4
/* : Bool */;
2483 const char* var_class_name
;
2484 short int var5
/* : Bool */;
2485 static val
* varonce
;
2486 val
* var6
/* : String */;
2487 char* var7
/* : NativeString */;
2488 long var8
/* : Int */;
2489 val
* var9
/* : String */;
2490 long var10
/* : Int */;
2491 short int var11
/* : Bool */;
2492 short int var13
/* : Bool */;
2495 const char* var_class_name16
;
2496 short int var17
/* : Bool */;
2497 long var18
/* : Int */;
2498 long var19
/* : Int */;
2499 val
* var20
/* : String */;
2501 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2502 { /* Inline kernel#Int#> (var_from,var1) */
2503 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2504 /* <var1:Int> isa OTHER */
2505 var4
= 1; /* easy <var1:Int> isa OTHER*/
2507 var_class_name
= type_kernel__Int
.name
;
2508 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2509 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
2512 var5
= var_from
> var1
;
2523 var9
= string__NativeString__to_s_with_length(var7
, var8
);
2532 { /* Inline kernel#Int#< (var_from,var10) */
2533 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2534 /* <var10:Int> isa OTHER */
2535 var13
= 1; /* easy <var10:Int> isa OTHER*/
2537 var_class_name16
= type_kernel__Int
.name
;
2538 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
2539 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
2542 var17
= var_from
< var10
;
2545 RET_LABEL12
:(void)0;
2552 var19
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2553 var20
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_from
, var19
) /* substring on <self:String>*/;
2559 /* method string#String#substring_from for (self: Object, Int): String */
2560 val
* VIRTUAL_string__String__substring_from(val
* self
, long p0
) {
2561 val
* var
/* : String */;
2562 val
* var1
/* : String */;
2563 var1
= string__String__substring_from(self
, p0
);
2568 /* method string#String#has_substring for (self: String, String, Int): Bool */
2569 short int string__String__has_substring(val
* self
, val
* p0
, long p1
) {
2570 short int var
/* : Bool */;
2571 val
* var_str
/* var str: String */;
2572 long var_pos
/* var pos: Int */;
2573 long var1
/* : Int */;
2574 long var2
/* : Int */;
2575 long var3
/* : Int */;
2576 long var5
/* : Int */;
2577 long var_itsindex
/* var itsindex: Int */;
2578 long var6
/* : Int */;
2579 long var8
/* : Int */;
2580 long var_myindex
/* var myindex: Int */;
2581 char* var9
/* : NativeString */;
2582 char* var_myitems
/* var myitems: NativeString */;
2583 char* var10
/* : NativeString */;
2584 char* var_itsitems
/* var itsitems: NativeString */;
2585 short int var11
/* : Bool */;
2586 long var12
/* : Int */;
2587 short int var13
/* : Bool */;
2588 short int var15
/* : Bool */;
2591 const char* var_class_name
;
2592 short int var16
/* : Bool */;
2593 short int var_
/* var : Bool */;
2594 short int var17
/* : Bool */;
2595 short int var19
/* : Bool */;
2598 const char* var_class_name22
;
2599 short int var23
/* : Bool */;
2600 short int var24
/* : Bool */;
2601 long var25
/* : Int */;
2602 long var_itsindexfrom
/* var itsindexfrom: Int */;
2603 long var26
/* : Int */;
2604 long var28
/* : Int */;
2605 long var29
/* : Int */;
2606 long var30
/* : Int */;
2607 long var32
/* : Int */;
2608 short int var33
/* : Bool */;
2609 short int var35
/* : Bool */;
2612 const char* var_class_name38
;
2613 short int var39
/* : Bool */;
2614 char var40
/* : Char */;
2615 char var42
/* : Char */;
2616 char var43
/* : Char */;
2617 char var45
/* : Char */;
2618 short int var46
/* : Bool */;
2619 short int var48
/* : Bool */;
2620 short int var49
/* : Bool */;
2621 short int var50
/* : Bool */;
2622 long var51
/* : Int */;
2623 long var52
/* : Int */;
2624 long var54
/* : Int */;
2625 long var55
/* : Int */;
2626 long var56
/* : Int */;
2627 long var58
/* : Int */;
2628 short int var59
/* : Bool */;
2631 var1
= var_str
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_str:String> */
2633 { /* Inline kernel#Int#- (var1,var2) */
2639 var_itsindex
= var3
;
2640 { /* Inline kernel#Int#+ (var_pos,var_itsindex) */
2641 var8
= var_pos
+ var_itsindex
;
2647 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2649 var10
= var_str
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_str:String> */
2650 var_itsitems
= var10
;
2651 var12
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2652 { /* Inline kernel#Int#> (var_myindex,var12) */
2653 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2654 /* <var12:Int> isa OTHER */
2655 var15
= 1; /* easy <var12:Int> isa OTHER*/
2657 var_class_name
= type_kernel__Int
.name
;
2658 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2659 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
2662 var16
= var_myindex
> var12
;
2665 RET_LABEL14
:(void)0;
2671 { /* Inline kernel#Int#> (var_itsindex,var_myindex) */
2672 /* Covariant cast for argument 0 (i) <var_myindex:Int> isa OTHER */
2673 /* <var_myindex:Int> isa OTHER */
2674 var19
= 1; /* easy <var_myindex:Int> isa OTHER*/
2676 var_class_name22
= type_kernel__Int
.name
;
2677 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
2678 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
2681 var23
= var_itsindex
> var_myindex
;
2684 RET_LABEL18
:(void)0;
2694 var25
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_string__String__index_from
]))(var_str
) /* index_from on <var_str:String>*/;
2695 var_itsindexfrom
= var25
;
2696 { /* Inline kernel#Int#+ (var_itsindex,var_itsindexfrom) */
2697 var28
= var_itsindex
+ var_itsindexfrom
;
2700 RET_LABEL27
:(void)0;
2702 var_itsindex
= var26
;
2703 var29
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
2704 { /* Inline kernel#Int#+ (var_myindex,var29) */
2705 var32
= var_myindex
+ var29
;
2708 RET_LABEL31
:(void)0;
2710 var_myindex
= var30
;
2712 { /* Inline kernel#Int#>= (var_itsindex,var_itsindexfrom) */
2713 /* Covariant cast for argument 0 (i) <var_itsindexfrom:Int> isa OTHER */
2714 /* <var_itsindexfrom:Int> isa OTHER */
2715 var35
= 1; /* easy <var_itsindexfrom:Int> isa OTHER*/
2717 var_class_name38
= type_kernel__Int
.name
;
2718 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38
);
2719 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
2722 var39
= var_itsindex
>= var_itsindexfrom
;
2725 RET_LABEL34
:(void)0;
2728 { /* Inline string#NativeString#[] (var_myitems,var_myindex) */
2729 var42
= var_myitems
[var_myindex
];
2732 RET_LABEL41
:(void)0;
2734 { /* Inline string#NativeString#[] (var_itsitems,var_itsindex) */
2735 var45
= var_itsitems
[var_itsindex
];
2738 RET_LABEL44
:(void)0;
2740 { /* Inline kernel#Char#!= (var40,var43) */
2741 var48
= var40
== var43
;
2745 RET_LABEL47
:(void)0;
2754 { /* Inline kernel#Int#- (var_myindex,var51) */
2755 var54
= var_myindex
- var51
;
2758 RET_LABEL53
:(void)0;
2760 var_myindex
= var52
;
2762 { /* Inline kernel#Int#- (var_itsindex,var55) */
2763 var58
= var_itsindex
- var55
;
2766 RET_LABEL57
:(void)0;
2768 var_itsindex
= var56
;
2769 CONTINUE_label
: (void)0;
2771 BREAK_label
: (void)0;
2778 /* method string#String#has_substring for (self: Object, String, Int): Bool */
2779 short int VIRTUAL_string__String__has_substring(val
* self
, val
* p0
, long p1
) {
2780 short int var
/* : Bool */;
2781 short int var1
/* : Bool */;
2782 var1
= string__String__has_substring(self
, p0
, p1
);
2787 /* method string#String#to_upper for (self: String): String */
2788 val
* string__String__to_upper(val
* self
) {
2789 val
* var
/* : String */;
2790 long var1
/* : Int */;
2791 long var2
/* : Int */;
2792 long var3
/* : Int */;
2793 long var5
/* : Int */;
2794 char* var6
/* : NativeString */;
2795 char* var_outstr
/* var outstr: NativeString */;
2796 long var7
/* : Int */;
2797 long var_out_index
/* var out_index: Int */;
2798 char* var8
/* : NativeString */;
2799 char* var_myitems
/* var myitems: NativeString */;
2800 long var9
/* : Int */;
2801 long var_index_from
/* var index_from: Int */;
2802 long var10
/* : Int */;
2803 long var_max
/* var max: Int */;
2804 short int var11
/* : Bool */;
2805 short int var13
/* : Bool */;
2808 const char* var_class_name
;
2809 short int var14
/* : Bool */;
2810 char var15
/* : Char */;
2811 char var17
/* : Char */;
2812 char var18
/* : Char */;
2813 long var20
/* : Int */;
2814 long var21
/* : Int */;
2815 long var23
/* : Int */;
2816 long var24
/* : Int */;
2817 long var25
/* : Int */;
2818 long var27
/* : Int */;
2819 long var28
/* : Int */;
2820 char var29
/* : Char */;
2821 long var31
/* : Int */;
2822 val
* var32
/* : String */;
2823 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2825 { /* Inline kernel#Int#+ (var1,var2) */
2831 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:String>*/;
2834 var_out_index
= var7
;
2835 var8
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2837 var9
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2838 var_index_from
= var9
;
2839 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2842 { /* Inline kernel#Int#<= (var_index_from,var_max) */
2843 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
2844 /* <var_max:Int> isa OTHER */
2845 var13
= 1; /* easy <var_max:Int> isa OTHER*/
2847 var_class_name
= type_kernel__Int
.name
;
2848 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2849 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
2852 var14
= var_index_from
<= var_max
;
2855 RET_LABEL12
:(void)0;
2858 { /* Inline string#NativeString#[] (var_myitems,var_index_from) */
2859 var17
= var_myitems
[var_index_from
];
2862 RET_LABEL16
:(void)0;
2864 var18
= kernel__Char__to_upper(var15
);
2865 { /* Inline string#NativeString#[]= (var_outstr,var_out_index,var18) */
2866 var_outstr
[var_out_index
]=var18
;
2867 RET_LABEL19
:(void)0;
2870 { /* Inline kernel#Int#+ (var_out_index,var20) */
2871 var23
= var_out_index
+ var20
;
2874 RET_LABEL22
:(void)0;
2876 var_out_index
= var21
;
2878 { /* Inline kernel#Int#+ (var_index_from,var24) */
2879 var27
= var_index_from
+ var24
;
2882 RET_LABEL26
:(void)0;
2884 var_index_from
= var25
;
2885 CONTINUE_label
: (void)0;
2887 BREAK_label
: (void)0;
2888 var28
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
2890 { /* Inline string#NativeString#[]= (var_outstr,var28,var29) */
2891 var_outstr
[var28
]=var29
;
2892 RET_LABEL30
:(void)0;
2894 var31
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2895 var32
= string__NativeString__to_s_with_length(var_outstr
, var31
);
2901 /* method string#String#to_upper for (self: Object): String */
2902 val
* VIRTUAL_string__String__to_upper(val
* self
) {
2903 val
* var
/* : String */;
2904 val
* var1
/* : String */;
2905 var1
= string__String__to_upper(self
);
2910 /* method string#String#to_lower for (self: String): String */
2911 val
* string__String__to_lower(val
* self
) {
2912 val
* var
/* : String */;
2913 long var1
/* : Int */;
2914 long var2
/* : Int */;
2915 long var3
/* : Int */;
2916 long var5
/* : Int */;
2917 char* var6
/* : NativeString */;
2918 char* var_outstr
/* var outstr: NativeString */;
2919 long var7
/* : Int */;
2920 long var_out_index
/* var out_index: Int */;
2921 char* var8
/* : NativeString */;
2922 char* var_myitems
/* var myitems: NativeString */;
2923 long var9
/* : Int */;
2924 long var_index_from
/* var index_from: Int */;
2925 long var10
/* : Int */;
2926 long var_max
/* var max: Int */;
2927 short int var11
/* : Bool */;
2928 short int var13
/* : Bool */;
2931 const char* var_class_name
;
2932 short int var14
/* : Bool */;
2933 char var15
/* : Char */;
2934 char var17
/* : Char */;
2935 char var18
/* : Char */;
2936 long var20
/* : Int */;
2937 long var21
/* : Int */;
2938 long var23
/* : Int */;
2939 long var24
/* : Int */;
2940 long var25
/* : Int */;
2941 long var27
/* : Int */;
2942 long var28
/* : Int */;
2943 char var29
/* : Char */;
2944 long var31
/* : Int */;
2945 val
* var32
/* : String */;
2946 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2948 { /* Inline kernel#Int#+ (var1,var2) */
2954 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:String>*/;
2957 var_out_index
= var7
;
2958 var8
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2960 var9
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2961 var_index_from
= var9
;
2962 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2965 { /* Inline kernel#Int#<= (var_index_from,var_max) */
2966 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
2967 /* <var_max:Int> isa OTHER */
2968 var13
= 1; /* easy <var_max:Int> isa OTHER*/
2970 var_class_name
= type_kernel__Int
.name
;
2971 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2972 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
2975 var14
= var_index_from
<= var_max
;
2978 RET_LABEL12
:(void)0;
2981 { /* Inline string#NativeString#[] (var_myitems,var_index_from) */
2982 var17
= var_myitems
[var_index_from
];
2985 RET_LABEL16
:(void)0;
2987 var18
= kernel__Char__to_lower(var15
);
2988 { /* Inline string#NativeString#[]= (var_outstr,var_out_index,var18) */
2989 var_outstr
[var_out_index
]=var18
;
2990 RET_LABEL19
:(void)0;
2993 { /* Inline kernel#Int#+ (var_out_index,var20) */
2994 var23
= var_out_index
+ var20
;
2997 RET_LABEL22
:(void)0;
2999 var_out_index
= var21
;
3001 { /* Inline kernel#Int#+ (var_index_from,var24) */
3002 var27
= var_index_from
+ var24
;
3005 RET_LABEL26
:(void)0;
3007 var_index_from
= var25
;
3008 CONTINUE_label
: (void)0;
3010 BREAK_label
: (void)0;
3011 var28
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
3013 { /* Inline string#NativeString#[]= (var_outstr,var28,var29) */
3014 var_outstr
[var28
]=var29
;
3015 RET_LABEL30
:(void)0;
3017 var31
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3018 var32
= string__NativeString__to_s_with_length(var_outstr
, var31
);
3024 /* method string#String#to_lower for (self: Object): String */
3025 val
* VIRTUAL_string__String__to_lower(val
* self
) {
3026 val
* var
/* : String */;
3027 val
* var1
/* : String */;
3028 var1
= string__String__to_lower(self
);
3033 /* method string#String#trim for (self: String): String */
3034 val
* string__String__trim(val
* self
) {
3035 val
* var
/* : String */;
3036 long var1
/* : Int */;
3037 long var2
/* : Int */;
3038 short int var3
/* : Bool */;
3039 short int var5
/* : Bool */;
3040 long var6
/* : Int */;
3041 long var_start_pos
/* var start_pos: Int */;
3042 char* var7
/* : NativeString */;
3043 char var8
/* : Char */;
3044 char var10
/* : Char */;
3045 long var11
/* : Int */;
3046 long var13
/* : Int */;
3047 long var14
/* : Int */;
3048 short int var15
/* : Bool */;
3049 short int var17
/* : Bool */;
3052 const char* var_class_name
;
3053 short int var18
/* : Bool */;
3054 long var19
/* : Int */;
3055 long var20
/* : Int */;
3056 long var22
/* : Int */;
3057 long var23
/* : Int */;
3058 long var24
/* : Int */;
3059 long var25
/* : Int */;
3060 long var27
/* : Int */;
3061 short int var28
/* : Bool */;
3062 short int var30
/* : Bool */;
3063 static val
* varonce
;
3064 val
* var31
/* : String */;
3065 char* var32
/* : NativeString */;
3066 long var33
/* : Int */;
3067 val
* var34
/* : String */;
3068 long var35
/* : Int */;
3069 long var_end_pos
/* var end_pos: Int */;
3070 char* var36
/* : NativeString */;
3071 char var37
/* : Char */;
3072 char var39
/* : Char */;
3073 long var40
/* : Int */;
3074 long var42
/* : Int */;
3075 long var43
/* : Int */;
3076 short int var44
/* : Bool */;
3077 short int var46
/* : Bool */;
3080 const char* var_class_name49
;
3081 short int var50
/* : Bool */;
3082 long var51
/* : Int */;
3083 long var52
/* : Int */;
3084 long var54
/* : Int */;
3085 short int var55
/* : Bool */;
3086 short int var57
/* : Bool */;
3087 char* var58
/* : NativeString */;
3088 char var59
/* : Char */;
3089 char var61
/* : Char */;
3090 val
* var62
/* : String */;
3091 long var64
/* : Int */;
3092 long var65
/* : Int */;
3093 long var67
/* : Int */;
3094 long var68
/* : Int */;
3095 long var69
/* : Int */;
3096 long var71
/* : Int */;
3097 long var72
/* : Int */;
3098 long var74
/* : Int */;
3099 long var75
/* : Int */;
3100 long var76
/* : Int */;
3101 long var78
/* : Int */;
3102 val
* var79
/* : String */;
3103 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3105 { /* Inline kernel#Int#== (var1,var2) */
3106 var5
= var1
== var2
;
3116 var6
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3117 var_start_pos
= var6
;
3119 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3120 { /* Inline string#NativeString#[] (var7,var_start_pos) */
3121 var10
= var7
[var_start_pos
];
3126 { /* Inline kernel#Char#ascii (var8) */
3127 var13
= (unsigned char)var8
;
3130 RET_LABEL12
:(void)0;
3133 { /* Inline kernel#Int#<= (var11,var14) */
3134 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
3135 /* <var14:Int> isa OTHER */
3136 var17
= 1; /* easy <var14:Int> isa OTHER*/
3138 var_class_name
= type_kernel__Int
.name
;
3139 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3140 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
3143 var18
= var11
<= var14
;
3146 RET_LABEL16
:(void)0;
3150 { /* Inline kernel#Int#+ (var_start_pos,var19) */
3151 var22
= var_start_pos
+ var19
;
3154 RET_LABEL21
:(void)0;
3156 var_start_pos
= var20
;
3157 var23
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3159 { /* Inline kernel#Int#+ (var23,var24) */
3160 var27
= var23
+ var24
;
3163 RET_LABEL26
:(void)0;
3165 { /* Inline kernel#Int#== (var_start_pos,var25) */
3166 var30
= var_start_pos
== var25
;
3169 RET_LABEL29
:(void)0;
3177 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3185 CONTINUE_label
: (void)0;
3187 BREAK_label
: (void)0;
3188 var35
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3189 var_end_pos
= var35
;
3191 var36
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3192 { /* Inline string#NativeString#[] (var36,var_end_pos) */
3193 var39
= var36
[var_end_pos
];
3196 RET_LABEL38
:(void)0;
3198 { /* Inline kernel#Char#ascii (var37) */
3199 var42
= (unsigned char)var37
;
3202 RET_LABEL41
:(void)0;
3205 { /* Inline kernel#Int#<= (var40,var43) */
3206 /* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
3207 /* <var43:Int> isa OTHER */
3208 var46
= 1; /* easy <var43:Int> isa OTHER*/
3210 var_class_name49
= type_kernel__Int
.name
;
3211 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49
);
3212 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
3215 var50
= var40
<= var43
;
3218 RET_LABEL45
:(void)0;
3222 { /* Inline kernel#Int#- (var_end_pos,var51) */
3223 var54
= var_end_pos
- var51
;
3226 RET_LABEL53
:(void)0;
3228 var_end_pos
= var52
;
3229 { /* Inline kernel#Int#== (var_end_pos,var_start_pos) */
3230 var57
= var_end_pos
== var_start_pos
;
3233 RET_LABEL56
:(void)0;
3236 var58
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3237 { /* Inline string#NativeString#[] (var58,var_start_pos) */
3238 var61
= var58
[var_start_pos
];
3241 RET_LABEL60
:(void)0;
3243 var62
= string__Char__to_s(var59
);
3248 CONTINUE_label63
: (void)0;
3250 BREAK_label63
: (void)0;
3251 var64
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
3252 { /* Inline kernel#Int#- (var_start_pos,var64) */
3253 var67
= var_start_pos
- var64
;
3256 RET_LABEL66
:(void)0;
3258 var_start_pos
= var65
;
3259 var68
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
3260 { /* Inline kernel#Int#- (var_end_pos,var68) */
3261 var71
= var_end_pos
- var68
;
3264 RET_LABEL70
:(void)0;
3266 var_end_pos
= var69
;
3267 { /* Inline kernel#Int#- (var_end_pos,var_start_pos) */
3268 var74
= var_end_pos
- var_start_pos
;
3271 RET_LABEL73
:(void)0;
3274 { /* Inline kernel#Int#+ (var72,var75) */
3275 var78
= var72
+ var75
;
3278 RET_LABEL77
:(void)0;
3280 var79
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_start_pos
, var76
) /* substring on <self:String>*/;
3286 /* method string#String#trim for (self: Object): String */
3287 val
* VIRTUAL_string__String__trim(val
* self
) {
3288 val
* var
/* : String */;
3289 val
* var1
/* : String */;
3290 var1
= string__String__trim(self
);
3295 /* method string#String#output for (self: String) */
3296 void string__String__output(val
* self
) {
3297 long var
/* : Int */;
3298 long var_i
/* var i: Int */;
3299 long var1
/* : Int */;
3300 long var_imax
/* var imax: Int */;
3301 short int var2
/* : Bool */;
3302 short int var4
/* : Bool */;
3305 const char* var_class_name
;
3306 short int var5
/* : Bool */;
3307 char* var6
/* : NativeString */;
3308 char var7
/* : Char */;
3309 char var9
/* : Char */;
3310 long var11
/* : Int */;
3311 long var12
/* : Int */;
3312 long var14
/* : Int */;
3313 var
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3315 var1
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3318 { /* Inline kernel#Int#<= (var_i,var_imax) */
3319 /* Covariant cast for argument 0 (i) <var_imax:Int> isa OTHER */
3320 /* <var_imax:Int> isa OTHER */
3321 var4
= 1; /* easy <var_imax:Int> isa OTHER*/
3323 var_class_name
= type_kernel__Int
.name
;
3324 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3325 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
3328 var5
= var_i
<= var_imax
;
3334 var6
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3335 { /* Inline string#NativeString#[] (var6,var_i) */
3341 { /* Inline kernel#Char#output (var7) */
3343 RET_LABEL10
:(void)0;
3346 { /* Inline kernel#Int#+ (var_i,var11) */
3347 var14
= var_i
+ var11
;
3350 RET_LABEL13
:(void)0;
3353 CONTINUE_label
: (void)0;
3355 BREAK_label
: (void)0;
3358 /* method string#String#output for (self: Object) */
3359 void VIRTUAL_string__String__output(val
* self
) {
3360 string__String__output(self
);
3363 /* method string#String#from_substring for (self: String, Int, Int, NativeString) */
3364 void string__String__from_substring(val
* self
, long p0
, long p1
, char* p2
) {
3365 long var_from
/* var from: Int */;
3366 long var_to
/* var to: Int */;
3367 char* var_internalString
/* var internalString: NativeString */;
3368 long var
/* : Int */;
3369 long var2
/* : Int */;
3370 long var3
/* : Int */;
3371 long var4
/* : Int */;
3372 long var6
/* : Int */;
3375 var_internalString
= p2
;
3376 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:String>*/;
3377 self
->attrs
[COLOR_string__AbstractString___items
].str
= var_internalString
; /* _items on <self:String> */
3378 self
->attrs
[COLOR_string__String___index_from
].l
= var_from
; /* _index_from on <self:String> */
3379 self
->attrs
[COLOR_string__String___index_to
].l
= var_to
; /* _index_to on <self:String> */
3380 { /* Inline kernel#Int#- (var_to,var_from) */
3381 var2
= var_to
- var_from
;
3387 { /* Inline kernel#Int#+ (var,var3) */
3393 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var4
; /* _length on <self:String> */
3396 /* method string#String#from_substring for (self: Object, Int, Int, NativeString) */
3397 void VIRTUAL_string__String__from_substring(val
* self
, long p0
, long p1
, char* p2
) {
3398 string__String__from_substring(self
, p0
, p1
, p2
);
3401 /* method string#String#with_infos for (self: String, NativeString, Int, Int, Int) */
3402 void string__String__with_infos(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
3403 char* var_items
/* var items: NativeString */;
3404 long var_len
/* var len: Int */;
3405 long var_from
/* var from: Int */;
3406 long var_to
/* var to: Int */;
3411 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:String>*/;
3412 self
->attrs
[COLOR_string__AbstractString___items
].str
= var_items
; /* _items on <self:String> */
3413 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var_len
; /* _length on <self:String> */
3414 self
->attrs
[COLOR_string__String___index_from
].l
= var_from
; /* _index_from on <self:String> */
3415 self
->attrs
[COLOR_string__String___index_to
].l
= var_to
; /* _index_to on <self:String> */
3418 /* method string#String#with_infos for (self: Object, NativeString, Int, Int, Int) */
3419 void VIRTUAL_string__String__with_infos(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
3420 string__String__with_infos(self
, p0
, p1
, p2
, p3
);
3423 /* method string#String#to_cstring for (self: String): NativeString */
3424 char* string__String__to_cstring(val
* self
) {
3425 char* var
/* : NativeString */;
3426 short int var1
/* : Bool */;
3427 long var2
/* : Int */;
3428 long var3
/* : Int */;
3429 short int var4
/* : Bool */;
3430 short int var6
/* : Bool */;
3433 const char* var_class_name
;
3434 short int var7
/* : Bool */;
3435 short int var_
/* var : Bool */;
3436 long var8
/* : Int */;
3437 char* var9
/* : NativeString */;
3438 long var10
/* : Int */;
3439 long var11
/* : Int */;
3440 long var12
/* : Int */;
3441 long var14
/* : Int */;
3442 short int var15
/* : Bool */;
3443 short int var17
/* : Bool */;
3444 short int var18
/* : Bool */;
3445 long var19
/* : Int */;
3446 long var20
/* : Int */;
3447 long var21
/* : Int */;
3448 long var23
/* : Int */;
3449 char* var24
/* : NativeString */;
3450 char* var_newItems
/* var newItems: NativeString */;
3451 char* var25
/* : NativeString */;
3452 long var26
/* : Int */;
3453 long var27
/* : Int */;
3454 long var28
/* : Int */;
3455 long var30
/* : Int */;
3456 char var31
/* : Char */;
3457 char* var33
/* : NativeString */;
3458 var2
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3460 { /* Inline kernel#Int#> (var2,var3) */
3461 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3462 /* <var3:Int> isa OTHER */
3463 var6
= 1; /* easy <var3:Int> isa OTHER*/
3465 var_class_name
= type_kernel__Int
.name
;
3466 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3467 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
3479 var8
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3480 var9
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__items
]))(self
) /* items on <self:String>*/;
3481 var10
= string__NativeString__cstring_length(var9
);
3483 { /* Inline kernel#Int#- (var10,var11) */
3484 var14
= var10
- var11
;
3487 RET_LABEL13
:(void)0;
3489 { /* Inline kernel#Int#!= (var8,var12) */
3490 var17
= var8
== var12
;
3494 RET_LABEL16
:(void)0;
3499 var19
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3501 { /* Inline kernel#Int#+ (var19,var20) */
3502 var23
= var19
+ var20
;
3505 RET_LABEL22
:(void)0;
3507 var24
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var21
) /* calloc_string on <self:String>*/;
3508 var_newItems
= var24
;
3509 var25
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__items
]))(self
) /* items on <self:String>*/;
3510 var26
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3511 var27
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3513 { /* Inline string#NativeString#copy_to (var25,var_newItems,var26,var27,var28) */
3514 memcpy(var_newItems
+var28
,var25
+var27
,var26
);
3515 RET_LABEL29
:(void)0;
3517 var30
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
3519 { /* Inline string#NativeString#[]= (var_newItems,var30,var31) */
3520 var_newItems
[var30
]=var31
;
3521 RET_LABEL32
:(void)0;
3527 var33
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3533 /* method string#String#to_cstring for (self: Object): NativeString */
3534 char* VIRTUAL_string__String__to_cstring(val
* self
) {
3535 char* var
/* : NativeString */;
3536 char* var1
/* : NativeString */;
3537 var1
= string__String__to_cstring(self
);
3542 /* method string#String#== for (self: String, nullable Object): Bool */
3543 short int string__String___61d_61d(val
* self
, val
* p0
) {
3544 short int var
/* : Bool */;
3545 val
* var_other
/* var other: nullable Object */;
3546 short int var1
/* : Bool */;
3549 short int var2
/* : Bool */;
3550 short int var3
/* : Bool */;
3551 long var4
/* : Int */;
3552 long var5
/* : Int */;
3553 short int var6
/* : Bool */;
3554 short int var8
/* : Bool */;
3555 short int var9
/* : Bool */;
3556 long var10
/* : Int */;
3557 long var_my_length
/* var my_length: Int */;
3558 long var11
/* : Int */;
3559 short int var12
/* : Bool */;
3560 short int var14
/* : Bool */;
3561 short int var15
/* : Bool */;
3562 short int var16
/* : Bool */;
3563 long var17
/* : Int */;
3564 long var_my_index
/* var my_index: Int */;
3565 long var18
/* : Int */;
3566 long var_its_index
/* var its_index: Int */;
3567 long var19
/* : Int */;
3568 long var21
/* : Int */;
3569 long var_last_iteration
/* var last_iteration: Int */;
3570 char* var22
/* : NativeString */;
3571 char* var_itsitems
/* var itsitems: NativeString */;
3572 char* var23
/* : NativeString */;
3573 char* var_myitems
/* var myitems: NativeString */;
3574 short int var24
/* : Bool */;
3575 short int var26
/* : Bool */;
3578 const char* var_class_name
;
3579 short int var29
/* : Bool */;
3580 char var30
/* : Char */;
3581 char var32
/* : Char */;
3582 char var33
/* : Char */;
3583 char var35
/* : Char */;
3584 short int var36
/* : Bool */;
3585 short int var38
/* : Bool */;
3586 short int var39
/* : Bool */;
3587 short int var40
/* : Bool */;
3588 long var41
/* : Int */;
3589 long var42
/* : Int */;
3590 long var44
/* : Int */;
3591 long var45
/* : Int */;
3592 long var46
/* : Int */;
3593 long var48
/* : Int */;
3594 short int var49
/* : Bool */;
3596 /* <var_other:nullable Object> isa String */
3597 cltype
= type_string__String
.color
;
3598 idtype
= type_string__String
.id
;
3599 if(var_other
== NULL
) {
3602 if(cltype
>= var_other
->type
->table_size
) {
3605 var1
= var_other
->type
->type_table
[cltype
] == idtype
;
3615 var4
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:String>*/;
3616 var5
= ((long (*)(val
*))(var_other
->class->vft
[COLOR_kernel__Object__object_id
]))(var_other
) /* object_id on <var_other:nullable Object(String)>*/;
3617 { /* Inline kernel#Int#== (var4,var5) */
3618 var8
= var4
== var5
;
3629 var10
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3630 var_my_length
= var10
;
3631 var11
= var_other
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_other:nullable Object(String)> */
3632 { /* Inline kernel#Int#!= (var11,var_my_length) */
3633 var14
= var11
== var_my_length
;
3637 RET_LABEL13
:(void)0;
3645 var17
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3646 var_my_index
= var17
;
3647 var18
= var_other
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_other:nullable Object(String)> */
3648 var_its_index
= var18
;
3649 { /* Inline kernel#Int#+ (var_my_index,var_my_length) */
3650 var21
= var_my_index
+ var_my_length
;
3653 RET_LABEL20
:(void)0;
3655 var_last_iteration
= var19
;
3656 var22
= var_other
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_other:nullable Object(String)> */
3657 var_itsitems
= var22
;
3658 var23
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3659 var_myitems
= var23
;
3661 { /* Inline kernel#Int#< (var_my_index,var_last_iteration) */
3662 /* Covariant cast for argument 0 (i) <var_last_iteration:Int> isa OTHER */
3663 /* <var_last_iteration:Int> isa OTHER */
3664 var26
= 1; /* easy <var_last_iteration:Int> isa OTHER*/
3666 var_class_name
= type_kernel__Int
.name
;
3667 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3668 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
3671 var29
= var_my_index
< var_last_iteration
;
3674 RET_LABEL25
:(void)0;
3677 { /* Inline string#NativeString#[] (var_myitems,var_my_index) */
3678 var32
= var_myitems
[var_my_index
];
3681 RET_LABEL31
:(void)0;
3683 { /* Inline string#NativeString#[] (var_itsitems,var_its_index) */
3684 var35
= var_itsitems
[var_its_index
];
3687 RET_LABEL34
:(void)0;
3689 { /* Inline kernel#Char#!= (var30,var33) */
3690 var38
= var30
== var33
;
3694 RET_LABEL37
:(void)0;
3703 { /* Inline kernel#Int#+ (var_my_index,var41) */
3704 var44
= var_my_index
+ var41
;
3707 RET_LABEL43
:(void)0;
3709 var_my_index
= var42
;
3711 { /* Inline kernel#Int#+ (var_its_index,var45) */
3712 var48
= var_its_index
+ var45
;
3715 RET_LABEL47
:(void)0;
3717 var_its_index
= var46
;
3718 CONTINUE_label
: (void)0;
3720 BREAK_label
: (void)0;
3727 /* method string#String#== for (self: Object, nullable Object): Bool */
3728 short int VIRTUAL_string__String___61d_61d(val
* self
, val
* p0
) {
3729 short int var
/* : Bool */;
3730 short int var1
/* : Bool */;
3731 var1
= string__String___61d_61d(self
, p0
);
3736 /* method string#String#< for (self: String, String): Bool */
3737 short int string__String___60d(val
* self
, val
* p0
) {
3738 short int var
/* : Bool */;
3739 short int var1
/* : Bool */;
3742 const struct type
* type_struct
;
3743 const char* var_class_name
;
3744 val
* var_other
/* var other: String */;
3745 long var2
/* : Int */;
3746 long var3
/* : Int */;
3747 short int var4
/* : Bool */;
3748 short int var6
/* : Bool */;
3749 short int var7
/* : Bool */;
3750 long var8
/* : Int */;
3751 long var_curr_id_self
/* var curr_id_self: Int */;
3752 long var9
/* : Int */;
3753 long var_curr_id_other
/* var curr_id_other: Int */;
3754 char* var10
/* : NativeString */;
3755 char* var_my_items
/* var my_items: NativeString */;
3756 char* var11
/* : NativeString */;
3757 char* var_its_items
/* var its_items: NativeString */;
3758 long var12
/* : Int */;
3759 long var_my_length
/* var my_length: Int */;
3760 long var13
/* : Int */;
3761 long var_its_length
/* var its_length: Int */;
3762 long var14
/* : Int */;
3763 long var16
/* : Int */;
3764 long var_max_iterations
/* var max_iterations: Int */;
3765 short int var17
/* : Bool */;
3766 short int var19
/* : Bool */;
3769 const char* var_class_name22
;
3770 short int var23
/* : Bool */;
3771 char var24
/* : Char */;
3772 char var26
/* : Char */;
3773 char var_my_curr_char
/* var my_curr_char: Char */;
3774 char var27
/* : Char */;
3775 char var29
/* : Char */;
3776 char var_its_curr_char
/* var its_curr_char: Char */;
3777 short int var30
/* : Bool */;
3778 short int var32
/* : Bool */;
3779 short int var33
/* : Bool */;
3780 short int var34
/* : Bool */;
3781 short int var36
/* : Bool */;
3784 const char* var_class_name39
;
3785 short int var40
/* : Bool */;
3786 short int var41
/* : Bool */;
3787 short int var42
/* : Bool */;
3788 long var43
/* : Int */;
3789 long var44
/* : Int */;
3790 long var46
/* : Int */;
3791 long var47
/* : Int */;
3792 long var48
/* : Int */;
3793 long var50
/* : Int */;
3794 short int var51
/* : Bool */;
3795 short int var53
/* : Bool */;
3798 const char* var_class_name56
;
3799 short int var57
/* : Bool */;
3800 /* Covariant cast for argument 0 (other) <p0:String> isa OTHER */
3801 /* <p0:String> isa OTHER */
3802 type_struct
= self
->type
->resolution_table
->types
[COLOR_kernel__Comparable_VTOTHER
];
3803 cltype
= type_struct
->color
;
3804 idtype
= type_struct
->id
;
3805 if(cltype
>= p0
->type
->table_size
) {
3808 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3811 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3812 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3813 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 571);
3817 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:String>*/;
3818 var3
= ((long (*)(val
*))(var_other
->class->vft
[COLOR_kernel__Object__object_id
]))(var_other
) /* object_id on <var_other:String>*/;
3819 { /* Inline kernel#Int#== (var2,var3) */
3820 var6
= var2
== var3
;
3831 var8
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3832 var_curr_id_self
= var8
;
3833 var9
= var_other
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_other:String> */
3834 var_curr_id_other
= var9
;
3835 var10
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3836 var_my_items
= var10
;
3837 var11
= var_other
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_other:String> */
3838 var_its_items
= var11
;
3839 var12
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3840 var_my_length
= var12
;
3841 var13
= var_other
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_other:String> */
3842 var_its_length
= var13
;
3843 { /* Inline kernel#Int#+ (var_curr_id_self,var_my_length) */
3844 var16
= var_curr_id_self
+ var_my_length
;
3847 RET_LABEL15
:(void)0;
3849 var_max_iterations
= var14
;
3851 { /* Inline kernel#Int#< (var_curr_id_self,var_max_iterations) */
3852 /* Covariant cast for argument 0 (i) <var_max_iterations:Int> isa OTHER */
3853 /* <var_max_iterations:Int> isa OTHER */
3854 var19
= 1; /* easy <var_max_iterations:Int> isa OTHER*/
3856 var_class_name22
= type_kernel__Int
.name
;
3857 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
3858 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
3861 var23
= var_curr_id_self
< var_max_iterations
;
3864 RET_LABEL18
:(void)0;
3867 { /* Inline string#NativeString#[] (var_my_items,var_curr_id_self) */
3868 var26
= var_my_items
[var_curr_id_self
];
3871 RET_LABEL25
:(void)0;
3873 var_my_curr_char
= var24
;
3874 { /* Inline string#NativeString#[] (var_its_items,var_curr_id_other) */
3875 var29
= var_its_items
[var_curr_id_other
];
3878 RET_LABEL28
:(void)0;
3880 var_its_curr_char
= var27
;
3881 { /* Inline kernel#Char#!= (var_my_curr_char,var_its_curr_char) */
3882 var32
= var_my_curr_char
== var_its_curr_char
;
3886 RET_LABEL31
:(void)0;
3889 { /* Inline kernel#Char#< (var_my_curr_char,var_its_curr_char) */
3890 /* Covariant cast for argument 0 (i) <var_its_curr_char:Char> isa OTHER */
3891 /* <var_its_curr_char:Char> isa OTHER */
3892 var36
= 1; /* easy <var_its_curr_char:Char> isa OTHER*/
3894 var_class_name39
= type_kernel__Char
.name
;
3895 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
3896 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 437);
3899 var40
= var_my_curr_char
< var_its_curr_char
;
3902 RET_LABEL35
:(void)0;
3916 { /* Inline kernel#Int#+ (var_curr_id_self,var43) */
3917 var46
= var_curr_id_self
+ var43
;
3920 RET_LABEL45
:(void)0;
3922 var_curr_id_self
= var44
;
3924 { /* Inline kernel#Int#+ (var_curr_id_other,var47) */
3925 var50
= var_curr_id_other
+ var47
;
3928 RET_LABEL49
:(void)0;
3930 var_curr_id_other
= var48
;
3931 CONTINUE_label
: (void)0;
3933 BREAK_label
: (void)0;
3934 { /* Inline kernel#Int#< (var_my_length,var_its_length) */
3935 /* Covariant cast for argument 0 (i) <var_its_length:Int> isa OTHER */
3936 /* <var_its_length:Int> isa OTHER */
3937 var53
= 1; /* easy <var_its_length:Int> isa OTHER*/
3939 var_class_name56
= type_kernel__Int
.name
;
3940 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56
);
3941 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
3944 var57
= var_my_length
< var_its_length
;
3947 RET_LABEL52
:(void)0;
3954 /* method string#String#< for (self: Object, Comparable): Bool */
3955 short int VIRTUAL_string__String___60d(val
* self
, val
* p0
) {
3956 short int var
/* : Bool */;
3957 short int var1
/* : Bool */;
3958 var1
= string__String___60d(self
, p0
);
3963 /* method string#String#+ for (self: String, String): String */
3964 val
* string__String___43d(val
* self
, val
* p0
) {
3965 val
* var
/* : String */;
3966 val
* var_s
/* var s: String */;
3967 long var1
/* : Int */;
3968 long var_my_length
/* var my_length: Int */;
3969 long var2
/* : Int */;
3970 long var_its_length
/* var its_length: Int */;
3971 long var3
/* : Int */;
3972 long var5
/* : Int */;
3973 long var_total_length
/* var total_length: Int */;
3974 long var6
/* : Int */;
3975 long var8
/* : Int */;
3976 long var9
/* : Int */;
3977 long var10
/* : Int */;
3978 long var12
/* : Int */;
3979 char* var13
/* : NativeString */;
3980 char* var_target_string
/* var target_string: NativeString */;
3981 char* var14
/* : NativeString */;
3982 long var15
/* : Int */;
3983 long var16
/* : Int */;
3984 char* var18
/* : NativeString */;
3985 long var19
/* : Int */;
3986 char var21
/* : Char */;
3987 val
* var23
/* : String */;
3989 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3990 var_my_length
= var1
;
3991 var2
= var_s
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_s:String> */
3992 var_its_length
= var2
;
3993 { /* Inline kernel#Int#+ (var_my_length,var_its_length) */
3994 var5
= var_my_length
+ var_its_length
;
3999 var_total_length
= var3
;
4000 { /* Inline kernel#Int#+ (var_my_length,var_its_length) */
4001 var8
= var_my_length
+ var_its_length
;
4007 { /* Inline kernel#Int#+ (var6,var9) */
4008 var12
= var6
+ var9
;
4011 RET_LABEL11
:(void)0;
4013 var13
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var10
) /* calloc_string on <self:String>*/;
4014 var_target_string
= var13
;
4015 var14
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4016 var15
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
4018 { /* Inline string#NativeString#copy_to (var14,var_target_string,var_my_length,var15,var16) */
4019 memcpy(var_target_string
+var16
,var14
+var15
,var_my_length
);
4020 RET_LABEL17
:(void)0;
4022 var18
= var_s
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_s:String> */
4023 var19
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:String> */
4024 { /* Inline string#NativeString#copy_to (var18,var_target_string,var_its_length,var19,var_my_length) */
4025 memcpy(var_target_string
+var_my_length
,var18
+var19
,var_its_length
);
4026 RET_LABEL20
:(void)0;
4029 { /* Inline string#NativeString#[]= (var_target_string,var_total_length,var21) */
4030 var_target_string
[var_total_length
]=var21
;
4031 RET_LABEL22
:(void)0;
4033 var23
= string__NativeString__to_s_with_length(var_target_string
, var_total_length
);
4039 /* method string#String#+ for (self: Object, String): String */
4040 val
* VIRTUAL_string__String___43d(val
* self
, val
* p0
) {
4041 val
* var
/* : String */;
4042 val
* var1
/* : String */;
4043 var1
= string__String___43d(self
, p0
);
4048 /* method string#String#* for (self: String, Int): String */
4049 val
* string__String___42d(val
* self
, long p0
) {
4050 val
* var
/* : String */;
4051 long var_i
/* var i: Int */;
4052 long var1
/* : Int */;
4053 short int var2
/* : Bool */;
4054 short int var4
/* : Bool */;
4057 const char* var_class_name
;
4058 short int var5
/* : Bool */;
4059 long var6
/* : Int */;
4060 long var_my_length
/* var my_length: Int */;
4061 long var7
/* : Int */;
4062 long var9
/* : Int */;
4063 long var_final_length
/* var final_length: Int */;
4064 char* var10
/* : NativeString */;
4065 char* var_my_items
/* var my_items: NativeString */;
4066 long var11
/* : Int */;
4067 long var12
/* : Int */;
4068 long var14
/* : Int */;
4069 char* var15
/* : NativeString */;
4070 char* var_target_string
/* var target_string: NativeString */;
4071 char var16
/* : Char */;
4072 long var18
/* : Int */;
4073 long var_current_last
/* var current_last: Int */;
4074 val
* var19
/* : Range[Int] */;
4075 long var20
/* : Int */;
4076 val
* var21
/* : Discrete */;
4077 val
* var22
/* : Discrete */;
4078 val
* var23
/* : Iterator[nullable Object] */;
4079 short int var24
/* : Bool */;
4080 val
* var25
/* : nullable Object */;
4081 long var_iteration
/* var iteration: Int */;
4082 long var26
/* : Int */;
4083 long var27
/* : Int */;
4084 long var29
/* : Int */;
4085 long var31
/* : Int */;
4086 val
* var32
/* : String */;
4089 { /* Inline kernel#Int#>= (var_i,var1) */
4090 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
4091 /* <var1:Int> isa OTHER */
4092 var4
= 1; /* easy <var1:Int> isa OTHER*/
4094 var_class_name
= type_kernel__Int
.name
;
4095 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4096 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
4099 var5
= var_i
>= var1
;
4105 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4106 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 635);
4109 var6
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
4110 var_my_length
= var6
;
4111 { /* Inline kernel#Int#* (var_my_length,var_i) */
4112 var9
= var_my_length
* var_i
;
4117 var_final_length
= var7
;
4118 var10
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4119 var_my_items
= var10
;
4121 { /* Inline kernel#Int#+ (var_final_length,var11) */
4122 var14
= var_final_length
+ var11
;
4125 RET_LABEL13
:(void)0;
4127 var15
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var12
) /* calloc_string on <self:String>*/;
4128 var_target_string
= var15
;
4130 { /* Inline string#NativeString#[]= (var_target_string,var_final_length,var16) */
4131 var_target_string
[var_final_length
]=var16
;
4132 RET_LABEL17
:(void)0;
4135 var_current_last
= var18
;
4136 var19
= NEW_range__Range(&type_range__Rangekernel__Int
);
4138 var21
= BOX_kernel__Int(var20
); /* autobox from Int to Discrete */
4139 var22
= BOX_kernel__Int(var_i
); /* autobox from Int to Discrete */
4140 ((void (*)(val
*, val
*, val
*))(var19
->class->vft
[COLOR_range__Range__init
]))(var19
, var21
, var22
) /* init on <var19:Range[Int]>*/;
4141 CHECK_NEW_range__Range(var19
);
4142 var23
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var19
) /* iterator on <var19:Range[Int]>*/;
4144 var24
= ((short int (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var23
) /* is_ok on <var23:Iterator[nullable Object]>*/;
4146 var25
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var23
) /* item on <var23:Iterator[nullable Object]>*/;
4147 var26
= ((struct instance_kernel__Int
*)var25
)->value
; /* autounbox from nullable Object to Int */;
4148 var_iteration
= var26
;
4150 { /* Inline string#NativeString#copy_to (var_my_items,var_target_string,var_my_length,var27,var_current_last) */
4151 memcpy(var_target_string
+var_current_last
,var_my_items
+var27
,var_my_length
);
4152 RET_LABEL28
:(void)0;
4154 { /* Inline kernel#Int#+ (var_current_last,var_my_length) */
4155 var31
= var_current_last
+ var_my_length
;
4158 RET_LABEL30
:(void)0;
4160 var_current_last
= var29
;
4161 CONTINUE_label
: (void)0;
4162 ((void (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var23
) /* next on <var23:Iterator[nullable Object]>*/;
4164 BREAK_label
: (void)0;
4165 var32
= string__NativeString__to_s_with_length(var_target_string
, var_final_length
);
4171 /* method string#String#* for (self: Object, Int): String */
4172 val
* VIRTUAL_string__String___42d(val
* self
, long p0
) {
4173 val
* var
/* : String */;
4174 val
* var1
/* : String */;
4175 var1
= string__String___42d(self
, p0
);
4180 /* method string#String#to_s for (self: String): String */
4181 val
* string__String__to_s(val
* self
) {
4182 val
* var
/* : String */;
4188 /* method string#String#to_s for (self: Object): String */
4189 val
* VIRTUAL_string__String__to_s(val
* self
) {
4190 val
* var
/* : String */;
4191 val
* var1
/* : String */;
4192 var1
= string__String__to_s(self
);
4197 /* method string#String#hash for (self: String): Int */
4198 long string__String__hash(val
* self
) {
4199 long var
/* : Int */;
4200 long var1
/* : Int */;
4201 long var_h
/* var h: Int */;
4202 long var2
/* : Int */;
4203 long var3
/* : Int */;
4204 long var4
/* : Int */;
4205 long var6
/* : Int */;
4206 long var_i
/* var i: Int */;
4207 char* var7
/* : NativeString */;
4208 char* var_myitems
/* var myitems: NativeString */;
4209 long var8
/* : Int */;
4210 long var_strStart
/* var strStart: Int */;
4211 long var9
/* : Int */;
4212 long var11
/* : Int */;
4213 short int var12
/* : Bool */;
4214 short int var14
/* : Bool */;
4217 const char* var_class_name
;
4218 short int var15
/* : Bool */;
4219 long var16
/* : Int */;
4220 long var17
/* : Int */;
4221 long var19
/* : Int */;
4222 long var20
/* : Int */;
4223 long var22
/* : Int */;
4224 char* var23
/* : NativeString */;
4225 char var24
/* : Char */;
4226 char var26
/* : Char */;
4227 long var27
/* : Int */;
4228 long var29
/* : Int */;
4229 long var30
/* : Int */;
4230 long var32
/* : Int */;
4231 long var33
/* : Int */;
4232 long var34
/* : Int */;
4233 long var36
/* : Int */;
4236 var2
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
4238 { /* Inline kernel#Int#- (var2,var3) */
4245 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4247 var8
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
4248 var_strStart
= var8
;
4249 { /* Inline kernel#Int#+ (var_i,var_strStart) */
4250 var11
= var_i
+ var_strStart
;
4253 RET_LABEL10
:(void)0;
4257 { /* Inline kernel#Int#>= (var_i,var_strStart) */
4258 /* Covariant cast for argument 0 (i) <var_strStart:Int> isa OTHER */
4259 /* <var_strStart:Int> isa OTHER */
4260 var14
= 1; /* easy <var_strStart:Int> isa OTHER*/
4262 var_class_name
= type_kernel__Int
.name
;
4263 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4264 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
4267 var15
= var_i
>= var_strStart
;
4270 RET_LABEL13
:(void)0;
4274 { /* Inline kernel#Int#* (var_h,var16) */
4275 var19
= var_h
* var16
;
4278 RET_LABEL18
:(void)0;
4280 { /* Inline kernel#Int#+ (var17,var_h) */
4281 var22
= var17
+ var_h
;
4284 RET_LABEL21
:(void)0;
4286 var23
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4287 { /* Inline string#NativeString#[] (var23,var_i) */
4288 var26
= var23
[var_i
];
4291 RET_LABEL25
:(void)0;
4293 { /* Inline kernel#Char#ascii (var24) */
4294 var29
= (unsigned char)var24
;
4297 RET_LABEL28
:(void)0;
4299 { /* Inline kernel#Int#+ (var20,var27) */
4300 var32
= var20
+ var27
;
4303 RET_LABEL31
:(void)0;
4307 { /* Inline kernel#Int#- (var_i,var33) */
4308 var36
= var_i
- var33
;
4311 RET_LABEL35
:(void)0;
4314 CONTINUE_label
: (void)0;
4316 BREAK_label
: (void)0;
4322 /* method string#String#hash for (self: Object): Int */
4323 long VIRTUAL_string__String__hash(val
* self
) {
4324 long var
/* : Int */;
4325 long var1
/* : Int */;
4326 var1
= string__String__hash(self
);
4331 /* method string#Buffer#[]= for (self: Buffer, Int, Char) */
4332 void string__Buffer___91d_93d_61d(val
* self
, long p0
, char p1
) {
4333 short int var
/* : Bool */;
4336 const char* var_class_name
;
4337 long var_index
/* var index: Int */;
4338 char var_item
/* var item: Char */;
4339 long var1
/* : Int */;
4340 short int var2
/* : Bool */;
4341 short int var4
/* : Bool */;
4342 val
* var5
/* : nullable Object */;
4343 short int var6
/* : Bool */;
4344 long var7
/* : Int */;
4345 short int var8
/* : Bool */;
4346 short int var10
/* : Bool */;
4349 const char* var_class_name13
;
4350 short int var14
/* : Bool */;
4351 short int var_
/* var : Bool */;
4352 long var15
/* : Int */;
4353 short int var16
/* : Bool */;
4354 short int var18
/* : Bool */;
4357 const char* var_class_name21
;
4358 short int var22
/* : Bool */;
4359 char* var23
/* : NativeString */;
4360 /* Covariant cast for argument 1 (item) <p1:Char> isa Sequence#0 */
4361 /* <p1:Char> isa Sequence#0 */
4362 var
= 1; /* easy <p1:Char> isa Sequence#0*/
4364 var_class_name
= type_kernel__Char
.name
;
4365 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
4366 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 688);
4371 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4372 { /* Inline kernel#Int#== (var_index,var1) */
4373 var4
= var_index
== var1
;
4379 var5
= BOX_kernel__Char(var_item
); /* autobox from Char to nullable Object */
4380 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(self
, var5
) /* add on <self:Buffer>*/;
4385 { /* Inline kernel#Int#>= (var_index,var7) */
4386 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
4387 /* <var7:Int> isa OTHER */
4388 var10
= 1; /* easy <var7:Int> isa OTHER*/
4390 var_class_name13
= type_kernel__Int
.name
;
4391 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
4392 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
4395 var14
= var_index
>= var7
;
4402 var15
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4403 { /* Inline kernel#Int#< (var_index,var15) */
4404 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
4405 /* <var15:Int> isa OTHER */
4406 var18
= 1; /* easy <var15:Int> isa OTHER*/
4408 var_class_name21
= type_kernel__Int
.name
;
4409 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
4410 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4413 var22
= var_index
< var15
;
4416 RET_LABEL17
:(void)0;
4423 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4424 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 694);
4427 var23
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4428 { /* Inline string#NativeString#[]= (var23,var_index,var_item) */
4429 var23
[var_index
]=var_item
;
4430 RET_LABEL24
:(void)0;
4434 /* method string#Buffer#[]= for (self: Object, Int, nullable Object) */
4435 void VIRTUAL_string__Buffer___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
4436 char var
/* : Char */;
4437 var
= ((struct instance_kernel__Char
*)p1
)->value
; /* autounbox from nullable Object to Char */;
4438 string__Buffer___91d_93d_61d(self
, p0
, var
);
4441 /* method string#Buffer#add for (self: Buffer, Char) */
4442 void string__Buffer__add(val
* self
, char p0
) {
4443 short int var
/* : Bool */;
4446 const char* var_class_name
;
4447 char var_c
/* var c: Char */;
4448 long var1
/* : Int */;
4449 long var2
/* : Int */;
4450 short int var3
/* : Bool */;
4451 short int var5
/* : Bool */;
4454 const char* var_class_name8
;
4455 short int var9
/* : Bool */;
4456 long var10
/* : Int */;
4457 long var11
/* : Int */;
4458 long var12
/* : Int */;
4459 long var14
/* : Int */;
4460 char* var15
/* : NativeString */;
4461 long var16
/* : Int */;
4462 val
* var_
/* var : Buffer */;
4463 long var18
/* : Int */;
4464 long var19
/* : Int */;
4465 long var20
/* : Int */;
4466 long var22
/* : Int */;
4467 /* Covariant cast for argument 0 (c) <p0:Char> isa SimpleCollection#0 */
4468 /* <p0:Char> isa SimpleCollection#0 */
4469 var
= 1; /* easy <p0:Char> isa SimpleCollection#0*/
4471 var_class_name
= type_kernel__Char
.name
;
4472 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name
);
4473 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 698);
4477 var1
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
4478 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4479 { /* Inline kernel#Int#<= (var1,var2) */
4480 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
4481 /* <var2:Int> isa OTHER */
4482 var5
= 1; /* easy <var2:Int> isa OTHER*/
4484 var_class_name8
= type_kernel__Int
.name
;
4485 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
4486 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
4489 var9
= var1
<= var2
;
4495 var10
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4497 { /* Inline kernel#Int#+ (var10,var11) */
4498 var14
= var10
+ var11
;
4501 RET_LABEL13
:(void)0;
4503 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var12
) /* enlarge on <self:Buffer>*/;
4506 var15
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4507 var16
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4508 { /* Inline string#NativeString#[]= (var15,var16,var_c) */
4510 RET_LABEL17
:(void)0;
4513 var18
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:Buffer> */
4515 { /* Inline kernel#Int#+ (var18,var19) */
4516 var22
= var18
+ var19
;
4519 RET_LABEL21
:(void)0;
4521 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var20
; /* _length on <var_:Buffer> */
4524 /* method string#Buffer#add for (self: Object, nullable Object) */
4525 void VIRTUAL_string__Buffer__add(val
* self
, val
* p0
) {
4526 char var
/* : Char */;
4527 var
= ((struct instance_kernel__Char
*)p0
)->value
; /* autounbox from nullable Object to Char */;
4528 string__Buffer__add(self
, var
);
4531 /* method string#Buffer#enlarge for (self: Buffer, Int) */
4532 void string__Buffer__enlarge(val
* self
, long p0
) {
4533 long var_cap
/* var cap: Int */;
4534 long var
/* : Int */;
4535 long var_c
/* var c: Int */;
4536 short int var1
/* : Bool */;
4537 short int var3
/* : Bool */;
4540 const char* var_class_name
;
4541 short int var4
/* : Bool */;
4542 short int var5
/* : Bool */;
4543 short int var7
/* : Bool */;
4546 const char* var_class_name10
;
4547 short int var11
/* : Bool */;
4548 long var12
/* : Int */;
4549 long var13
/* : Int */;
4550 long var15
/* : Int */;
4551 long var16
/* : Int */;
4552 long var17
/* : Int */;
4553 long var19
/* : Int */;
4554 long var20
/* : Int */;
4555 long var21
/* : Int */;
4556 long var23
/* : Int */;
4557 char* var24
/* : NativeString */;
4558 char* var_a
/* var a: NativeString */;
4559 char* var25
/* : NativeString */;
4560 long var26
/* : Int */;
4561 long var27
/* : Int */;
4562 long var28
/* : Int */;
4564 var
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
4566 { /* Inline kernel#Int#<= (var_cap,var_c) */
4567 /* Covariant cast for argument 0 (i) <var_c:Int> isa OTHER */
4568 /* <var_c:Int> isa OTHER */
4569 var3
= 1; /* easy <var_c:Int> isa OTHER*/
4571 var_class_name
= type_kernel__Int
.name
;
4572 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4573 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
4576 var4
= var_cap
<= var_c
;
4586 { /* Inline kernel#Int#<= (var_c,var_cap) */
4587 /* Covariant cast for argument 0 (i) <var_cap:Int> isa OTHER */
4588 /* <var_cap:Int> isa OTHER */
4589 var7
= 1; /* easy <var_cap:Int> isa OTHER*/
4591 var_class_name10
= type_kernel__Int
.name
;
4592 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
4593 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
4596 var11
= var_c
<= var_cap
;
4603 { /* Inline kernel#Int#* (var_c,var12) */
4604 var15
= var_c
* var12
;
4607 RET_LABEL14
:(void)0;
4610 { /* Inline kernel#Int#+ (var13,var16) */
4611 var19
= var13
+ var16
;
4614 RET_LABEL18
:(void)0;
4617 CONTINUE_label
: (void)0;
4619 BREAK_label
: (void)0;
4621 { /* Inline kernel#Int#+ (var_c,var20) */
4622 var23
= var_c
+ var20
;
4625 RET_LABEL22
:(void)0;
4627 var24
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var21
) /* calloc_string on <self:Buffer>*/;
4629 var25
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4630 var26
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4633 { /* Inline string#NativeString#copy_to (var25,var_a,var26,var27,var28) */
4634 memcpy(var_a
+var28
,var25
+var27
,var26
);
4635 RET_LABEL29
:(void)0;
4637 self
->attrs
[COLOR_string__AbstractString___items
].str
= var_a
; /* _items on <self:Buffer> */
4638 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var_c
; /* _capacity on <self:Buffer> */
4641 /* method string#Buffer#enlarge for (self: Object, Int) */
4642 void VIRTUAL_string__Buffer__enlarge(val
* self
, long p0
) {
4643 string__Buffer__enlarge(self
, p0
);
4646 /* method string#Buffer#append for (self: Buffer, Collection[Char]) */
4647 void string__Buffer__append(val
* self
, val
* p0
) {
4648 short int var
/* : Bool */;
4651 const char* var_class_name
;
4652 val
* var_s
/* var s: Collection[Char] */;
4653 short int var1
/* : Bool */;
4656 long var4
/* : Int */;
4657 long var_sl
/* var sl: Int */;
4658 long var5
/* : Int */;
4659 long var6
/* : Int */;
4660 long var7
/* : Int */;
4661 long var9
/* : Int */;
4662 short int var10
/* : Bool */;
4663 short int var12
/* : Bool */;
4666 const char* var_class_name15
;
4667 short int var16
/* : Bool */;
4668 long var17
/* : Int */;
4669 long var18
/* : Int */;
4670 long var20
/* : Int */;
4671 char* var21
/* : NativeString */;
4672 char* var22
/* : NativeString */;
4673 long var23
/* : Int */;
4674 long var24
/* : Int */;
4675 val
* var_
/* var : Buffer */;
4676 long var26
/* : Int */;
4677 long var27
/* : Int */;
4678 long var29
/* : Int */;
4679 /* Covariant cast for argument 0 (s) <p0:Collection[Char]> isa Collection[Sequence#0] */
4680 /* <p0:Collection[Char]> isa Collection[Sequence#0] */
4681 var
= 1; /* easy <p0:Collection[Char]> isa Collection[Sequence#0]*/
4683 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4684 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[Sequence#0]", var_class_name
);
4685 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 716);
4689 /* <var_s:Collection[Char]> isa String */
4690 cltype2
= type_string__String
.color
;
4691 idtype3
= type_string__String
.id
;
4692 if(cltype2
>= var_s
->type
->table_size
) {
4695 var1
= var_s
->type
->type_table
[cltype2
] == idtype3
;
4698 var4
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:Collection[Char](String)>*/;
4700 var5
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
4701 var6
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
4702 { /* Inline kernel#Int#+ (var6,var_sl) */
4703 var9
= var6
+ var_sl
;
4708 { /* Inline kernel#Int#< (var5,var7) */
4709 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
4710 /* <var7:Int> isa OTHER */
4711 var12
= 1; /* easy <var7:Int> isa OTHER*/
4713 var_class_name15
= type_kernel__Int
.name
;
4714 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
4715 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4718 var16
= var5
< var7
;
4721 RET_LABEL11
:(void)0;
4724 var17
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
4725 { /* Inline kernel#Int#+ (var17,var_sl) */
4726 var20
= var17
+ var_sl
;
4729 RET_LABEL19
:(void)0;
4731 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var18
) /* enlarge on <self:Buffer>*/;
4734 var21
= ((char* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__items
]))(var_s
) /* items on <var_s:Collection[Char](String)>*/;
4735 var22
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4736 var23
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:Collection[Char](String)> */
4737 var24
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
4738 { /* Inline string#NativeString#copy_to (var21,var22,var_sl,var23,var24) */
4739 memcpy(var22
+var24
,var21
+var23
,var_sl
);
4740 RET_LABEL25
:(void)0;
4743 var26
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:Buffer> */
4744 { /* Inline kernel#Int#+ (var26,var_sl) */
4745 var29
= var26
+ var_sl
;
4748 RET_LABEL28
:(void)0;
4750 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var27
; /* _length on <var_:Buffer> */
4752 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_string__Buffer__append
]))(self
, p0
) /* append on <self:Buffer>*/;
4756 /* method string#Buffer#append for (self: Object, Collection[nullable Object]) */
4757 void VIRTUAL_string__Buffer__append(val
* self
, val
* p0
) {
4758 string__Buffer__append(self
, p0
);
4761 /* method string#Buffer#to_s for (self: Buffer): String */
4762 val
* string__Buffer__to_s(val
* self
) {
4763 val
* var
/* : String */;
4764 long var1
/* : Int */;
4765 long var_l
/* var l: Int */;
4766 long var2
/* : Int */;
4767 long var3
/* : Int */;
4768 long var5
/* : Int */;
4769 char* var6
/* : NativeString */;
4770 char* var_a
/* var a: NativeString */;
4771 char* var7
/* : NativeString */;
4772 long var8
/* : Int */;
4773 long var9
/* : Int */;
4774 long var11
/* : Int */;
4775 char var12
/* : Char */;
4776 long var14
/* : Int */;
4777 val
* var15
/* : String */;
4778 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4781 { /* Inline kernel#Int#+ (var_l,var2) */
4782 var5
= var_l
+ var2
;
4787 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:Buffer>*/;
4789 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4792 { /* Inline string#NativeString#copy_to (var7,var_a,var_l,var8,var9) */
4793 memcpy(var_a
+var9
,var7
+var8
,var_l
);
4794 RET_LABEL10
:(void)0;
4796 var11
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4798 { /* Inline string#NativeString#[]= (var_a,var11,var12) */
4800 RET_LABEL13
:(void)0;
4802 var14
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4803 var15
= string__NativeString__to_s_with_length(var_a
, var14
);
4809 /* method string#Buffer#to_s for (self: Object): String */
4810 val
* VIRTUAL_string__Buffer__to_s(val
* self
) {
4811 val
* var
/* : String */;
4812 val
* var1
/* : String */;
4813 var1
= string__Buffer__to_s(self
);
4818 /* method string#Buffer#< for (self: Buffer, String): Bool */
4819 short int string__Buffer___60d(val
* self
, val
* p0
) {
4820 short int var
/* : Bool */;
4821 short int var1
/* : Bool */;
4824 const struct type
* type_struct
;
4825 const char* var_class_name
;
4826 val
* var_s
/* var s: String */;
4827 long var2
/* : Int */;
4828 long var_i
/* var i: Int */;
4829 long var3
/* : Int */;
4830 long var_l1
/* var l1: Int */;
4831 long var4
/* : Int */;
4832 long var_l2
/* var l2: Int */;
4833 short int var5
/* : Bool */;
4834 short int var6
/* : Bool */;
4835 short int var8
/* : Bool */;
4838 const char* var_class_name11
;
4839 short int var12
/* : Bool */;
4840 short int var_
/* var : Bool */;
4841 short int var13
/* : Bool */;
4842 short int var15
/* : Bool */;
4845 const char* var_class_name18
;
4846 short int var19
/* : Bool */;
4847 val
* var20
/* : nullable Object */;
4848 long var21
/* : Int */;
4849 char var23
/* : Char */;
4850 long var24
/* : Int */;
4851 long var_c1
/* var c1: Int */;
4852 val
* var25
/* : nullable Object */;
4853 long var26
/* : Int */;
4854 char var28
/* : Char */;
4855 long var29
/* : Int */;
4856 long var_c2
/* var c2: Int */;
4857 short int var30
/* : Bool */;
4858 short int var32
/* : Bool */;
4861 const char* var_class_name35
;
4862 short int var36
/* : Bool */;
4863 short int var37
/* : Bool */;
4864 short int var38
/* : Bool */;
4865 short int var40
/* : Bool */;
4868 const char* var_class_name43
;
4869 short int var44
/* : Bool */;
4870 short int var45
/* : Bool */;
4871 long var46
/* : Int */;
4872 long var47
/* : Int */;
4873 long var49
/* : Int */;
4874 short int var50
/* : Bool */;
4875 short int var52
/* : Bool */;
4878 const char* var_class_name55
;
4879 short int var56
/* : Bool */;
4880 short int var57
/* : Bool */;
4881 short int var58
/* : Bool */;
4882 /* Covariant cast for argument 0 (s) <p0:String> isa OTHER */
4883 /* <p0:String> isa OTHER */
4884 type_struct
= self
->type
->resolution_table
->types
[COLOR_kernel__Comparable_VTOTHER
];
4885 cltype
= type_struct
->color
;
4886 idtype
= type_struct
->id
;
4887 if(cltype
>= p0
->type
->table_size
) {
4890 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4893 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4894 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4895 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 740);
4901 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4903 var4
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
4906 { /* Inline kernel#Int#< (var_i,var_l1) */
4907 /* Covariant cast for argument 0 (i) <var_l1:Int> isa OTHER */
4908 /* <var_l1:Int> isa OTHER */
4909 var8
= 1; /* easy <var_l1:Int> isa OTHER*/
4911 var_class_name11
= type_kernel__Int
.name
;
4912 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
4913 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4916 var12
= var_i
< var_l1
;
4923 { /* Inline kernel#Int#< (var_i,var_l2) */
4924 /* Covariant cast for argument 0 (i) <var_l2:Int> isa OTHER */
4925 /* <var_l2:Int> isa OTHER */
4926 var15
= 1; /* easy <var_l2:Int> isa OTHER*/
4928 var_class_name18
= type_kernel__Int
.name
;
4929 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
4930 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4933 var19
= var_i
< var_l2
;
4936 RET_LABEL14
:(void)0;
4943 var20
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:Buffer>*/;
4944 { /* Inline kernel#Char#ascii (var20) */
4945 var23
= ((struct instance_kernel__Char
*)var20
)->value
; /* autounbox from nullable Object to Char */;
4946 var24
= (unsigned char)var23
;
4949 RET_LABEL22
:(void)0;
4952 var25
= ((val
* (*)(val
*, long))(var_s
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_s
, var_i
) /* [] on <var_s:String>*/;
4953 { /* Inline kernel#Char#ascii (var25) */
4954 var28
= ((struct instance_kernel__Char
*)var25
)->value
; /* autounbox from nullable Object to Char */;
4955 var29
= (unsigned char)var28
;
4958 RET_LABEL27
:(void)0;
4961 { /* Inline kernel#Int#< (var_c1,var_c2) */
4962 /* Covariant cast for argument 0 (i) <var_c2:Int> isa OTHER */
4963 /* <var_c2:Int> isa OTHER */
4964 var32
= 1; /* easy <var_c2:Int> isa OTHER*/
4966 var_class_name35
= type_kernel__Int
.name
;
4967 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
4968 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4971 var36
= var_c1
< var_c2
;
4974 RET_LABEL31
:(void)0;
4981 { /* Inline kernel#Int#< (var_c2,var_c1) */
4982 /* Covariant cast for argument 0 (i) <var_c1:Int> isa OTHER */
4983 /* <var_c1:Int> isa OTHER */
4984 var40
= 1; /* easy <var_c1:Int> isa OTHER*/
4986 var_class_name43
= type_kernel__Int
.name
;
4987 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43
);
4988 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4991 var44
= var_c2
< var_c1
;
4994 RET_LABEL39
:(void)0;
5004 { /* Inline kernel#Int#+ (var_i,var46) */
5005 var49
= var_i
+ var46
;
5008 RET_LABEL48
:(void)0;
5011 CONTINUE_label
: (void)0;
5013 BREAK_label
: (void)0;
5014 { /* Inline kernel#Int#< (var_l1,var_l2) */
5015 /* Covariant cast for argument 0 (i) <var_l2:Int> isa OTHER */
5016 /* <var_l2:Int> isa OTHER */
5017 var52
= 1; /* easy <var_l2:Int> isa OTHER*/
5019 var_class_name55
= type_kernel__Int
.name
;
5020 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55
);
5021 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
5024 var56
= var_l1
< var_l2
;
5027 RET_LABEL51
:(void)0;
5041 /* method string#Buffer#< for (self: Object, Comparable): Bool */
5042 short int VIRTUAL_string__Buffer___60d(val
* self
, val
* p0
) {
5043 short int var
/* : Bool */;
5044 short int var1
/* : Bool */;
5045 var1
= string__Buffer___60d(self
, p0
);
5050 /* method string#Buffer#init for (self: Buffer) */
5051 void string__Buffer__init(val
* self
) {
5052 long var
/* : Int */;
5054 ((void (*)(val
*, long))(self
->class->vft
[COLOR_string__Buffer__with_capacity
]))(self
, var
) /* with_capacity on <self:Buffer>*/;
5057 /* method string#Buffer#init for (self: Object) */
5058 void VIRTUAL_string__Buffer__init(val
* self
) {
5059 string__Buffer__init(self
);
5062 /* method string#Buffer#from for (self: Buffer, String) */
5063 void string__Buffer__from(val
* self
, val
* p0
) {
5064 val
* var_s
/* var s: String */;
5065 long var
/* : Int */;
5066 long var1
/* : Int */;
5067 long var2
/* : Int */;
5068 long var4
/* : Int */;
5069 long var5
/* : Int */;
5070 long var6
/* : Int */;
5071 char* var7
/* : NativeString */;
5072 char* var8
/* : NativeString */;
5073 char* var9
/* : NativeString */;
5074 long var10
/* : Int */;
5075 long var11
/* : Int */;
5076 long var12
/* : Int */;
5078 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:Buffer>*/;
5079 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Buffer>*/;
5080 var
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
5082 { /* Inline kernel#Int#+ (var,var1) */
5088 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var2
; /* _capacity on <self:Buffer> */
5089 var5
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
5090 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var5
; /* _length on <self:Buffer> */
5091 var6
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
5092 var7
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var6
) /* calloc_string on <self:Buffer>*/;
5093 self
->attrs
[COLOR_string__AbstractString___items
].str
= var7
; /* _items on <self:Buffer> */
5094 var8
= ((char* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__items
]))(var_s
) /* items on <var_s:String>*/;
5095 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5096 var10
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
5097 var11
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:String> */
5099 { /* Inline string#NativeString#copy_to (var8,var9,var10,var11,var12) */
5100 memcpy(var9
+var12
,var8
+var11
,var10
);
5101 RET_LABEL13
:(void)0;
5105 /* method string#Buffer#from for (self: Object, String) */
5106 void VIRTUAL_string__Buffer__from(val
* self
, val
* p0
) {
5107 string__Buffer__from(self
, p0
);
5110 /* method string#Buffer#with_capacity for (self: Buffer, Int) */
5111 void string__Buffer__with_capacity(val
* self
, long p0
) {
5112 long var_cap
/* var cap: Int */;
5113 long var
/* : Int */;
5114 short int var1
/* : Bool */;
5115 short int var3
/* : Bool */;
5118 const char* var_class_name
;
5119 short int var4
/* : Bool */;
5120 long var5
/* : Int */;
5121 long var6
/* : Int */;
5122 long var8
/* : Int */;
5123 char* var9
/* : NativeString */;
5124 long var10
/* : Int */;
5126 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:Buffer>*/;
5127 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Buffer>*/;
5129 { /* Inline kernel#Int#>= (var_cap,var) */
5130 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
5131 /* <var:Int> isa OTHER */
5132 var3
= 1; /* easy <var:Int> isa OTHER*/
5134 var_class_name
= type_kernel__Int
.name
;
5135 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5136 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
5139 var4
= var_cap
>= var
;
5145 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5146 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 779);
5150 { /* Inline kernel#Int#+ (var_cap,var5) */
5151 var8
= var_cap
+ var5
;
5156 var9
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var6
) /* calloc_string on <self:Buffer>*/;
5157 self
->attrs
[COLOR_string__AbstractString___items
].str
= var9
; /* _items on <self:Buffer> */
5158 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var_cap
; /* _capacity on <self:Buffer> */
5160 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var10
; /* _length on <self:Buffer> */
5163 /* method string#Buffer#with_capacity for (self: Object, Int) */
5164 void VIRTUAL_string__Buffer__with_capacity(val
* self
, long p0
) {
5165 string__Buffer__with_capacity(self
, p0
);
5168 /* method string#Buffer#== for (self: Buffer, nullable Object): Bool */
5169 short int string__Buffer___61d_61d(val
* self
, val
* p0
) {
5170 short int var
/* : Bool */;
5171 val
* var_o
/* var o: nullable Object */;
5172 short int var1
/* : Bool */;
5175 short int var2
/* : Bool */;
5176 short int var3
/* : Bool */;
5177 long var4
/* : Int */;
5178 long var_l
/* var l: Int */;
5179 long var5
/* : Int */;
5180 short int var6
/* : Bool */;
5181 short int var8
/* : Bool */;
5182 short int var9
/* : Bool */;
5183 short int var10
/* : Bool */;
5184 long var11
/* : Int */;
5185 long var_i
/* var i: Int */;
5186 char* var12
/* : NativeString */;
5187 char* var_it
/* var it: NativeString */;
5188 char* var13
/* : NativeString */;
5189 char* var_oit
/* var oit: NativeString */;
5190 short int var14
/* : Bool */;
5191 short int var16
/* : Bool */;
5194 const char* var_class_name
;
5195 short int var19
/* : Bool */;
5196 char var20
/* : Char */;
5197 char var22
/* : Char */;
5198 char var23
/* : Char */;
5199 char var25
/* : Char */;
5200 short int var26
/* : Bool */;
5201 short int var28
/* : Bool */;
5202 short int var29
/* : Bool */;
5203 short int var30
/* : Bool */;
5204 long var31
/* : Int */;
5205 long var32
/* : Int */;
5206 long var34
/* : Int */;
5207 short int var35
/* : Bool */;
5209 /* <var_o:nullable Object> isa Buffer */
5210 cltype
= type_string__Buffer
.color
;
5211 idtype
= type_string__Buffer
.id
;
5215 if(cltype
>= var_o
->type
->table_size
) {
5218 var1
= var_o
->type
->type_table
[cltype
] == idtype
;
5228 var4
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5230 var5
= ((long (*)(val
*))(var_o
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_o
) /* length on <var_o:nullable Object(Buffer)>*/;
5231 { /* Inline kernel#Int#!= (var5,var_l) */
5232 var8
= var5
== var_l
;
5246 var12
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5248 var13
= var_o
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_o:nullable Object(Buffer)> */
5251 { /* Inline kernel#Int#< (var_i,var_l) */
5252 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
5253 /* <var_l:Int> isa OTHER */
5254 var16
= 1; /* easy <var_l:Int> isa OTHER*/
5256 var_class_name
= type_kernel__Int
.name
;
5257 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5258 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
5261 var19
= var_i
< var_l
;
5264 RET_LABEL15
:(void)0;
5267 { /* Inline string#NativeString#[] (var_it,var_i) */
5268 var22
= var_it
[var_i
];
5271 RET_LABEL21
:(void)0;
5273 { /* Inline string#NativeString#[] (var_oit,var_i) */
5274 var25
= var_oit
[var_i
];
5277 RET_LABEL24
:(void)0;
5279 { /* Inline kernel#Char#!= (var20,var23) */
5280 var28
= var20
== var23
;
5284 RET_LABEL27
:(void)0;
5293 { /* Inline kernel#Int#+ (var_i,var31) */
5294 var34
= var_i
+ var31
;
5297 RET_LABEL33
:(void)0;
5300 CONTINUE_label
: (void)0;
5302 BREAK_label
: (void)0;
5309 /* method string#Buffer#== for (self: Object, nullable Object): Bool */
5310 short int VIRTUAL_string__Buffer___61d_61d(val
* self
, val
* p0
) {
5311 short int var
/* : Bool */;
5312 short int var1
/* : Bool */;
5313 var1
= string__Buffer___61d_61d(self
, p0
);
5318 /* method string#Buffer#capacity for (self: Buffer): Int */
5319 long string__Buffer__capacity(val
* self
) {
5320 long var
/* : Int */;
5321 long var1
/* : Int */;
5322 var1
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
5327 /* method string#Buffer#capacity for (self: Object): Int */
5328 long VIRTUAL_string__Buffer__capacity(val
* self
) {
5329 long var
/* : Int */;
5330 long var1
/* : Int */;
5331 var1
= string__Buffer__capacity(self
);
5336 /* method string#Object#to_s for (self: Object): String */
5337 val
* string__Object__to_s(val
* self
) {
5338 val
* var
/* : String */;
5339 val
* var1
/* : String */;
5340 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__inspect
]))(self
) /* inspect on <self:Object>*/;
5346 /* method string#Object#to_s for (self: Object): String */
5347 val
* VIRTUAL_string__Object__to_s(val
* self
) {
5348 val
* var
/* : String */;
5349 val
* var1
/* : String */;
5350 var1
= string__Object__to_s(self
);
5355 /* method string#Object#native_class_name for (self: Object): NativeString */
5356 char* string__Object__native_class_name(val
* self
) {
5357 char* var
/* : NativeString */;
5358 const char* var_class_name
;
5359 char* var1
/* : NativeString */;
5360 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
5361 var1
= (char*)var_class_name
;
5367 /* method string#Object#native_class_name for (self: Object): NativeString */
5368 char* VIRTUAL_string__Object__native_class_name(val
* self
) {
5369 char* var
/* : NativeString */;
5370 char* var1
/* : NativeString */;
5371 const char* var_class_name
;
5372 char* var3
/* : NativeString */;
5373 { /* Inline string#Object#native_class_name (self) */
5374 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
5375 var3
= (char*)var_class_name
;
5384 /* method string#Object#class_name for (self: Object): String */
5385 val
* string__Object__class_name(val
* self
) {
5386 val
* var
/* : String */;
5387 char* var1
/* : NativeString */;
5388 val
* var2
/* : String */;
5389 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__Object__native_class_name
]))(self
) /* native_class_name on <self:Object>*/;
5390 var2
= string__NativeString__to_s(var1
);
5396 /* method string#Object#class_name for (self: Object): String */
5397 val
* VIRTUAL_string__Object__class_name(val
* self
) {
5398 val
* var
/* : String */;
5399 val
* var1
/* : String */;
5400 var1
= string__Object__class_name(self
);
5405 /* method string#Object#inspect for (self: Object): String */
5406 val
* string__Object__inspect(val
* self
) {
5407 val
* var
/* : String */;
5408 val
* var1
/* : Array[Object] */;
5409 long var2
/* : Int */;
5410 val
* var_
/* var : Array[Object] */;
5411 static val
* varonce
;
5412 val
* var3
/* : String */;
5413 char* var4
/* : NativeString */;
5414 long var5
/* : Int */;
5415 val
* var6
/* : String */;
5416 val
* var7
/* : String */;
5417 static val
* varonce8
;
5418 val
* var9
/* : String */;
5419 char* var10
/* : NativeString */;
5420 long var11
/* : Int */;
5421 val
* var12
/* : String */;
5422 val
* var13
/* : String */;
5423 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
5425 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
5426 CHECK_NEW_array__Array(var1
);
5433 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5437 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
5438 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__inspect_head
]))(self
) /* inspect_head on <self:Object>*/;
5439 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
5445 var12
= string__NativeString__to_s_with_length(var10
, var11
);
5449 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
5450 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
5456 /* method string#Object#inspect for (self: Object): String */
5457 val
* VIRTUAL_string__Object__inspect(val
* self
) {
5458 val
* var
/* : String */;
5459 val
* var1
/* : String */;
5460 var1
= string__Object__inspect(self
);
5465 /* method string#Object#inspect_head for (self: Object): String */
5466 val
* string__Object__inspect_head(val
* self
) {
5467 val
* var
/* : String */;
5468 val
* var1
/* : Array[Object] */;
5469 long var2
/* : Int */;
5470 val
* var_
/* var : Array[Object] */;
5471 static val
* varonce
;
5472 val
* var3
/* : String */;
5473 char* var4
/* : NativeString */;
5474 long var5
/* : Int */;
5475 val
* var6
/* : String */;
5476 val
* var7
/* : String */;
5477 static val
* varonce8
;
5478 val
* var9
/* : String */;
5479 char* var10
/* : NativeString */;
5480 long var11
/* : Int */;
5481 val
* var12
/* : String */;
5482 long var13
/* : Int */;
5483 val
* var14
/* : String */;
5484 static val
* varonce15
;
5485 val
* var16
/* : String */;
5486 char* var17
/* : NativeString */;
5487 long var18
/* : Int */;
5488 val
* var19
/* : String */;
5489 val
* var20
/* : String */;
5490 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
5492 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
5493 CHECK_NEW_array__Array(var1
);
5500 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5504 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
5505 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__class_name
]))(self
) /* class_name on <self:Object>*/;
5506 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
5512 var12
= string__NativeString__to_s_with_length(var10
, var11
);
5516 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
5517 var13
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:Object>*/;
5518 var14
= string__Int__to_hex(var13
);
5519 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
5525 var19
= string__NativeString__to_s_with_length(var17
, var18
);
5529 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
5530 var20
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
5536 /* method string#Object#inspect_head for (self: Object): String */
5537 val
* VIRTUAL_string__Object__inspect_head(val
* self
) {
5538 val
* var
/* : String */;
5539 val
* var1
/* : String */;
5540 var1
= string__Object__inspect_head(self
);
5545 /* method string#Object#args for (self: Object): Sequence[String] */
5546 val
* string__Object__args(val
* self
) {
5547 val
* var
/* : Sequence[String] */;
5548 val
* var1
/* : Sys */;
5549 val
* var2
/* : Sequence[String] */;
5550 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:Object>*/;
5551 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_string__Object__args
]))(var1
) /* args on <var1:Sys>*/;
5557 /* method string#Object#args for (self: Object): Sequence[String] */
5558 val
* VIRTUAL_string__Object__args(val
* self
) {
5559 val
* var
/* : Sequence[String] */;
5560 val
* var1
/* : Sequence[String] */;
5561 var1
= string__Object__args(self
);
5566 /* method string#Bool#to_s for (self: Bool): String */
5567 val
* string__Bool__to_s(short int self
) {
5568 val
* var
/* : String */;
5569 static val
* varonce
;
5570 static int varonce_guard
;
5571 val
* var1
/* : String */;
5572 static val
* varonce2
;
5573 val
* var3
/* : String */;
5574 char* var4
/* : NativeString */;
5575 long var5
/* : Int */;
5576 val
* var6
/* : String */;
5577 static val
* varonce7
;
5578 static int varonce7_guard
;
5579 val
* var8
/* : String */;
5580 static val
* varonce9
;
5581 val
* var10
/* : String */;
5582 char* var11
/* : NativeString */;
5583 long var12
/* : Int */;
5584 val
* var13
/* : String */;
5586 if (varonce_guard
) {
5594 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5605 if (varonce7_guard
) {
5613 var13
= string__NativeString__to_s_with_length(var11
, var12
);
5627 /* method string#Bool#to_s for (self: Object): String */
5628 val
* VIRTUAL_string__Bool__to_s(val
* self
) {
5629 val
* var
/* : String */;
5630 val
* var1
/* : String */;
5631 short int var2
/* : Bool */;
5632 var2
= ((struct instance_kernel__Bool
*)self
)->value
; /* autounbox from Object to Bool */;
5633 var1
= string__Bool__to_s(var2
);
5638 /* method string#Int#fill_buffer for (self: Int, Buffer, Int, Bool) */
5639 void string__Int__fill_buffer(long self
, val
* p0
, long p1
, short int p2
) {
5640 val
* var_s
/* var s: Buffer */;
5641 long var_base
/* var base: Int */;
5642 short int var_signed
/* var signed: Bool */;
5643 long var
/* : Int */;
5644 short int var1
/* : Bool */;
5645 short int var3
/* : Bool */;
5648 const char* var_class_name
;
5649 short int var4
/* : Bool */;
5650 long var5
/* : Int */;
5651 long var7
/* : Int */;
5652 long var_n
/* var n: Int */;
5653 long var8
/* : Int */;
5654 char var9
/* : Char */;
5655 val
* var10
/* : nullable Object */;
5656 long var11
/* : Int */;
5657 short int var12
/* : Bool */;
5658 short int var14
/* : Bool */;
5659 long var15
/* : Int */;
5660 char var16
/* : Char */;
5661 val
* var17
/* : nullable Object */;
5662 long var18
/* : Int */;
5663 long var19
/* : Int */;
5664 long var20
/* : Int */;
5665 long var22
/* : Int */;
5666 long var_pos
/* var pos: Int */;
5667 short int var23
/* : Bool */;
5668 long var24
/* : Int */;
5669 short int var25
/* : Bool */;
5670 short int var27
/* : Bool */;
5673 const char* var_class_name30
;
5674 short int var31
/* : Bool */;
5675 short int var_
/* var : Bool */;
5676 long var32
/* : Int */;
5677 short int var33
/* : Bool */;
5678 short int var35
/* : Bool */;
5681 const char* var_class_name38
;
5682 short int var39
/* : Bool */;
5683 long var40
/* : Int */;
5684 long var42
/* : Int */;
5685 char var43
/* : Char */;
5686 val
* var44
/* : nullable Object */;
5687 long var45
/* : Int */;
5688 long var47
/* : Int */;
5689 long var48
/* : Int */;
5690 long var49
/* : Int */;
5691 long var51
/* : Int */;
5696 { /* Inline kernel#Int#< (self,var) */
5697 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
5698 /* <var:Int> isa OTHER */
5699 var3
= 1; /* easy <var:Int> isa OTHER*/
5701 var_class_name
= type_kernel__Int
.name
;
5702 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5703 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
5712 { /* Inline kernel#Int#unary - (self) */
5721 var10
= BOX_kernel__Char(var9
); /* autobox from Char to nullable Object */
5722 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var8
, var10
) /* []= on <var_s:Buffer>*/;
5725 { /* Inline kernel#Int#== (self,var11) */
5726 var14
= self
== var11
;
5729 RET_LABEL13
:(void)0;
5734 var17
= BOX_kernel__Char(var16
); /* autobox from Char to nullable Object */
5735 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var15
, var17
) /* []= on <var_s:Buffer>*/;
5741 var18
= kernel__Int__digit_count(self
, var_base
);
5743 { /* Inline kernel#Int#- (var18,var19) */
5744 var22
= var18
- var19
;
5747 RET_LABEL21
:(void)0;
5752 { /* Inline kernel#Int#>= (var_pos,var24) */
5753 /* Covariant cast for argument 0 (i) <var24:Int> isa OTHER */
5754 /* <var24:Int> isa OTHER */
5755 var27
= 1; /* easy <var24:Int> isa OTHER*/
5757 var_class_name30
= type_kernel__Int
.name
;
5758 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
5759 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
5762 var31
= var_pos
>= var24
;
5765 RET_LABEL26
:(void)0;
5770 { /* Inline kernel#Int#> (var_n,var32) */
5771 /* Covariant cast for argument 0 (i) <var32:Int> isa OTHER */
5772 /* <var32:Int> isa OTHER */
5773 var35
= 1; /* easy <var32:Int> isa OTHER*/
5775 var_class_name38
= type_kernel__Int
.name
;
5776 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38
);
5777 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
5780 var39
= var_n
> var32
;
5783 RET_LABEL34
:(void)0;
5790 { /* Inline kernel#Int#% (var_n,var_base) */
5791 var42
= var_n
% var_base
;
5794 RET_LABEL41
:(void)0;
5796 var43
= kernel__Int__to_c(var40
);
5797 var44
= BOX_kernel__Char(var43
); /* autobox from Char to nullable Object */
5798 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var_pos
, var44
) /* []= on <var_s:Buffer>*/;
5799 { /* Inline kernel#Int#/ (var_n,var_base) */
5800 var47
= var_n
/ var_base
;
5803 RET_LABEL46
:(void)0;
5807 { /* Inline kernel#Int#- (var_pos,var48) */
5808 var51
= var_pos
- var48
;
5811 RET_LABEL50
:(void)0;
5814 CONTINUE_label
: (void)0;
5816 BREAK_label
: (void)0;
5819 /* method string#Int#fill_buffer for (self: Object, Buffer, Int, Bool) */
5820 void VIRTUAL_string__Int__fill_buffer(val
* self
, val
* p0
, long p1
, short int p2
) {
5821 long var
/* : Int */;
5822 var
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5823 string__Int__fill_buffer(var
, p0
, p1
, p2
);
5826 /* method string#Int#native_int_to_s for (self: Int, Int): NativeString */
5827 char* string__Int__native_int_to_s(long self
, long p0
) {
5828 char* var
/* : NativeString */;
5829 char* var1
/* : NativeString */;
5830 var1
= native_int_to_s(self
, p0
);
5836 /* method string#Int#native_int_to_s for (self: Object, Int): NativeString */
5837 char* VIRTUAL_string__Int__native_int_to_s(val
* self
, long p0
) {
5838 char* var
/* : NativeString */;
5839 char* var1
/* : NativeString */;
5840 long var2
/* : Int */;
5841 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5842 var1
= string__Int__native_int_to_s(var2
, p0
);
5847 /* method string#Int#to_s for (self: Int): String */
5848 val
* string__Int__to_s(long self
) {
5849 val
* var
/* : String */;
5850 long var1
/* : Int */;
5851 long var2
/* : Int */;
5852 long var_len
/* var len: Int */;
5853 char* var3
/* : NativeString */;
5854 val
* var4
/* : String */;
5856 var2
= kernel__Int__digit_count(self
, var1
);
5858 var3
= string__Int__native_int_to_s(self
, var_len
);
5859 var4
= string__NativeString__to_s_with_length(var3
, var_len
);
5865 /* method string#Int#to_s for (self: Object): String */
5866 val
* VIRTUAL_string__Int__to_s(val
* self
) {
5867 val
* var
/* : String */;
5868 val
* var1
/* : String */;
5869 long var2
/* : Int */;
5870 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5871 var1
= string__Int__to_s(var2
);
5876 /* method string#Int#to_hex for (self: Int): String */
5877 val
* string__Int__to_hex(long self
) {
5878 val
* var
/* : String */;
5879 long var1
/* : Int */;
5880 short int var2
/* : Bool */;
5881 val
* var3
/* : String */;
5884 var3
= string__Int__to_base(self
, var1
, var2
);
5890 /* method string#Int#to_hex for (self: Object): String */
5891 val
* VIRTUAL_string__Int__to_hex(val
* self
) {
5892 val
* var
/* : String */;
5893 val
* var1
/* : String */;
5894 long var2
/* : Int */;
5895 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5896 var1
= string__Int__to_hex(var2
);
5901 /* method string#Int#to_base for (self: Int, Int, Bool): String */
5902 val
* string__Int__to_base(long self
, long p0
, short int p1
) {
5903 val
* var
/* : String */;
5904 long var_base
/* var base: Int */;
5905 short int var_signed
/* var signed: Bool */;
5906 long var1
/* : Int */;
5907 long var_l
/* var l: Int */;
5908 val
* var2
/* : Buffer */;
5909 static val
* varonce
;
5910 val
* var3
/* : String */;
5911 char* var4
/* : NativeString */;
5912 long var5
/* : Int */;
5913 val
* var6
/* : String */;
5914 val
* var7
/* : String */;
5915 val
* var_s
/* var s: Buffer */;
5916 val
* var8
/* : String */;
5919 var1
= kernel__Int__digit_count(self
, var_base
);
5921 var2
= NEW_string__Buffer(&type_string__Buffer
);
5927 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5931 var7
= ((val
* (*)(val
*, long))(var3
->class->vft
[COLOR_string__String___42d
]))(var3
, var_l
) /* * on <var3:String>*/;
5932 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_string__Buffer__from
]))(var2
, var7
) /* from on <var2:Buffer>*/;
5933 CHECK_NEW_string__Buffer(var2
);
5935 string__Int__fill_buffer(self
, var_s
, var_base
, var_signed
);
5936 var8
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
5942 /* method string#Int#to_base for (self: Object, Int, Bool): String */
5943 val
* VIRTUAL_string__Int__to_base(val
* self
, long p0
, short int p1
) {
5944 val
* var
/* : String */;
5945 val
* var1
/* : String */;
5946 long var2
/* : Int */;
5947 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5948 var1
= string__Int__to_base(var2
, p0
, p1
);
5953 /* method string#Float#to_s for (self: Float): String */
5954 val
* string__Float__to_s(double self
) {
5955 val
* var
/* : String */;
5956 long var1
/* : Int */;
5957 val
* var2
/* : String */;
5958 val
* var_str
/* var str: String */;
5959 long var3
/* : Int */;
5960 long var_len
/* var len: Int */;
5961 val
* var4
/* : Range[Int] */;
5962 long var5
/* : Int */;
5963 long var6
/* : Int */;
5964 long var7
/* : Int */;
5965 long var9
/* : Int */;
5966 val
* var10
/* : Discrete */;
5967 val
* var11
/* : Discrete */;
5968 val
* var12
/* : Iterator[nullable Object] */;
5969 short int var13
/* : Bool */;
5970 val
* var14
/* : nullable Object */;
5971 long var_i
/* var i: Int */;
5972 long var15
/* : Int */;
5973 long var16
/* : Int */;
5974 long var17
/* : Int */;
5975 long var19
/* : Int */;
5976 long var20
/* : Int */;
5977 long var22
/* : Int */;
5978 long var_j
/* var j: Int */;
5979 val
* var23
/* : nullable Object */;
5980 char var24
/* : Char */;
5981 char var_c
/* var c: Char */;
5982 char var25
/* : Char */;
5983 short int var26
/* : Bool */;
5984 short int var28
/* : Bool */;
5985 char var29
/* : Char */;
5986 short int var30
/* : Bool */;
5987 short int var32
/* : Bool */;
5988 long var33
/* : Int */;
5989 long var34
/* : Int */;
5990 long var35
/* : Int */;
5991 long var37
/* : Int */;
5992 val
* var38
/* : String */;
5993 long var39
/* : Int */;
5994 long var40
/* : Int */;
5995 long var41
/* : Int */;
5996 long var43
/* : Int */;
5997 val
* var44
/* : String */;
5999 var2
= string__Float__to_precision(self
, var1
);
6001 var3
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
6003 var4
= NEW_range__Range(&type_range__Rangekernel__Int
);
6006 { /* Inline kernel#Int#- (var_len,var6) */
6007 var9
= var_len
- var6
;
6012 var10
= BOX_kernel__Int(var5
); /* autobox from Int to Discrete */
6013 var11
= BOX_kernel__Int(var7
); /* autobox from Int to Discrete */
6014 ((void (*)(val
*, val
*, val
*))(var4
->class->vft
[COLOR_range__Range__init
]))(var4
, var10
, var11
) /* init on <var4:Range[Int]>*/;
6015 CHECK_NEW_range__Range(var4
);
6016 var12
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:Range[Int]>*/;
6018 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
6020 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
6021 var15
= ((struct instance_kernel__Int
*)var14
)->value
; /* autounbox from nullable Object to Int */;
6024 { /* Inline kernel#Int#- (var_len,var16) */
6025 var19
= var_len
- var16
;
6028 RET_LABEL18
:(void)0;
6030 { /* Inline kernel#Int#- (var17,var_i) */
6031 var22
= var17
- var_i
;
6034 RET_LABEL21
:(void)0;
6037 var23
= ((val
* (*)(val
*, long))(var_str
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_str
, var_j
) /* [] on <var_str:String>*/;
6038 var24
= ((struct instance_kernel__Char
*)var23
)->value
; /* autounbox from nullable Object to Char */;
6041 { /* Inline kernel#Char#== (var_c,var25) */
6042 var28
= var_c
== var25
;
6045 RET_LABEL27
:(void)0;
6048 goto CONTINUE_label
;
6051 { /* Inline kernel#Char#== (var_c,var29) */
6052 var32
= var_c
== var29
;
6055 RET_LABEL31
:(void)0;
6060 { /* Inline kernel#Int#+ (var_j,var34) */
6061 var37
= var_j
+ var34
;
6064 RET_LABEL36
:(void)0;
6066 var38
= ((val
* (*)(val
*, long, long))(var_str
->class->vft
[COLOR_string__AbstractString__substring
]))(var_str
, var33
, var35
) /* substring on <var_str:String>*/;
6072 { /* Inline kernel#Int#+ (var_j,var40) */
6073 var43
= var_j
+ var40
;
6076 RET_LABEL42
:(void)0;
6078 var44
= ((val
* (*)(val
*, long, long))(var_str
->class->vft
[COLOR_string__AbstractString__substring
]))(var_str
, var39
, var41
) /* substring on <var_str:String>*/;
6083 CONTINUE_label
: (void)0;
6084 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
6086 BREAK_label
: (void)0;
6092 /* method string#Float#to_s for (self: Object): String */
6093 val
* VIRTUAL_string__Float__to_s(val
* self
) {
6094 val
* var
/* : String */;
6095 val
* var1
/* : String */;
6096 double var2
/* : Float */;
6097 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
6098 var1
= string__Float__to_s(var2
);
6103 /* method string#Float#to_precision for (self: Float, Int): String */
6104 val
* string__Float__to_precision(double self
, long p0
) {
6105 val
* var
/* : String */;
6106 long var_nb
/* var nb: Int */;
6107 long var1
/* : Int */;
6108 short int var2
/* : Bool */;
6109 short int var4
/* : Bool */;
6110 long var5
/* : Int */;
6111 long var7
/* : Int */;
6112 val
* var8
/* : String */;
6113 double var_f
/* var f: Float */;
6114 val
* var9
/* : Range[Int] */;
6115 long var10
/* : Int */;
6116 val
* var11
/* : Discrete */;
6117 val
* var12
/* : Discrete */;
6118 val
* var13
/* : Iterator[nullable Object] */;
6119 short int var14
/* : Bool */;
6120 val
* var15
/* : nullable Object */;
6121 long var_i
/* var i: Int */;
6122 long var16
/* : Int */;
6123 double var17
/* : Float */;
6124 double var18
/* : Float */;
6125 double var20
/* : Float */;
6126 double var21
/* : Float */;
6127 short int var22
/* : Bool */;
6128 short int var24
/* : Bool */;
6129 double var25
/* : Float */;
6130 double var26
/* : Float */;
6131 double var28
/* : Float */;
6132 double var29
/* : Float */;
6133 double var30
/* : Float */;
6134 double var32
/* : Float */;
6135 long var33
/* : Int */;
6136 long var35
/* : Int */;
6137 long var_i36
/* var i: Int */;
6138 long var37
/* : Int */;
6139 short int var38
/* : Bool */;
6140 short int var40
/* : Bool */;
6141 static val
* varonce
;
6142 val
* var41
/* : String */;
6143 char* var42
/* : NativeString */;
6144 long var43
/* : Int */;
6145 val
* var44
/* : String */;
6146 val
* var45
/* : String */;
6147 val
* var_s
/* var s: String */;
6148 long var46
/* : Int */;
6149 long var_sl
/* var sl: Int */;
6150 short int var47
/* : Bool */;
6151 short int var49
/* : Bool */;
6154 const char* var_class_name
;
6155 short int var50
/* : Bool */;
6156 long var51
/* : Int */;
6157 long var52
/* : Int */;
6158 long var53
/* : Int */;
6159 long var55
/* : Int */;
6160 val
* var56
/* : String */;
6161 val
* var_p1
/* var p1: String */;
6162 long var57
/* : Int */;
6163 long var58
/* : Int */;
6164 long var60
/* : Int */;
6165 val
* var61
/* : String */;
6166 val
* var_p2
/* var p2: String */;
6167 static val
* varonce62
;
6168 val
* var63
/* : String */;
6169 char* var64
/* : NativeString */;
6170 long var65
/* : Int */;
6171 val
* var66
/* : String */;
6172 val
* var67
/* : String */;
6173 val
* var68
/* : String */;
6174 static val
* varonce69
;
6175 val
* var70
/* : String */;
6176 char* var71
/* : NativeString */;
6177 long var72
/* : Int */;
6178 val
* var73
/* : String */;
6179 static val
* varonce74
;
6180 val
* var75
/* : String */;
6181 char* var76
/* : NativeString */;
6182 long var77
/* : Int */;
6183 val
* var78
/* : String */;
6184 long var79
/* : Int */;
6185 long var81
/* : Int */;
6186 val
* var82
/* : String */;
6187 val
* var83
/* : String */;
6188 val
* var84
/* : String */;
6191 { /* Inline kernel#Int#== (var_nb,var1) */
6192 var4
= var_nb
== var1
;
6198 { /* Inline kernel#Float#to_i (self) */
6204 var8
= string__Int__to_s(var5
);
6210 var9
= NEW_range__Range(&type_range__Rangekernel__Int
);
6212 var11
= BOX_kernel__Int(var10
); /* autobox from Int to Discrete */
6213 var12
= BOX_kernel__Int(var_nb
); /* autobox from Int to Discrete */
6214 ((void (*)(val
*, val
*, val
*))(var9
->class->vft
[COLOR_range__Range__without_last
]))(var9
, var11
, var12
) /* without_last on <var9:Range[Int]>*/;
6215 CHECK_NEW_range__Range(var9
);
6216 var13
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var9
) /* iterator on <var9:Range[Int]>*/;
6218 var14
= ((short int (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var13
) /* is_ok on <var13:Iterator[nullable Object]>*/;
6220 var15
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var13
) /* item on <var13:Iterator[nullable Object]>*/;
6221 var16
= ((struct instance_kernel__Int
*)var15
)->value
; /* autounbox from nullable Object to Int */;
6224 { /* Inline kernel#Float#* (var_f,var17) */
6225 var20
= var_f
* var17
;
6228 RET_LABEL19
:(void)0;
6231 CONTINUE_label
: (void)0;
6232 ((void (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var13
) /* next on <var13:Iterator[nullable Object]>*/;
6234 BREAK_label
: (void)0;
6236 { /* Inline kernel#Float#> (self,var21) */
6237 var24
= self
> var21
;
6240 RET_LABEL23
:(void)0;
6244 { /* Inline kernel#Float#+ (var_f,var25) */
6245 var28
= var_f
+ var25
;
6248 RET_LABEL27
:(void)0;
6253 { /* Inline kernel#Float#- (var_f,var29) */
6254 var32
= var_f
- var29
;
6257 RET_LABEL31
:(void)0;
6261 { /* Inline kernel#Float#to_i (var_f) */
6262 var35
= (long)var_f
;
6265 RET_LABEL34
:(void)0;
6269 { /* Inline kernel#Int#== (var_i36,var37) */
6270 var40
= var_i36
== var37
;
6273 RET_LABEL39
:(void)0;
6281 var44
= string__NativeString__to_s_with_length(var42
, var43
);
6289 var45
= string__Int__to_s(var_i36
);
6291 var46
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
6293 { /* Inline kernel#Int#> (var_sl,var_nb) */
6294 /* Covariant cast for argument 0 (i) <var_nb:Int> isa OTHER */
6295 /* <var_nb:Int> isa OTHER */
6296 var49
= 1; /* easy <var_nb:Int> isa OTHER*/
6298 var_class_name
= type_kernel__Int
.name
;
6299 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6300 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
6303 var50
= var_sl
> var_nb
;
6306 RET_LABEL48
:(void)0;
6310 var52
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
6311 { /* Inline kernel#Int#- (var52,var_nb) */
6312 var55
= var52
- var_nb
;
6315 RET_LABEL54
:(void)0;
6317 var56
= ((val
* (*)(val
*, long, long))(var_s
->class->vft
[COLOR_string__AbstractString__substring
]))(var_s
, var51
, var53
) /* substring on <var_s:String>*/;
6319 var57
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
6320 { /* Inline kernel#Int#- (var57,var_nb) */
6321 var60
= var57
- var_nb
;
6324 RET_LABEL59
:(void)0;
6326 var61
= ((val
* (*)(val
*, long, long))(var_s
->class->vft
[COLOR_string__AbstractString__substring
]))(var_s
, var58
, var_nb
) /* substring on <var_s:String>*/;
6333 var66
= string__NativeString__to_s_with_length(var64
, var65
);
6337 var67
= ((val
* (*)(val
*, val
*))(var_p1
->class->vft
[COLOR_string__String___43d
]))(var_p1
, var63
) /* + on <var_p1:String>*/;
6338 var68
= ((val
* (*)(val
*, val
*))(var67
->class->vft
[COLOR_string__String___43d
]))(var67
, var_p2
) /* + on <var67:String>*/;
6347 var73
= string__NativeString__to_s_with_length(var71
, var72
);
6356 var78
= string__NativeString__to_s_with_length(var76
, var77
);
6360 { /* Inline kernel#Int#- (var_nb,var_sl) */
6361 var81
= var_nb
- var_sl
;
6364 RET_LABEL80
:(void)0;
6366 var82
= ((val
* (*)(val
*, long))(var75
->class->vft
[COLOR_string__String___42d
]))(var75
, var79
) /* * on <var75:String>*/;
6367 var83
= ((val
* (*)(val
*, val
*))(var70
->class->vft
[COLOR_string__String___43d
]))(var70
, var82
) /* + on <var70:String>*/;
6368 var84
= ((val
* (*)(val
*, val
*))(var83
->class->vft
[COLOR_string__String___43d
]))(var83
, var_s
) /* + on <var83:String>*/;
6375 /* method string#Float#to_precision for (self: Object, Int): String */
6376 val
* VIRTUAL_string__Float__to_precision(val
* self
, long p0
) {
6377 val
* var
/* : String */;
6378 val
* var1
/* : String */;
6379 double var2
/* : Float */;
6380 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
6381 var1
= string__Float__to_precision(var2
, p0
);
6386 /* method string#Float#to_precision_native for (self: Float, Int): String */
6387 val
* string__Float__to_precision_native(double self
, long p0
) {
6388 val
* var
/* : String */;
6389 fprintf(stderr
, "NOT YET IMPLEMENTED nitni for string#Float#to_precision_native at lib/standard/string.nit:946,2--955,3\n");
6394 /* method string#Float#to_precision_native for (self: Object, Int): String */
6395 val
* VIRTUAL_string__Float__to_precision_native(val
* self
, long p0
) {
6396 val
* var
/* : String */;
6397 val
* var1
/* : String */;
6398 double var2
/* : Float */;
6399 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
6400 var1
= string__Float__to_precision_native(var2
, p0
);
6405 /* method string#Char#to_s for (self: Char): String */
6406 val
* string__Char__to_s(char self
) {
6407 val
* var
/* : String */;
6408 val
* var1
/* : Buffer */;
6409 long var2
/* : Int */;
6410 val
* var_s
/* var s: Buffer */;
6411 long var3
/* : Int */;
6412 val
* var4
/* : nullable Object */;
6413 val
* var5
/* : String */;
6414 var1
= NEW_string__Buffer(&type_string__Buffer
);
6416 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
6417 CHECK_NEW_string__Buffer(var1
);
6420 var4
= BOX_kernel__Char(self
); /* autobox from Char to nullable Object */
6421 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var3
, var4
) /* []= on <var_s:Buffer>*/;
6422 var5
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6428 /* method string#Char#to_s for (self: Object): String */
6429 val
* VIRTUAL_string__Char__to_s(val
* self
) {
6430 val
* var
/* : String */;
6431 val
* var1
/* : String */;
6432 char var2
/* : Char */;
6433 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6434 var1
= string__Char__to_s(var2
);
6439 /* method string#Char#is_numeric for (self: Char): Bool */
6440 short int string__Char__is_numeric(char self
) {
6441 short int var
/* : Bool */;
6442 short int var1
/* : Bool */;
6443 char var2
/* : Char */;
6444 short int var3
/* : Bool */;
6445 short int var5
/* : Bool */;
6448 const char* var_class_name
;
6449 short int var6
/* : Bool */;
6450 short int var_
/* var : Bool */;
6451 char var7
/* : Char */;
6452 short int var8
/* : Bool */;
6453 short int var10
/* : Bool */;
6456 const char* var_class_name13
;
6457 short int var14
/* : Bool */;
6458 short int var15
/* : Bool */;
6459 short int var16
/* : Bool */;
6461 { /* Inline kernel#Char#>= (self,var2) */
6462 /* Covariant cast for argument 0 (i) <var2:Char> isa OTHER */
6463 /* <var2:Char> isa OTHER */
6464 var5
= 1; /* easy <var2:Char> isa OTHER*/
6466 var_class_name
= type_kernel__Char
.name
;
6467 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6468 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
6471 var6
= self
>= var2
;
6479 { /* Inline kernel#Char#<= (self,var7) */
6480 /* Covariant cast for argument 0 (i) <var7:Char> isa OTHER */
6481 /* <var7:Char> isa OTHER */
6482 var10
= 1; /* easy <var7:Char> isa OTHER*/
6484 var_class_name13
= type_kernel__Char
.name
;
6485 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
6486 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
6489 var14
= self
<= var7
;
6510 /* method string#Char#is_numeric for (self: Object): Bool */
6511 short int VIRTUAL_string__Char__is_numeric(val
* self
) {
6512 short int var
/* : Bool */;
6513 short int var1
/* : Bool */;
6514 char var2
/* : Char */;
6515 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6516 var1
= string__Char__is_numeric(var2
);
6521 /* method string#Char#is_alpha for (self: Char): Bool */
6522 short int string__Char__is_alpha(char self
) {
6523 short int var
/* : Bool */;
6524 short int var1
/* : Bool */;
6525 short int var2
/* : Bool */;
6526 char var3
/* : Char */;
6527 short int var4
/* : Bool */;
6528 short int var6
/* : Bool */;
6531 const char* var_class_name
;
6532 short int var7
/* : Bool */;
6533 short int var_
/* var : Bool */;
6534 char var8
/* : Char */;
6535 short int var9
/* : Bool */;
6536 short int var11
/* : Bool */;
6539 const char* var_class_name14
;
6540 short int var15
/* : Bool */;
6541 short int var_16
/* var : Bool */;
6542 short int var17
/* : Bool */;
6543 char var18
/* : Char */;
6544 short int var19
/* : Bool */;
6545 short int var21
/* : Bool */;
6548 const char* var_class_name24
;
6549 short int var25
/* : Bool */;
6550 short int var_26
/* var : Bool */;
6551 char var27
/* : Char */;
6552 short int var28
/* : Bool */;
6553 short int var30
/* : Bool */;
6556 const char* var_class_name33
;
6557 short int var34
/* : Bool */;
6558 short int var35
/* : Bool */;
6559 short int var36
/* : Bool */;
6561 { /* Inline kernel#Char#>= (self,var3) */
6562 /* Covariant cast for argument 0 (i) <var3:Char> isa OTHER */
6563 /* <var3:Char> isa OTHER */
6564 var6
= 1; /* easy <var3:Char> isa OTHER*/
6566 var_class_name
= type_kernel__Char
.name
;
6567 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6568 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
6571 var7
= self
>= var3
;
6579 { /* Inline kernel#Char#<= (self,var8) */
6580 /* Covariant cast for argument 0 (i) <var8:Char> isa OTHER */
6581 /* <var8:Char> isa OTHER */
6582 var11
= 1; /* easy <var8:Char> isa OTHER*/
6584 var_class_name14
= type_kernel__Char
.name
;
6585 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
6586 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
6589 var15
= self
<= var8
;
6592 RET_LABEL10
:(void)0;
6603 { /* Inline kernel#Char#>= (self,var18) */
6604 /* Covariant cast for argument 0 (i) <var18:Char> isa OTHER */
6605 /* <var18:Char> isa OTHER */
6606 var21
= 1; /* easy <var18:Char> isa OTHER*/
6608 var_class_name24
= type_kernel__Char
.name
;
6609 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
6610 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
6613 var25
= self
>= var18
;
6616 RET_LABEL20
:(void)0;
6621 { /* Inline kernel#Char#<= (self,var27) */
6622 /* Covariant cast for argument 0 (i) <var27:Char> isa OTHER */
6623 /* <var27:Char> isa OTHER */
6624 var30
= 1; /* easy <var27:Char> isa OTHER*/
6626 var_class_name33
= type_kernel__Char
.name
;
6627 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
6628 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
6631 var34
= self
<= var27
;
6634 RET_LABEL29
:(void)0;
6654 /* method string#Char#is_alpha for (self: Object): Bool */
6655 short int VIRTUAL_string__Char__is_alpha(val
* self
) {
6656 short int var
/* : Bool */;
6657 short int var1
/* : Bool */;
6658 char var2
/* : Char */;
6659 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6660 var1
= string__Char__is_alpha(var2
);
6665 /* method string#Char#is_alphanumeric for (self: Char): Bool */
6666 short int string__Char__is_alphanumeric(char self
) {
6667 short int var
/* : Bool */;
6668 short int var1
/* : Bool */;
6669 short int var2
/* : Bool */;
6670 short int var_
/* var : Bool */;
6671 short int var3
/* : Bool */;
6672 short int var4
/* : Bool */;
6673 short int var5
/* : Bool */;
6674 var2
= string__Char__is_numeric(self
);
6679 var3
= string__Char__is_alpha(self
);
6694 /* method string#Char#is_alphanumeric for (self: Object): Bool */
6695 short int VIRTUAL_string__Char__is_alphanumeric(val
* self
) {
6696 short int var
/* : Bool */;
6697 short int var1
/* : Bool */;
6698 char var2
/* : Char */;
6699 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6700 var1
= string__Char__is_alphanumeric(var2
);
6705 /* method string#Collection#to_s for (self: Collection[nullable Object]): String */
6706 val
* string__Collection__to_s(val
* self
) {
6707 val
* var
/* : String */;
6708 val
* var1
/* : Buffer */;
6709 val
* var_s
/* var s: Buffer */;
6710 val
* var2
/* : Iterator[nullable Object] */;
6711 short int var3
/* : Bool */;
6712 val
* var4
/* : nullable Object */;
6713 val
* var_e
/* var e: nullable Object */;
6714 val
* var5
/* : null */;
6715 short int var6
/* : Bool */;
6716 val
* var7
/* : String */;
6717 val
* var8
/* : String */;
6718 var1
= NEW_string__Buffer(&type_string__Buffer
);
6719 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
6720 CHECK_NEW_string__Buffer(var1
);
6722 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
6724 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
6726 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
6729 if (var_e
== NULL
) {
6730 var6
= 0; /* is null */
6732 var6
= 1; /* arg is null and recv is not */
6735 if (var_e
== NULL
) {
6736 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6737 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 997);
6740 var7
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6742 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var7
) /* append on <var_s:Buffer>*/;
6745 CONTINUE_label
: (void)0;
6746 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
6748 BREAK_label
: (void)0;
6749 var8
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6755 /* method string#Collection#to_s for (self: Object): String */
6756 val
* VIRTUAL_string__Collection__to_s(val
* self
) {
6757 val
* var
/* : String */;
6758 val
* var1
/* : String */;
6759 var1
= string__Collection__to_s(self
);
6764 /* method string#Collection#join for (self: Collection[nullable Object], String): String */
6765 val
* string__Collection__join(val
* self
, val
* p0
) {
6766 val
* var
/* : String */;
6767 val
* var_sep
/* var sep: String */;
6768 short int var1
/* : Bool */;
6769 static val
* varonce
;
6770 val
* var2
/* : String */;
6771 char* var3
/* : NativeString */;
6772 long var4
/* : Int */;
6773 val
* var5
/* : String */;
6774 val
* var6
/* : Buffer */;
6775 val
* var_s
/* var s: Buffer */;
6776 val
* var7
/* : Iterator[nullable Object] */;
6777 val
* var_i
/* var i: Iterator[nullable Object] */;
6778 val
* var8
/* : nullable Object */;
6779 val
* var_e
/* var e: nullable Object */;
6780 val
* var9
/* : null */;
6781 short int var10
/* : Bool */;
6782 val
* var11
/* : String */;
6783 short int var12
/* : Bool */;
6784 val
* var13
/* : nullable Object */;
6785 val
* var14
/* : null */;
6786 short int var15
/* : Bool */;
6787 val
* var16
/* : String */;
6788 val
* var17
/* : String */;
6790 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:Collection[nullable Object]>*/;
6797 var5
= string__NativeString__to_s_with_length(var3
, var4
);
6805 var6
= NEW_string__Buffer(&type_string__Buffer
);
6806 ((void (*)(val
*))(var6
->class->vft
[COLOR_string__Buffer__init
]))(var6
) /* init on <var6:Buffer>*/;
6807 CHECK_NEW_string__Buffer(var6
);
6809 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
6811 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_i
) /* item on <var_i:Iterator[nullable Object]>*/;
6814 if (var_e
== NULL
) {
6815 var10
= 0; /* is null */
6817 var10
= 1; /* arg is null and recv is not */
6820 if (var_e
== NULL
) {
6821 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6822 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1014);
6825 var11
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6827 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var11
) /* append on <var_s:Buffer>*/;
6830 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_i
) /* next on <var_i:Iterator[nullable Object]>*/;
6832 var12
= ((short int (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_i
) /* is_ok on <var_i:Iterator[nullable Object]>*/;
6834 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var_sep
) /* append on <var_s:Buffer>*/;
6835 var13
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_i
) /* item on <var_i:Iterator[nullable Object]>*/;
6838 if (var_e
== NULL
) {
6839 var15
= 0; /* is null */
6841 var15
= 1; /* arg is null and recv is not */
6844 if (var_e
== NULL
) {
6845 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6846 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1021);
6849 var16
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6851 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var16
) /* append on <var_s:Buffer>*/;
6854 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_i
) /* next on <var_i:Iterator[nullable Object]>*/;
6855 CONTINUE_label
: (void)0;
6857 BREAK_label
: (void)0;
6858 var17
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6864 /* method string#Collection#join for (self: Object, String): String */
6865 val
* VIRTUAL_string__Collection__join(val
* self
, val
* p0
) {
6866 val
* var
/* : String */;
6867 val
* var1
/* : String */;
6868 var1
= string__Collection__join(self
, p0
);
6873 /* method string#Array#to_s for (self: Array[nullable Object]): String */
6874 val
* string__Array__to_s(val
* self
) {
6875 val
* var
/* : String */;
6876 val
* var1
/* : Buffer */;
6877 val
* var_s
/* var s: Buffer */;
6878 long var2
/* : Int */;
6879 long var_i
/* var i: Int */;
6880 long var3
/* : Int */;
6881 long var_l
/* var l: Int */;
6882 short int var4
/* : Bool */;
6883 short int var6
/* : Bool */;
6886 const char* var_class_name
;
6887 short int var7
/* : Bool */;
6888 val
* var8
/* : nullable Object */;
6889 val
* var_e
/* var e: nullable Object */;
6890 val
* var9
/* : null */;
6891 short int var10
/* : Bool */;
6892 val
* var11
/* : String */;
6893 long var12
/* : Int */;
6894 long var13
/* : Int */;
6895 long var15
/* : Int */;
6896 val
* var16
/* : String */;
6897 var1
= NEW_string__Buffer(&type_string__Buffer
);
6898 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
6899 CHECK_NEW_string__Buffer(var1
);
6903 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Array[nullable Object]>*/;
6906 { /* Inline kernel#Int#< (var_i,var_l) */
6907 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
6908 /* <var_l:Int> isa OTHER */
6909 var6
= 1; /* easy <var_l:Int> isa OTHER*/
6911 var_class_name
= type_kernel__Int
.name
;
6912 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6913 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
6916 var7
= var_i
< var_l
;
6922 var8
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:Array[nullable Object]>*/;
6925 if (var_e
== NULL
) {
6926 var10
= 0; /* is null */
6928 var10
= 1; /* arg is null and recv is not */
6931 if (var_e
== NULL
) {
6932 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6933 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1037);
6936 var11
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6938 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var11
) /* append on <var_s:Buffer>*/;
6942 { /* Inline kernel#Int#+ (var_i,var12) */
6943 var15
= var_i
+ var12
;
6946 RET_LABEL14
:(void)0;
6949 CONTINUE_label
: (void)0;
6951 BREAK_label
: (void)0;
6952 var16
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6958 /* method string#Array#to_s for (self: Object): String */
6959 val
* VIRTUAL_string__Array__to_s(val
* self
) {
6960 val
* var
/* : String */;
6961 val
* var1
/* : String */;
6962 var1
= string__Array__to_s(self
);
6967 /* method string#Map#join for (self: Map[Object, nullable Object], String, String): String */
6968 val
* string__Map__join(val
* self
, val
* p0
, val
* p1
) {
6969 val
* var
/* : String */;
6970 val
* var_sep
/* var sep: String */;
6971 val
* var_couple_sep
/* var couple_sep: String */;
6972 short int var1
/* : Bool */;
6973 static val
* varonce
;
6974 val
* var2
/* : String */;
6975 char* var3
/* : NativeString */;
6976 long var4
/* : Int */;
6977 val
* var5
/* : String */;
6978 val
* var6
/* : Buffer */;
6979 val
* var_s
/* var s: Buffer */;
6980 val
* var7
/* : MapIterator[Object, nullable Object] */;
6981 val
* var_i
/* var i: MapIterator[Object, nullable Object] */;
6982 val
* var8
/* : Object */;
6983 val
* var_k
/* var k: Object */;
6984 val
* var9
/* : nullable Object */;
6985 val
* var_e
/* var e: nullable Object */;
6986 val
* var10
/* : null */;
6987 short int var11
/* : Bool */;
6988 val
* var12
/* : Array[Object] */;
6989 long var13
/* : Int */;
6990 val
* var14
/* : NativeArray[Object] */;
6991 val
* var15
/* : String */;
6992 short int var16
/* : Bool */;
6993 val
* var17
/* : Object */;
6994 val
* var18
/* : nullable Object */;
6995 val
* var19
/* : null */;
6996 short int var20
/* : Bool */;
6997 val
* var21
/* : Array[Object] */;
6998 long var22
/* : Int */;
6999 val
* var23
/* : NativeArray[Object] */;
7000 val
* var24
/* : String */;
7001 val
* var25
/* : String */;
7003 var_couple_sep
= p1
;
7004 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__MapRead__is_empty
]))(self
) /* is_empty on <self:Map[Object, nullable Object]>*/;
7011 var5
= string__NativeString__to_s_with_length(var3
, var4
);
7019 var6
= NEW_string__Buffer(&type_string__Buffer
);
7020 ((void (*)(val
*))(var6
->class->vft
[COLOR_string__Buffer__init
]))(var6
) /* init on <var6:Buffer>*/;
7021 CHECK_NEW_string__Buffer(var6
);
7023 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(self
) /* iterator on <self:Map[Object, nullable Object]>*/;
7025 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_i
) /* key on <var_i:MapIterator[Object, nullable Object]>*/;
7027 var9
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_i
) /* item on <var_i:MapIterator[Object, nullable Object]>*/;
7030 if (var_e
== NULL
) {
7031 var11
= 0; /* is null */
7033 var11
= 1; /* arg is null and recv is not */
7036 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
7037 { /* var12 = array_instance Array[Object] */
7039 var14
= NEW_array__NativeArray(var13
, &type_array__NativeArraykernel__Object
);
7040 ((struct instance_array__NativeArray
*)var14
)->values
[0] = (val
*) var_k
;
7041 ((struct instance_array__NativeArray
*)var14
)->values
[1] = (val
*) var_couple_sep
;
7042 ((struct instance_array__NativeArray
*)var14
)->values
[2] = (val
*) var_e
;
7043 ((void (*)(val
*, val
*, long))(var12
->class->vft
[COLOR_array__Array__with_native
]))(var12
, var14
, var13
) /* with_native on <var12:Array[Object]>*/;
7044 CHECK_NEW_array__Array(var12
);
7046 var15
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_string__Object__to_s
]))(var12
) /* to_s on <var12:Array[Object]>*/;
7047 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var15
) /* append on <var_s:Buffer>*/;
7050 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_i
) /* next on <var_i:MapIterator[Object, nullable Object]>*/;
7052 var16
= ((short int (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__is_ok
]))(var_i
) /* is_ok on <var_i:MapIterator[Object, nullable Object]>*/;
7054 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var_sep
) /* append on <var_s:Buffer>*/;
7055 var17
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_i
) /* key on <var_i:MapIterator[Object, nullable Object]>*/;
7057 var18
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_i
) /* item on <var_i:MapIterator[Object, nullable Object]>*/;
7060 if (var_e
== NULL
) {
7061 var20
= 0; /* is null */
7063 var20
= 1; /* arg is null and recv is not */
7066 var21
= NEW_array__Array(&type_array__Arraykernel__Object
);
7067 { /* var21 = array_instance Array[Object] */
7069 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArraykernel__Object
);
7070 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var_k
;
7071 ((struct instance_array__NativeArray
*)var23
)->values
[1] = (val
*) var_couple_sep
;
7072 ((struct instance_array__NativeArray
*)var23
)->values
[2] = (val
*) var_e
;
7073 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Object]>*/;
7074 CHECK_NEW_array__Array(var21
);
7076 var24
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_string__Object__to_s
]))(var21
) /* to_s on <var21:Array[Object]>*/;
7077 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var24
) /* append on <var_s:Buffer>*/;
7080 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_i
) /* next on <var_i:MapIterator[Object, nullable Object]>*/;
7081 CONTINUE_label
: (void)0;
7083 BREAK_label
: (void)0;
7084 var25
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
7090 /* method string#Map#join for (self: Object, String, String): String */
7091 val
* VIRTUAL_string__Map__join(val
* self
, val
* p0
, val
* p1
) {
7092 val
* var
/* : String */;
7093 val
* var1
/* : String */;
7094 var1
= string__Map__join(self
, p0
, p1
);
7099 /* method string#NativeString#[] for (self: NativeString, Int): Char */
7100 char string__NativeString___91d_93d(char* self
, long p0
) {
7101 char var
/* : Char */;
7102 char var1
/* : Char */;
7109 /* method string#NativeString#[] for (self: Object, Int): Char */
7110 char VIRTUAL_string__NativeString___91d_93d(val
* self
, long p0
) {
7111 char var
/* : Char */;
7112 char var1
/* : Char */;
7113 char* var3
/* : NativeString */;
7114 char var4
/* : Char */;
7115 { /* Inline string#NativeString#[] (self,p0) */
7116 var3
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7126 /* method string#NativeString#[]= for (self: NativeString, Int, Char) */
7127 void string__NativeString___91d_93d_61d(char* self
, long p0
, char p1
) {
7131 /* method string#NativeString#[]= for (self: Object, Int, Char) */
7132 void VIRTUAL_string__NativeString___91d_93d_61d(val
* self
, long p0
, char p1
) {
7133 char* var
/* : NativeString */;
7134 { /* Inline string#NativeString#[]= (self,p0,p1) */
7135 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7141 /* method string#NativeString#copy_to for (self: NativeString, NativeString, Int, Int, Int) */
7142 void string__NativeString__copy_to(char* self
, char* p0
, long p1
, long p2
, long p3
) {
7143 memcpy(p0
+p3
,self
+p2
,p1
);
7146 /* method string#NativeString#copy_to for (self: Object, NativeString, Int, Int, Int) */
7147 void VIRTUAL_string__NativeString__copy_to(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
7148 char* var
/* : NativeString */;
7149 { /* Inline string#NativeString#copy_to (self,p0,p1,p2,p3) */
7150 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7151 memcpy(p0
+p3
,var
+p2
,p1
);
7156 /* method string#NativeString#cstring_length for (self: NativeString): Int */
7157 long string__NativeString__cstring_length(char* self
) {
7158 long var
/* : Int */;
7159 long var1
/* : Int */;
7160 long var_l
/* var l: Int */;
7161 char var2
/* : Char */;
7162 char var4
/* : Char */;
7163 char var5
/* : Char */;
7164 short int var6
/* : Bool */;
7165 short int var8
/* : Bool */;
7166 short int var9
/* : Bool */;
7167 long var10
/* : Int */;
7168 long var11
/* : Int */;
7169 long var13
/* : Int */;
7173 { /* Inline string#NativeString#[] (self,var_l) */
7180 { /* Inline kernel#Char#!= (var2,var5) */
7181 var8
= var2
== var5
;
7189 { /* Inline kernel#Int#+ (var_l,var10) */
7190 var13
= var_l
+ var10
;
7193 RET_LABEL12
:(void)0;
7196 CONTINUE_label
: (void)0;
7198 BREAK_label
: (void)0;
7204 /* method string#NativeString#cstring_length for (self: Object): Int */
7205 long VIRTUAL_string__NativeString__cstring_length(val
* self
) {
7206 long var
/* : Int */;
7207 long var1
/* : Int */;
7208 char* var2
/* : NativeString */;
7209 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7210 var1
= string__NativeString__cstring_length(var2
);
7215 /* method string#NativeString#atoi for (self: NativeString): Int */
7216 long string__NativeString__atoi(char* self
) {
7217 long var
/* : Int */;
7218 long var1
/* : Int */;
7225 /* method string#NativeString#atoi for (self: Object): Int */
7226 long VIRTUAL_string__NativeString__atoi(val
* self
) {
7227 long var
/* : Int */;
7228 long var1
/* : Int */;
7229 char* var3
/* : NativeString */;
7230 long var4
/* : Int */;
7231 { /* Inline string#NativeString#atoi (self) */
7232 var3
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7242 /* method string#NativeString#atof for (self: NativeString): Float */
7243 double string__NativeString__atof(char* self
) {
7244 double var
/* : Float */;
7245 double var1
/* : Float */;
7252 /* method string#NativeString#atof for (self: Object): Float */
7253 double VIRTUAL_string__NativeString__atof(val
* self
) {
7254 double var
/* : Float */;
7255 double var1
/* : Float */;
7256 char* var2
/* : NativeString */;
7257 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7258 var1
= string__NativeString__atof(var2
);
7263 /* method string#NativeString#to_s for (self: NativeString): String */
7264 val
* string__NativeString__to_s(char* self
) {
7265 val
* var
/* : String */;
7266 long var1
/* : Int */;
7267 val
* var2
/* : String */;
7268 var1
= string__NativeString__cstring_length(self
);
7269 var2
= string__NativeString__to_s_with_length(self
, var1
);
7275 /* method string#NativeString#to_s for (self: Object): String */
7276 val
* VIRTUAL_string__NativeString__to_s(val
* self
) {
7277 val
* var
/* : String */;
7278 val
* var1
/* : String */;
7279 char* var2
/* : NativeString */;
7280 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7281 var1
= string__NativeString__to_s(var2
);
7286 /* method string#NativeString#to_s_with_length for (self: NativeString, Int): String */
7287 val
* string__NativeString__to_s_with_length(char* self
, long p0
) {
7288 val
* var
/* : String */;
7289 long var_length
/* var length: Int */;
7290 long var1
/* : Int */;
7291 short int var2
/* : Bool */;
7292 short int var4
/* : Bool */;
7295 const char* var_class_name
;
7296 short int var5
/* : Bool */;
7297 val
* var6
/* : String */;
7298 long var7
/* : Int */;
7299 long var8
/* : Int */;
7300 long var9
/* : Int */;
7301 long var11
/* : Int */;
7304 { /* Inline kernel#Int#>= (var_length,var1) */
7305 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
7306 /* <var1:Int> isa OTHER */
7307 var4
= 1; /* easy <var1:Int> isa OTHER*/
7309 var_class_name
= type_kernel__Int
.name
;
7310 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7311 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
7314 var5
= var_length
>= var1
;
7320 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7321 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1107);
7324 var6
= NEW_string__String(&type_string__String
);
7327 { /* Inline kernel#Int#- (var_length,var8) */
7328 var11
= var_length
- var8
;
7331 RET_LABEL10
:(void)0;
7333 ((void (*)(val
*, char*, long, long, long))(var6
->class->vft
[COLOR_string__String__with_infos
]))(var6
, self
, var_length
, var7
, var9
) /* with_infos on <var6:String>*/;
7334 CHECK_NEW_string__String(var6
);
7340 /* method string#NativeString#to_s_with_length for (self: Object, Int): String */
7341 val
* VIRTUAL_string__NativeString__to_s_with_length(val
* self
, long p0
) {
7342 val
* var
/* : String */;
7343 val
* var1
/* : String */;
7344 char* var2
/* : NativeString */;
7345 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7346 var1
= string__NativeString__to_s_with_length(var2
, p0
);
7351 /* method string#NativeString#to_s_with_copy for (self: NativeString): String */
7352 val
* string__NativeString__to_s_with_copy(char* self
) {
7353 val
* var
/* : String */;
7354 long var1
/* : Int */;
7355 long var_length
/* var length: Int */;
7356 long var2
/* : Int */;
7357 long var3
/* : Int */;
7358 long var5
/* : Int */;
7359 char* var6
/* : NativeString */;
7360 val
* var8
/* : StringCapable */;
7361 char* var9
/* : NativeString */;
7362 char* var_new_self
/* var new_self: NativeString */;
7363 long var10
/* : Int */;
7364 long var11
/* : Int */;
7365 val
* var13
/* : String */;
7366 long var14
/* : Int */;
7367 long var15
/* : Int */;
7368 long var16
/* : Int */;
7369 long var18
/* : Int */;
7370 var1
= string__NativeString__cstring_length(self
);
7373 { /* Inline kernel#Int#+ (var_length,var2) */
7374 var5
= var_length
+ var2
;
7379 { /* Inline string#StringCapable#calloc_string (self,var3) */
7380 var8
= BOX_string__NativeString(self
); /* autobox from NativeString to StringCapable */
7381 var9
= (char*)nit_alloc(var3
);
7386 var_new_self
= var6
;
7389 { /* Inline string#NativeString#copy_to (self,var_new_self,var_length,var10,var11) */
7390 memcpy(var_new_self
+var11
,self
+var10
,var_length
);
7391 RET_LABEL12
:(void)0;
7393 var13
= NEW_string__String(&type_string__String
);
7396 { /* Inline kernel#Int#- (var_length,var15) */
7397 var18
= var_length
- var15
;
7400 RET_LABEL17
:(void)0;
7402 ((void (*)(val
*, char*, long, long, long))(var13
->class->vft
[COLOR_string__String__with_infos
]))(var13
, var_new_self
, var_length
, var14
, var16
) /* with_infos on <var13:String>*/;
7403 CHECK_NEW_string__String(var13
);
7409 /* method string#NativeString#to_s_with_copy for (self: Object): String */
7410 val
* VIRTUAL_string__NativeString__to_s_with_copy(val
* self
) {
7411 val
* var
/* : String */;
7412 val
* var1
/* : String */;
7413 char* var2
/* : NativeString */;
7414 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7415 var1
= string__NativeString__to_s_with_copy(var2
);
7420 /* method string#NativeString#init for (self: NativeString) */
7421 void string__NativeString__init(char* self
) {
7424 /* method string#NativeString#init for (self: Object) */
7425 void VIRTUAL_string__NativeString__init(val
* self
) {
7426 char* var
/* : NativeString */;
7427 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7428 string__NativeString__init(var
);
7431 /* method string#StringCapable#calloc_string for (self: StringCapable, Int): NativeString */
7432 char* string__StringCapable__calloc_string(val
* self
, long p0
) {
7433 char* var
/* : NativeString */;
7434 char* var1
/* : NativeString */;
7435 var1
= (char*)nit_alloc(p0
);
7441 /* method string#StringCapable#calloc_string for (self: Object, Int): NativeString */
7442 char* VIRTUAL_string__StringCapable__calloc_string(val
* self
, long p0
) {
7443 char* var
/* : NativeString */;
7444 char* var1
/* : NativeString */;
7445 char* var3
/* : NativeString */;
7446 { /* Inline string#StringCapable#calloc_string (self,p0) */
7447 var3
= (char*)nit_alloc(p0
);
7456 /* method string#Sys#args for (self: Sys): Sequence[String] */
7457 val
* string__Sys__args(val
* self
) {
7458 val
* var
/* : Sequence[String] */;
7459 val
* var1
/* : nullable Sequence[String] */;
7460 val
* var2
/* : null */;
7461 short int var3
/* : Bool */;
7462 val
* var4
/* : nullable Sequence[String] */;
7463 var1
= self
->attrs
[COLOR_string__Sys___args_cache
].val
; /* _args_cache on <self:Sys> */
7466 var3
= 1; /* is null */
7468 var3
= 0; /* arg is null but recv is not */
7471 ((void (*)(val
*))(self
->class->vft
[COLOR_string__Sys__init_args
]))(self
) /* init_args on <self:Sys>*/;
7474 var4
= self
->attrs
[COLOR_string__Sys___args_cache
].val
; /* _args_cache on <self:Sys> */
7476 fprintf(stderr
, "Runtime error: %s", "Cast failed");
7477 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1132);
7485 /* method string#Sys#args for (self: Object): Sequence[String] */
7486 val
* VIRTUAL_string__Sys__args(val
* self
) {
7487 val
* var
/* : Sequence[String] */;
7488 val
* var1
/* : Sequence[String] */;
7489 var1
= string__Sys__args(self
);
7494 /* method string#Sys#program_name for (self: Sys): String */
7495 val
* string__Sys__program_name(val
* self
) {
7496 val
* var
/* : String */;
7497 long var1
/* : Int */;
7498 char* var2
/* : NativeString */;
7499 val
* var3
/* : String */;
7501 var2
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__Sys__native_argv
]))(self
, var1
) /* native_argv on <self:Sys>*/;
7502 var3
= string__NativeString__to_s(var2
);
7508 /* method string#Sys#program_name for (self: Object): String */
7509 val
* VIRTUAL_string__Sys__program_name(val
* self
) {
7510 val
* var
/* : String */;
7511 val
* var1
/* : String */;
7512 var1
= string__Sys__program_name(self
);
7517 /* method string#Sys#init_args for (self: Sys) */
7518 void string__Sys__init_args(val
* self
) {
7519 long var
/* : Int */;
7520 long var_argc
/* var argc: Int */;
7521 val
* var1
/* : Array[String] */;
7522 long var2
/* : Int */;
7523 val
* var_args
/* var args: Array[String] */;
7524 long var3
/* : Int */;
7525 long var_i
/* var i: Int */;
7526 short int var4
/* : Bool */;
7527 short int var6
/* : Bool */;
7530 const char* var_class_name
;
7531 short int var7
/* : Bool */;
7532 long var8
/* : Int */;
7533 long var9
/* : Int */;
7534 long var11
/* : Int */;
7535 char* var12
/* : NativeString */;
7536 val
* var13
/* : String */;
7537 long var14
/* : Int */;
7538 long var15
/* : Int */;
7539 long var17
/* : Int */;
7540 var
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__Sys__native_argc
]))(self
) /* native_argc on <self:Sys>*/;
7542 var1
= NEW_array__Array(&type_array__Arraystring__String
);
7544 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[String]>*/;
7545 CHECK_NEW_array__Array(var1
);
7550 { /* Inline kernel#Int#< (var_i,var_argc) */
7551 /* Covariant cast for argument 0 (i) <var_argc:Int> isa OTHER */
7552 /* <var_argc:Int> isa OTHER */
7553 var6
= 1; /* easy <var_argc:Int> isa OTHER*/
7555 var_class_name
= type_kernel__Int
.name
;
7556 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7557 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
7560 var7
= var_i
< var_argc
;
7567 { /* Inline kernel#Int#- (var_i,var8) */
7568 var11
= var_i
- var8
;
7571 RET_LABEL10
:(void)0;
7573 var12
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__Sys__native_argv
]))(self
, var_i
) /* native_argv on <self:Sys>*/;
7574 var13
= string__NativeString__to_s(var12
);
7575 ((void (*)(val
*, long, val
*))(var_args
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_args
, var9
, var13
) /* []= on <var_args:Array[String]>*/;
7577 { /* Inline kernel#Int#+ (var_i,var14) */
7578 var17
= var_i
+ var14
;
7581 RET_LABEL16
:(void)0;
7584 CONTINUE_label
: (void)0;
7586 BREAK_label
: (void)0;
7587 self
->attrs
[COLOR_string__Sys___args_cache
].val
= var_args
; /* _args_cache on <self:Sys> */
7590 /* method string#Sys#init_args for (self: Object) */
7591 void VIRTUAL_string__Sys__init_args(val
* self
) {
7592 string__Sys__init_args(self
);
7595 /* method string#Sys#native_argc for (self: Sys): Int */
7596 long string__Sys__native_argc(val
* self
) {
7597 long var
/* : Int */;
7598 long var1
/* : Int */;
7605 /* method string#Sys#native_argc for (self: Object): Int */
7606 long VIRTUAL_string__Sys__native_argc(val
* self
) {
7607 long var
/* : Int */;
7608 long var1
/* : Int */;
7609 long var3
/* : Int */;
7610 { /* Inline string#Sys#native_argc (self) */
7620 /* method string#Sys#native_argv for (self: Sys, Int): NativeString */
7621 char* string__Sys__native_argv(val
* self
, long p0
) {
7622 char* var
/* : NativeString */;
7623 char* var1
/* : NativeString */;
7624 var1
= glob_argv
[p0
];
7630 /* method string#Sys#native_argv for (self: Object, Int): NativeString */
7631 char* VIRTUAL_string__Sys__native_argv(val
* self
, long p0
) {
7632 char* var
/* : NativeString */;
7633 char* var1
/* : NativeString */;
7634 char* var3
/* : NativeString */;
7635 { /* Inline string#Sys#native_argv (self,p0) */
7636 var3
= glob_argv
[p0
];