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 short int var5
/* : Bool */;
62 long var6
/* : Int */;
63 long var8
/* : Int */;
64 long var9
/* : Int */;
65 short int var10
/* : Bool */;
66 short int var12
/* : Bool */;
69 short int var15
/* : Bool */;
70 long var16
/* : Int */;
71 long var17
/* : Int */;
72 short int var18
/* : Bool */;
73 short int var20
/* : Bool */;
76 short int var23
/* : Bool */;
77 long var24
/* : Int */;
78 short int var25
/* : Bool */;
79 short int var27
/* : Bool */;
82 short int var30
/* : Bool */;
83 val
* var31
/* : Buffer */;
84 long var32
/* : Int */;
85 long var34
/* : Int */;
86 val
* var_r
/* var r: Buffer */;
87 short int var35
/* : Bool */;
88 short int var37
/* : Bool */;
91 short int var40
/* : Bool */;
92 char* var41
/* : NativeString */;
93 char var42
/* : Char */;
94 char var44
/* : Char */;
95 val
* var45
/* : nullable Object */;
96 long var46
/* : Int */;
97 long var47
/* : Int */;
98 long var49
/* : Int */;
99 val
* var50
/* : String */;
101 val
* var51
/* : String */;
102 char* var52
/* : NativeString */;
103 long var53
/* : Int */;
104 val
* var54
/* : String */;
108 { /* Inline kernel#Int#>= (var_count,var1) */
109 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
110 /* <var1:Int> isa OTHER */
111 var4
= 1; /* easy <var1:Int> isa OTHER*/
113 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
116 var5
= var_count
>= var1
;
122 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/string.nit", 50);
125 { /* Inline kernel#Int#+ (var_count,var_from) */
126 var8
= var_count
+ var_from
;
133 { /* Inline kernel#Int#< (var_from,var9) */
134 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
135 /* <var9:Int> isa OTHER */
136 var12
= 1; /* easy <var9:Int> isa OTHER*/
138 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
141 var15
= var_from
< var9
;
151 var17
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
152 { /* Inline kernel#Int#> (var_count,var17) */
153 /* Covariant cast for argument 0 (i) <var17:Int> isa OTHER */
154 /* <var17:Int> isa OTHER */
155 var20
= 1; /* easy <var17:Int> isa OTHER*/
157 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
160 var23
= var_count
> var17
;
166 var24
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
170 { /* Inline kernel#Int#< (var_from,var_count) */
171 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
172 /* <var_count:Int> isa OTHER */
173 var27
= 1; /* easy <var_count:Int> isa OTHER*/
175 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
178 var30
= var_from
< var_count
;
184 var31
= NEW_string__Buffer(&type_string__Buffer
);
185 { /* Inline kernel#Int#- (var_count,var_from) */
186 var34
= var_count
- var_from
;
191 ((void (*)(val
*, long))(var31
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var31
, var32
) /* with_capacity on <var31:Buffer>*/;
192 CHECK_NEW_string__Buffer(var31
);
195 { /* Inline kernel#Int#< (var_from,var_count) */
196 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
197 /* <var_count:Int> isa OTHER */
198 var37
= 1; /* easy <var_count:Int> isa OTHER*/
200 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
203 var40
= var_from
< var_count
;
209 var41
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
210 { /* Inline string#NativeString#[] (var41,var_from) */
211 var44
= var41
[var_from
];
216 var45
= BOX_kernel__Char(var42
); /* autobox from Char to nullable Object */
217 ((void (*)(val
*, val
*))(var_r
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_r
, var45
) /* push on <var_r:Buffer>*/;
219 { /* Inline kernel#Int#+ (var_from,var46) */
220 var49
= var_from
+ var46
;
226 CONTINUE_label
: (void)0;
228 BREAK_label
: (void)0;
229 var50
= ((val
* (*)(val
*))(var_r
->class->vft
[COLOR_string__Object__to_s
]))(var_r
) /* to_s on <var_r:Buffer>*/;
238 var54
= string__NativeString__to_s_with_length(var52
, var53
);
248 /* method string#AbstractString#substring for (self: Object, Int, Int): String */
249 val
* VIRTUAL_string__AbstractString__substring(val
* self
, long p0
, long p1
) {
250 val
* var
/* : String */;
251 val
* var1
/* : String */;
252 var1
= string__AbstractString__substring(self
, p0
, p1
);
257 /* method string#AbstractString#substring_from for (self: AbstractString, Int): String */
258 val
* string__AbstractString__substring_from(val
* self
, long p0
) {
259 val
* var
/* : String */;
260 long var_from
/* var from: Int */;
261 long var1
/* : Int */;
262 short int var2
/* : Bool */;
263 short int var4
/* : Bool */;
266 short int var5
/* : Bool */;
267 long var6
/* : Int */;
268 long var7
/* : Int */;
269 long var9
/* : Int */;
270 val
* var10
/* : String */;
272 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
273 { /* Inline kernel#Int#< (var_from,var1) */
274 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
275 /* <var1:Int> isa OTHER */
276 var4
= 1; /* easy <var1:Int> isa OTHER*/
278 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
281 var5
= var_from
< var1
;
287 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/string.nit", 75);
290 var6
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
291 { /* Inline kernel#Int#- (var6,var_from) */
292 var9
= var6
- var_from
;
297 var10
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_from
, var7
) /* substring on <self:AbstractString>*/;
303 /* method string#AbstractString#substring_from for (self: Object, Int): String */
304 val
* VIRTUAL_string__AbstractString__substring_from(val
* self
, long p0
) {
305 val
* var
/* : String */;
306 val
* var1
/* : String */;
307 var1
= string__AbstractString__substring_from(self
, p0
);
312 /* method string#AbstractString#has_substring for (self: AbstractString, String, Int): Bool */
313 short int string__AbstractString__has_substring(val
* self
, val
* p0
, long p1
) {
314 short int var
/* : Bool */;
315 val
* var_str
/* var str: String */;
316 long var_pos
/* var pos: Int */;
317 long var1
/* : Int */;
318 long var2
/* : Int */;
319 long var3
/* : Int */;
320 long var5
/* : Int */;
321 long var_itsindex
/* var itsindex: Int */;
322 long var6
/* : Int */;
323 long var8
/* : Int */;
324 long var_myindex
/* var myindex: Int */;
325 char* var9
/* : NativeString */;
326 char* var_myitems
/* var myitems: NativeString */;
327 char* var10
/* : NativeString */;
328 char* var_itsitems
/* var itsitems: NativeString */;
329 short int var11
/* : Bool */;
330 long var12
/* : Int */;
331 short int var13
/* : Bool */;
332 short int var15
/* : Bool */;
335 short int var16
/* : Bool */;
336 short int var_
/* var : Bool */;
337 short int var17
/* : Bool */;
338 short int var19
/* : Bool */;
341 short int var22
/* : Bool */;
342 short int var23
/* : Bool */;
343 long var24
/* : Int */;
344 long var_its_index_from
/* var its_index_from: Int */;
345 long var25
/* : Int */;
346 long var27
/* : Int */;
347 short int var28
/* : Bool */;
348 short int var30
/* : Bool */;
351 short int var33
/* : Bool */;
352 char var34
/* : Char */;
353 char var36
/* : Char */;
354 char var37
/* : Char */;
355 char var39
/* : Char */;
356 short int var40
/* : Bool */;
357 short int var42
/* : Bool */;
358 short int var43
/* : Bool */;
359 short int var44
/* : Bool */;
360 long var45
/* : Int */;
361 long var46
/* : Int */;
362 long var48
/* : Int */;
363 long var49
/* : Int */;
364 long var50
/* : Int */;
365 long var52
/* : Int */;
366 short int var53
/* : Bool */;
369 var1
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
371 { /* Inline kernel#Int#- (var1,var2) */
378 { /* Inline kernel#Int#+ (var_pos,var_itsindex) */
379 var8
= var_pos
+ var_itsindex
;
385 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
387 var10
= var_str
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_str:String> */
388 var_itsitems
= var10
;
389 var12
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
390 { /* Inline kernel#Int#> (var_myindex,var12) */
391 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
392 /* <var12:Int> isa OTHER */
393 var15
= 1; /* easy <var12:Int> isa OTHER*/
395 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
398 var16
= var_myindex
> var12
;
407 { /* Inline kernel#Int#> (var_itsindex,var_myindex) */
408 /* Covariant cast for argument 0 (i) <var_myindex:Int> isa OTHER */
409 /* <var_myindex:Int> isa OTHER */
410 var19
= 1; /* easy <var_myindex:Int> isa OTHER*/
412 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
415 var22
= var_itsindex
> var_myindex
;
428 var24
= var_str
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_str:String> */
429 var_its_index_from
= var24
;
430 { /* Inline kernel#Int#+ (var_itsindex,var_its_index_from) */
431 var27
= var_itsindex
+ var_its_index_from
;
436 var_itsindex
= var25
;
438 { /* Inline kernel#Int#>= (var_itsindex,var_its_index_from) */
439 /* Covariant cast for argument 0 (i) <var_its_index_from:Int> isa OTHER */
440 /* <var_its_index_from:Int> isa OTHER */
441 var30
= 1; /* easy <var_its_index_from:Int> isa OTHER*/
443 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
446 var33
= var_itsindex
>= var_its_index_from
;
452 { /* Inline string#NativeString#[] (var_myitems,var_myindex) */
453 var36
= var_myitems
[var_myindex
];
458 { /* Inline string#NativeString#[] (var_itsitems,var_itsindex) */
459 var39
= var_itsitems
[var_itsindex
];
464 { /* Inline kernel#Char#!= (var34,var37) */
465 var42
= var34
== var37
;
478 { /* Inline kernel#Int#- (var_myindex,var45) */
479 var48
= var_myindex
- var45
;
486 { /* Inline kernel#Int#- (var_itsindex,var49) */
487 var52
= var_itsindex
- var49
;
492 var_itsindex
= var50
;
493 CONTINUE_label
: (void)0;
495 BREAK_label
: (void)0;
502 /* method string#AbstractString#has_substring for (self: Object, String, Int): Bool */
503 short int VIRTUAL_string__AbstractString__has_substring(val
* self
, val
* p0
, long p1
) {
504 short int var
/* : Bool */;
505 short int var1
/* : Bool */;
506 var1
= string__AbstractString__has_substring(self
, p0
, p1
);
511 /* method string#AbstractString#has_prefix for (self: AbstractString, String): Bool */
512 short int string__AbstractString__has_prefix(val
* self
, val
* p0
) {
513 short int var
/* : Bool */;
514 val
* var_prefix
/* var prefix: String */;
515 long var1
/* : Int */;
516 short int var2
/* : Bool */;
519 var2
= ((short int (*)(val
*, val
*, long))(self
->class->vft
[COLOR_string__AbstractString__has_substring
]))(self
, var_prefix
, var1
) /* has_substring on <self:AbstractString>*/;
525 /* method string#AbstractString#has_prefix for (self: Object, String): Bool */
526 short int VIRTUAL_string__AbstractString__has_prefix(val
* self
, val
* p0
) {
527 short int var
/* : Bool */;
528 short int var1
/* : Bool */;
529 var1
= string__AbstractString__has_prefix(self
, p0
);
534 /* method string#AbstractString#has_suffix for (self: AbstractString, String): Bool */
535 short int string__AbstractString__has_suffix(val
* self
, val
* p0
) {
536 short int var
/* : Bool */;
537 val
* var_suffix
/* var suffix: String */;
538 long var1
/* : Int */;
539 long var2
/* : Int */;
540 long var3
/* : Int */;
541 long var5
/* : Int */;
542 short int var6
/* : Bool */;
544 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
545 var2
= ((long (*)(val
*))(var_suffix
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_suffix
) /* length on <var_suffix:String>*/;
546 { /* Inline kernel#Int#- (var1,var2) */
552 var6
= ((short int (*)(val
*, val
*, long))(self
->class->vft
[COLOR_string__AbstractString__has_substring
]))(self
, var_suffix
, var3
) /* has_substring on <self:AbstractString>*/;
558 /* method string#AbstractString#has_suffix for (self: Object, String): Bool */
559 short int VIRTUAL_string__AbstractString__has_suffix(val
* self
, val
* p0
) {
560 short int var
/* : Bool */;
561 short int var1
/* : Bool */;
562 var1
= string__AbstractString__has_suffix(self
, p0
);
567 /* method string#AbstractString#to_i for (self: AbstractString): Int */
568 long string__AbstractString__to_i(val
* self
) {
569 long var
/* : Int */;
570 val
* var1
/* : String */;
571 char* var2
/* : NativeString */;
572 long var3
/* : Int */;
573 long var5
/* : Int */;
574 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:AbstractString>*/;
575 var2
= ((char* (*)(val
*))(var1
->class->vft
[COLOR_string__String__to_cstring
]))(var1
) /* to_cstring on <var1:String>*/;
576 { /* Inline string#NativeString#atoi (var2) */
587 /* method string#AbstractString#to_i for (self: Object): Int */
588 long VIRTUAL_string__AbstractString__to_i(val
* self
) {
589 long var
/* : Int */;
590 long var1
/* : Int */;
591 var1
= string__AbstractString__to_i(self
);
596 /* method string#AbstractString#to_f for (self: AbstractString): Float */
597 double string__AbstractString__to_f(val
* self
) {
598 double var
/* : Float */;
599 val
* var1
/* : String */;
600 char* var2
/* : NativeString */;
601 double var3
/* : Float */;
602 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:AbstractString>*/;
603 var2
= ((char* (*)(val
*))(var1
->class->vft
[COLOR_string__String__to_cstring
]))(var1
) /* to_cstring on <var1:String>*/;
604 var3
= string__NativeString__atof(var2
);
610 /* method string#AbstractString#to_f for (self: Object): Float */
611 double VIRTUAL_string__AbstractString__to_f(val
* self
) {
612 double var
/* : Float */;
613 double var1
/* : Float */;
614 var1
= string__AbstractString__to_f(self
);
619 /* method string#AbstractString#to_hex for (self: AbstractString): Int */
620 long string__AbstractString__to_hex(val
* self
) {
621 long var
/* : Int */;
622 long var1
/* : Int */;
623 long var2
/* : Int */;
625 var2
= ((long (*)(val
*, long))(self
->class->vft
[COLOR_string__AbstractString__a_to
]))(self
, var1
) /* a_to on <self:AbstractString>*/;
631 /* method string#AbstractString#to_hex for (self: Object): Int */
632 long VIRTUAL_string__AbstractString__to_hex(val
* self
) {
633 long var
/* : Int */;
634 long var1
/* : Int */;
635 var1
= string__AbstractString__to_hex(self
);
640 /* method string#AbstractString#a_to for (self: AbstractString, Int): Int */
641 long string__AbstractString__a_to(val
* self
, long p0
) {
642 long var
/* : Int */;
643 long var_base
/* var base: Int */;
644 long var1
/* : Int */;
645 long var_i
/* var i: Int */;
646 short int var2
/* : Bool */;
647 short int var_neg
/* var neg: Bool */;
648 val
* var3
/* : Iterator[nullable Object] */;
649 short int var4
/* : Bool */;
650 val
* var5
/* : nullable Object */;
651 char var_c
/* var c: Char */;
652 char var6
/* : Char */;
653 long var7
/* : Int */;
654 long var_v
/* var v: Int */;
655 short int var8
/* : Bool */;
656 short int var10
/* : Bool */;
659 short int var11
/* : Bool */;
660 long var12
/* : Int */;
661 long var14
/* : Int */;
662 long var15
/* : Int */;
663 short int var16
/* : Bool */;
664 short int var18
/* : Bool */;
667 short int var21
/* : Bool */;
668 short int var22
/* : Bool */;
669 long var23
/* : Int */;
670 long var25
/* : Int */;
671 long var26
/* : Int */;
672 long var28
/* : Int */;
673 long var29
/* : Int */;
674 long var31
/* : Int */;
680 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
682 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
684 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
685 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
687 var7
= kernel__Char__to_i(var_c
);
689 { /* Inline kernel#Int#> (var_v,var_base) */
690 /* Covariant cast for argument 0 (i) <var_base:Int> isa OTHER */
691 /* <var_base:Int> isa OTHER */
692 var10
= 1; /* easy <var_base:Int> isa OTHER*/
694 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
697 var11
= var_v
> var_base
;
704 { /* Inline kernel#Int#unary - (var_i) */
718 { /* Inline kernel#Int#< (var_v,var15) */
719 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
720 /* <var15:Int> isa OTHER */
721 var18
= 1; /* easy <var15:Int> isa OTHER*/
723 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
726 var21
= var_v
< var15
;
735 { /* Inline kernel#Int#* (var_i,var_base) */
736 var25
= var_i
* var_base
;
741 { /* Inline kernel#Int#+ (var23,var_v) */
742 var28
= var23
+ var_v
;
750 CONTINUE_label
: (void)0;
751 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
753 BREAK_label
: (void)0;
755 { /* Inline kernel#Int#unary - (var_i) */
770 /* method string#AbstractString#a_to for (self: Object, Int): Int */
771 long VIRTUAL_string__AbstractString__a_to(val
* self
, long p0
) {
772 long var
/* : Int */;
773 long var1
/* : Int */;
774 var1
= string__AbstractString__a_to(self
, p0
);
779 /* method string#AbstractString#is_numeric for (self: AbstractString): Bool */
780 short int string__AbstractString__is_numeric(val
* self
) {
781 short int var
/* : Bool */;
782 short int var1
/* : Bool */;
783 short int var_has_point_or_comma
/* var has_point_or_comma: Bool */;
784 val
* var2
/* : Iterator[nullable Object] */;
785 short int var3
/* : Bool */;
786 val
* var4
/* : nullable Object */;
787 char var_i
/* var i: Char */;
788 char var5
/* : Char */;
789 short int var6
/* : Bool */;
790 short int var7
/* : Bool */;
791 short int var8
/* : Bool */;
792 short int var9
/* : Bool */;
793 char var10
/* : Char */;
794 short int var11
/* : Bool */;
795 short int var13
/* : Bool */;
796 short int var_
/* var : Bool */;
797 char var14
/* : Char */;
798 short int var15
/* : Bool */;
799 short int var17
/* : Bool */;
800 short int var_18
/* var : Bool */;
801 short int var19
/* : Bool */;
802 short int var20
/* : Bool */;
803 short int var21
/* : Bool */;
804 short int var22
/* : Bool */;
806 var_has_point_or_comma
= var1
;
807 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
809 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
811 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
812 var5
= ((struct instance_kernel__Char
*)var4
)->value
; /* autounbox from nullable Object to Char */;
814 var6
= string__Char__is_numeric(var_i
);
818 { /* Inline kernel#Char#== (var_i,var10) */
819 var13
= var_i
== var10
;
829 { /* Inline kernel#Char#== (var_i,var14) */
830 var17
= var_i
== var14
;
839 var19
= !var_has_point_or_comma
;
846 var_has_point_or_comma
= var20
;
854 CONTINUE_label
: (void)0;
855 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
857 BREAK_label
: (void)0;
864 /* method string#AbstractString#is_numeric for (self: Object): Bool */
865 short int VIRTUAL_string__AbstractString__is_numeric(val
* self
) {
866 short int var
/* : Bool */;
867 short int var1
/* : Bool */;
868 var1
= string__AbstractString__is_numeric(self
);
873 /* method string#AbstractString#to_upper for (self: AbstractString): String */
874 val
* string__AbstractString__to_upper(val
* self
) {
875 val
* var
/* : String */;
876 val
* var1
/* : Buffer */;
877 long var2
/* : Int */;
878 val
* var_s
/* var s: Buffer */;
879 val
* var3
/* : Iterator[nullable Object] */;
880 short int var4
/* : Bool */;
881 val
* var5
/* : nullable Object */;
882 char var_i
/* var i: Char */;
883 char var6
/* : Char */;
884 char var7
/* : Char */;
885 val
* var8
/* : nullable Object */;
886 val
* var9
/* : String */;
887 var1
= NEW_string__Buffer(&type_string__Buffer
);
888 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
889 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
890 CHECK_NEW_string__Buffer(var1
);
892 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
894 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
896 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
897 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
899 var7
= kernel__Char__to_upper(var_i
);
900 var8
= BOX_kernel__Char(var7
); /* autobox from Char to nullable Object */
901 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var8
) /* add on <var_s:Buffer>*/;
902 CONTINUE_label
: (void)0;
903 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
905 BREAK_label
: (void)0;
906 var9
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
912 /* method string#AbstractString#to_upper for (self: Object): String */
913 val
* VIRTUAL_string__AbstractString__to_upper(val
* self
) {
914 val
* var
/* : String */;
915 val
* var1
/* : String */;
916 var1
= string__AbstractString__to_upper(self
);
921 /* method string#AbstractString#to_lower for (self: AbstractString): String */
922 val
* string__AbstractString__to_lower(val
* self
) {
923 val
* var
/* : String */;
924 val
* var1
/* : Buffer */;
925 long var2
/* : Int */;
926 val
* var_s
/* var s: Buffer */;
927 val
* var3
/* : Iterator[nullable Object] */;
928 short int var4
/* : Bool */;
929 val
* var5
/* : nullable Object */;
930 char var_i
/* var i: Char */;
931 char var6
/* : Char */;
932 char var7
/* : Char */;
933 val
* var8
/* : nullable Object */;
934 val
* var9
/* : String */;
935 var1
= NEW_string__Buffer(&type_string__Buffer
);
936 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
937 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
938 CHECK_NEW_string__Buffer(var1
);
940 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
942 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
944 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
945 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
947 var7
= kernel__Char__to_lower(var_i
);
948 var8
= BOX_kernel__Char(var7
); /* autobox from Char to nullable Object */
949 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var8
) /* add on <var_s:Buffer>*/;
950 CONTINUE_label
: (void)0;
951 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
953 BREAK_label
: (void)0;
954 var9
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
960 /* method string#AbstractString#to_lower for (self: Object): String */
961 val
* VIRTUAL_string__AbstractString__to_lower(val
* self
) {
962 val
* var
/* : String */;
963 val
* var1
/* : String */;
964 var1
= string__AbstractString__to_lower(self
);
969 /* method string#AbstractString#trim for (self: AbstractString): String */
970 val
* string__AbstractString__trim(val
* self
) {
971 val
* var
/* : String */;
972 long var1
/* : Int */;
973 long var2
/* : Int */;
974 short int var3
/* : Bool */;
975 short int var5
/* : Bool */;
976 val
* var6
/* : String */;
977 long var7
/* : Int */;
978 long var_start_pos
/* var start_pos: Int */;
979 val
* var8
/* : nullable Object */;
980 long var9
/* : Int */;
981 char var11
/* : Char */;
982 long var12
/* : Int */;
983 long var13
/* : Int */;
984 short int var14
/* : Bool */;
985 short int var16
/* : Bool */;
988 short int var17
/* : Bool */;
989 long var18
/* : Int */;
990 long var19
/* : Int */;
991 long var21
/* : Int */;
992 long var22
/* : Int */;
993 short int var23
/* : Bool */;
994 short int var25
/* : Bool */;
996 val
* var26
/* : String */;
997 char* var27
/* : NativeString */;
998 long var28
/* : Int */;
999 val
* var29
/* : String */;
1000 long var30
/* : Int */;
1001 long var31
/* : Int */;
1002 long var32
/* : Int */;
1003 long var34
/* : Int */;
1004 long var_end_pos
/* var end_pos: Int */;
1005 val
* var35
/* : nullable Object */;
1006 long var36
/* : Int */;
1007 char var38
/* : Char */;
1008 long var39
/* : Int */;
1009 long var40
/* : Int */;
1010 short int var41
/* : Bool */;
1011 short int var43
/* : Bool */;
1014 short int var46
/* : Bool */;
1015 long var47
/* : Int */;
1016 long var48
/* : Int */;
1017 long var50
/* : Int */;
1018 short int var51
/* : Bool */;
1019 short int var53
/* : Bool */;
1020 val
* var54
/* : nullable Object */;
1021 val
* var55
/* : String */;
1022 char var56
/* : Char */;
1023 long var58
/* : Int */;
1024 long var60
/* : Int */;
1025 long var61
/* : Int */;
1026 long var62
/* : Int */;
1027 long var64
/* : Int */;
1028 val
* var65
/* : String */;
1029 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractString> */
1031 { /* Inline kernel#Int#== (var1,var2) */
1032 var5
= var1
== var2
;
1038 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:AbstractString>*/;
1044 var_start_pos
= var7
;
1046 var8
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_start_pos
) /* [] on <self:AbstractString>*/;
1047 { /* Inline kernel#Char#ascii (var8) */
1048 var11
= ((struct instance_kernel__Char
*)var8
)->value
; /* autounbox from nullable Object to Char */;
1049 var12
= (unsigned char)var11
;
1052 RET_LABEL10
:(void)0;
1055 { /* Inline kernel#Int#<= (var9,var13) */
1056 /* Covariant cast for argument 0 (i) <var13:Int> isa OTHER */
1057 /* <var13:Int> isa OTHER */
1058 var16
= 1; /* easy <var13:Int> isa OTHER*/
1060 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
1063 var17
= var9
<= var13
;
1066 RET_LABEL15
:(void)0;
1070 { /* Inline kernel#Int#+ (var_start_pos,var18) */
1071 var21
= var_start_pos
+ var18
;
1074 RET_LABEL20
:(void)0;
1076 var_start_pos
= var19
;
1077 var22
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractString> */
1078 { /* Inline kernel#Int#== (var_start_pos,var22) */
1079 var25
= var_start_pos
== var22
;
1082 RET_LABEL24
:(void)0;
1090 var29
= string__NativeString__to_s_with_length(var27
, var28
);
1098 CONTINUE_label
: (void)0;
1100 BREAK_label
: (void)0;
1101 var30
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1103 { /* Inline kernel#Int#- (var30,var31) */
1104 var34
= var30
- var31
;
1107 RET_LABEL33
:(void)0;
1109 var_end_pos
= var32
;
1111 var35
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_end_pos
) /* [] on <self:AbstractString>*/;
1112 { /* Inline kernel#Char#ascii (var35) */
1113 var38
= ((struct instance_kernel__Char
*)var35
)->value
; /* autounbox from nullable Object to Char */;
1114 var39
= (unsigned char)var38
;
1117 RET_LABEL37
:(void)0;
1120 { /* Inline kernel#Int#<= (var36,var40) */
1121 /* Covariant cast for argument 0 (i) <var40:Int> isa OTHER */
1122 /* <var40:Int> isa OTHER */
1123 var43
= 1; /* easy <var40:Int> isa OTHER*/
1125 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
1128 var46
= var36
<= var40
;
1131 RET_LABEL42
:(void)0;
1135 { /* Inline kernel#Int#- (var_end_pos,var47) */
1136 var50
= var_end_pos
- var47
;
1139 RET_LABEL49
:(void)0;
1141 var_end_pos
= var48
;
1142 { /* Inline kernel#Int#== (var_end_pos,var_start_pos) */
1143 var53
= var_end_pos
== var_start_pos
;
1146 RET_LABEL52
:(void)0;
1149 var54
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_start_pos
) /* [] on <self:AbstractString>*/;
1150 var56
= ((struct instance_kernel__Char
*)var54
)->value
; /* autounbox from nullable Object to Char */;
1151 var55
= string__Char__to_s(var56
);
1156 CONTINUE_label57
: (void)0;
1158 BREAK_label57
: (void)0;
1159 { /* Inline kernel#Int#- (var_end_pos,var_start_pos) */
1160 var60
= var_end_pos
- var_start_pos
;
1163 RET_LABEL59
:(void)0;
1166 { /* Inline kernel#Int#+ (var58,var61) */
1167 var64
= var58
+ var61
;
1170 RET_LABEL63
:(void)0;
1172 var65
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_start_pos
, var62
) /* substring on <self:AbstractString>*/;
1178 /* method string#AbstractString#trim for (self: Object): String */
1179 val
* VIRTUAL_string__AbstractString__trim(val
* self
) {
1180 val
* var
/* : String */;
1181 val
* var1
/* : String */;
1182 var1
= string__AbstractString__trim(self
);
1187 /* method string#AbstractString#output for (self: AbstractString) */
1188 void string__AbstractString__output(val
* self
) {
1189 long var
/* : Int */;
1190 long var_i
/* var i: Int */;
1191 long var1
/* : Int */;
1192 short int var2
/* : Bool */;
1193 short int var4
/* : Bool */;
1196 short int var5
/* : Bool */;
1197 char* var6
/* : NativeString */;
1198 char var7
/* : Char */;
1199 char var9
/* : Char */;
1200 long var11
/* : Int */;
1201 long var12
/* : Int */;
1202 long var14
/* : Int */;
1206 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1207 { /* Inline kernel#Int#< (var_i,var1) */
1208 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
1209 /* <var1:Int> isa OTHER */
1210 var4
= 1; /* easy <var1:Int> isa OTHER*/
1212 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
1215 var5
= var_i
< var1
;
1221 var6
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
1222 { /* Inline string#NativeString#[] (var6,var_i) */
1228 { /* Inline kernel#Char#output (var7) */
1230 RET_LABEL10
:(void)0;
1233 { /* Inline kernel#Int#+ (var_i,var11) */
1234 var14
= var_i
+ var11
;
1237 RET_LABEL13
:(void)0;
1240 CONTINUE_label
: (void)0;
1242 BREAK_label
: (void)0;
1245 /* method string#AbstractString#output for (self: Object) */
1246 void VIRTUAL_string__AbstractString__output(val
* self
) {
1247 string__AbstractString__output(self
);
1250 /* method string#AbstractString#to_cmangle for (self: AbstractString): String */
1251 val
* string__AbstractString__to_cmangle(val
* self
) {
1252 val
* var
/* : String */;
1253 val
* var1
/* : Buffer */;
1254 val
* var_res
/* var res: Buffer */;
1255 short int var2
/* : Bool */;
1256 short int var_underscore
/* var underscore: Bool */;
1257 val
* var3
/* : Iterator[nullable Object] */;
1258 short int var4
/* : Bool */;
1259 val
* var5
/* : nullable Object */;
1260 char var_c
/* var c: Char */;
1261 char var6
/* : Char */;
1262 short int var7
/* : Bool */;
1263 short int var8
/* : Bool */;
1264 char var9
/* : Char */;
1265 short int var10
/* : Bool */;
1266 short int var12
/* : Bool */;
1269 short int var13
/* : Bool */;
1270 short int var_
/* var : Bool */;
1271 char var14
/* : Char */;
1272 short int var15
/* : Bool */;
1273 short int var17
/* : Bool */;
1276 short int var20
/* : Bool */;
1277 short int var_21
/* var : Bool */;
1278 short int var22
/* : Bool */;
1279 char var23
/* : Char */;
1280 short int var24
/* : Bool */;
1281 short int var26
/* : Bool */;
1284 short int var29
/* : Bool */;
1285 short int var_30
/* var : Bool */;
1286 char var31
/* : Char */;
1287 short int var32
/* : Bool */;
1288 short int var34
/* : Bool */;
1291 short int var37
/* : Bool */;
1292 val
* var38
/* : nullable Object */;
1293 short int var39
/* : Bool */;
1294 char var40
/* : Char */;
1295 long var41
/* : Int */;
1296 long var43
/* : Int */;
1297 val
* var44
/* : String */;
1298 char var45
/* : Char */;
1299 val
* var46
/* : nullable Object */;
1300 short int var47
/* : Bool */;
1301 char var48
/* : Char */;
1302 short int var49
/* : Bool */;
1303 short int var51
/* : Bool */;
1306 short int var54
/* : Bool */;
1307 short int var_55
/* var : Bool */;
1308 char var56
/* : Char */;
1309 short int var57
/* : Bool */;
1310 short int var59
/* : Bool */;
1313 short int var62
/* : Bool */;
1314 val
* var63
/* : nullable Object */;
1315 short int var64
/* : Bool */;
1316 char var65
/* : Char */;
1317 short int var66
/* : Bool */;
1318 short int var68
/* : Bool */;
1319 val
* var69
/* : nullable Object */;
1320 short int var70
/* : Bool */;
1321 char var71
/* : Char */;
1322 val
* var72
/* : nullable Object */;
1323 long var73
/* : Int */;
1324 long var75
/* : Int */;
1325 val
* var76
/* : String */;
1326 char var77
/* : Char */;
1327 val
* var78
/* : nullable Object */;
1328 short int var79
/* : Bool */;
1329 val
* var80
/* : String */;
1330 var1
= NEW_string__Buffer(&type_string__Buffer
);
1331 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1332 CHECK_NEW_string__Buffer(var1
);
1335 var_underscore
= var2
;
1336 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
1338 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
1340 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
1341 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
1344 { /* Inline kernel#Char#>= (var_c,var9) */
1345 /* Covariant cast for argument 0 (i) <var9:Char> isa OTHER */
1346 /* <var9:Char> isa OTHER */
1347 var12
= 1; /* easy <var9:Char> isa OTHER*/
1349 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 456);
1352 var13
= var_c
>= var9
;
1355 RET_LABEL11
:(void)0;
1360 { /* Inline kernel#Char#<= (var_c,var14) */
1361 /* Covariant cast for argument 0 (i) <var14:Char> isa OTHER */
1362 /* <var14:Char> isa OTHER */
1363 var17
= 1; /* easy <var14:Char> isa OTHER*/
1365 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 454);
1368 var20
= var_c
<= var14
;
1371 RET_LABEL16
:(void)0;
1382 { /* Inline kernel#Char#>= (var_c,var23) */
1383 /* Covariant cast for argument 0 (i) <var23:Char> isa OTHER */
1384 /* <var23:Char> isa OTHER */
1385 var26
= 1; /* easy <var23:Char> isa OTHER*/
1387 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 456);
1390 var29
= var_c
>= var23
;
1393 RET_LABEL25
:(void)0;
1398 { /* Inline kernel#Char#<= (var_c,var31) */
1399 /* Covariant cast for argument 0 (i) <var31:Char> isa OTHER */
1400 /* <var31:Char> isa OTHER */
1401 var34
= 1; /* easy <var31:Char> isa OTHER*/
1403 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 454);
1406 var37
= var_c
<= var31
;
1409 RET_LABEL33
:(void)0;
1418 var38
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1419 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var38
) /* add on <var_res:Buffer>*/;
1421 var_underscore
= var39
;
1422 goto CONTINUE_label
;
1425 if (var_underscore
){
1427 { /* Inline kernel#Char#ascii (var40) */
1428 var43
= (unsigned char)var40
;
1431 RET_LABEL42
:(void)0;
1433 var44
= string__Int__to_s(var41
);
1434 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_res
, var44
) /* append on <var_res:Buffer>*/;
1436 var46
= BOX_kernel__Char(var45
); /* autobox from Char to nullable Object */
1437 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var46
) /* add on <var_res:Buffer>*/;
1441 { /* Inline kernel#Char#>= (var_c,var48) */
1442 /* Covariant cast for argument 0 (i) <var48:Char> isa OTHER */
1443 /* <var48:Char> isa OTHER */
1444 var51
= 1; /* easy <var48:Char> isa OTHER*/
1446 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 456);
1449 var54
= var_c
>= var48
;
1452 RET_LABEL50
:(void)0;
1457 { /* Inline kernel#Char#<= (var_c,var56) */
1458 /* Covariant cast for argument 0 (i) <var56:Char> isa OTHER */
1459 /* <var56:Char> isa OTHER */
1460 var59
= 1; /* easy <var56:Char> isa OTHER*/
1462 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 454);
1465 var62
= var_c
<= var56
;
1468 RET_LABEL58
:(void)0;
1475 var63
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1476 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var63
) /* add on <var_res:Buffer>*/;
1478 var_underscore
= var64
;
1481 { /* Inline kernel#Char#== (var_c,var65) */
1482 var68
= var_c
== var65
;
1485 RET_LABEL67
:(void)0;
1488 var69
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1489 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var69
) /* add on <var_res:Buffer>*/;
1491 var_underscore
= var70
;
1494 var72
= BOX_kernel__Char(var71
); /* autobox from Char to nullable Object */
1495 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var72
) /* add on <var_res:Buffer>*/;
1496 { /* Inline kernel#Char#ascii (var_c) */
1497 var75
= (unsigned char)var_c
;
1500 RET_LABEL74
:(void)0;
1502 var76
= string__Int__to_s(var73
);
1503 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_res
, var76
) /* append on <var_res:Buffer>*/;
1505 var78
= BOX_kernel__Char(var77
); /* autobox from Char to nullable Object */
1506 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var78
) /* add on <var_res:Buffer>*/;
1508 var_underscore
= var79
;
1511 CONTINUE_label
: (void)0;
1512 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
1514 BREAK_label
: (void)0;
1515 var80
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_string__Object__to_s
]))(var_res
) /* to_s on <var_res:Buffer>*/;
1521 /* method string#AbstractString#to_cmangle for (self: Object): String */
1522 val
* VIRTUAL_string__AbstractString__to_cmangle(val
* self
) {
1523 val
* var
/* : String */;
1524 val
* var1
/* : String */;
1525 var1
= string__AbstractString__to_cmangle(self
);
1530 /* method string#AbstractString#escape_to_c for (self: AbstractString): String */
1531 val
* string__AbstractString__escape_to_c(val
* self
) {
1532 val
* var
/* : String */;
1533 val
* var1
/* : Buffer */;
1534 val
* var_b
/* var b: Buffer */;
1535 val
* var2
/* : Iterator[nullable Object] */;
1536 short int var3
/* : Bool */;
1537 val
* var4
/* : nullable Object */;
1538 char var_c
/* var c: Char */;
1539 char var5
/* : Char */;
1540 char var6
/* : Char */;
1541 short int var7
/* : Bool */;
1542 short int var9
/* : Bool */;
1543 static val
* varonce
;
1544 val
* var10
/* : String */;
1545 char* var11
/* : NativeString */;
1546 long var12
/* : Int */;
1547 val
* var13
/* : String */;
1548 char var14
/* : Char */;
1549 short int var15
/* : Bool */;
1550 short int var17
/* : Bool */;
1551 static val
* varonce18
;
1552 val
* var19
/* : String */;
1553 char* var20
/* : NativeString */;
1554 long var21
/* : Int */;
1555 val
* var22
/* : String */;
1556 char var23
/* : Char */;
1557 short int var24
/* : Bool */;
1558 short int var26
/* : Bool */;
1559 static val
* varonce27
;
1560 val
* var28
/* : String */;
1561 char* var29
/* : NativeString */;
1562 long var30
/* : Int */;
1563 val
* var31
/* : String */;
1564 char var32
/* : Char */;
1565 short int var33
/* : Bool */;
1566 short int var35
/* : Bool */;
1567 static val
* varonce36
;
1568 val
* var37
/* : String */;
1569 char* var38
/* : NativeString */;
1570 long var39
/* : Int */;
1571 val
* var40
/* : String */;
1572 char var41
/* : Char */;
1573 short int var42
/* : Bool */;
1574 short int var44
/* : Bool */;
1575 static val
* varonce45
;
1576 val
* var46
/* : String */;
1577 char* var47
/* : NativeString */;
1578 long var48
/* : Int */;
1579 val
* var49
/* : String */;
1580 long var50
/* : Int */;
1581 long var52
/* : Int */;
1582 long var53
/* : Int */;
1583 short int var54
/* : Bool */;
1584 short int var56
/* : Bool */;
1587 short int var57
/* : Bool */;
1588 static val
* varonce58
;
1589 val
* var59
/* : String */;
1590 char* var60
/* : NativeString */;
1591 long var61
/* : Int */;
1592 val
* var62
/* : String */;
1593 long var63
/* : Int */;
1594 long var65
/* : Int */;
1595 long var66
/* : Int */;
1596 short int var67
/* : Bool */;
1597 val
* var68
/* : String */;
1598 val
* var69
/* : Array[Object] */;
1599 long var70
/* : Int */;
1600 val
* var71
/* : NativeArray[Object] */;
1601 val
* var72
/* : String */;
1602 val
* var73
/* : nullable Object */;
1603 val
* var74
/* : String */;
1604 var1
= NEW_string__Buffer(&type_string__Buffer
);
1605 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1606 CHECK_NEW_string__Buffer(var1
);
1608 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
1610 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
1612 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
1613 var5
= ((struct instance_kernel__Char
*)var4
)->value
; /* autounbox from nullable Object to Char */;
1616 { /* Inline kernel#Char#== (var_c,var6) */
1617 var9
= var_c
== var6
;
1628 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1632 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var10
) /* append on <var_b:Buffer>*/;
1635 { /* Inline kernel#Char#== (var_c,var14) */
1636 var17
= var_c
== var14
;
1639 RET_LABEL16
:(void)0;
1647 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1651 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var19
) /* append on <var_b:Buffer>*/;
1654 { /* Inline kernel#Char#== (var_c,var23) */
1655 var26
= var_c
== var23
;
1658 RET_LABEL25
:(void)0;
1666 var31
= string__NativeString__to_s_with_length(var29
, var30
);
1670 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var28
) /* append on <var_b:Buffer>*/;
1673 { /* Inline kernel#Char#== (var_c,var32) */
1674 var35
= var_c
== var32
;
1677 RET_LABEL34
:(void)0;
1685 var40
= string__NativeString__to_s_with_length(var38
, var39
);
1689 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var37
) /* append on <var_b:Buffer>*/;
1692 { /* Inline kernel#Char#== (var_c,var41) */
1693 var44
= var_c
== var41
;
1696 RET_LABEL43
:(void)0;
1704 var49
= string__NativeString__to_s_with_length(var47
, var48
);
1708 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var46
) /* append on <var_b:Buffer>*/;
1710 { /* Inline kernel#Char#ascii (var_c) */
1711 var52
= (unsigned char)var_c
;
1714 RET_LABEL51
:(void)0;
1717 { /* Inline kernel#Int#< (var50,var53) */
1718 /* Covariant cast for argument 0 (i) <var53:Int> isa OTHER */
1719 /* <var53:Int> isa OTHER */
1720 var56
= 1; /* easy <var53:Int> isa OTHER*/
1722 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
1725 var57
= var50
< var53
;
1728 RET_LABEL55
:(void)0;
1736 var62
= string__NativeString__to_s_with_length(var60
, var61
);
1740 { /* Inline kernel#Char#ascii (var_c) */
1741 var65
= (unsigned char)var_c
;
1744 RET_LABEL64
:(void)0;
1748 var68
= string__Int__to_base(var63
, var66
, var67
);
1749 var69
= NEW_array__Array(&type_array__Arraykernel__Object
);
1750 { /* var69 = array_instance Array[Object] */
1752 var71
= NEW_array__NativeArray(var70
, &type_array__NativeArraykernel__Object
);
1753 ((struct instance_array__NativeArray
*)var71
)->values
[0] = (val
*) var59
;
1754 ((struct instance_array__NativeArray
*)var71
)->values
[1] = (val
*) var68
;
1755 ((void (*)(val
*, val
*, long))(var69
->class->vft
[COLOR_array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
1756 CHECK_NEW_array__Array(var69
);
1758 var72
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
1759 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var72
) /* append on <var_b:Buffer>*/;
1761 var73
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1762 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var73
) /* add on <var_b:Buffer>*/;
1769 CONTINUE_label
: (void)0;
1770 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
1772 BREAK_label
: (void)0;
1773 var74
= ((val
* (*)(val
*))(var_b
->class->vft
[COLOR_string__Object__to_s
]))(var_b
) /* to_s on <var_b:Buffer>*/;
1779 /* method string#AbstractString#escape_to_c for (self: Object): String */
1780 val
* VIRTUAL_string__AbstractString__escape_to_c(val
* self
) {
1781 val
* var
/* : String */;
1782 val
* var1
/* : String */;
1783 var1
= string__AbstractString__escape_to_c(self
);
1788 /* method string#AbstractString#escape_more_to_c for (self: AbstractString, String): String */
1789 val
* string__AbstractString__escape_more_to_c(val
* self
, val
* p0
) {
1790 val
* var
/* : String */;
1791 val
* var_chars
/* var chars: String */;
1792 val
* var1
/* : Buffer */;
1793 val
* var_b
/* var b: Buffer */;
1794 val
* var2
/* : String */;
1795 val
* var3
/* : Iterator[nullable Object] */;
1796 short int var4
/* : Bool */;
1797 val
* var5
/* : nullable Object */;
1798 char var_c
/* var c: Char */;
1799 char var6
/* : Char */;
1800 short int var7
/* : Bool */;
1801 val
* var8
/* : nullable Object */;
1802 char var9
/* : Char */;
1803 val
* var10
/* : nullable Object */;
1804 val
* var11
/* : nullable Object */;
1805 val
* var12
/* : String */;
1807 var1
= NEW_string__Buffer(&type_string__Buffer
);
1808 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1809 CHECK_NEW_string__Buffer(var1
);
1811 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(self
) /* escape_to_c on <self:AbstractString>*/;
1812 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:String>*/;
1814 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
1816 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
1817 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
1819 var8
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1820 var7
= ((short int (*)(val
*, val
*))(var_chars
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_chars
, var8
) /* has on <var_chars:String>*/;
1823 var10
= BOX_kernel__Char(var9
); /* autobox from Char to nullable Object */
1824 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var10
) /* add on <var_b:Buffer>*/;
1827 var11
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1828 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var11
) /* add on <var_b:Buffer>*/;
1829 CONTINUE_label
: (void)0;
1830 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
1832 BREAK_label
: (void)0;
1833 var12
= ((val
* (*)(val
*))(var_b
->class->vft
[COLOR_string__Object__to_s
]))(var_b
) /* to_s on <var_b:Buffer>*/;
1839 /* method string#AbstractString#escape_more_to_c for (self: Object, String): String */
1840 val
* VIRTUAL_string__AbstractString__escape_more_to_c(val
* self
, val
* p0
) {
1841 val
* var
/* : String */;
1842 val
* var1
/* : String */;
1843 var1
= string__AbstractString__escape_more_to_c(self
, p0
);
1848 /* method string#AbstractString#escape_to_nit for (self: AbstractString): String */
1849 val
* string__AbstractString__escape_to_nit(val
* self
) {
1850 val
* var
/* : String */;
1851 static val
* varonce
;
1852 val
* var1
/* : String */;
1853 char* var2
/* : NativeString */;
1854 long var3
/* : Int */;
1855 val
* var4
/* : String */;
1856 val
* var5
/* : String */;
1862 var4
= string__NativeString__to_s_with_length(var2
, var3
);
1866 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_string__AbstractString__escape_more_to_c
]))(self
, var1
) /* escape_more_to_c on <self:AbstractString>*/;
1872 /* method string#AbstractString#escape_to_nit for (self: Object): String */
1873 val
* VIRTUAL_string__AbstractString__escape_to_nit(val
* self
) {
1874 val
* var
/* : String */;
1875 val
* var1
/* : String */;
1876 var1
= string__AbstractString__escape_to_nit(self
);
1881 /* method string#AbstractString#unescape_nit for (self: AbstractString): String */
1882 val
* string__AbstractString__unescape_nit(val
* self
) {
1883 val
* var
/* : String */;
1884 val
* var1
/* : Buffer */;
1885 long var2
/* : Int */;
1886 val
* var_res
/* var res: Buffer */;
1887 short int var3
/* : Bool */;
1888 short int var_was_slash
/* var was_slash: Bool */;
1889 val
* var4
/* : Iterator[nullable Object] */;
1890 short int var5
/* : Bool */;
1891 val
* var6
/* : nullable Object */;
1892 char var_c
/* var c: Char */;
1893 char var7
/* : Char */;
1894 short int var8
/* : Bool */;
1895 char var9
/* : Char */;
1896 short int var10
/* : Bool */;
1897 short int var12
/* : Bool */;
1898 short int var13
/* : Bool */;
1899 val
* var14
/* : nullable Object */;
1900 short int var15
/* : Bool */;
1901 char var16
/* : Char */;
1902 short int var17
/* : Bool */;
1903 short int var19
/* : Bool */;
1904 char var20
/* : Char */;
1905 val
* var21
/* : nullable Object */;
1906 char var22
/* : Char */;
1907 short int var23
/* : Bool */;
1908 short int var25
/* : Bool */;
1909 char var26
/* : Char */;
1910 val
* var27
/* : nullable Object */;
1911 char var28
/* : Char */;
1912 short int var29
/* : Bool */;
1913 short int var31
/* : Bool */;
1914 char var32
/* : Char */;
1915 val
* var33
/* : nullable Object */;
1916 char var34
/* : Char */;
1917 short int var35
/* : Bool */;
1918 short int var37
/* : Bool */;
1919 char var38
/* : Char */;
1920 val
* var39
/* : nullable Object */;
1921 val
* var40
/* : nullable Object */;
1922 val
* var41
/* : String */;
1923 var1
= NEW_string__Buffer(&type_string__Buffer
);
1924 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1925 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
1926 CHECK_NEW_string__Buffer(var1
);
1929 var_was_slash
= var3
;
1930 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
1932 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
1934 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
1935 var7
= ((struct instance_kernel__Char
*)var6
)->value
; /* autounbox from nullable Object to Char */;
1937 var8
= !var_was_slash
;
1940 { /* Inline kernel#Char#== (var_c,var9) */
1941 var12
= var_c
== var9
;
1944 RET_LABEL11
:(void)0;
1948 var_was_slash
= var13
;
1950 var14
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1951 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var14
) /* add on <var_res:Buffer>*/;
1953 goto CONTINUE_label
;
1957 var_was_slash
= var15
;
1959 { /* Inline kernel#Char#== (var_c,var16) */
1960 var19
= var_c
== var16
;
1963 RET_LABEL18
:(void)0;
1967 var21
= BOX_kernel__Char(var20
); /* autobox from Char to nullable Object */
1968 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var21
) /* add on <var_res:Buffer>*/;
1971 { /* Inline kernel#Char#== (var_c,var22) */
1972 var25
= var_c
== var22
;
1975 RET_LABEL24
:(void)0;
1979 var27
= BOX_kernel__Char(var26
); /* autobox from Char to nullable Object */
1980 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var27
) /* add on <var_res:Buffer>*/;
1983 { /* Inline kernel#Char#== (var_c,var28) */
1984 var31
= var_c
== var28
;
1987 RET_LABEL30
:(void)0;
1991 var33
= BOX_kernel__Char(var32
); /* autobox from Char to nullable Object */
1992 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var33
) /* add on <var_res:Buffer>*/;
1995 { /* Inline kernel#Char#== (var_c,var34) */
1996 var37
= var_c
== var34
;
1999 RET_LABEL36
:(void)0;
2003 var39
= BOX_kernel__Char(var38
); /* autobox from Char to nullable Object */
2004 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var39
) /* add on <var_res:Buffer>*/;
2006 var40
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
2007 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var40
) /* add on <var_res:Buffer>*/;
2012 CONTINUE_label
: (void)0;
2013 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2015 BREAK_label
: (void)0;
2016 var41
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_string__Object__to_s
]))(var_res
) /* to_s on <var_res:Buffer>*/;
2022 /* method string#AbstractString#unescape_nit for (self: Object): String */
2023 val
* VIRTUAL_string__AbstractString__unescape_nit(val
* self
) {
2024 val
* var
/* : String */;
2025 val
* var1
/* : String */;
2026 var1
= string__AbstractString__unescape_nit(self
);
2031 /* method string#AbstractString#init for (self: AbstractString) */
2032 void string__AbstractString__init(val
* self
) {
2033 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArrayRead__init
]))(self
) /* init on <self:AbstractString>*/;
2036 /* method string#AbstractString#init for (self: Object) */
2037 void VIRTUAL_string__AbstractString__init(val
* self
) {
2038 string__AbstractString__init(self
);
2041 /* method string#String#index_from for (self: String): Int */
2042 long string__String__index_from(val
* self
) {
2043 long var
/* : Int */;
2044 long var1
/* : Int */;
2045 var1
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2050 /* method string#String#index_from for (self: Object): Int */
2051 long VIRTUAL_string__String__index_from(val
* self
) {
2052 long var
/* : Int */;
2053 long var1
/* : Int */;
2054 var1
= string__String__index_from(self
);
2059 /* method string#String#index_to for (self: String): Int */
2060 long string__String__index_to(val
* self
) {
2061 long var
/* : Int */;
2062 long var1
/* : Int */;
2063 var1
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2068 /* method string#String#index_to for (self: Object): Int */
2069 long VIRTUAL_string__String__index_to(val
* self
) {
2070 long var
/* : Int */;
2071 long var1
/* : Int */;
2072 var1
= string__String__index_to(self
);
2077 /* method string#String#[] for (self: String, Int): Char */
2078 char string__String___91d_93d(val
* self
, long p0
) {
2079 char var
/* : Char */;
2080 long var_index
/* var index: Int */;
2081 long var1
/* : Int */;
2082 short int var2
/* : Bool */;
2083 short int var4
/* : Bool */;
2086 short int var5
/* : Bool */;
2087 long var6
/* : Int */;
2088 long var7
/* : Int */;
2089 long var9
/* : Int */;
2090 long var10
/* : Int */;
2091 short int var11
/* : Bool */;
2092 short int var13
/* : Bool */;
2095 short int var16
/* : Bool */;
2096 char* var17
/* : NativeString */;
2097 long var18
/* : Int */;
2098 long var19
/* : Int */;
2099 long var21
/* : Int */;
2100 char var22
/* : Char */;
2101 char var24
/* : Char */;
2104 { /* Inline kernel#Int#>= (var_index,var1) */
2105 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2106 /* <var1:Int> isa OTHER */
2107 var4
= 1; /* easy <var1:Int> isa OTHER*/
2109 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
2112 var5
= var_index
>= var1
;
2118 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/string.nit", 379);
2121 var6
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2122 { /* Inline kernel#Int#+ (var_index,var6) */
2123 var9
= var_index
+ var6
;
2128 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2129 { /* Inline kernel#Int#<= (var7,var10) */
2130 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2131 /* <var10:Int> isa OTHER */
2132 var13
= 1; /* easy <var10:Int> isa OTHER*/
2134 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
2137 var16
= var7
<= var10
;
2140 RET_LABEL12
:(void)0;
2143 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/string.nit", 382);
2146 var17
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2147 var18
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2148 { /* Inline kernel#Int#+ (var_index,var18) */
2149 var21
= var_index
+ var18
;
2152 RET_LABEL20
:(void)0;
2154 { /* Inline string#NativeString#[] (var17,var19) */
2155 var24
= var17
[var19
];
2158 RET_LABEL23
:(void)0;
2165 /* method string#String#[] for (self: Object, Int): nullable Object */
2166 val
* VIRTUAL_string__String___91d_93d(val
* self
, long p0
) {
2167 val
* var
/* : nullable Object */;
2168 char var1
/* : Char */;
2169 val
* var2
/* : nullable Object */;
2170 var1
= string__String___91d_93d(self
, p0
);
2171 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
2176 /* method string#String#substring for (self: String, Int, Int): String */
2177 val
* string__String__substring(val
* self
, long p0
, long p1
) {
2178 val
* var
/* : String */;
2179 long var_from
/* var from: Int */;
2180 long var_count
/* var count: Int */;
2181 long var1
/* : Int */;
2182 short int var2
/* : Bool */;
2183 short int var4
/* : Bool */;
2186 short int var5
/* : Bool */;
2187 long var6
/* : Int */;
2188 short int var7
/* : Bool */;
2189 short int var9
/* : Bool */;
2192 short int var12
/* : Bool */;
2193 long var13
/* : Int */;
2194 long var15
/* : Int */;
2195 long var16
/* : Int */;
2196 short int var17
/* : Bool */;
2197 short int var19
/* : Bool */;
2200 short int var22
/* : Bool */;
2201 long var23
/* : Int */;
2202 long var24
/* : Int */;
2203 long var25
/* : Int */;
2204 long var26
/* : Int */;
2205 long var28
/* : Int */;
2206 long var_realFrom
/* var realFrom: Int */;
2207 long var29
/* : Int */;
2208 long var31
/* : Int */;
2209 long var32
/* : Int */;
2210 short int var33
/* : Bool */;
2211 short int var35
/* : Bool */;
2214 short int var38
/* : Bool */;
2215 val
* var39
/* : String */;
2216 long var40
/* : Int */;
2217 char* var41
/* : NativeString */;
2218 long var42
/* : Int */;
2219 short int var43
/* : Bool */;
2220 short int var45
/* : Bool */;
2221 static val
* varonce
;
2222 val
* var46
/* : String */;
2223 char* var47
/* : NativeString */;
2224 long var48
/* : Int */;
2225 val
* var49
/* : String */;
2226 val
* var50
/* : String */;
2227 long var51
/* : Int */;
2228 long var53
/* : Int */;
2229 long var54
/* : Int */;
2230 long var55
/* : Int */;
2231 long var57
/* : Int */;
2232 char* var58
/* : NativeString */;
2236 { /* Inline kernel#Int#>= (var_count,var1) */
2237 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2238 /* <var1:Int> isa OTHER */
2239 var4
= 1; /* easy <var1:Int> isa OTHER*/
2241 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
2244 var5
= var_count
>= var1
;
2250 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/string.nit", 388);
2254 { /* Inline kernel#Int#< (var_from,var6) */
2255 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
2256 /* <var6:Int> isa OTHER */
2257 var9
= 1; /* easy <var6:Int> isa OTHER*/
2259 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
2262 var12
= var_from
< var6
;
2268 { /* Inline kernel#Int#+ (var_count,var_from) */
2269 var15
= var_count
+ var_from
;
2272 RET_LABEL14
:(void)0;
2276 { /* Inline kernel#Int#< (var_count,var16) */
2277 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
2278 /* <var16:Int> isa OTHER */
2279 var19
= 1; /* easy <var16:Int> isa OTHER*/
2281 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
2284 var22
= var_count
< var16
;
2287 RET_LABEL18
:(void)0;
2298 var25
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2299 { /* Inline kernel#Int#+ (var25,var_from) */
2300 var28
= var25
+ var_from
;
2303 RET_LABEL27
:(void)0;
2305 var_realFrom
= var26
;
2306 { /* Inline kernel#Int#+ (var_realFrom,var_count) */
2307 var31
= var_realFrom
+ var_count
;
2310 RET_LABEL30
:(void)0;
2312 var32
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2313 { /* Inline kernel#Int#> (var29,var32) */
2314 /* Covariant cast for argument 0 (i) <var32:Int> isa OTHER */
2315 /* <var32:Int> isa OTHER */
2316 var35
= 1; /* easy <var32:Int> isa OTHER*/
2318 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
2321 var38
= var29
> var32
;
2324 RET_LABEL34
:(void)0;
2327 var39
= NEW_string__String(&type_string__String
);
2328 var40
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2329 var41
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2330 ((void (*)(val
*, long, long, char*))(var39
->class->vft
[COLOR_string__String__from_substring
]))(var39
, var_realFrom
, var40
, var41
) /* from_substring on <var39:String>*/;
2331 CHECK_NEW_string__String(var39
);
2337 { /* Inline kernel#Int#== (var_count,var42) */
2338 var45
= var_count
== var42
;
2341 RET_LABEL44
:(void)0;
2349 var49
= string__NativeString__to_s_with_length(var47
, var48
);
2357 var50
= NEW_string__String(&type_string__String
);
2358 { /* Inline kernel#Int#+ (var_realFrom,var_count) */
2359 var53
= var_realFrom
+ var_count
;
2362 RET_LABEL52
:(void)0;
2365 { /* Inline kernel#Int#- (var51,var54) */
2366 var57
= var51
- var54
;
2369 RET_LABEL56
:(void)0;
2371 var58
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2372 ((void (*)(val
*, long, long, char*))(var50
->class->vft
[COLOR_string__String__from_substring
]))(var50
, var_realFrom
, var55
, var58
) /* from_substring on <var50:String>*/;
2373 CHECK_NEW_string__String(var50
);
2379 /* method string#String#substring for (self: Object, Int, Int): String */
2380 val
* VIRTUAL_string__String__substring(val
* self
, long p0
, long p1
) {
2381 val
* var
/* : String */;
2382 val
* var1
/* : String */;
2383 var1
= string__String__substring(self
, p0
, p1
);
2388 /* method string#String#substring_from for (self: String, Int): String */
2389 val
* string__String__substring_from(val
* self
, long p0
) {
2390 val
* var
/* : String */;
2391 long var_from
/* var from: Int */;
2392 long var1
/* : Int */;
2393 short int var2
/* : Bool */;
2394 short int var4
/* : Bool */;
2397 short int var5
/* : Bool */;
2398 static val
* varonce
;
2399 val
* var6
/* : String */;
2400 char* var7
/* : NativeString */;
2401 long var8
/* : Int */;
2402 val
* var9
/* : String */;
2403 long var10
/* : Int */;
2404 short int var11
/* : Bool */;
2405 short int var13
/* : Bool */;
2408 short int var16
/* : Bool */;
2409 long var17
/* : Int */;
2410 long var18
/* : Int */;
2411 val
* var19
/* : String */;
2413 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2414 { /* Inline kernel#Int#> (var_from,var1) */
2415 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2416 /* <var1:Int> isa OTHER */
2417 var4
= 1; /* easy <var1:Int> isa OTHER*/
2419 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
2422 var5
= var_from
> var1
;
2433 var9
= string__NativeString__to_s_with_length(var7
, var8
);
2442 { /* Inline kernel#Int#< (var_from,var10) */
2443 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2444 /* <var10:Int> isa OTHER */
2445 var13
= 1; /* easy <var10:Int> isa OTHER*/
2447 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
2450 var16
= var_from
< var10
;
2453 RET_LABEL12
:(void)0;
2460 var18
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2461 var19
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_from
, var18
) /* substring on <self:String>*/;
2467 /* method string#String#substring_from for (self: Object, Int): String */
2468 val
* VIRTUAL_string__String__substring_from(val
* self
, long p0
) {
2469 val
* var
/* : String */;
2470 val
* var1
/* : String */;
2471 var1
= string__String__substring_from(self
, p0
);
2476 /* method string#String#has_substring for (self: String, String, Int): Bool */
2477 short int string__String__has_substring(val
* self
, val
* p0
, long p1
) {
2478 short int var
/* : Bool */;
2479 val
* var_str
/* var str: String */;
2480 long var_pos
/* var pos: Int */;
2481 long var1
/* : Int */;
2482 long var2
/* : Int */;
2483 long var3
/* : Int */;
2484 long var5
/* : Int */;
2485 long var_itsindex
/* var itsindex: Int */;
2486 long var6
/* : Int */;
2487 long var8
/* : Int */;
2488 long var_myindex
/* var myindex: Int */;
2489 char* var9
/* : NativeString */;
2490 char* var_myitems
/* var myitems: NativeString */;
2491 char* var10
/* : NativeString */;
2492 char* var_itsitems
/* var itsitems: NativeString */;
2493 short int var11
/* : Bool */;
2494 long var12
/* : Int */;
2495 short int var13
/* : Bool */;
2496 short int var15
/* : Bool */;
2499 short int var16
/* : Bool */;
2500 short int var_
/* var : Bool */;
2501 short int var17
/* : Bool */;
2502 short int var19
/* : Bool */;
2505 short int var22
/* : Bool */;
2506 short int var23
/* : Bool */;
2507 long var24
/* : Int */;
2508 long var_itsindexfrom
/* var itsindexfrom: Int */;
2509 long var25
/* : Int */;
2510 long var27
/* : Int */;
2511 long var28
/* : Int */;
2512 long var29
/* : Int */;
2513 long var31
/* : Int */;
2514 short int var32
/* : Bool */;
2515 short int var34
/* : Bool */;
2518 short int var37
/* : Bool */;
2519 char var38
/* : Char */;
2520 char var40
/* : Char */;
2521 char var41
/* : Char */;
2522 char var43
/* : Char */;
2523 short int var44
/* : Bool */;
2524 short int var46
/* : Bool */;
2525 short int var47
/* : Bool */;
2526 short int var48
/* : Bool */;
2527 long var49
/* : Int */;
2528 long var50
/* : Int */;
2529 long var52
/* : Int */;
2530 long var53
/* : Int */;
2531 long var54
/* : Int */;
2532 long var56
/* : Int */;
2533 short int var57
/* : Bool */;
2536 var1
= var_str
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_str:String> */
2538 { /* Inline kernel#Int#- (var1,var2) */
2544 var_itsindex
= var3
;
2545 { /* Inline kernel#Int#+ (var_pos,var_itsindex) */
2546 var8
= var_pos
+ var_itsindex
;
2552 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2554 var10
= var_str
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_str:String> */
2555 var_itsitems
= var10
;
2556 var12
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2557 { /* Inline kernel#Int#> (var_myindex,var12) */
2558 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2559 /* <var12:Int> isa OTHER */
2560 var15
= 1; /* easy <var12:Int> isa OTHER*/
2562 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
2565 var16
= var_myindex
> var12
;
2568 RET_LABEL14
:(void)0;
2574 { /* Inline kernel#Int#> (var_itsindex,var_myindex) */
2575 /* Covariant cast for argument 0 (i) <var_myindex:Int> isa OTHER */
2576 /* <var_myindex:Int> isa OTHER */
2577 var19
= 1; /* easy <var_myindex:Int> isa OTHER*/
2579 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
2582 var22
= var_itsindex
> var_myindex
;
2585 RET_LABEL18
:(void)0;
2595 var24
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_string__String__index_from
]))(var_str
) /* index_from on <var_str:String>*/;
2596 var_itsindexfrom
= var24
;
2597 { /* Inline kernel#Int#+ (var_itsindex,var_itsindexfrom) */
2598 var27
= var_itsindex
+ var_itsindexfrom
;
2601 RET_LABEL26
:(void)0;
2603 var_itsindex
= var25
;
2604 var28
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
2605 { /* Inline kernel#Int#+ (var_myindex,var28) */
2606 var31
= var_myindex
+ var28
;
2609 RET_LABEL30
:(void)0;
2611 var_myindex
= var29
;
2613 { /* Inline kernel#Int#>= (var_itsindex,var_itsindexfrom) */
2614 /* Covariant cast for argument 0 (i) <var_itsindexfrom:Int> isa OTHER */
2615 /* <var_itsindexfrom:Int> isa OTHER */
2616 var34
= 1; /* easy <var_itsindexfrom:Int> isa OTHER*/
2618 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
2621 var37
= var_itsindex
>= var_itsindexfrom
;
2624 RET_LABEL33
:(void)0;
2627 { /* Inline string#NativeString#[] (var_myitems,var_myindex) */
2628 var40
= var_myitems
[var_myindex
];
2631 RET_LABEL39
:(void)0;
2633 { /* Inline string#NativeString#[] (var_itsitems,var_itsindex) */
2634 var43
= var_itsitems
[var_itsindex
];
2637 RET_LABEL42
:(void)0;
2639 { /* Inline kernel#Char#!= (var38,var41) */
2640 var46
= var38
== var41
;
2644 RET_LABEL45
:(void)0;
2653 { /* Inline kernel#Int#- (var_myindex,var49) */
2654 var52
= var_myindex
- var49
;
2657 RET_LABEL51
:(void)0;
2659 var_myindex
= var50
;
2661 { /* Inline kernel#Int#- (var_itsindex,var53) */
2662 var56
= var_itsindex
- var53
;
2665 RET_LABEL55
:(void)0;
2667 var_itsindex
= var54
;
2668 CONTINUE_label
: (void)0;
2670 BREAK_label
: (void)0;
2677 /* method string#String#has_substring for (self: Object, String, Int): Bool */
2678 short int VIRTUAL_string__String__has_substring(val
* self
, val
* p0
, long p1
) {
2679 short int var
/* : Bool */;
2680 short int var1
/* : Bool */;
2681 var1
= string__String__has_substring(self
, p0
, p1
);
2686 /* method string#String#to_upper for (self: String): String */
2687 val
* string__String__to_upper(val
* self
) {
2688 val
* var
/* : String */;
2689 long var1
/* : Int */;
2690 long var2
/* : Int */;
2691 long var3
/* : Int */;
2692 long var5
/* : Int */;
2693 char* var6
/* : NativeString */;
2694 char* var_outstr
/* var outstr: NativeString */;
2695 long var7
/* : Int */;
2696 long var_out_index
/* var out_index: Int */;
2697 char* var8
/* : NativeString */;
2698 char* var_myitems
/* var myitems: NativeString */;
2699 long var9
/* : Int */;
2700 long var_index_from
/* var index_from: Int */;
2701 long var10
/* : Int */;
2702 long var_max
/* var max: Int */;
2703 short int var11
/* : Bool */;
2704 short int var13
/* : Bool */;
2707 short int var14
/* : Bool */;
2708 char var15
/* : Char */;
2709 char var17
/* : Char */;
2710 char var18
/* : Char */;
2711 long var20
/* : Int */;
2712 long var21
/* : Int */;
2713 long var23
/* : Int */;
2714 long var24
/* : Int */;
2715 long var25
/* : Int */;
2716 long var27
/* : Int */;
2717 long var28
/* : Int */;
2718 char var29
/* : Char */;
2719 long var31
/* : Int */;
2720 val
* var32
/* : String */;
2721 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2723 { /* Inline kernel#Int#+ (var1,var2) */
2729 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:String>*/;
2732 var_out_index
= var7
;
2733 var8
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2735 var9
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2736 var_index_from
= var9
;
2737 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2740 { /* Inline kernel#Int#<= (var_index_from,var_max) */
2741 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
2742 /* <var_max:Int> isa OTHER */
2743 var13
= 1; /* easy <var_max:Int> isa OTHER*/
2745 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
2748 var14
= var_index_from
<= var_max
;
2751 RET_LABEL12
:(void)0;
2754 { /* Inline string#NativeString#[] (var_myitems,var_index_from) */
2755 var17
= var_myitems
[var_index_from
];
2758 RET_LABEL16
:(void)0;
2760 var18
= kernel__Char__to_upper(var15
);
2761 { /* Inline string#NativeString#[]= (var_outstr,var_out_index,var18) */
2762 var_outstr
[var_out_index
]=var18
;
2763 RET_LABEL19
:(void)0;
2766 { /* Inline kernel#Int#+ (var_out_index,var20) */
2767 var23
= var_out_index
+ var20
;
2770 RET_LABEL22
:(void)0;
2772 var_out_index
= var21
;
2774 { /* Inline kernel#Int#+ (var_index_from,var24) */
2775 var27
= var_index_from
+ var24
;
2778 RET_LABEL26
:(void)0;
2780 var_index_from
= var25
;
2781 CONTINUE_label
: (void)0;
2783 BREAK_label
: (void)0;
2784 var28
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
2786 { /* Inline string#NativeString#[]= (var_outstr,var28,var29) */
2787 var_outstr
[var28
]=var29
;
2788 RET_LABEL30
:(void)0;
2790 var31
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2791 var32
= string__NativeString__to_s_with_length(var_outstr
, var31
);
2797 /* method string#String#to_upper for (self: Object): String */
2798 val
* VIRTUAL_string__String__to_upper(val
* self
) {
2799 val
* var
/* : String */;
2800 val
* var1
/* : String */;
2801 var1
= string__String__to_upper(self
);
2806 /* method string#String#to_lower for (self: String): String */
2807 val
* string__String__to_lower(val
* self
) {
2808 val
* var
/* : String */;
2809 long var1
/* : Int */;
2810 long var2
/* : Int */;
2811 long var3
/* : Int */;
2812 long var5
/* : Int */;
2813 char* var6
/* : NativeString */;
2814 char* var_outstr
/* var outstr: NativeString */;
2815 long var7
/* : Int */;
2816 long var_out_index
/* var out_index: Int */;
2817 char* var8
/* : NativeString */;
2818 char* var_myitems
/* var myitems: NativeString */;
2819 long var9
/* : Int */;
2820 long var_index_from
/* var index_from: Int */;
2821 long var10
/* : Int */;
2822 long var_max
/* var max: Int */;
2823 short int var11
/* : Bool */;
2824 short int var13
/* : Bool */;
2827 short int var14
/* : Bool */;
2828 char var15
/* : Char */;
2829 char var17
/* : Char */;
2830 char var18
/* : Char */;
2831 long var20
/* : Int */;
2832 long var21
/* : Int */;
2833 long var23
/* : Int */;
2834 long var24
/* : Int */;
2835 long var25
/* : Int */;
2836 long var27
/* : Int */;
2837 long var28
/* : Int */;
2838 char var29
/* : Char */;
2839 long var31
/* : Int */;
2840 val
* var32
/* : String */;
2841 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2843 { /* Inline kernel#Int#+ (var1,var2) */
2849 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:String>*/;
2852 var_out_index
= var7
;
2853 var8
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2855 var9
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2856 var_index_from
= var9
;
2857 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2860 { /* Inline kernel#Int#<= (var_index_from,var_max) */
2861 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
2862 /* <var_max:Int> isa OTHER */
2863 var13
= 1; /* easy <var_max:Int> isa OTHER*/
2865 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
2868 var14
= var_index_from
<= var_max
;
2871 RET_LABEL12
:(void)0;
2874 { /* Inline string#NativeString#[] (var_myitems,var_index_from) */
2875 var17
= var_myitems
[var_index_from
];
2878 RET_LABEL16
:(void)0;
2880 var18
= kernel__Char__to_lower(var15
);
2881 { /* Inline string#NativeString#[]= (var_outstr,var_out_index,var18) */
2882 var_outstr
[var_out_index
]=var18
;
2883 RET_LABEL19
:(void)0;
2886 { /* Inline kernel#Int#+ (var_out_index,var20) */
2887 var23
= var_out_index
+ var20
;
2890 RET_LABEL22
:(void)0;
2892 var_out_index
= var21
;
2894 { /* Inline kernel#Int#+ (var_index_from,var24) */
2895 var27
= var_index_from
+ var24
;
2898 RET_LABEL26
:(void)0;
2900 var_index_from
= var25
;
2901 CONTINUE_label
: (void)0;
2903 BREAK_label
: (void)0;
2904 var28
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
2906 { /* Inline string#NativeString#[]= (var_outstr,var28,var29) */
2907 var_outstr
[var28
]=var29
;
2908 RET_LABEL30
:(void)0;
2910 var31
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2911 var32
= string__NativeString__to_s_with_length(var_outstr
, var31
);
2917 /* method string#String#to_lower for (self: Object): String */
2918 val
* VIRTUAL_string__String__to_lower(val
* self
) {
2919 val
* var
/* : String */;
2920 val
* var1
/* : String */;
2921 var1
= string__String__to_lower(self
);
2926 /* method string#String#trim for (self: String): String */
2927 val
* string__String__trim(val
* self
) {
2928 val
* var
/* : String */;
2929 long var1
/* : Int */;
2930 long var2
/* : Int */;
2931 short int var3
/* : Bool */;
2932 short int var5
/* : Bool */;
2933 long var6
/* : Int */;
2934 long var_start_pos
/* var start_pos: Int */;
2935 char* var7
/* : NativeString */;
2936 char var8
/* : Char */;
2937 char var10
/* : Char */;
2938 long var11
/* : Int */;
2939 long var13
/* : Int */;
2940 long var14
/* : Int */;
2941 short int var15
/* : Bool */;
2942 short int var17
/* : Bool */;
2945 short int var18
/* : Bool */;
2946 long var19
/* : Int */;
2947 long var20
/* : Int */;
2948 long var22
/* : Int */;
2949 long var23
/* : Int */;
2950 long var24
/* : Int */;
2951 long var25
/* : Int */;
2952 long var27
/* : Int */;
2953 short int var28
/* : Bool */;
2954 short int var30
/* : Bool */;
2955 static val
* varonce
;
2956 val
* var31
/* : String */;
2957 char* var32
/* : NativeString */;
2958 long var33
/* : Int */;
2959 val
* var34
/* : String */;
2960 long var35
/* : Int */;
2961 long var_end_pos
/* var end_pos: Int */;
2962 char* var36
/* : NativeString */;
2963 char var37
/* : Char */;
2964 char var39
/* : Char */;
2965 long var40
/* : Int */;
2966 long var42
/* : Int */;
2967 long var43
/* : Int */;
2968 short int var44
/* : Bool */;
2969 short int var46
/* : Bool */;
2972 short int var49
/* : Bool */;
2973 long var50
/* : Int */;
2974 long var51
/* : Int */;
2975 long var53
/* : Int */;
2976 short int var54
/* : Bool */;
2977 short int var56
/* : Bool */;
2978 char* var57
/* : NativeString */;
2979 char var58
/* : Char */;
2980 char var60
/* : Char */;
2981 val
* var61
/* : String */;
2982 long var63
/* : Int */;
2983 long var64
/* : Int */;
2984 long var66
/* : Int */;
2985 long var67
/* : Int */;
2986 long var68
/* : Int */;
2987 long var70
/* : Int */;
2988 long var71
/* : Int */;
2989 long var73
/* : Int */;
2990 long var74
/* : Int */;
2991 long var75
/* : Int */;
2992 long var77
/* : Int */;
2993 val
* var78
/* : String */;
2994 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2996 { /* Inline kernel#Int#== (var1,var2) */
2997 var5
= var1
== var2
;
3007 var6
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3008 var_start_pos
= var6
;
3010 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3011 { /* Inline string#NativeString#[] (var7,var_start_pos) */
3012 var10
= var7
[var_start_pos
];
3017 { /* Inline kernel#Char#ascii (var8) */
3018 var13
= (unsigned char)var8
;
3021 RET_LABEL12
:(void)0;
3024 { /* Inline kernel#Int#<= (var11,var14) */
3025 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
3026 /* <var14:Int> isa OTHER */
3027 var17
= 1; /* easy <var14:Int> isa OTHER*/
3029 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
3032 var18
= var11
<= var14
;
3035 RET_LABEL16
:(void)0;
3039 { /* Inline kernel#Int#+ (var_start_pos,var19) */
3040 var22
= var_start_pos
+ var19
;
3043 RET_LABEL21
:(void)0;
3045 var_start_pos
= var20
;
3046 var23
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3048 { /* Inline kernel#Int#+ (var23,var24) */
3049 var27
= var23
+ var24
;
3052 RET_LABEL26
:(void)0;
3054 { /* Inline kernel#Int#== (var_start_pos,var25) */
3055 var30
= var_start_pos
== var25
;
3058 RET_LABEL29
:(void)0;
3066 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3074 CONTINUE_label
: (void)0;
3076 BREAK_label
: (void)0;
3077 var35
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3078 var_end_pos
= var35
;
3080 var36
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3081 { /* Inline string#NativeString#[] (var36,var_end_pos) */
3082 var39
= var36
[var_end_pos
];
3085 RET_LABEL38
:(void)0;
3087 { /* Inline kernel#Char#ascii (var37) */
3088 var42
= (unsigned char)var37
;
3091 RET_LABEL41
:(void)0;
3094 { /* Inline kernel#Int#<= (var40,var43) */
3095 /* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
3096 /* <var43:Int> isa OTHER */
3097 var46
= 1; /* easy <var43:Int> isa OTHER*/
3099 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
3102 var49
= var40
<= var43
;
3105 RET_LABEL45
:(void)0;
3109 { /* Inline kernel#Int#- (var_end_pos,var50) */
3110 var53
= var_end_pos
- var50
;
3113 RET_LABEL52
:(void)0;
3115 var_end_pos
= var51
;
3116 { /* Inline kernel#Int#== (var_end_pos,var_start_pos) */
3117 var56
= var_end_pos
== var_start_pos
;
3120 RET_LABEL55
:(void)0;
3123 var57
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3124 { /* Inline string#NativeString#[] (var57,var_start_pos) */
3125 var60
= var57
[var_start_pos
];
3128 RET_LABEL59
:(void)0;
3130 var61
= string__Char__to_s(var58
);
3135 CONTINUE_label62
: (void)0;
3137 BREAK_label62
: (void)0;
3138 var63
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
3139 { /* Inline kernel#Int#- (var_start_pos,var63) */
3140 var66
= var_start_pos
- var63
;
3143 RET_LABEL65
:(void)0;
3145 var_start_pos
= var64
;
3146 var67
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
3147 { /* Inline kernel#Int#- (var_end_pos,var67) */
3148 var70
= var_end_pos
- var67
;
3151 RET_LABEL69
:(void)0;
3153 var_end_pos
= var68
;
3154 { /* Inline kernel#Int#- (var_end_pos,var_start_pos) */
3155 var73
= var_end_pos
- var_start_pos
;
3158 RET_LABEL72
:(void)0;
3161 { /* Inline kernel#Int#+ (var71,var74) */
3162 var77
= var71
+ var74
;
3165 RET_LABEL76
:(void)0;
3167 var78
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_start_pos
, var75
) /* substring on <self:String>*/;
3173 /* method string#String#trim for (self: Object): String */
3174 val
* VIRTUAL_string__String__trim(val
* self
) {
3175 val
* var
/* : String */;
3176 val
* var1
/* : String */;
3177 var1
= string__String__trim(self
);
3182 /* method string#String#output for (self: String) */
3183 void string__String__output(val
* self
) {
3184 long var
/* : Int */;
3185 long var_i
/* var i: Int */;
3186 long var1
/* : Int */;
3187 long var_imax
/* var imax: Int */;
3188 short int var2
/* : Bool */;
3189 short int var4
/* : Bool */;
3192 short int var5
/* : Bool */;
3193 char* var6
/* : NativeString */;
3194 char var7
/* : Char */;
3195 char var9
/* : Char */;
3196 long var11
/* : Int */;
3197 long var12
/* : Int */;
3198 long var14
/* : Int */;
3199 var
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3201 var1
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3204 { /* Inline kernel#Int#<= (var_i,var_imax) */
3205 /* Covariant cast for argument 0 (i) <var_imax:Int> isa OTHER */
3206 /* <var_imax:Int> isa OTHER */
3207 var4
= 1; /* easy <var_imax:Int> isa OTHER*/
3209 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
3212 var5
= var_i
<= var_imax
;
3218 var6
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3219 { /* Inline string#NativeString#[] (var6,var_i) */
3225 { /* Inline kernel#Char#output (var7) */
3227 RET_LABEL10
:(void)0;
3230 { /* Inline kernel#Int#+ (var_i,var11) */
3231 var14
= var_i
+ var11
;
3234 RET_LABEL13
:(void)0;
3237 CONTINUE_label
: (void)0;
3239 BREAK_label
: (void)0;
3242 /* method string#String#output for (self: Object) */
3243 void VIRTUAL_string__String__output(val
* self
) {
3244 string__String__output(self
);
3247 /* method string#String#from_substring for (self: String, Int, Int, NativeString) */
3248 void string__String__from_substring(val
* self
, long p0
, long p1
, char* p2
) {
3249 long var_from
/* var from: Int */;
3250 long var_to
/* var to: Int */;
3251 char* var_internalString
/* var internalString: NativeString */;
3252 long var
/* : Int */;
3253 long var2
/* : Int */;
3254 long var3
/* : Int */;
3255 long var4
/* : Int */;
3256 long var6
/* : Int */;
3259 var_internalString
= p2
;
3260 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:String>*/;
3261 self
->attrs
[COLOR_string__AbstractString___items
].str
= var_internalString
; /* _items on <self:String> */
3262 self
->attrs
[COLOR_string__String___index_from
].l
= var_from
; /* _index_from on <self:String> */
3263 self
->attrs
[COLOR_string__String___index_to
].l
= var_to
; /* _index_to on <self:String> */
3264 { /* Inline kernel#Int#- (var_to,var_from) */
3265 var2
= var_to
- var_from
;
3271 { /* Inline kernel#Int#+ (var,var3) */
3277 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var4
; /* _length on <self:String> */
3280 /* method string#String#from_substring for (self: Object, Int, Int, NativeString) */
3281 void VIRTUAL_string__String__from_substring(val
* self
, long p0
, long p1
, char* p2
) {
3282 string__String__from_substring(self
, p0
, p1
, p2
);
3285 /* method string#String#with_infos for (self: String, NativeString, Int, Int, Int) */
3286 void string__String__with_infos(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
3287 char* var_items
/* var items: NativeString */;
3288 long var_len
/* var len: Int */;
3289 long var_from
/* var from: Int */;
3290 long var_to
/* var to: Int */;
3295 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:String>*/;
3296 self
->attrs
[COLOR_string__AbstractString___items
].str
= var_items
; /* _items on <self:String> */
3297 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var_len
; /* _length on <self:String> */
3298 self
->attrs
[COLOR_string__String___index_from
].l
= var_from
; /* _index_from on <self:String> */
3299 self
->attrs
[COLOR_string__String___index_to
].l
= var_to
; /* _index_to on <self:String> */
3302 /* method string#String#with_infos for (self: Object, NativeString, Int, Int, Int) */
3303 void VIRTUAL_string__String__with_infos(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
3304 string__String__with_infos(self
, p0
, p1
, p2
, p3
);
3307 /* method string#String#to_cstring for (self: String): NativeString */
3308 char* string__String__to_cstring(val
* self
) {
3309 char* var
/* : NativeString */;
3310 short int var1
/* : Bool */;
3311 long var2
/* : Int */;
3312 long var3
/* : Int */;
3313 short int var4
/* : Bool */;
3314 short int var6
/* : Bool */;
3317 short int var7
/* : Bool */;
3318 short int var_
/* var : Bool */;
3319 long var8
/* : Int */;
3320 char* var9
/* : NativeString */;
3321 long var10
/* : Int */;
3322 long var11
/* : Int */;
3323 long var12
/* : Int */;
3324 long var14
/* : Int */;
3325 short int var15
/* : Bool */;
3326 short int var17
/* : Bool */;
3327 short int var18
/* : Bool */;
3328 long var19
/* : Int */;
3329 long var20
/* : Int */;
3330 long var21
/* : Int */;
3331 long var23
/* : Int */;
3332 char* var24
/* : NativeString */;
3333 char* var_newItems
/* var newItems: NativeString */;
3334 char* var25
/* : NativeString */;
3335 long var26
/* : Int */;
3336 long var27
/* : Int */;
3337 long var28
/* : Int */;
3338 long var30
/* : Int */;
3339 char var31
/* : Char */;
3340 char* var33
/* : NativeString */;
3341 var2
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3343 { /* Inline kernel#Int#> (var2,var3) */
3344 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3345 /* <var3:Int> isa OTHER */
3346 var6
= 1; /* easy <var3:Int> isa OTHER*/
3348 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
3360 var8
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3361 var9
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__items
]))(self
) /* items on <self:String>*/;
3362 var10
= string__NativeString__cstring_length(var9
);
3364 { /* Inline kernel#Int#- (var10,var11) */
3365 var14
= var10
- var11
;
3368 RET_LABEL13
:(void)0;
3370 { /* Inline kernel#Int#!= (var8,var12) */
3371 var17
= var8
== var12
;
3375 RET_LABEL16
:(void)0;
3380 var19
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3382 { /* Inline kernel#Int#+ (var19,var20) */
3383 var23
= var19
+ var20
;
3386 RET_LABEL22
:(void)0;
3388 var24
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var21
) /* calloc_string on <self:String>*/;
3389 var_newItems
= var24
;
3390 var25
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__items
]))(self
) /* items on <self:String>*/;
3391 var26
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3392 var27
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3394 { /* Inline string#NativeString#copy_to (var25,var_newItems,var26,var27,var28) */
3395 memcpy(var_newItems
+var28
,var25
+var27
,var26
);
3396 RET_LABEL29
:(void)0;
3398 var30
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
3400 { /* Inline string#NativeString#[]= (var_newItems,var30,var31) */
3401 var_newItems
[var30
]=var31
;
3402 RET_LABEL32
:(void)0;
3408 var33
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3414 /* method string#String#to_cstring for (self: Object): NativeString */
3415 char* VIRTUAL_string__String__to_cstring(val
* self
) {
3416 char* var
/* : NativeString */;
3417 char* var1
/* : NativeString */;
3418 var1
= string__String__to_cstring(self
);
3423 /* method string#String#== for (self: String, nullable Object): Bool */
3424 short int string__String___61d_61d(val
* self
, val
* p0
) {
3425 short int var
/* : Bool */;
3426 val
* var_other
/* var other: nullable Object */;
3427 short int var1
/* : Bool */;
3428 short int var2
/* : Bool */;
3431 short int var3
/* : Bool */;
3432 short int var_
/* var : Bool */;
3433 val
* var4
/* : null */;
3434 short int var5
/* : Bool */;
3435 short int var6
/* : Bool */;
3436 long var7
/* : Int */;
3437 long var8
/* : Int */;
3438 short int var9
/* : Bool */;
3439 short int var11
/* : Bool */;
3440 short int var12
/* : Bool */;
3441 long var13
/* : Int */;
3442 long var_my_length
/* var my_length: Int */;
3443 long var14
/* : Int */;
3444 short int var15
/* : Bool */;
3445 short int var17
/* : Bool */;
3446 short int var18
/* : Bool */;
3447 short int var19
/* : Bool */;
3448 long var20
/* : Int */;
3449 long var_my_index
/* var my_index: Int */;
3450 long var21
/* : Int */;
3451 long var_its_index
/* var its_index: Int */;
3452 long var22
/* : Int */;
3453 long var24
/* : Int */;
3454 long var_last_iteration
/* var last_iteration: Int */;
3455 char* var25
/* : NativeString */;
3456 char* var_itsitems
/* var itsitems: NativeString */;
3457 char* var26
/* : NativeString */;
3458 char* var_myitems
/* var myitems: NativeString */;
3459 short int var27
/* : Bool */;
3460 short int var29
/* : Bool */;
3463 short int var32
/* : Bool */;
3464 char var33
/* : Char */;
3465 char var35
/* : Char */;
3466 char var36
/* : Char */;
3467 char var38
/* : Char */;
3468 short int var39
/* : Bool */;
3469 short int var41
/* : Bool */;
3470 short int var42
/* : Bool */;
3471 short int var43
/* : Bool */;
3472 long var44
/* : Int */;
3473 long var45
/* : Int */;
3474 long var47
/* : Int */;
3475 long var48
/* : Int */;
3476 long var49
/* : Int */;
3477 long var51
/* : Int */;
3478 short int var52
/* : Bool */;
3480 /* <var_other:nullable Object> isa String */
3481 cltype
= type_string__String
.color
;
3482 idtype
= type_string__String
.id
;
3483 if(var_other
== NULL
) {
3486 if(cltype
>= var_other
->type
->table_size
) {
3489 var2
= var_other
->type
->type_table
[cltype
] == idtype
;
3498 var5
= var_other
== var4
;
3507 var7
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:String>*/;
3508 var8
= ((long (*)(val
*))(var_other
->class->vft
[COLOR_kernel__Object__object_id
]))(var_other
) /* object_id on <var_other:nullable Object(String)>*/;
3509 { /* Inline kernel#Int#== (var7,var8) */
3510 var11
= var7
== var8
;
3513 RET_LABEL10
:(void)0;
3521 var13
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3522 var_my_length
= var13
;
3523 var14
= var_other
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_other:nullable Object(String)> */
3524 { /* Inline kernel#Int#!= (var14,var_my_length) */
3525 var17
= var14
== var_my_length
;
3529 RET_LABEL16
:(void)0;
3537 var20
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3538 var_my_index
= var20
;
3539 var21
= var_other
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_other:nullable Object(String)> */
3540 var_its_index
= var21
;
3541 { /* Inline kernel#Int#+ (var_my_index,var_my_length) */
3542 var24
= var_my_index
+ var_my_length
;
3545 RET_LABEL23
:(void)0;
3547 var_last_iteration
= var22
;
3548 var25
= var_other
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_other:nullable Object(String)> */
3549 var_itsitems
= var25
;
3550 var26
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3551 var_myitems
= var26
;
3553 { /* Inline kernel#Int#< (var_my_index,var_last_iteration) */
3554 /* Covariant cast for argument 0 (i) <var_last_iteration:Int> isa OTHER */
3555 /* <var_last_iteration:Int> isa OTHER */
3556 var29
= 1; /* easy <var_last_iteration:Int> isa OTHER*/
3558 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
3561 var32
= var_my_index
< var_last_iteration
;
3564 RET_LABEL28
:(void)0;
3567 { /* Inline string#NativeString#[] (var_myitems,var_my_index) */
3568 var35
= var_myitems
[var_my_index
];
3571 RET_LABEL34
:(void)0;
3573 { /* Inline string#NativeString#[] (var_itsitems,var_its_index) */
3574 var38
= var_itsitems
[var_its_index
];
3577 RET_LABEL37
:(void)0;
3579 { /* Inline kernel#Char#!= (var33,var36) */
3580 var41
= var33
== var36
;
3584 RET_LABEL40
:(void)0;
3593 { /* Inline kernel#Int#+ (var_my_index,var44) */
3594 var47
= var_my_index
+ var44
;
3597 RET_LABEL46
:(void)0;
3599 var_my_index
= var45
;
3601 { /* Inline kernel#Int#+ (var_its_index,var48) */
3602 var51
= var_its_index
+ var48
;
3605 RET_LABEL50
:(void)0;
3607 var_its_index
= var49
;
3608 CONTINUE_label
: (void)0;
3610 BREAK_label
: (void)0;
3617 /* method string#String#== for (self: Object, nullable Object): Bool */
3618 short int VIRTUAL_string__String___61d_61d(val
* self
, val
* p0
) {
3619 short int var
/* : Bool */;
3620 short int var1
/* : Bool */;
3621 var1
= string__String___61d_61d(self
, p0
);
3626 /* method string#String#< for (self: String, String): Bool */
3627 short int string__String___60d(val
* self
, val
* p0
) {
3628 short int var
/* : Bool */;
3629 short int var1
/* : Bool */;
3632 const struct type
* type_struct
;
3633 val
* var_other
/* var other: String */;
3634 long var2
/* : Int */;
3635 long var3
/* : Int */;
3636 short int var4
/* : Bool */;
3637 short int var6
/* : Bool */;
3638 short int var7
/* : Bool */;
3639 long var8
/* : Int */;
3640 long var_curr_id_self
/* var curr_id_self: Int */;
3641 long var9
/* : Int */;
3642 long var_curr_id_other
/* var curr_id_other: Int */;
3643 char* var10
/* : NativeString */;
3644 char* var_my_items
/* var my_items: NativeString */;
3645 char* var11
/* : NativeString */;
3646 char* var_its_items
/* var its_items: NativeString */;
3647 long var12
/* : Int */;
3648 long var_my_length
/* var my_length: Int */;
3649 long var13
/* : Int */;
3650 long var_its_length
/* var its_length: Int */;
3651 long var14
/* : Int */;
3652 long var16
/* : Int */;
3653 long var_max_iterations
/* var max_iterations: Int */;
3654 short int var17
/* : Bool */;
3655 short int var19
/* : Bool */;
3658 short int var22
/* : Bool */;
3659 char var23
/* : Char */;
3660 char var25
/* : Char */;
3661 char var_my_curr_char
/* var my_curr_char: Char */;
3662 char var26
/* : Char */;
3663 char var28
/* : Char */;
3664 char var_its_curr_char
/* var its_curr_char: Char */;
3665 short int var29
/* : Bool */;
3666 short int var31
/* : Bool */;
3667 short int var32
/* : Bool */;
3668 short int var33
/* : Bool */;
3669 short int var35
/* : Bool */;
3672 short int var38
/* : Bool */;
3673 short int var39
/* : Bool */;
3674 short int var40
/* : Bool */;
3675 long var41
/* : Int */;
3676 long var42
/* : Int */;
3677 long var44
/* : Int */;
3678 long var45
/* : Int */;
3679 long var46
/* : Int */;
3680 long var48
/* : Int */;
3681 short int var49
/* : Bool */;
3682 short int var51
/* : Bool */;
3685 short int var54
/* : Bool */;
3686 /* Covariant cast for argument 0 (other) <p0:String> isa OTHER */
3687 /* <p0:String> isa OTHER */
3688 type_struct
= self
->type
->resolution_table
->types
[COLOR_kernel__Comparable_VTOTHER
];
3689 cltype
= type_struct
->color
;
3690 idtype
= type_struct
->id
;
3691 if(cltype
>= p0
->type
->table_size
) {
3694 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3697 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/string.nit", 571);
3701 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:String>*/;
3702 var3
= ((long (*)(val
*))(var_other
->class->vft
[COLOR_kernel__Object__object_id
]))(var_other
) /* object_id on <var_other:String>*/;
3703 { /* Inline kernel#Int#== (var2,var3) */
3704 var6
= var2
== var3
;
3715 var8
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3716 var_curr_id_self
= var8
;
3717 var9
= var_other
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_other:String> */
3718 var_curr_id_other
= var9
;
3719 var10
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3720 var_my_items
= var10
;
3721 var11
= var_other
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_other:String> */
3722 var_its_items
= var11
;
3723 var12
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3724 var_my_length
= var12
;
3725 var13
= var_other
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_other:String> */
3726 var_its_length
= var13
;
3727 { /* Inline kernel#Int#+ (var_curr_id_self,var_my_length) */
3728 var16
= var_curr_id_self
+ var_my_length
;
3731 RET_LABEL15
:(void)0;
3733 var_max_iterations
= var14
;
3735 { /* Inline kernel#Int#< (var_curr_id_self,var_max_iterations) */
3736 /* Covariant cast for argument 0 (i) <var_max_iterations:Int> isa OTHER */
3737 /* <var_max_iterations:Int> isa OTHER */
3738 var19
= 1; /* easy <var_max_iterations:Int> isa OTHER*/
3740 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
3743 var22
= var_curr_id_self
< var_max_iterations
;
3746 RET_LABEL18
:(void)0;
3749 { /* Inline string#NativeString#[] (var_my_items,var_curr_id_self) */
3750 var25
= var_my_items
[var_curr_id_self
];
3753 RET_LABEL24
:(void)0;
3755 var_my_curr_char
= var23
;
3756 { /* Inline string#NativeString#[] (var_its_items,var_curr_id_other) */
3757 var28
= var_its_items
[var_curr_id_other
];
3760 RET_LABEL27
:(void)0;
3762 var_its_curr_char
= var26
;
3763 { /* Inline kernel#Char#!= (var_my_curr_char,var_its_curr_char) */
3764 var31
= var_my_curr_char
== var_its_curr_char
;
3768 RET_LABEL30
:(void)0;
3771 { /* Inline kernel#Char#< (var_my_curr_char,var_its_curr_char) */
3772 /* Covariant cast for argument 0 (i) <var_its_curr_char:Char> isa OTHER */
3773 /* <var_its_curr_char:Char> isa OTHER */
3774 var35
= 1; /* easy <var_its_curr_char:Char> isa OTHER*/
3776 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 455);
3779 var38
= var_my_curr_char
< var_its_curr_char
;
3782 RET_LABEL34
:(void)0;
3796 { /* Inline kernel#Int#+ (var_curr_id_self,var41) */
3797 var44
= var_curr_id_self
+ var41
;
3800 RET_LABEL43
:(void)0;
3802 var_curr_id_self
= var42
;
3804 { /* Inline kernel#Int#+ (var_curr_id_other,var45) */
3805 var48
= var_curr_id_other
+ var45
;
3808 RET_LABEL47
:(void)0;
3810 var_curr_id_other
= var46
;
3811 CONTINUE_label
: (void)0;
3813 BREAK_label
: (void)0;
3814 { /* Inline kernel#Int#< (var_my_length,var_its_length) */
3815 /* Covariant cast for argument 0 (i) <var_its_length:Int> isa OTHER */
3816 /* <var_its_length:Int> isa OTHER */
3817 var51
= 1; /* easy <var_its_length:Int> isa OTHER*/
3819 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
3822 var54
= var_my_length
< var_its_length
;
3825 RET_LABEL50
:(void)0;
3832 /* method string#String#< for (self: Object, Comparable): Bool */
3833 short int VIRTUAL_string__String___60d(val
* self
, val
* p0
) {
3834 short int var
/* : Bool */;
3835 short int var1
/* : Bool */;
3836 var1
= string__String___60d(self
, p0
);
3841 /* method string#String#+ for (self: String, String): String */
3842 val
* string__String___43d(val
* self
, val
* p0
) {
3843 val
* var
/* : String */;
3844 val
* var_s
/* var s: String */;
3845 long var1
/* : Int */;
3846 long var_my_length
/* var my_length: Int */;
3847 long var2
/* : Int */;
3848 long var_its_length
/* var its_length: Int */;
3849 long var3
/* : Int */;
3850 long var5
/* : Int */;
3851 long var_total_length
/* var total_length: Int */;
3852 long var6
/* : Int */;
3853 long var8
/* : Int */;
3854 long var9
/* : Int */;
3855 long var10
/* : Int */;
3856 long var12
/* : Int */;
3857 char* var13
/* : NativeString */;
3858 char* var_target_string
/* var target_string: NativeString */;
3859 char* var14
/* : NativeString */;
3860 long var15
/* : Int */;
3861 long var16
/* : Int */;
3862 char* var18
/* : NativeString */;
3863 long var19
/* : Int */;
3864 char var21
/* : Char */;
3865 val
* var23
/* : String */;
3867 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3868 var_my_length
= var1
;
3869 var2
= var_s
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_s:String> */
3870 var_its_length
= var2
;
3871 { /* Inline kernel#Int#+ (var_my_length,var_its_length) */
3872 var5
= var_my_length
+ var_its_length
;
3877 var_total_length
= var3
;
3878 { /* Inline kernel#Int#+ (var_my_length,var_its_length) */
3879 var8
= var_my_length
+ var_its_length
;
3885 { /* Inline kernel#Int#+ (var6,var9) */
3886 var12
= var6
+ var9
;
3889 RET_LABEL11
:(void)0;
3891 var13
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var10
) /* calloc_string on <self:String>*/;
3892 var_target_string
= var13
;
3893 var14
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3894 var15
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3896 { /* Inline string#NativeString#copy_to (var14,var_target_string,var_my_length,var15,var16) */
3897 memcpy(var_target_string
+var16
,var14
+var15
,var_my_length
);
3898 RET_LABEL17
:(void)0;
3900 var18
= var_s
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_s:String> */
3901 var19
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:String> */
3902 { /* Inline string#NativeString#copy_to (var18,var_target_string,var_its_length,var19,var_my_length) */
3903 memcpy(var_target_string
+var_my_length
,var18
+var19
,var_its_length
);
3904 RET_LABEL20
:(void)0;
3907 { /* Inline string#NativeString#[]= (var_target_string,var_total_length,var21) */
3908 var_target_string
[var_total_length
]=var21
;
3909 RET_LABEL22
:(void)0;
3911 var23
= string__NativeString__to_s_with_length(var_target_string
, var_total_length
);
3917 /* method string#String#+ for (self: Object, String): String */
3918 val
* VIRTUAL_string__String___43d(val
* self
, val
* p0
) {
3919 val
* var
/* : String */;
3920 val
* var1
/* : String */;
3921 var1
= string__String___43d(self
, p0
);
3926 /* method string#String#* for (self: String, Int): String */
3927 val
* string__String___42d(val
* self
, long p0
) {
3928 val
* var
/* : String */;
3929 long var_i
/* var i: Int */;
3930 long var1
/* : Int */;
3931 short int var2
/* : Bool */;
3932 short int var4
/* : Bool */;
3935 short int var5
/* : Bool */;
3936 long var6
/* : Int */;
3937 long var_my_length
/* var my_length: Int */;
3938 long var7
/* : Int */;
3939 long var9
/* : Int */;
3940 long var_final_length
/* var final_length: Int */;
3941 char* var10
/* : NativeString */;
3942 char* var_my_items
/* var my_items: NativeString */;
3943 long var11
/* : Int */;
3944 long var12
/* : Int */;
3945 long var14
/* : Int */;
3946 char* var15
/* : NativeString */;
3947 char* var_target_string
/* var target_string: NativeString */;
3948 char var16
/* : Char */;
3949 long var18
/* : Int */;
3950 long var_current_last
/* var current_last: Int */;
3951 val
* var19
/* : Range[Int] */;
3952 long var20
/* : Int */;
3953 val
* var21
/* : Discrete */;
3954 val
* var22
/* : Discrete */;
3955 val
* var23
/* : Iterator[nullable Object] */;
3956 short int var24
/* : Bool */;
3957 val
* var25
/* : nullable Object */;
3958 long var_iteration
/* var iteration: Int */;
3959 long var26
/* : Int */;
3960 long var27
/* : Int */;
3961 long var29
/* : Int */;
3962 long var31
/* : Int */;
3963 val
* var32
/* : String */;
3966 { /* Inline kernel#Int#>= (var_i,var1) */
3967 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
3968 /* <var1:Int> isa OTHER */
3969 var4
= 1; /* easy <var1:Int> isa OTHER*/
3971 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
3974 var5
= var_i
>= var1
;
3980 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/string.nit", 635);
3983 var6
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3984 var_my_length
= var6
;
3985 { /* Inline kernel#Int#* (var_my_length,var_i) */
3986 var9
= var_my_length
* var_i
;
3991 var_final_length
= var7
;
3992 var10
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3993 var_my_items
= var10
;
3995 { /* Inline kernel#Int#+ (var_final_length,var11) */
3996 var14
= var_final_length
+ var11
;
3999 RET_LABEL13
:(void)0;
4001 var15
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var12
) /* calloc_string on <self:String>*/;
4002 var_target_string
= var15
;
4004 { /* Inline string#NativeString#[]= (var_target_string,var_final_length,var16) */
4005 var_target_string
[var_final_length
]=var16
;
4006 RET_LABEL17
:(void)0;
4009 var_current_last
= var18
;
4010 var19
= NEW_range__Range(&type_range__Rangekernel__Int
);
4012 var21
= BOX_kernel__Int(var20
); /* autobox from Int to Discrete */
4013 var22
= BOX_kernel__Int(var_i
); /* autobox from Int to Discrete */
4014 ((void (*)(val
*, val
*, val
*))(var19
->class->vft
[COLOR_range__Range__init
]))(var19
, var21
, var22
) /* init on <var19:Range[Int]>*/;
4015 CHECK_NEW_range__Range(var19
);
4016 var23
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var19
) /* iterator on <var19:Range[Int]>*/;
4018 var24
= ((short int (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var23
) /* is_ok on <var23:Iterator[nullable Object]>*/;
4020 var25
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var23
) /* item on <var23:Iterator[nullable Object]>*/;
4021 var26
= ((struct instance_kernel__Int
*)var25
)->value
; /* autounbox from nullable Object to Int */;
4022 var_iteration
= var26
;
4024 { /* Inline string#NativeString#copy_to (var_my_items,var_target_string,var_my_length,var27,var_current_last) */
4025 memcpy(var_target_string
+var_current_last
,var_my_items
+var27
,var_my_length
);
4026 RET_LABEL28
:(void)0;
4028 { /* Inline kernel#Int#+ (var_current_last,var_my_length) */
4029 var31
= var_current_last
+ var_my_length
;
4032 RET_LABEL30
:(void)0;
4034 var_current_last
= var29
;
4035 CONTINUE_label
: (void)0;
4036 ((void (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var23
) /* next on <var23:Iterator[nullable Object]>*/;
4038 BREAK_label
: (void)0;
4039 var32
= string__NativeString__to_s_with_length(var_target_string
, var_final_length
);
4045 /* method string#String#* for (self: Object, Int): String */
4046 val
* VIRTUAL_string__String___42d(val
* self
, long p0
) {
4047 val
* var
/* : String */;
4048 val
* var1
/* : String */;
4049 var1
= string__String___42d(self
, p0
);
4054 /* method string#String#to_s for (self: String): String */
4055 val
* string__String__to_s(val
* self
) {
4056 val
* var
/* : String */;
4062 /* method string#String#to_s for (self: Object): String */
4063 val
* VIRTUAL_string__String__to_s(val
* self
) {
4064 val
* var
/* : String */;
4065 val
* var1
/* : String */;
4066 var1
= string__String__to_s(self
);
4071 /* method string#String#hash for (self: String): Int */
4072 long string__String__hash(val
* self
) {
4073 long var
/* : Int */;
4074 long var1
/* : Int */;
4075 long var_h
/* var h: Int */;
4076 long var2
/* : Int */;
4077 long var3
/* : Int */;
4078 long var4
/* : Int */;
4079 long var6
/* : Int */;
4080 long var_i
/* var i: Int */;
4081 char* var7
/* : NativeString */;
4082 char* var_myitems
/* var myitems: NativeString */;
4083 long var8
/* : Int */;
4084 long var_strStart
/* var strStart: Int */;
4085 long var9
/* : Int */;
4086 long var11
/* : Int */;
4087 short int var12
/* : Bool */;
4088 short int var14
/* : Bool */;
4091 short int var15
/* : Bool */;
4092 long var16
/* : Int */;
4093 long var17
/* : Int */;
4094 long var19
/* : Int */;
4095 long var20
/* : Int */;
4096 long var22
/* : Int */;
4097 char* var23
/* : NativeString */;
4098 char var24
/* : Char */;
4099 char var26
/* : Char */;
4100 long var27
/* : Int */;
4101 long var29
/* : Int */;
4102 long var30
/* : Int */;
4103 long var32
/* : Int */;
4104 long var33
/* : Int */;
4105 long var34
/* : Int */;
4106 long var36
/* : Int */;
4109 var2
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
4111 { /* Inline kernel#Int#- (var2,var3) */
4118 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4120 var8
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
4121 var_strStart
= var8
;
4122 { /* Inline kernel#Int#+ (var_i,var_strStart) */
4123 var11
= var_i
+ var_strStart
;
4126 RET_LABEL10
:(void)0;
4130 { /* Inline kernel#Int#>= (var_i,var_strStart) */
4131 /* Covariant cast for argument 0 (i) <var_strStart:Int> isa OTHER */
4132 /* <var_strStart:Int> isa OTHER */
4133 var14
= 1; /* easy <var_strStart:Int> isa OTHER*/
4135 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
4138 var15
= var_i
>= var_strStart
;
4141 RET_LABEL13
:(void)0;
4145 { /* Inline kernel#Int#* (var_h,var16) */
4146 var19
= var_h
* var16
;
4149 RET_LABEL18
:(void)0;
4151 { /* Inline kernel#Int#+ (var17,var_h) */
4152 var22
= var17
+ var_h
;
4155 RET_LABEL21
:(void)0;
4157 var23
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4158 { /* Inline string#NativeString#[] (var23,var_i) */
4159 var26
= var23
[var_i
];
4162 RET_LABEL25
:(void)0;
4164 { /* Inline kernel#Char#ascii (var24) */
4165 var29
= (unsigned char)var24
;
4168 RET_LABEL28
:(void)0;
4170 { /* Inline kernel#Int#+ (var20,var27) */
4171 var32
= var20
+ var27
;
4174 RET_LABEL31
:(void)0;
4178 { /* Inline kernel#Int#- (var_i,var33) */
4179 var36
= var_i
- var33
;
4182 RET_LABEL35
:(void)0;
4185 CONTINUE_label
: (void)0;
4187 BREAK_label
: (void)0;
4193 /* method string#String#hash for (self: Object): Int */
4194 long VIRTUAL_string__String__hash(val
* self
) {
4195 long var
/* : Int */;
4196 long var1
/* : Int */;
4197 var1
= string__String__hash(self
);
4202 /* method string#Buffer#[]= for (self: Buffer, Int, Char) */
4203 void string__Buffer___91d_93d_61d(val
* self
, long p0
, char p1
) {
4204 short int var
/* : Bool */;
4207 long var_index
/* var index: Int */;
4208 char var_item
/* var item: Char */;
4209 long var1
/* : Int */;
4210 short int var2
/* : Bool */;
4211 short int var4
/* : Bool */;
4212 val
* var5
/* : nullable Object */;
4213 short int var6
/* : Bool */;
4214 long var7
/* : Int */;
4215 short int var8
/* : Bool */;
4216 short int var10
/* : Bool */;
4219 short int var13
/* : Bool */;
4220 short int var_
/* var : Bool */;
4221 long var14
/* : Int */;
4222 short int var15
/* : Bool */;
4223 short int var17
/* : Bool */;
4226 short int var20
/* : Bool */;
4227 char* var21
/* : NativeString */;
4228 /* Covariant cast for argument 1 (item) <p1:Char> isa Sequence#0 */
4229 /* <p1:Char> isa Sequence#0 */
4230 var
= 1; /* easy <p1:Char> isa Sequence#0*/
4232 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/string.nit", 688);
4237 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4238 { /* Inline kernel#Int#== (var_index,var1) */
4239 var4
= var_index
== var1
;
4245 var5
= BOX_kernel__Char(var_item
); /* autobox from Char to nullable Object */
4246 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(self
, var5
) /* add on <self:Buffer>*/;
4251 { /* Inline kernel#Int#>= (var_index,var7) */
4252 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
4253 /* <var7:Int> isa OTHER */
4254 var10
= 1; /* easy <var7:Int> isa OTHER*/
4256 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
4259 var13
= var_index
>= var7
;
4266 var14
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4267 { /* Inline kernel#Int#< (var_index,var14) */
4268 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
4269 /* <var14:Int> isa OTHER */
4270 var17
= 1; /* easy <var14:Int> isa OTHER*/
4272 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
4275 var20
= var_index
< var14
;
4278 RET_LABEL16
:(void)0;
4285 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/string.nit", 694);
4288 var21
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4289 { /* Inline string#NativeString#[]= (var21,var_index,var_item) */
4290 var21
[var_index
]=var_item
;
4291 RET_LABEL22
:(void)0;
4295 /* method string#Buffer#[]= for (self: Object, Int, nullable Object) */
4296 void VIRTUAL_string__Buffer___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
4297 char var
/* : Char */;
4298 var
= ((struct instance_kernel__Char
*)p1
)->value
; /* autounbox from nullable Object to Char */;
4299 string__Buffer___91d_93d_61d(self
, p0
, var
);
4302 /* method string#Buffer#add for (self: Buffer, Char) */
4303 void string__Buffer__add(val
* self
, char p0
) {
4304 short int var
/* : Bool */;
4307 char var_c
/* var c: Char */;
4308 long var1
/* : Int */;
4309 long var2
/* : Int */;
4310 short int var3
/* : Bool */;
4311 short int var5
/* : Bool */;
4314 short int var8
/* : Bool */;
4315 long var9
/* : Int */;
4316 long var10
/* : Int */;
4317 long var11
/* : Int */;
4318 long var13
/* : Int */;
4319 char* var14
/* : NativeString */;
4320 long var15
/* : Int */;
4321 val
* var_
/* var : Buffer */;
4322 long var17
/* : Int */;
4323 long var18
/* : Int */;
4324 long var19
/* : Int */;
4325 long var21
/* : Int */;
4326 /* Covariant cast for argument 0 (c) <p0:Char> isa SimpleCollection#0 */
4327 /* <p0:Char> isa SimpleCollection#0 */
4328 var
= 1; /* easy <p0:Char> isa SimpleCollection#0*/
4330 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/string.nit", 698);
4334 var1
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
4335 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4336 { /* Inline kernel#Int#<= (var1,var2) */
4337 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
4338 /* <var2:Int> isa OTHER */
4339 var5
= 1; /* easy <var2:Int> isa OTHER*/
4341 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
4344 var8
= var1
<= var2
;
4350 var9
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4352 { /* Inline kernel#Int#+ (var9,var10) */
4353 var13
= var9
+ var10
;
4356 RET_LABEL12
:(void)0;
4358 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var11
) /* enlarge on <self:Buffer>*/;
4361 var14
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4362 var15
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4363 { /* Inline string#NativeString#[]= (var14,var15,var_c) */
4365 RET_LABEL16
:(void)0;
4368 var17
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:Buffer> */
4370 { /* Inline kernel#Int#+ (var17,var18) */
4371 var21
= var17
+ var18
;
4374 RET_LABEL20
:(void)0;
4376 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var19
; /* _length on <var_:Buffer> */
4379 /* method string#Buffer#add for (self: Object, nullable Object) */
4380 void VIRTUAL_string__Buffer__add(val
* self
, val
* p0
) {
4381 char var
/* : Char */;
4382 var
= ((struct instance_kernel__Char
*)p0
)->value
; /* autounbox from nullable Object to Char */;
4383 string__Buffer__add(self
, var
);
4386 /* method string#Buffer#enlarge for (self: Buffer, Int) */
4387 void string__Buffer__enlarge(val
* self
, long p0
) {
4388 long var_cap
/* var cap: Int */;
4389 long var
/* : Int */;
4390 long var_c
/* var c: Int */;
4391 short int var1
/* : Bool */;
4392 short int var3
/* : Bool */;
4395 short int var4
/* : Bool */;
4396 short int var5
/* : Bool */;
4397 short int var7
/* : Bool */;
4400 short int var10
/* : Bool */;
4401 long var11
/* : Int */;
4402 long var12
/* : Int */;
4403 long var14
/* : Int */;
4404 long var15
/* : Int */;
4405 long var16
/* : Int */;
4406 long var18
/* : Int */;
4407 long var19
/* : Int */;
4408 long var20
/* : Int */;
4409 long var22
/* : Int */;
4410 char* var23
/* : NativeString */;
4411 char* var_a
/* var a: NativeString */;
4412 char* var24
/* : NativeString */;
4413 long var25
/* : Int */;
4414 long var26
/* : Int */;
4415 long var27
/* : Int */;
4417 var
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
4419 { /* Inline kernel#Int#<= (var_cap,var_c) */
4420 /* Covariant cast for argument 0 (i) <var_c:Int> isa OTHER */
4421 /* <var_c:Int> isa OTHER */
4422 var3
= 1; /* easy <var_c:Int> isa OTHER*/
4424 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
4427 var4
= var_cap
<= var_c
;
4437 { /* Inline kernel#Int#<= (var_c,var_cap) */
4438 /* Covariant cast for argument 0 (i) <var_cap:Int> isa OTHER */
4439 /* <var_cap:Int> isa OTHER */
4440 var7
= 1; /* easy <var_cap:Int> isa OTHER*/
4442 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256);
4445 var10
= var_c
<= var_cap
;
4452 { /* Inline kernel#Int#* (var_c,var11) */
4453 var14
= var_c
* var11
;
4456 RET_LABEL13
:(void)0;
4459 { /* Inline kernel#Int#+ (var12,var15) */
4460 var18
= var12
+ var15
;
4463 RET_LABEL17
:(void)0;
4466 CONTINUE_label
: (void)0;
4468 BREAK_label
: (void)0;
4470 { /* Inline kernel#Int#+ (var_c,var19) */
4471 var22
= var_c
+ var19
;
4474 RET_LABEL21
:(void)0;
4476 var23
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var20
) /* calloc_string on <self:Buffer>*/;
4478 var24
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4479 var25
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4482 { /* Inline string#NativeString#copy_to (var24,var_a,var25,var26,var27) */
4483 memcpy(var_a
+var27
,var24
+var26
,var25
);
4484 RET_LABEL28
:(void)0;
4486 self
->attrs
[COLOR_string__AbstractString___items
].str
= var_a
; /* _items on <self:Buffer> */
4487 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var_c
; /* _capacity on <self:Buffer> */
4490 /* method string#Buffer#enlarge for (self: Object, Int) */
4491 void VIRTUAL_string__Buffer__enlarge(val
* self
, long p0
) {
4492 string__Buffer__enlarge(self
, p0
);
4495 /* method string#Buffer#append for (self: Buffer, Collection[Char]) */
4496 void string__Buffer__append(val
* self
, val
* p0
) {
4497 short int var
/* : Bool */;
4500 val
* var_s
/* var s: Collection[Char] */;
4501 short int var1
/* : Bool */;
4504 long var4
/* : Int */;
4505 long var_sl
/* var sl: Int */;
4506 long var5
/* : Int */;
4507 long var6
/* : Int */;
4508 long var7
/* : Int */;
4509 long var9
/* : Int */;
4510 short int var10
/* : Bool */;
4511 short int var12
/* : Bool */;
4514 short int var15
/* : Bool */;
4515 long var16
/* : Int */;
4516 long var17
/* : Int */;
4517 long var19
/* : Int */;
4518 char* var20
/* : NativeString */;
4519 char* var21
/* : NativeString */;
4520 long var22
/* : Int */;
4521 long var23
/* : Int */;
4522 val
* var_
/* var : Buffer */;
4523 long var25
/* : Int */;
4524 long var26
/* : Int */;
4525 long var28
/* : Int */;
4526 /* Covariant cast for argument 0 (s) <p0:Collection[Char]> isa Collection[Sequence#0] */
4527 /* <p0:Collection[Char]> isa Collection[Sequence#0] */
4528 var
= 1; /* easy <p0:Collection[Char]> isa Collection[Sequence#0]*/
4530 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/string.nit", 716);
4534 /* <var_s:Collection[Char]> isa String */
4535 cltype2
= type_string__String
.color
;
4536 idtype3
= type_string__String
.id
;
4537 if(cltype2
>= var_s
->type
->table_size
) {
4540 var1
= var_s
->type
->type_table
[cltype2
] == idtype3
;
4543 var4
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:Collection[Char](String)>*/;
4545 var5
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
4546 var6
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
4547 { /* Inline kernel#Int#+ (var6,var_sl) */
4548 var9
= var6
+ var_sl
;
4553 { /* Inline kernel#Int#< (var5,var7) */
4554 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
4555 /* <var7:Int> isa OTHER */
4556 var12
= 1; /* easy <var7:Int> isa OTHER*/
4558 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
4561 var15
= var5
< var7
;
4564 RET_LABEL11
:(void)0;
4567 var16
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
4568 { /* Inline kernel#Int#+ (var16,var_sl) */
4569 var19
= var16
+ var_sl
;
4572 RET_LABEL18
:(void)0;
4574 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var17
) /* enlarge on <self:Buffer>*/;
4577 var20
= ((char* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__items
]))(var_s
) /* items on <var_s:Collection[Char](String)>*/;
4578 var21
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4579 var22
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:Collection[Char](String)> */
4580 var23
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
4581 { /* Inline string#NativeString#copy_to (var20,var21,var_sl,var22,var23) */
4582 memcpy(var21
+var23
,var20
+var22
,var_sl
);
4583 RET_LABEL24
:(void)0;
4586 var25
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:Buffer> */
4587 { /* Inline kernel#Int#+ (var25,var_sl) */
4588 var28
= var25
+ var_sl
;
4591 RET_LABEL27
:(void)0;
4593 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var26
; /* _length on <var_:Buffer> */
4595 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_string__Buffer__append
]))(self
, p0
) /* append on <self:Buffer>*/;
4599 /* method string#Buffer#append for (self: Object, Collection[nullable Object]) */
4600 void VIRTUAL_string__Buffer__append(val
* self
, val
* p0
) {
4601 string__Buffer__append(self
, p0
);
4604 /* method string#Buffer#to_s for (self: Buffer): String */
4605 val
* string__Buffer__to_s(val
* self
) {
4606 val
* var
/* : String */;
4607 long var1
/* : Int */;
4608 long var_l
/* var l: Int */;
4609 long var2
/* : Int */;
4610 long var3
/* : Int */;
4611 long var5
/* : Int */;
4612 char* var6
/* : NativeString */;
4613 char* var_a
/* var a: NativeString */;
4614 char* var7
/* : NativeString */;
4615 long var8
/* : Int */;
4616 long var9
/* : Int */;
4617 long var11
/* : Int */;
4618 char var12
/* : Char */;
4619 long var14
/* : Int */;
4620 val
* var15
/* : String */;
4621 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4624 { /* Inline kernel#Int#+ (var_l,var2) */
4625 var5
= var_l
+ var2
;
4630 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:Buffer>*/;
4632 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4635 { /* Inline string#NativeString#copy_to (var7,var_a,var_l,var8,var9) */
4636 memcpy(var_a
+var9
,var7
+var8
,var_l
);
4637 RET_LABEL10
:(void)0;
4639 var11
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4641 { /* Inline string#NativeString#[]= (var_a,var11,var12) */
4643 RET_LABEL13
:(void)0;
4645 var14
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4646 var15
= string__NativeString__to_s_with_length(var_a
, var14
);
4652 /* method string#Buffer#to_s for (self: Object): String */
4653 val
* VIRTUAL_string__Buffer__to_s(val
* self
) {
4654 val
* var
/* : String */;
4655 val
* var1
/* : String */;
4656 var1
= string__Buffer__to_s(self
);
4661 /* method string#Buffer#< for (self: Buffer, String): Bool */
4662 short int string__Buffer___60d(val
* self
, val
* p0
) {
4663 short int var
/* : Bool */;
4664 short int var1
/* : Bool */;
4667 const struct type
* type_struct
;
4668 val
* var_s
/* var s: String */;
4669 long var2
/* : Int */;
4670 long var_i
/* var i: Int */;
4671 long var3
/* : Int */;
4672 long var_l1
/* var l1: Int */;
4673 long var4
/* : Int */;
4674 long var_l2
/* var l2: Int */;
4675 short int var5
/* : Bool */;
4676 short int var6
/* : Bool */;
4677 short int var8
/* : Bool */;
4680 short int var11
/* : Bool */;
4681 short int var_
/* var : Bool */;
4682 short int var12
/* : Bool */;
4683 short int var14
/* : Bool */;
4686 short int var17
/* : Bool */;
4687 val
* var18
/* : nullable Object */;
4688 long var19
/* : Int */;
4689 char var21
/* : Char */;
4690 long var22
/* : Int */;
4691 long var_c1
/* var c1: Int */;
4692 val
* var23
/* : nullable Object */;
4693 long var24
/* : Int */;
4694 char var26
/* : Char */;
4695 long var27
/* : Int */;
4696 long var_c2
/* var c2: Int */;
4697 short int var28
/* : Bool */;
4698 short int var30
/* : Bool */;
4701 short int var33
/* : Bool */;
4702 short int var34
/* : Bool */;
4703 short int var35
/* : Bool */;
4704 short int var37
/* : Bool */;
4707 short int var40
/* : Bool */;
4708 short int var41
/* : Bool */;
4709 long var42
/* : Int */;
4710 long var43
/* : Int */;
4711 long var45
/* : Int */;
4712 short int var46
/* : Bool */;
4713 short int var48
/* : Bool */;
4716 short int var51
/* : Bool */;
4717 short int var52
/* : Bool */;
4718 short int var53
/* : Bool */;
4719 /* Covariant cast for argument 0 (s) <p0:String> isa OTHER */
4720 /* <p0:String> isa OTHER */
4721 type_struct
= self
->type
->resolution_table
->types
[COLOR_kernel__Comparable_VTOTHER
];
4722 cltype
= type_struct
->color
;
4723 idtype
= type_struct
->id
;
4724 if(cltype
>= p0
->type
->table_size
) {
4727 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4730 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/string.nit", 740);
4736 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4738 var4
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
4741 { /* Inline kernel#Int#< (var_i,var_l1) */
4742 /* Covariant cast for argument 0 (i) <var_l1:Int> isa OTHER */
4743 /* <var_l1:Int> isa OTHER */
4744 var8
= 1; /* easy <var_l1:Int> isa OTHER*/
4746 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
4749 var11
= var_i
< var_l1
;
4756 { /* Inline kernel#Int#< (var_i,var_l2) */
4757 /* Covariant cast for argument 0 (i) <var_l2:Int> isa OTHER */
4758 /* <var_l2:Int> isa OTHER */
4759 var14
= 1; /* easy <var_l2:Int> isa OTHER*/
4761 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
4764 var17
= var_i
< var_l2
;
4767 RET_LABEL13
:(void)0;
4774 var18
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:Buffer>*/;
4775 { /* Inline kernel#Char#ascii (var18) */
4776 var21
= ((struct instance_kernel__Char
*)var18
)->value
; /* autounbox from nullable Object to Char */;
4777 var22
= (unsigned char)var21
;
4780 RET_LABEL20
:(void)0;
4783 var23
= ((val
* (*)(val
*, long))(var_s
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_s
, var_i
) /* [] on <var_s:String>*/;
4784 { /* Inline kernel#Char#ascii (var23) */
4785 var26
= ((struct instance_kernel__Char
*)var23
)->value
; /* autounbox from nullable Object to Char */;
4786 var27
= (unsigned char)var26
;
4789 RET_LABEL25
:(void)0;
4792 { /* Inline kernel#Int#< (var_c1,var_c2) */
4793 /* Covariant cast for argument 0 (i) <var_c2:Int> isa OTHER */
4794 /* <var_c2:Int> isa OTHER */
4795 var30
= 1; /* easy <var_c2:Int> isa OTHER*/
4797 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
4800 var33
= var_c1
< var_c2
;
4803 RET_LABEL29
:(void)0;
4810 { /* Inline kernel#Int#< (var_c2,var_c1) */
4811 /* Covariant cast for argument 0 (i) <var_c1:Int> isa OTHER */
4812 /* <var_c1:Int> isa OTHER */
4813 var37
= 1; /* easy <var_c1:Int> isa OTHER*/
4815 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
4818 var40
= var_c2
< var_c1
;
4821 RET_LABEL36
:(void)0;
4831 { /* Inline kernel#Int#+ (var_i,var42) */
4832 var45
= var_i
+ var42
;
4835 RET_LABEL44
:(void)0;
4838 CONTINUE_label
: (void)0;
4840 BREAK_label
: (void)0;
4841 { /* Inline kernel#Int#< (var_l1,var_l2) */
4842 /* Covariant cast for argument 0 (i) <var_l2:Int> isa OTHER */
4843 /* <var_l2:Int> isa OTHER */
4844 var48
= 1; /* easy <var_l2:Int> isa OTHER*/
4846 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
4849 var51
= var_l1
< var_l2
;
4852 RET_LABEL47
:(void)0;
4866 /* method string#Buffer#< for (self: Object, Comparable): Bool */
4867 short int VIRTUAL_string__Buffer___60d(val
* self
, val
* p0
) {
4868 short int var
/* : Bool */;
4869 short int var1
/* : Bool */;
4870 var1
= string__Buffer___60d(self
, p0
);
4875 /* method string#Buffer#init for (self: Buffer) */
4876 void string__Buffer__init(val
* self
) {
4877 long var
/* : Int */;
4879 ((void (*)(val
*, long))(self
->class->vft
[COLOR_string__Buffer__with_capacity
]))(self
, var
) /* with_capacity on <self:Buffer>*/;
4882 /* method string#Buffer#init for (self: Object) */
4883 void VIRTUAL_string__Buffer__init(val
* self
) {
4884 string__Buffer__init(self
);
4887 /* method string#Buffer#from for (self: Buffer, String) */
4888 void string__Buffer__from(val
* self
, val
* p0
) {
4889 val
* var_s
/* var s: String */;
4890 long var
/* : Int */;
4891 long var1
/* : Int */;
4892 long var2
/* : Int */;
4893 long var4
/* : Int */;
4894 long var5
/* : Int */;
4895 long var6
/* : Int */;
4896 char* var7
/* : NativeString */;
4897 char* var8
/* : NativeString */;
4898 char* var9
/* : NativeString */;
4899 long var10
/* : Int */;
4900 long var11
/* : Int */;
4901 long var12
/* : Int */;
4903 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:Buffer>*/;
4904 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Buffer>*/;
4905 var
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
4907 { /* Inline kernel#Int#+ (var,var1) */
4913 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var2
; /* _capacity on <self:Buffer> */
4914 var5
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
4915 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var5
; /* _length on <self:Buffer> */
4916 var6
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
4917 var7
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var6
) /* calloc_string on <self:Buffer>*/;
4918 self
->attrs
[COLOR_string__AbstractString___items
].str
= var7
; /* _items on <self:Buffer> */
4919 var8
= ((char* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__items
]))(var_s
) /* items on <var_s:String>*/;
4920 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4921 var10
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
4922 var11
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:String> */
4924 { /* Inline string#NativeString#copy_to (var8,var9,var10,var11,var12) */
4925 memcpy(var9
+var12
,var8
+var11
,var10
);
4926 RET_LABEL13
:(void)0;
4930 /* method string#Buffer#from for (self: Object, String) */
4931 void VIRTUAL_string__Buffer__from(val
* self
, val
* p0
) {
4932 string__Buffer__from(self
, p0
);
4935 /* method string#Buffer#with_capacity for (self: Buffer, Int) */
4936 void string__Buffer__with_capacity(val
* self
, long p0
) {
4937 long var_cap
/* var cap: Int */;
4938 long var
/* : Int */;
4939 short int var1
/* : Bool */;
4940 short int var3
/* : Bool */;
4943 short int var4
/* : Bool */;
4944 long var5
/* : Int */;
4945 long var6
/* : Int */;
4946 long var8
/* : Int */;
4947 char* var9
/* : NativeString */;
4948 long var10
/* : Int */;
4950 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:Buffer>*/;
4951 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Buffer>*/;
4953 { /* Inline kernel#Int#>= (var_cap,var) */
4954 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
4955 /* <var:Int> isa OTHER */
4956 var3
= 1; /* easy <var:Int> isa OTHER*/
4958 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
4961 var4
= var_cap
>= var
;
4967 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/string.nit", 779);
4971 { /* Inline kernel#Int#+ (var_cap,var5) */
4972 var8
= var_cap
+ var5
;
4977 var9
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var6
) /* calloc_string on <self:Buffer>*/;
4978 self
->attrs
[COLOR_string__AbstractString___items
].str
= var9
; /* _items on <self:Buffer> */
4979 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var_cap
; /* _capacity on <self:Buffer> */
4981 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var10
; /* _length on <self:Buffer> */
4984 /* method string#Buffer#with_capacity for (self: Object, Int) */
4985 void VIRTUAL_string__Buffer__with_capacity(val
* self
, long p0
) {
4986 string__Buffer__with_capacity(self
, p0
);
4989 /* method string#Buffer#== for (self: Buffer, nullable Object): Bool */
4990 short int string__Buffer___61d_61d(val
* self
, val
* p0
) {
4991 short int var
/* : Bool */;
4992 val
* var_o
/* var o: nullable Object */;
4993 short int var1
/* : Bool */;
4994 short int var2
/* : Bool */;
4997 short int var3
/* : Bool */;
4998 short int var_
/* var : Bool */;
4999 val
* var4
/* : null */;
5000 short int var5
/* : Bool */;
5001 short int var6
/* : Bool */;
5002 long var7
/* : Int */;
5003 long var_l
/* var l: Int */;
5004 long var8
/* : Int */;
5005 short int var9
/* : Bool */;
5006 short int var11
/* : Bool */;
5007 short int var12
/* : Bool */;
5008 short int var13
/* : Bool */;
5009 long var14
/* : Int */;
5010 long var_i
/* var i: Int */;
5011 char* var15
/* : NativeString */;
5012 char* var_it
/* var it: NativeString */;
5013 char* var16
/* : NativeString */;
5014 char* var_oit
/* var oit: NativeString */;
5015 short int var17
/* : Bool */;
5016 short int var19
/* : Bool */;
5019 short int var22
/* : Bool */;
5020 char var23
/* : Char */;
5021 char var25
/* : Char */;
5022 char var26
/* : Char */;
5023 char var28
/* : Char */;
5024 short int var29
/* : Bool */;
5025 short int var31
/* : Bool */;
5026 short int var32
/* : Bool */;
5027 short int var33
/* : Bool */;
5028 long var34
/* : Int */;
5029 long var35
/* : Int */;
5030 long var37
/* : Int */;
5031 short int var38
/* : Bool */;
5033 /* <var_o:nullable Object> isa Buffer */
5034 cltype
= type_string__Buffer
.color
;
5035 idtype
= type_string__Buffer
.id
;
5039 if(cltype
>= var_o
->type
->table_size
) {
5042 var2
= var_o
->type
->type_table
[cltype
] == idtype
;
5051 var5
= var_o
== var4
;
5060 var7
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5062 var8
= ((long (*)(val
*))(var_o
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_o
) /* length on <var_o:nullable Object(Buffer)>*/;
5063 { /* Inline kernel#Int#!= (var8,var_l) */
5064 var11
= var8
== var_l
;
5068 RET_LABEL10
:(void)0;
5078 var15
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5080 var16
= var_o
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_o:nullable Object(Buffer)> */
5083 { /* Inline kernel#Int#< (var_i,var_l) */
5084 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
5085 /* <var_l:Int> isa OTHER */
5086 var19
= 1; /* easy <var_l:Int> isa OTHER*/
5088 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
5091 var22
= var_i
< var_l
;
5094 RET_LABEL18
:(void)0;
5097 { /* Inline string#NativeString#[] (var_it,var_i) */
5098 var25
= var_it
[var_i
];
5101 RET_LABEL24
:(void)0;
5103 { /* Inline string#NativeString#[] (var_oit,var_i) */
5104 var28
= var_oit
[var_i
];
5107 RET_LABEL27
:(void)0;
5109 { /* Inline kernel#Char#!= (var23,var26) */
5110 var31
= var23
== var26
;
5114 RET_LABEL30
:(void)0;
5123 { /* Inline kernel#Int#+ (var_i,var34) */
5124 var37
= var_i
+ var34
;
5127 RET_LABEL36
:(void)0;
5130 CONTINUE_label
: (void)0;
5132 BREAK_label
: (void)0;
5139 /* method string#Buffer#== for (self: Object, nullable Object): Bool */
5140 short int VIRTUAL_string__Buffer___61d_61d(val
* self
, val
* p0
) {
5141 short int var
/* : Bool */;
5142 short int var1
/* : Bool */;
5143 var1
= string__Buffer___61d_61d(self
, p0
);
5148 /* method string#Buffer#capacity for (self: Buffer): Int */
5149 long string__Buffer__capacity(val
* self
) {
5150 long var
/* : Int */;
5151 long var1
/* : Int */;
5152 var1
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
5157 /* method string#Buffer#capacity for (self: Object): Int */
5158 long VIRTUAL_string__Buffer__capacity(val
* self
) {
5159 long var
/* : Int */;
5160 long var1
/* : Int */;
5161 var1
= string__Buffer__capacity(self
);
5166 /* method string#Object#to_s for (self: Object): String */
5167 val
* string__Object__to_s(val
* self
) {
5168 val
* var
/* : String */;
5169 val
* var1
/* : String */;
5170 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__inspect
]))(self
) /* inspect on <self:Object>*/;
5176 /* method string#Object#to_s for (self: Object): String */
5177 val
* VIRTUAL_string__Object__to_s(val
* self
) {
5178 val
* var
/* : String */;
5179 val
* var1
/* : String */;
5180 var1
= string__Object__to_s(self
);
5185 /* method string#Object#native_class_name for (self: Object): NativeString */
5186 char* string__Object__native_class_name(val
* self
) {
5187 char* var
/* : NativeString */;
5188 const char* var_class_name
;
5189 char* var1
/* : NativeString */;
5190 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
5191 var1
= (char*)var_class_name
;
5197 /* method string#Object#native_class_name for (self: Object): NativeString */
5198 char* VIRTUAL_string__Object__native_class_name(val
* self
) {
5199 char* var
/* : NativeString */;
5200 char* var1
/* : NativeString */;
5201 const char* var_class_name
;
5202 char* var3
/* : NativeString */;
5203 { /* Inline string#Object#native_class_name (self) */
5204 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
5205 var3
= (char*)var_class_name
;
5214 /* method string#Object#class_name for (self: Object): String */
5215 val
* string__Object__class_name(val
* self
) {
5216 val
* var
/* : String */;
5217 char* var1
/* : NativeString */;
5218 val
* var2
/* : String */;
5219 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__Object__native_class_name
]))(self
) /* native_class_name on <self:Object>*/;
5220 var2
= string__NativeString__to_s(var1
);
5226 /* method string#Object#class_name for (self: Object): String */
5227 val
* VIRTUAL_string__Object__class_name(val
* self
) {
5228 val
* var
/* : String */;
5229 val
* var1
/* : String */;
5230 var1
= string__Object__class_name(self
);
5235 /* method string#Object#inspect for (self: Object): String */
5236 val
* string__Object__inspect(val
* self
) {
5237 val
* var
/* : String */;
5238 val
* var1
/* : Array[Object] */;
5239 long var2
/* : Int */;
5240 val
* var_
/* var : Array[Object] */;
5241 static val
* varonce
;
5242 val
* var3
/* : String */;
5243 char* var4
/* : NativeString */;
5244 long var5
/* : Int */;
5245 val
* var6
/* : String */;
5246 val
* var7
/* : String */;
5247 static val
* varonce8
;
5248 val
* var9
/* : String */;
5249 char* var10
/* : NativeString */;
5250 long var11
/* : Int */;
5251 val
* var12
/* : String */;
5252 val
* var13
/* : String */;
5253 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
5255 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
5256 CHECK_NEW_array__Array(var1
);
5263 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5267 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
5268 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__inspect_head
]))(self
) /* inspect_head on <self:Object>*/;
5269 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
5275 var12
= string__NativeString__to_s_with_length(var10
, var11
);
5279 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
5280 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
5286 /* method string#Object#inspect for (self: Object): String */
5287 val
* VIRTUAL_string__Object__inspect(val
* self
) {
5288 val
* var
/* : String */;
5289 val
* var1
/* : String */;
5290 var1
= string__Object__inspect(self
);
5295 /* method string#Object#inspect_head for (self: Object): String */
5296 val
* string__Object__inspect_head(val
* self
) {
5297 val
* var
/* : String */;
5298 val
* var1
/* : Array[Object] */;
5299 long var2
/* : Int */;
5300 val
* var_
/* var : Array[Object] */;
5301 static val
* varonce
;
5302 val
* var3
/* : String */;
5303 char* var4
/* : NativeString */;
5304 long var5
/* : Int */;
5305 val
* var6
/* : String */;
5306 val
* var7
/* : String */;
5307 static val
* varonce8
;
5308 val
* var9
/* : String */;
5309 char* var10
/* : NativeString */;
5310 long var11
/* : Int */;
5311 val
* var12
/* : String */;
5312 long var13
/* : Int */;
5313 val
* var14
/* : String */;
5314 static val
* varonce15
;
5315 val
* var16
/* : String */;
5316 char* var17
/* : NativeString */;
5317 long var18
/* : Int */;
5318 val
* var19
/* : String */;
5319 val
* var20
/* : String */;
5320 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
5322 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
5323 CHECK_NEW_array__Array(var1
);
5330 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5334 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
5335 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__class_name
]))(self
) /* class_name on <self:Object>*/;
5336 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
5342 var12
= string__NativeString__to_s_with_length(var10
, var11
);
5346 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
5347 var13
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:Object>*/;
5348 var14
= string__Int__to_hex(var13
);
5349 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
5355 var19
= string__NativeString__to_s_with_length(var17
, var18
);
5359 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
5360 var20
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
5366 /* method string#Object#inspect_head for (self: Object): String */
5367 val
* VIRTUAL_string__Object__inspect_head(val
* self
) {
5368 val
* var
/* : String */;
5369 val
* var1
/* : String */;
5370 var1
= string__Object__inspect_head(self
);
5375 /* method string#Object#args for (self: Object): Sequence[String] */
5376 val
* string__Object__args(val
* self
) {
5377 val
* var
/* : Sequence[String] */;
5378 val
* var1
/* : Sys */;
5379 val
* var2
/* : Sequence[String] */;
5380 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:Object>*/;
5381 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_string__Object__args
]))(var1
) /* args on <var1:Sys>*/;
5387 /* method string#Object#args for (self: Object): Sequence[String] */
5388 val
* VIRTUAL_string__Object__args(val
* self
) {
5389 val
* var
/* : Sequence[String] */;
5390 val
* var1
/* : Sequence[String] */;
5391 var1
= string__Object__args(self
);
5396 /* method string#Bool#to_s for (self: Bool): String */
5397 val
* string__Bool__to_s(short int self
) {
5398 val
* var
/* : String */;
5399 static val
* varonce
;
5400 static int varonce_guard
;
5401 val
* var1
/* : String */;
5402 static val
* varonce2
;
5403 val
* var3
/* : String */;
5404 char* var4
/* : NativeString */;
5405 long var5
/* : Int */;
5406 val
* var6
/* : String */;
5407 static val
* varonce7
;
5408 static int varonce7_guard
;
5409 val
* var8
/* : String */;
5410 static val
* varonce9
;
5411 val
* var10
/* : String */;
5412 char* var11
/* : NativeString */;
5413 long var12
/* : Int */;
5414 val
* var13
/* : String */;
5416 if (varonce_guard
) {
5424 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5435 if (varonce7_guard
) {
5443 var13
= string__NativeString__to_s_with_length(var11
, var12
);
5457 /* method string#Bool#to_s for (self: Object): String */
5458 val
* VIRTUAL_string__Bool__to_s(val
* self
) {
5459 val
* var
/* : String */;
5460 val
* var1
/* : String */;
5461 short int var2
/* : Bool */;
5462 var2
= ((struct instance_kernel__Bool
*)self
)->value
; /* autounbox from Object to Bool */;
5463 var1
= string__Bool__to_s(var2
);
5468 /* method string#Int#fill_buffer for (self: Int, Buffer, Int, Bool) */
5469 void string__Int__fill_buffer(long self
, val
* p0
, long p1
, short int p2
) {
5470 val
* var_s
/* var s: Buffer */;
5471 long var_base
/* var base: Int */;
5472 short int var_signed
/* var signed: Bool */;
5473 long var
/* : Int */;
5474 short int var1
/* : Bool */;
5475 short int var3
/* : Bool */;
5478 short int var4
/* : Bool */;
5479 long var5
/* : Int */;
5480 long var7
/* : Int */;
5481 long var_n
/* var n: Int */;
5482 long var8
/* : Int */;
5483 char var9
/* : Char */;
5484 val
* var10
/* : nullable Object */;
5485 long var11
/* : Int */;
5486 short int var12
/* : Bool */;
5487 short int var14
/* : Bool */;
5488 long var15
/* : Int */;
5489 char var16
/* : Char */;
5490 val
* var17
/* : nullable Object */;
5491 long var18
/* : Int */;
5492 long var19
/* : Int */;
5493 long var20
/* : Int */;
5494 long var22
/* : Int */;
5495 long var_pos
/* var pos: Int */;
5496 short int var23
/* : Bool */;
5497 long var24
/* : Int */;
5498 short int var25
/* : Bool */;
5499 short int var27
/* : Bool */;
5502 short int var30
/* : Bool */;
5503 short int var_
/* var : Bool */;
5504 long var31
/* : Int */;
5505 short int var32
/* : Bool */;
5506 short int var34
/* : Bool */;
5509 short int var37
/* : Bool */;
5510 long var38
/* : Int */;
5511 long var40
/* : Int */;
5512 char var41
/* : Char */;
5513 val
* var42
/* : nullable Object */;
5514 long var43
/* : Int */;
5515 long var45
/* : Int */;
5516 long var46
/* : Int */;
5517 long var47
/* : Int */;
5518 long var49
/* : Int */;
5523 { /* Inline kernel#Int#< (self,var) */
5524 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
5525 /* <var:Int> isa OTHER */
5526 var3
= 1; /* easy <var:Int> isa OTHER*/
5528 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
5537 { /* Inline kernel#Int#unary - (self) */
5546 var10
= BOX_kernel__Char(var9
); /* autobox from Char to nullable Object */
5547 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var8
, var10
) /* []= on <var_s:Buffer>*/;
5550 { /* Inline kernel#Int#== (self,var11) */
5551 var14
= self
== var11
;
5554 RET_LABEL13
:(void)0;
5559 var17
= BOX_kernel__Char(var16
); /* autobox from Char to nullable Object */
5560 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var15
, var17
) /* []= on <var_s:Buffer>*/;
5566 var18
= kernel__Int__digit_count(self
, var_base
);
5568 { /* Inline kernel#Int#- (var18,var19) */
5569 var22
= var18
- var19
;
5572 RET_LABEL21
:(void)0;
5577 { /* Inline kernel#Int#>= (var_pos,var24) */
5578 /* Covariant cast for argument 0 (i) <var24:Int> isa OTHER */
5579 /* <var24:Int> isa OTHER */
5580 var27
= 1; /* easy <var24:Int> isa OTHER*/
5582 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
5585 var30
= var_pos
>= var24
;
5588 RET_LABEL26
:(void)0;
5593 { /* Inline kernel#Int#> (var_n,var31) */
5594 /* Covariant cast for argument 0 (i) <var31:Int> isa OTHER */
5595 /* <var31:Int> isa OTHER */
5596 var34
= 1; /* easy <var31:Int> isa OTHER*/
5598 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
5601 var37
= var_n
> var31
;
5604 RET_LABEL33
:(void)0;
5611 { /* Inline kernel#Int#% (var_n,var_base) */
5612 var40
= var_n
% var_base
;
5615 RET_LABEL39
:(void)0;
5617 var41
= kernel__Int__to_c(var38
);
5618 var42
= BOX_kernel__Char(var41
); /* autobox from Char to nullable Object */
5619 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var_pos
, var42
) /* []= on <var_s:Buffer>*/;
5620 { /* Inline kernel#Int#/ (var_n,var_base) */
5621 var45
= var_n
/ var_base
;
5624 RET_LABEL44
:(void)0;
5628 { /* Inline kernel#Int#- (var_pos,var46) */
5629 var49
= var_pos
- var46
;
5632 RET_LABEL48
:(void)0;
5635 CONTINUE_label
: (void)0;
5637 BREAK_label
: (void)0;
5640 /* method string#Int#fill_buffer for (self: Object, Buffer, Int, Bool) */
5641 void VIRTUAL_string__Int__fill_buffer(val
* self
, val
* p0
, long p1
, short int p2
) {
5642 long var
/* : Int */;
5643 var
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5644 string__Int__fill_buffer(var
, p0
, p1
, p2
);
5647 /* method string#Int#native_int_to_s for (self: Int, Int): NativeString */
5648 char* string__Int__native_int_to_s(long self
, long p0
) {
5649 char* var
/* : NativeString */;
5650 char* var1
/* : NativeString */;
5651 var1
= native_int_to_s(self
, p0
);
5657 /* method string#Int#native_int_to_s for (self: Object, Int): NativeString */
5658 char* VIRTUAL_string__Int__native_int_to_s(val
* self
, long p0
) {
5659 char* var
/* : NativeString */;
5660 char* var1
/* : NativeString */;
5661 long var2
/* : Int */;
5662 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5663 var1
= string__Int__native_int_to_s(var2
, p0
);
5668 /* method string#Int#to_s for (self: Int): String */
5669 val
* string__Int__to_s(long self
) {
5670 val
* var
/* : String */;
5671 long var1
/* : Int */;
5672 long var2
/* : Int */;
5673 long var_len
/* var len: Int */;
5674 char* var3
/* : NativeString */;
5675 val
* var4
/* : String */;
5677 var2
= kernel__Int__digit_count(self
, var1
);
5679 var3
= string__Int__native_int_to_s(self
, var_len
);
5680 var4
= string__NativeString__to_s_with_length(var3
, var_len
);
5686 /* method string#Int#to_s for (self: Object): String */
5687 val
* VIRTUAL_string__Int__to_s(val
* self
) {
5688 val
* var
/* : String */;
5689 val
* var1
/* : String */;
5690 long var2
/* : Int */;
5691 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5692 var1
= string__Int__to_s(var2
);
5697 /* method string#Int#to_hex for (self: Int): String */
5698 val
* string__Int__to_hex(long self
) {
5699 val
* var
/* : String */;
5700 long var1
/* : Int */;
5701 short int var2
/* : Bool */;
5702 val
* var3
/* : String */;
5705 var3
= string__Int__to_base(self
, var1
, var2
);
5711 /* method string#Int#to_hex for (self: Object): String */
5712 val
* VIRTUAL_string__Int__to_hex(val
* self
) {
5713 val
* var
/* : String */;
5714 val
* var1
/* : String */;
5715 long var2
/* : Int */;
5716 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5717 var1
= string__Int__to_hex(var2
);
5722 /* method string#Int#to_base for (self: Int, Int, Bool): String */
5723 val
* string__Int__to_base(long self
, long p0
, short int p1
) {
5724 val
* var
/* : String */;
5725 long var_base
/* var base: Int */;
5726 short int var_signed
/* var signed: Bool */;
5727 long var1
/* : Int */;
5728 long var_l
/* var l: Int */;
5729 val
* var2
/* : Buffer */;
5730 static val
* varonce
;
5731 val
* var3
/* : String */;
5732 char* var4
/* : NativeString */;
5733 long var5
/* : Int */;
5734 val
* var6
/* : String */;
5735 val
* var7
/* : String */;
5736 val
* var_s
/* var s: Buffer */;
5737 val
* var8
/* : String */;
5740 var1
= kernel__Int__digit_count(self
, var_base
);
5742 var2
= NEW_string__Buffer(&type_string__Buffer
);
5748 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5752 var7
= ((val
* (*)(val
*, long))(var3
->class->vft
[COLOR_string__String___42d
]))(var3
, var_l
) /* * on <var3:String>*/;
5753 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_string__Buffer__from
]))(var2
, var7
) /* from on <var2:Buffer>*/;
5754 CHECK_NEW_string__Buffer(var2
);
5756 string__Int__fill_buffer(self
, var_s
, var_base
, var_signed
);
5757 var8
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
5763 /* method string#Int#to_base for (self: Object, Int, Bool): String */
5764 val
* VIRTUAL_string__Int__to_base(val
* self
, long p0
, short int p1
) {
5765 val
* var
/* : String */;
5766 val
* var1
/* : String */;
5767 long var2
/* : Int */;
5768 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5769 var1
= string__Int__to_base(var2
, p0
, p1
);
5774 /* method string#Float#to_s for (self: Float): String */
5775 val
* string__Float__to_s(double self
) {
5776 val
* var
/* : String */;
5777 long var1
/* : Int */;
5778 val
* var2
/* : String */;
5779 val
* var_str
/* var str: String */;
5780 long var3
/* : Int */;
5781 long var_len
/* var len: Int */;
5782 val
* var4
/* : Range[Int] */;
5783 long var5
/* : Int */;
5784 long var6
/* : Int */;
5785 long var7
/* : Int */;
5786 long var9
/* : Int */;
5787 val
* var10
/* : Discrete */;
5788 val
* var11
/* : Discrete */;
5789 val
* var12
/* : Iterator[nullable Object] */;
5790 short int var13
/* : Bool */;
5791 val
* var14
/* : nullable Object */;
5792 long var_i
/* var i: Int */;
5793 long var15
/* : Int */;
5794 long var16
/* : Int */;
5795 long var17
/* : Int */;
5796 long var19
/* : Int */;
5797 long var20
/* : Int */;
5798 long var22
/* : Int */;
5799 long var_j
/* var j: Int */;
5800 val
* var23
/* : nullable Object */;
5801 char var24
/* : Char */;
5802 char var_c
/* var c: Char */;
5803 char var25
/* : Char */;
5804 short int var26
/* : Bool */;
5805 short int var28
/* : Bool */;
5806 char var29
/* : Char */;
5807 short int var30
/* : Bool */;
5808 short int var32
/* : Bool */;
5809 long var33
/* : Int */;
5810 long var34
/* : Int */;
5811 long var35
/* : Int */;
5812 long var37
/* : Int */;
5813 val
* var38
/* : String */;
5814 long var39
/* : Int */;
5815 long var40
/* : Int */;
5816 long var41
/* : Int */;
5817 long var43
/* : Int */;
5818 val
* var44
/* : String */;
5820 var2
= string__Float__to_precision(self
, var1
);
5822 var3
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
5824 var4
= NEW_range__Range(&type_range__Rangekernel__Int
);
5827 { /* Inline kernel#Int#- (var_len,var6) */
5828 var9
= var_len
- var6
;
5833 var10
= BOX_kernel__Int(var5
); /* autobox from Int to Discrete */
5834 var11
= BOX_kernel__Int(var7
); /* autobox from Int to Discrete */
5835 ((void (*)(val
*, val
*, val
*))(var4
->class->vft
[COLOR_range__Range__init
]))(var4
, var10
, var11
) /* init on <var4:Range[Int]>*/;
5836 CHECK_NEW_range__Range(var4
);
5837 var12
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:Range[Int]>*/;
5839 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
5841 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
5842 var15
= ((struct instance_kernel__Int
*)var14
)->value
; /* autounbox from nullable Object to Int */;
5845 { /* Inline kernel#Int#- (var_len,var16) */
5846 var19
= var_len
- var16
;
5849 RET_LABEL18
:(void)0;
5851 { /* Inline kernel#Int#- (var17,var_i) */
5852 var22
= var17
- var_i
;
5855 RET_LABEL21
:(void)0;
5858 var23
= ((val
* (*)(val
*, long))(var_str
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_str
, var_j
) /* [] on <var_str:String>*/;
5859 var24
= ((struct instance_kernel__Char
*)var23
)->value
; /* autounbox from nullable Object to Char */;
5862 { /* Inline kernel#Char#== (var_c,var25) */
5863 var28
= var_c
== var25
;
5866 RET_LABEL27
:(void)0;
5869 goto CONTINUE_label
;
5872 { /* Inline kernel#Char#== (var_c,var29) */
5873 var32
= var_c
== var29
;
5876 RET_LABEL31
:(void)0;
5881 { /* Inline kernel#Int#+ (var_j,var34) */
5882 var37
= var_j
+ var34
;
5885 RET_LABEL36
:(void)0;
5887 var38
= ((val
* (*)(val
*, long, long))(var_str
->class->vft
[COLOR_string__AbstractString__substring
]))(var_str
, var33
, var35
) /* substring on <var_str:String>*/;
5893 { /* Inline kernel#Int#+ (var_j,var40) */
5894 var43
= var_j
+ var40
;
5897 RET_LABEL42
:(void)0;
5899 var44
= ((val
* (*)(val
*, long, long))(var_str
->class->vft
[COLOR_string__AbstractString__substring
]))(var_str
, var39
, var41
) /* substring on <var_str:String>*/;
5904 CONTINUE_label
: (void)0;
5905 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
5907 BREAK_label
: (void)0;
5913 /* method string#Float#to_s for (self: Object): String */
5914 val
* VIRTUAL_string__Float__to_s(val
* self
) {
5915 val
* var
/* : String */;
5916 val
* var1
/* : String */;
5917 double var2
/* : Float */;
5918 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
5919 var1
= string__Float__to_s(var2
);
5924 /* method string#Float#to_precision for (self: Float, Int): String */
5925 val
* string__Float__to_precision(double self
, long p0
) {
5926 val
* var
/* : String */;
5927 long var_nb
/* var nb: Int */;
5928 long var1
/* : Int */;
5929 short int var2
/* : Bool */;
5930 short int var4
/* : Bool */;
5931 long var5
/* : Int */;
5932 long var7
/* : Int */;
5933 val
* var8
/* : String */;
5934 double var_f
/* var f: Float */;
5935 val
* var9
/* : Range[Int] */;
5936 long var10
/* : Int */;
5937 val
* var11
/* : Discrete */;
5938 val
* var12
/* : Discrete */;
5939 val
* var13
/* : Iterator[nullable Object] */;
5940 short int var14
/* : Bool */;
5941 val
* var15
/* : nullable Object */;
5942 long var_i
/* var i: Int */;
5943 long var16
/* : Int */;
5944 double var17
/* : Float */;
5945 double var18
/* : Float */;
5946 double var20
/* : Float */;
5947 double var21
/* : Float */;
5948 short int var22
/* : Bool */;
5949 short int var24
/* : Bool */;
5950 double var25
/* : Float */;
5951 double var26
/* : Float */;
5952 double var28
/* : Float */;
5953 double var29
/* : Float */;
5954 double var30
/* : Float */;
5955 double var32
/* : Float */;
5956 long var33
/* : Int */;
5957 long var35
/* : Int */;
5958 long var_i36
/* var i: Int */;
5959 long var37
/* : Int */;
5960 short int var38
/* : Bool */;
5961 short int var40
/* : Bool */;
5962 static val
* varonce
;
5963 val
* var41
/* : String */;
5964 char* var42
/* : NativeString */;
5965 long var43
/* : Int */;
5966 val
* var44
/* : String */;
5967 val
* var45
/* : String */;
5968 val
* var_s
/* var s: String */;
5969 long var46
/* : Int */;
5970 long var_sl
/* var sl: Int */;
5971 short int var47
/* : Bool */;
5972 short int var49
/* : Bool */;
5975 short int var50
/* : Bool */;
5976 long var51
/* : Int */;
5977 long var52
/* : Int */;
5978 long var53
/* : Int */;
5979 long var55
/* : Int */;
5980 val
* var56
/* : String */;
5981 val
* var_p1
/* var p1: String */;
5982 long var57
/* : Int */;
5983 long var58
/* : Int */;
5984 long var60
/* : Int */;
5985 val
* var61
/* : String */;
5986 val
* var_p2
/* var p2: String */;
5987 static val
* varonce62
;
5988 val
* var63
/* : String */;
5989 char* var64
/* : NativeString */;
5990 long var65
/* : Int */;
5991 val
* var66
/* : String */;
5992 val
* var67
/* : String */;
5993 val
* var68
/* : String */;
5994 static val
* varonce69
;
5995 val
* var70
/* : String */;
5996 char* var71
/* : NativeString */;
5997 long var72
/* : Int */;
5998 val
* var73
/* : String */;
5999 static val
* varonce74
;
6000 val
* var75
/* : String */;
6001 char* var76
/* : NativeString */;
6002 long var77
/* : Int */;
6003 val
* var78
/* : String */;
6004 long var79
/* : Int */;
6005 long var81
/* : Int */;
6006 val
* var82
/* : String */;
6007 val
* var83
/* : String */;
6008 val
* var84
/* : String */;
6011 { /* Inline kernel#Int#== (var_nb,var1) */
6012 var4
= var_nb
== var1
;
6018 { /* Inline kernel#Float#to_i (self) */
6024 var8
= string__Int__to_s(var5
);
6030 var9
= NEW_range__Range(&type_range__Rangekernel__Int
);
6032 var11
= BOX_kernel__Int(var10
); /* autobox from Int to Discrete */
6033 var12
= BOX_kernel__Int(var_nb
); /* autobox from Int to Discrete */
6034 ((void (*)(val
*, val
*, val
*))(var9
->class->vft
[COLOR_range__Range__without_last
]))(var9
, var11
, var12
) /* without_last on <var9:Range[Int]>*/;
6035 CHECK_NEW_range__Range(var9
);
6036 var13
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var9
) /* iterator on <var9:Range[Int]>*/;
6038 var14
= ((short int (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var13
) /* is_ok on <var13:Iterator[nullable Object]>*/;
6040 var15
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var13
) /* item on <var13:Iterator[nullable Object]>*/;
6041 var16
= ((struct instance_kernel__Int
*)var15
)->value
; /* autounbox from nullable Object to Int */;
6044 { /* Inline kernel#Float#* (var_f,var17) */
6045 var20
= var_f
* var17
;
6048 RET_LABEL19
:(void)0;
6051 CONTINUE_label
: (void)0;
6052 ((void (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var13
) /* next on <var13:Iterator[nullable Object]>*/;
6054 BREAK_label
: (void)0;
6056 { /* Inline kernel#Float#> (self,var21) */
6057 var24
= self
> var21
;
6060 RET_LABEL23
:(void)0;
6064 { /* Inline kernel#Float#+ (var_f,var25) */
6065 var28
= var_f
+ var25
;
6068 RET_LABEL27
:(void)0;
6073 { /* Inline kernel#Float#- (var_f,var29) */
6074 var32
= var_f
- var29
;
6077 RET_LABEL31
:(void)0;
6081 { /* Inline kernel#Float#to_i (var_f) */
6082 var35
= (long)var_f
;
6085 RET_LABEL34
:(void)0;
6089 { /* Inline kernel#Int#== (var_i36,var37) */
6090 var40
= var_i36
== var37
;
6093 RET_LABEL39
:(void)0;
6101 var44
= string__NativeString__to_s_with_length(var42
, var43
);
6109 var45
= string__Int__to_s(var_i36
);
6111 var46
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
6113 { /* Inline kernel#Int#> (var_sl,var_nb) */
6114 /* Covariant cast for argument 0 (i) <var_nb:Int> isa OTHER */
6115 /* <var_nb:Int> isa OTHER */
6116 var49
= 1; /* easy <var_nb:Int> isa OTHER*/
6118 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
6121 var50
= var_sl
> var_nb
;
6124 RET_LABEL48
:(void)0;
6128 var52
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
6129 { /* Inline kernel#Int#- (var52,var_nb) */
6130 var55
= var52
- var_nb
;
6133 RET_LABEL54
:(void)0;
6135 var56
= ((val
* (*)(val
*, long, long))(var_s
->class->vft
[COLOR_string__AbstractString__substring
]))(var_s
, var51
, var53
) /* substring on <var_s:String>*/;
6137 var57
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
6138 { /* Inline kernel#Int#- (var57,var_nb) */
6139 var60
= var57
- var_nb
;
6142 RET_LABEL59
:(void)0;
6144 var61
= ((val
* (*)(val
*, long, long))(var_s
->class->vft
[COLOR_string__AbstractString__substring
]))(var_s
, var58
, var_nb
) /* substring on <var_s:String>*/;
6151 var66
= string__NativeString__to_s_with_length(var64
, var65
);
6155 var67
= ((val
* (*)(val
*, val
*))(var_p1
->class->vft
[COLOR_string__String___43d
]))(var_p1
, var63
) /* + on <var_p1:String>*/;
6156 var68
= ((val
* (*)(val
*, val
*))(var67
->class->vft
[COLOR_string__String___43d
]))(var67
, var_p2
) /* + on <var67:String>*/;
6165 var73
= string__NativeString__to_s_with_length(var71
, var72
);
6174 var78
= string__NativeString__to_s_with_length(var76
, var77
);
6178 { /* Inline kernel#Int#- (var_nb,var_sl) */
6179 var81
= var_nb
- var_sl
;
6182 RET_LABEL80
:(void)0;
6184 var82
= ((val
* (*)(val
*, long))(var75
->class->vft
[COLOR_string__String___42d
]))(var75
, var79
) /* * on <var75:String>*/;
6185 var83
= ((val
* (*)(val
*, val
*))(var70
->class->vft
[COLOR_string__String___43d
]))(var70
, var82
) /* + on <var70:String>*/;
6186 var84
= ((val
* (*)(val
*, val
*))(var83
->class->vft
[COLOR_string__String___43d
]))(var83
, var_s
) /* + on <var83:String>*/;
6193 /* method string#Float#to_precision for (self: Object, Int): String */
6194 val
* VIRTUAL_string__Float__to_precision(val
* self
, long p0
) {
6195 val
* var
/* : String */;
6196 val
* var1
/* : String */;
6197 double var2
/* : Float */;
6198 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
6199 var1
= string__Float__to_precision(var2
, p0
);
6204 /* method string#Float#to_precision_native for (self: Float, Int): String */
6205 val
* string__Float__to_precision_native(double self
, long p0
) {
6206 val
* var
/* : String */;
6207 fprintf(stderr
, "NOT YET IMPLEMENTED nitni for string#Float#to_precision_native at lib/standard/string.nit:946,2--955,3\n");
6212 /* method string#Float#to_precision_native for (self: Object, Int): String */
6213 val
* VIRTUAL_string__Float__to_precision_native(val
* self
, long p0
) {
6214 val
* var
/* : String */;
6215 val
* var1
/* : String */;
6216 double var2
/* : Float */;
6217 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
6218 var1
= string__Float__to_precision_native(var2
, p0
);
6223 /* method string#Char#to_s for (self: Char): String */
6224 val
* string__Char__to_s(char self
) {
6225 val
* var
/* : String */;
6226 val
* var1
/* : Buffer */;
6227 long var2
/* : Int */;
6228 val
* var_s
/* var s: Buffer */;
6229 long var3
/* : Int */;
6230 val
* var4
/* : nullable Object */;
6231 val
* var5
/* : String */;
6232 var1
= NEW_string__Buffer(&type_string__Buffer
);
6234 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
6235 CHECK_NEW_string__Buffer(var1
);
6238 var4
= BOX_kernel__Char(self
); /* autobox from Char to nullable Object */
6239 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var3
, var4
) /* []= on <var_s:Buffer>*/;
6240 var5
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6246 /* method string#Char#to_s for (self: Object): String */
6247 val
* VIRTUAL_string__Char__to_s(val
* self
) {
6248 val
* var
/* : String */;
6249 val
* var1
/* : String */;
6250 char var2
/* : Char */;
6251 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6252 var1
= string__Char__to_s(var2
);
6257 /* method string#Char#is_numeric for (self: Char): Bool */
6258 short int string__Char__is_numeric(char self
) {
6259 short int var
/* : Bool */;
6260 short int var1
/* : Bool */;
6261 char var2
/* : Char */;
6262 short int var3
/* : Bool */;
6263 short int var5
/* : Bool */;
6266 short int var6
/* : Bool */;
6267 short int var_
/* var : Bool */;
6268 char var7
/* : Char */;
6269 short int var8
/* : Bool */;
6270 short int var10
/* : Bool */;
6273 short int var13
/* : Bool */;
6274 short int var14
/* : Bool */;
6275 short int var15
/* : Bool */;
6277 { /* Inline kernel#Char#>= (self,var2) */
6278 /* Covariant cast for argument 0 (i) <var2:Char> isa OTHER */
6279 /* <var2:Char> isa OTHER */
6280 var5
= 1; /* easy <var2:Char> isa OTHER*/
6282 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 456);
6285 var6
= self
>= var2
;
6293 { /* Inline kernel#Char#<= (self,var7) */
6294 /* Covariant cast for argument 0 (i) <var7:Char> isa OTHER */
6295 /* <var7:Char> isa OTHER */
6296 var10
= 1; /* easy <var7:Char> isa OTHER*/
6298 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 454);
6301 var13
= self
<= var7
;
6322 /* method string#Char#is_numeric for (self: Object): Bool */
6323 short int VIRTUAL_string__Char__is_numeric(val
* self
) {
6324 short int var
/* : Bool */;
6325 short int var1
/* : Bool */;
6326 char var2
/* : Char */;
6327 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6328 var1
= string__Char__is_numeric(var2
);
6333 /* method string#Char#is_alpha for (self: Char): Bool */
6334 short int string__Char__is_alpha(char self
) {
6335 short int var
/* : Bool */;
6336 short int var1
/* : Bool */;
6337 short int var2
/* : Bool */;
6338 char var3
/* : Char */;
6339 short int var4
/* : Bool */;
6340 short int var6
/* : Bool */;
6343 short int var7
/* : Bool */;
6344 short int var_
/* var : Bool */;
6345 char var8
/* : Char */;
6346 short int var9
/* : Bool */;
6347 short int var11
/* : Bool */;
6350 short int var14
/* : Bool */;
6351 short int var_15
/* var : Bool */;
6352 short int var16
/* : Bool */;
6353 char var17
/* : Char */;
6354 short int var18
/* : Bool */;
6355 short int var20
/* : Bool */;
6358 short int var23
/* : Bool */;
6359 short int var_24
/* var : Bool */;
6360 char var25
/* : Char */;
6361 short int var26
/* : Bool */;
6362 short int var28
/* : Bool */;
6365 short int var31
/* : Bool */;
6366 short int var32
/* : Bool */;
6367 short int var33
/* : Bool */;
6369 { /* Inline kernel#Char#>= (self,var3) */
6370 /* Covariant cast for argument 0 (i) <var3:Char> isa OTHER */
6371 /* <var3:Char> isa OTHER */
6372 var6
= 1; /* easy <var3:Char> isa OTHER*/
6374 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 456);
6377 var7
= self
>= var3
;
6385 { /* Inline kernel#Char#<= (self,var8) */
6386 /* Covariant cast for argument 0 (i) <var8:Char> isa OTHER */
6387 /* <var8:Char> isa OTHER */
6388 var11
= 1; /* easy <var8:Char> isa OTHER*/
6390 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 454);
6393 var14
= self
<= var8
;
6396 RET_LABEL10
:(void)0;
6407 { /* Inline kernel#Char#>= (self,var17) */
6408 /* Covariant cast for argument 0 (i) <var17:Char> isa OTHER */
6409 /* <var17:Char> isa OTHER */
6410 var20
= 1; /* easy <var17:Char> isa OTHER*/
6412 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 456);
6415 var23
= self
>= var17
;
6418 RET_LABEL19
:(void)0;
6423 { /* Inline kernel#Char#<= (self,var25) */
6424 /* Covariant cast for argument 0 (i) <var25:Char> isa OTHER */
6425 /* <var25:Char> isa OTHER */
6426 var28
= 1; /* easy <var25:Char> isa OTHER*/
6428 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 454);
6431 var31
= self
<= var25
;
6434 RET_LABEL27
:(void)0;
6454 /* method string#Char#is_alpha for (self: Object): Bool */
6455 short int VIRTUAL_string__Char__is_alpha(val
* self
) {
6456 short int var
/* : Bool */;
6457 short int var1
/* : Bool */;
6458 char var2
/* : Char */;
6459 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6460 var1
= string__Char__is_alpha(var2
);
6465 /* method string#Char#is_alphanumeric for (self: Char): Bool */
6466 short int string__Char__is_alphanumeric(char self
) {
6467 short int var
/* : Bool */;
6468 short int var1
/* : Bool */;
6469 short int var2
/* : Bool */;
6470 short int var_
/* var : Bool */;
6471 short int var3
/* : Bool */;
6472 short int var4
/* : Bool */;
6473 short int var5
/* : Bool */;
6474 var2
= string__Char__is_numeric(self
);
6479 var3
= string__Char__is_alpha(self
);
6494 /* method string#Char#is_alphanumeric for (self: Object): Bool */
6495 short int VIRTUAL_string__Char__is_alphanumeric(val
* self
) {
6496 short int var
/* : Bool */;
6497 short int var1
/* : Bool */;
6498 char var2
/* : Char */;
6499 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6500 var1
= string__Char__is_alphanumeric(var2
);
6505 /* method string#Collection#to_s for (self: Collection[nullable Object]): String */
6506 val
* string__Collection__to_s(val
* self
) {
6507 val
* var
/* : String */;
6508 val
* var1
/* : Buffer */;
6509 val
* var_s
/* var s: Buffer */;
6510 val
* var2
/* : Iterator[nullable Object] */;
6511 short int var3
/* : Bool */;
6512 val
* var4
/* : nullable Object */;
6513 val
* var_e
/* var e: nullable Object */;
6514 val
* var5
/* : null */;
6515 short int var6
/* : Bool */;
6516 val
* var7
/* : String */;
6517 val
* var8
/* : String */;
6518 var1
= NEW_string__Buffer(&type_string__Buffer
);
6519 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
6520 CHECK_NEW_string__Buffer(var1
);
6522 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
6524 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
6526 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
6529 if (var_e
== NULL
) {
6530 var6
= 0; /* is null */
6532 var6
= 1; /* arg is null and recv is not */
6535 if (var_e
== NULL
) {
6536 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/string.nit", 997);
6539 var7
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6541 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var7
) /* append on <var_s:Buffer>*/;
6544 CONTINUE_label
: (void)0;
6545 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
6547 BREAK_label
: (void)0;
6548 var8
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6554 /* method string#Collection#to_s for (self: Object): String */
6555 val
* VIRTUAL_string__Collection__to_s(val
* self
) {
6556 val
* var
/* : String */;
6557 val
* var1
/* : String */;
6558 var1
= string__Collection__to_s(self
);
6563 /* method string#Collection#join for (self: Collection[nullable Object], String): String */
6564 val
* string__Collection__join(val
* self
, val
* p0
) {
6565 val
* var
/* : String */;
6566 val
* var_sep
/* var sep: String */;
6567 short int var1
/* : Bool */;
6568 static val
* varonce
;
6569 val
* var2
/* : String */;
6570 char* var3
/* : NativeString */;
6571 long var4
/* : Int */;
6572 val
* var5
/* : String */;
6573 val
* var6
/* : Buffer */;
6574 val
* var_s
/* var s: Buffer */;
6575 val
* var7
/* : Iterator[nullable Object] */;
6576 val
* var_i
/* var i: Iterator[nullable Object] */;
6577 val
* var8
/* : nullable Object */;
6578 val
* var_e
/* var e: nullable Object */;
6579 val
* var9
/* : null */;
6580 short int var10
/* : Bool */;
6581 val
* var11
/* : String */;
6582 short int var12
/* : Bool */;
6583 val
* var13
/* : nullable Object */;
6584 val
* var14
/* : null */;
6585 short int var15
/* : Bool */;
6586 val
* var16
/* : String */;
6587 val
* var17
/* : String */;
6589 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:Collection[nullable Object]>*/;
6596 var5
= string__NativeString__to_s_with_length(var3
, var4
);
6604 var6
= NEW_string__Buffer(&type_string__Buffer
);
6605 ((void (*)(val
*))(var6
->class->vft
[COLOR_string__Buffer__init
]))(var6
) /* init on <var6:Buffer>*/;
6606 CHECK_NEW_string__Buffer(var6
);
6608 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
6610 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_i
) /* item on <var_i:Iterator[nullable Object]>*/;
6613 if (var_e
== NULL
) {
6614 var10
= 0; /* is null */
6616 var10
= 1; /* arg is null and recv is not */
6619 if (var_e
== NULL
) {
6620 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/string.nit", 1014);
6623 var11
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6625 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var11
) /* append on <var_s:Buffer>*/;
6628 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_i
) /* next on <var_i:Iterator[nullable Object]>*/;
6630 var12
= ((short int (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_i
) /* is_ok on <var_i:Iterator[nullable Object]>*/;
6632 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var_sep
) /* append on <var_s:Buffer>*/;
6633 var13
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_i
) /* item on <var_i:Iterator[nullable Object]>*/;
6636 if (var_e
== NULL
) {
6637 var15
= 0; /* is null */
6639 var15
= 1; /* arg is null and recv is not */
6642 if (var_e
== NULL
) {
6643 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/string.nit", 1021);
6646 var16
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6648 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var16
) /* append on <var_s:Buffer>*/;
6651 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_i
) /* next on <var_i:Iterator[nullable Object]>*/;
6652 CONTINUE_label
: (void)0;
6654 BREAK_label
: (void)0;
6655 var17
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6661 /* method string#Collection#join for (self: Object, String): String */
6662 val
* VIRTUAL_string__Collection__join(val
* self
, val
* p0
) {
6663 val
* var
/* : String */;
6664 val
* var1
/* : String */;
6665 var1
= string__Collection__join(self
, p0
);
6670 /* method string#Array#to_s for (self: Array[nullable Object]): String */
6671 val
* string__Array__to_s(val
* self
) {
6672 val
* var
/* : String */;
6673 val
* var1
/* : Buffer */;
6674 val
* var_s
/* var s: Buffer */;
6675 long var2
/* : Int */;
6676 long var_i
/* var i: Int */;
6677 long var3
/* : Int */;
6678 long var_l
/* var l: Int */;
6679 short int var4
/* : Bool */;
6680 short int var6
/* : Bool */;
6683 short int var7
/* : Bool */;
6684 val
* var8
/* : nullable Object */;
6685 val
* var_e
/* var e: nullable Object */;
6686 val
* var9
/* : null */;
6687 short int var10
/* : Bool */;
6688 val
* var11
/* : String */;
6689 long var12
/* : Int */;
6690 long var13
/* : Int */;
6691 long var15
/* : Int */;
6692 val
* var16
/* : String */;
6693 var1
= NEW_string__Buffer(&type_string__Buffer
);
6694 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
6695 CHECK_NEW_string__Buffer(var1
);
6699 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Array[nullable Object]>*/;
6702 { /* Inline kernel#Int#< (var_i,var_l) */
6703 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
6704 /* <var_l:Int> isa OTHER */
6705 var6
= 1; /* easy <var_l:Int> isa OTHER*/
6707 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
6710 var7
= var_i
< var_l
;
6716 var8
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:Array[nullable Object]>*/;
6719 if (var_e
== NULL
) {
6720 var10
= 0; /* is null */
6722 var10
= 1; /* arg is null and recv is not */
6725 if (var_e
== NULL
) {
6726 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "lib/standard/string.nit", 1037);
6729 var11
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6731 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var11
) /* append on <var_s:Buffer>*/;
6735 { /* Inline kernel#Int#+ (var_i,var12) */
6736 var15
= var_i
+ var12
;
6739 RET_LABEL14
:(void)0;
6742 CONTINUE_label
: (void)0;
6744 BREAK_label
: (void)0;
6745 var16
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6751 /* method string#Array#to_s for (self: Object): String */
6752 val
* VIRTUAL_string__Array__to_s(val
* self
) {
6753 val
* var
/* : String */;
6754 val
* var1
/* : String */;
6755 var1
= string__Array__to_s(self
);
6760 /* method string#Map#join for (self: Map[Object, nullable Object], String, String): String */
6761 val
* string__Map__join(val
* self
, val
* p0
, val
* p1
) {
6762 val
* var
/* : String */;
6763 val
* var_sep
/* var sep: String */;
6764 val
* var_couple_sep
/* var couple_sep: String */;
6765 short int var1
/* : Bool */;
6766 static val
* varonce
;
6767 val
* var2
/* : String */;
6768 char* var3
/* : NativeString */;
6769 long var4
/* : Int */;
6770 val
* var5
/* : String */;
6771 val
* var6
/* : Buffer */;
6772 val
* var_s
/* var s: Buffer */;
6773 val
* var7
/* : MapIterator[Object, nullable Object] */;
6774 val
* var_i
/* var i: MapIterator[Object, nullable Object] */;
6775 val
* var8
/* : Object */;
6776 val
* var_k
/* var k: Object */;
6777 val
* var9
/* : nullable Object */;
6778 val
* var_e
/* var e: nullable Object */;
6779 val
* var10
/* : null */;
6780 short int var11
/* : Bool */;
6781 val
* var12
/* : Array[Object] */;
6782 long var13
/* : Int */;
6783 val
* var14
/* : NativeArray[Object] */;
6784 val
* var15
/* : String */;
6785 short int var16
/* : Bool */;
6786 val
* var17
/* : Object */;
6787 val
* var18
/* : nullable Object */;
6788 val
* var19
/* : null */;
6789 short int var20
/* : Bool */;
6790 val
* var21
/* : Array[Object] */;
6791 long var22
/* : Int */;
6792 val
* var23
/* : NativeArray[Object] */;
6793 val
* var24
/* : String */;
6794 val
* var25
/* : String */;
6796 var_couple_sep
= p1
;
6797 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__MapRead__is_empty
]))(self
) /* is_empty on <self:Map[Object, nullable Object]>*/;
6804 var5
= string__NativeString__to_s_with_length(var3
, var4
);
6812 var6
= NEW_string__Buffer(&type_string__Buffer
);
6813 ((void (*)(val
*))(var6
->class->vft
[COLOR_string__Buffer__init
]))(var6
) /* init on <var6:Buffer>*/;
6814 CHECK_NEW_string__Buffer(var6
);
6816 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(self
) /* iterator on <self:Map[Object, nullable Object]>*/;
6818 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_i
) /* key on <var_i:MapIterator[Object, nullable Object]>*/;
6820 var9
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_i
) /* item on <var_i:MapIterator[Object, nullable Object]>*/;
6823 if (var_e
== NULL
) {
6824 var11
= 0; /* is null */
6826 var11
= 1; /* arg is null and recv is not */
6829 var12
= NEW_array__Array(&type_array__Arraykernel__Object
);
6830 { /* var12 = array_instance Array[Object] */
6832 var14
= NEW_array__NativeArray(var13
, &type_array__NativeArraykernel__Object
);
6833 ((struct instance_array__NativeArray
*)var14
)->values
[0] = (val
*) var_k
;
6834 ((struct instance_array__NativeArray
*)var14
)->values
[1] = (val
*) var_couple_sep
;
6835 ((struct instance_array__NativeArray
*)var14
)->values
[2] = (val
*) var_e
;
6836 ((void (*)(val
*, val
*, long))(var12
->class->vft
[COLOR_array__Array__with_native
]))(var12
, var14
, var13
) /* with_native on <var12:Array[Object]>*/;
6837 CHECK_NEW_array__Array(var12
);
6839 var15
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_string__Object__to_s
]))(var12
) /* to_s on <var12:Array[Object]>*/;
6840 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var15
) /* append on <var_s:Buffer>*/;
6843 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_i
) /* next on <var_i:MapIterator[Object, nullable Object]>*/;
6845 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]>*/;
6847 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var_sep
) /* append on <var_s:Buffer>*/;
6848 var17
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_i
) /* key on <var_i:MapIterator[Object, nullable Object]>*/;
6850 var18
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_i
) /* item on <var_i:MapIterator[Object, nullable Object]>*/;
6853 if (var_e
== NULL
) {
6854 var20
= 0; /* is null */
6856 var20
= 1; /* arg is null and recv is not */
6859 var21
= NEW_array__Array(&type_array__Arraykernel__Object
);
6860 { /* var21 = array_instance Array[Object] */
6862 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArraykernel__Object
);
6863 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var_k
;
6864 ((struct instance_array__NativeArray
*)var23
)->values
[1] = (val
*) var_couple_sep
;
6865 ((struct instance_array__NativeArray
*)var23
)->values
[2] = (val
*) var_e
;
6866 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Object]>*/;
6867 CHECK_NEW_array__Array(var21
);
6869 var24
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_string__Object__to_s
]))(var21
) /* to_s on <var21:Array[Object]>*/;
6870 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var24
) /* append on <var_s:Buffer>*/;
6873 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_i
) /* next on <var_i:MapIterator[Object, nullable Object]>*/;
6874 CONTINUE_label
: (void)0;
6876 BREAK_label
: (void)0;
6877 var25
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6883 /* method string#Map#join for (self: Object, String, String): String */
6884 val
* VIRTUAL_string__Map__join(val
* self
, val
* p0
, val
* p1
) {
6885 val
* var
/* : String */;
6886 val
* var1
/* : String */;
6887 var1
= string__Map__join(self
, p0
, p1
);
6892 /* method string#NativeString#[] for (self: NativeString, Int): Char */
6893 char string__NativeString___91d_93d(char* self
, long p0
) {
6894 char var
/* : Char */;
6895 char var1
/* : Char */;
6902 /* method string#NativeString#[] for (self: Object, Int): Char */
6903 char VIRTUAL_string__NativeString___91d_93d(val
* self
, long p0
) {
6904 char var
/* : Char */;
6905 char var1
/* : Char */;
6906 char* var3
/* : NativeString */;
6907 char var4
/* : Char */;
6908 { /* Inline string#NativeString#[] (self,p0) */
6909 var3
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
6919 /* method string#NativeString#[]= for (self: NativeString, Int, Char) */
6920 void string__NativeString___91d_93d_61d(char* self
, long p0
, char p1
) {
6924 /* method string#NativeString#[]= for (self: Object, Int, Char) */
6925 void VIRTUAL_string__NativeString___91d_93d_61d(val
* self
, long p0
, char p1
) {
6926 char* var
/* : NativeString */;
6927 { /* Inline string#NativeString#[]= (self,p0,p1) */
6928 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
6934 /* method string#NativeString#copy_to for (self: NativeString, NativeString, Int, Int, Int) */
6935 void string__NativeString__copy_to(char* self
, char* p0
, long p1
, long p2
, long p3
) {
6936 memcpy(p0
+p3
,self
+p2
,p1
);
6939 /* method string#NativeString#copy_to for (self: Object, NativeString, Int, Int, Int) */
6940 void VIRTUAL_string__NativeString__copy_to(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
6941 char* var
/* : NativeString */;
6942 { /* Inline string#NativeString#copy_to (self,p0,p1,p2,p3) */
6943 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
6944 memcpy(p0
+p3
,var
+p2
,p1
);
6949 /* method string#NativeString#cstring_length for (self: NativeString): Int */
6950 long string__NativeString__cstring_length(char* self
) {
6951 long var
/* : Int */;
6952 long var1
/* : Int */;
6953 long var_l
/* var l: Int */;
6954 char var2
/* : Char */;
6955 char var4
/* : Char */;
6956 char var5
/* : Char */;
6957 short int var6
/* : Bool */;
6958 short int var8
/* : Bool */;
6959 short int var9
/* : Bool */;
6960 long var10
/* : Int */;
6961 long var11
/* : Int */;
6962 long var13
/* : Int */;
6966 { /* Inline string#NativeString#[] (self,var_l) */
6973 { /* Inline kernel#Char#!= (var2,var5) */
6974 var8
= var2
== var5
;
6982 { /* Inline kernel#Int#+ (var_l,var10) */
6983 var13
= var_l
+ var10
;
6986 RET_LABEL12
:(void)0;
6989 CONTINUE_label
: (void)0;
6991 BREAK_label
: (void)0;
6997 /* method string#NativeString#cstring_length for (self: Object): Int */
6998 long VIRTUAL_string__NativeString__cstring_length(val
* self
) {
6999 long var
/* : Int */;
7000 long var1
/* : Int */;
7001 char* var2
/* : NativeString */;
7002 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7003 var1
= string__NativeString__cstring_length(var2
);
7008 /* method string#NativeString#atoi for (self: NativeString): Int */
7009 long string__NativeString__atoi(char* self
) {
7010 long var
/* : Int */;
7011 long var1
/* : Int */;
7018 /* method string#NativeString#atoi for (self: Object): Int */
7019 long VIRTUAL_string__NativeString__atoi(val
* self
) {
7020 long var
/* : Int */;
7021 long var1
/* : Int */;
7022 char* var3
/* : NativeString */;
7023 long var4
/* : Int */;
7024 { /* Inline string#NativeString#atoi (self) */
7025 var3
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7035 /* method string#NativeString#atof for (self: NativeString): Float */
7036 double string__NativeString__atof(char* self
) {
7037 double var
/* : Float */;
7038 double var1
/* : Float */;
7045 /* method string#NativeString#atof for (self: Object): Float */
7046 double VIRTUAL_string__NativeString__atof(val
* self
) {
7047 double var
/* : Float */;
7048 double var1
/* : Float */;
7049 char* var2
/* : NativeString */;
7050 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7051 var1
= string__NativeString__atof(var2
);
7056 /* method string#NativeString#to_s for (self: NativeString): String */
7057 val
* string__NativeString__to_s(char* self
) {
7058 val
* var
/* : String */;
7059 long var1
/* : Int */;
7060 val
* var2
/* : String */;
7061 var1
= string__NativeString__cstring_length(self
);
7062 var2
= string__NativeString__to_s_with_length(self
, var1
);
7068 /* method string#NativeString#to_s for (self: Object): String */
7069 val
* VIRTUAL_string__NativeString__to_s(val
* self
) {
7070 val
* var
/* : String */;
7071 val
* var1
/* : String */;
7072 char* var2
/* : NativeString */;
7073 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7074 var1
= string__NativeString__to_s(var2
);
7079 /* method string#NativeString#to_s_with_length for (self: NativeString, Int): String */
7080 val
* string__NativeString__to_s_with_length(char* self
, long p0
) {
7081 val
* var
/* : String */;
7082 long var_length
/* var length: Int */;
7083 long var1
/* : Int */;
7084 short int var2
/* : Bool */;
7085 short int var4
/* : Bool */;
7088 short int var5
/* : Bool */;
7089 val
* var6
/* : String */;
7090 long var7
/* : Int */;
7091 long var8
/* : Int */;
7092 long var9
/* : Int */;
7093 long var11
/* : Int */;
7096 { /* Inline kernel#Int#>= (var_length,var1) */
7097 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
7098 /* <var1:Int> isa OTHER */
7099 var4
= 1; /* easy <var1:Int> isa OTHER*/
7101 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
7104 var5
= var_length
>= var1
;
7110 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/standard/string.nit", 1107);
7113 var6
= NEW_string__String(&type_string__String
);
7116 { /* Inline kernel#Int#- (var_length,var8) */
7117 var11
= var_length
- var8
;
7120 RET_LABEL10
:(void)0;
7122 ((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>*/;
7123 CHECK_NEW_string__String(var6
);
7129 /* method string#NativeString#to_s_with_length for (self: Object, Int): String */
7130 val
* VIRTUAL_string__NativeString__to_s_with_length(val
* self
, long p0
) {
7131 val
* var
/* : String */;
7132 val
* var1
/* : String */;
7133 char* var2
/* : NativeString */;
7134 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7135 var1
= string__NativeString__to_s_with_length(var2
, p0
);
7140 /* method string#NativeString#to_s_with_copy for (self: NativeString): String */
7141 val
* string__NativeString__to_s_with_copy(char* self
) {
7142 val
* var
/* : String */;
7143 long var1
/* : Int */;
7144 long var_length
/* var length: Int */;
7145 long var2
/* : Int */;
7146 long var3
/* : Int */;
7147 long var5
/* : Int */;
7148 char* var6
/* : NativeString */;
7149 val
* var8
/* : StringCapable */;
7150 char* var9
/* : NativeString */;
7151 char* var_new_self
/* var new_self: NativeString */;
7152 long var10
/* : Int */;
7153 long var11
/* : Int */;
7154 val
* var13
/* : String */;
7155 long var14
/* : Int */;
7156 long var15
/* : Int */;
7157 long var16
/* : Int */;
7158 long var18
/* : Int */;
7159 var1
= string__NativeString__cstring_length(self
);
7162 { /* Inline kernel#Int#+ (var_length,var2) */
7163 var5
= var_length
+ var2
;
7168 { /* Inline string#StringCapable#calloc_string (self,var3) */
7169 var8
= BOX_string__NativeString(self
); /* autobox from NativeString to StringCapable */
7170 var9
= (char*)nit_alloc(var3
);
7175 var_new_self
= var6
;
7178 { /* Inline string#NativeString#copy_to (self,var_new_self,var_length,var10,var11) */
7179 memcpy(var_new_self
+var11
,self
+var10
,var_length
);
7180 RET_LABEL12
:(void)0;
7182 var13
= NEW_string__String(&type_string__String
);
7185 { /* Inline kernel#Int#- (var_length,var15) */
7186 var18
= var_length
- var15
;
7189 RET_LABEL17
:(void)0;
7191 ((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>*/;
7192 CHECK_NEW_string__String(var13
);
7198 /* method string#NativeString#to_s_with_copy for (self: Object): String */
7199 val
* VIRTUAL_string__NativeString__to_s_with_copy(val
* self
) {
7200 val
* var
/* : String */;
7201 val
* var1
/* : String */;
7202 char* var2
/* : NativeString */;
7203 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7204 var1
= string__NativeString__to_s_with_copy(var2
);
7209 /* method string#NativeString#init for (self: NativeString) */
7210 void string__NativeString__init(char* self
) {
7213 /* method string#NativeString#init for (self: Object) */
7214 void VIRTUAL_string__NativeString__init(val
* self
) {
7215 char* var
/* : NativeString */;
7216 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7217 string__NativeString__init(var
);
7220 /* method string#StringCapable#calloc_string for (self: StringCapable, Int): NativeString */
7221 char* string__StringCapable__calloc_string(val
* self
, long p0
) {
7222 char* var
/* : NativeString */;
7223 char* var1
/* : NativeString */;
7224 var1
= (char*)nit_alloc(p0
);
7230 /* method string#StringCapable#calloc_string for (self: Object, Int): NativeString */
7231 char* VIRTUAL_string__StringCapable__calloc_string(val
* self
, long p0
) {
7232 char* var
/* : NativeString */;
7233 char* var1
/* : NativeString */;
7234 char* var3
/* : NativeString */;
7235 { /* Inline string#StringCapable#calloc_string (self,p0) */
7236 var3
= (char*)nit_alloc(p0
);
7245 /* method string#Sys#args for (self: Sys): Sequence[String] */
7246 val
* string__Sys__args(val
* self
) {
7247 val
* var
/* : Sequence[String] */;
7248 val
* var1
/* : nullable Sequence[String] */;
7249 val
* var2
/* : null */;
7250 short int var3
/* : Bool */;
7251 val
* var4
/* : nullable Sequence[String] */;
7252 var1
= self
->attrs
[COLOR_string__Sys___args_cache
].val
; /* _args_cache on <self:Sys> */
7255 var3
= 1; /* is null */
7257 var3
= 0; /* arg is null but recv is not */
7260 ((void (*)(val
*))(self
->class->vft
[COLOR_string__Sys__init_args
]))(self
) /* init_args on <self:Sys>*/;
7263 var4
= self
->attrs
[COLOR_string__Sys___args_cache
].val
; /* _args_cache on <self:Sys> */
7265 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/string.nit", 1132);
7273 /* method string#Sys#args for (self: Object): Sequence[String] */
7274 val
* VIRTUAL_string__Sys__args(val
* self
) {
7275 val
* var
/* : Sequence[String] */;
7276 val
* var1
/* : Sequence[String] */;
7277 var1
= string__Sys__args(self
);
7282 /* method string#Sys#program_name for (self: Sys): String */
7283 val
* string__Sys__program_name(val
* self
) {
7284 val
* var
/* : String */;
7285 long var1
/* : Int */;
7286 char* var2
/* : NativeString */;
7287 val
* var3
/* : String */;
7289 var2
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__Sys__native_argv
]))(self
, var1
) /* native_argv on <self:Sys>*/;
7290 var3
= string__NativeString__to_s(var2
);
7296 /* method string#Sys#program_name for (self: Object): String */
7297 val
* VIRTUAL_string__Sys__program_name(val
* self
) {
7298 val
* var
/* : String */;
7299 val
* var1
/* : String */;
7300 var1
= string__Sys__program_name(self
);
7305 /* method string#Sys#init_args for (self: Sys) */
7306 void string__Sys__init_args(val
* self
) {
7307 long var
/* : Int */;
7308 long var_argc
/* var argc: Int */;
7309 val
* var1
/* : Array[String] */;
7310 long var2
/* : Int */;
7311 val
* var_args
/* var args: Array[String] */;
7312 long var3
/* : Int */;
7313 long var_i
/* var i: Int */;
7314 short int var4
/* : Bool */;
7315 short int var6
/* : Bool */;
7318 short int var7
/* : Bool */;
7319 long var8
/* : Int */;
7320 long var9
/* : Int */;
7321 long var11
/* : Int */;
7322 char* var12
/* : NativeString */;
7323 val
* var13
/* : String */;
7324 long var14
/* : Int */;
7325 long var15
/* : Int */;
7326 long var17
/* : Int */;
7327 var
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__Sys__native_argc
]))(self
) /* native_argc on <self:Sys>*/;
7329 var1
= NEW_array__Array(&type_array__Arraystring__String
);
7331 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[String]>*/;
7332 CHECK_NEW_array__Array(var1
);
7337 { /* Inline kernel#Int#< (var_i,var_argc) */
7338 /* Covariant cast for argument 0 (i) <var_argc:Int> isa OTHER */
7339 /* <var_argc:Int> isa OTHER */
7340 var6
= 1; /* easy <var_argc:Int> isa OTHER*/
7342 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
7345 var7
= var_i
< var_argc
;
7352 { /* Inline kernel#Int#- (var_i,var8) */
7353 var11
= var_i
- var8
;
7356 RET_LABEL10
:(void)0;
7358 var12
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__Sys__native_argv
]))(self
, var_i
) /* native_argv on <self:Sys>*/;
7359 var13
= string__NativeString__to_s(var12
);
7360 ((void (*)(val
*, long, val
*))(var_args
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_args
, var9
, var13
) /* []= on <var_args:Array[String]>*/;
7362 { /* Inline kernel#Int#+ (var_i,var14) */
7363 var17
= var_i
+ var14
;
7366 RET_LABEL16
:(void)0;
7369 CONTINUE_label
: (void)0;
7371 BREAK_label
: (void)0;
7372 self
->attrs
[COLOR_string__Sys___args_cache
].val
= var_args
; /* _args_cache on <self:Sys> */
7375 /* method string#Sys#init_args for (self: Object) */
7376 void VIRTUAL_string__Sys__init_args(val
* self
) {
7377 string__Sys__init_args(self
);
7380 /* method string#Sys#native_argc for (self: Sys): Int */
7381 long string__Sys__native_argc(val
* self
) {
7382 long var
/* : Int */;
7383 long var1
/* : Int */;
7390 /* method string#Sys#native_argc for (self: Object): Int */
7391 long VIRTUAL_string__Sys__native_argc(val
* self
) {
7392 long var
/* : Int */;
7393 long var1
/* : Int */;
7394 long var3
/* : Int */;
7395 { /* Inline string#Sys#native_argc (self) */
7405 /* method string#Sys#native_argv for (self: Sys, Int): NativeString */
7406 char* string__Sys__native_argv(val
* self
, long p0
) {
7407 char* var
/* : NativeString */;
7408 char* var1
/* : NativeString */;
7409 var1
= glob_argv
[p0
];
7415 /* method string#Sys#native_argv for (self: Object, Int): NativeString */
7416 char* VIRTUAL_string__Sys__native_argv(val
* self
, long p0
) {
7417 char* var
/* : NativeString */;
7418 char* var1
/* : NativeString */;
7419 char* var3
/* : NativeString */;
7420 { /* Inline string#Sys#native_argv (self,p0) */
7421 var3
= glob_argv
[p0
];