1 #include "string.sep.0.h"
2 /* method string#AbstractString#items for (self: AbstractString): NativeString */
3 char* string__AbstractString__items(val
* self
) {
4 char* var
/* : NativeString */;
5 char* var1
/* : NativeString */;
6 var1
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
11 /* method string#AbstractString#items for (self: Object): NativeString */
12 char* VIRTUAL_string__AbstractString__items(val
* self
) {
13 char* var
/* : NativeString */;
14 char* var1
/* : NativeString */;
15 var1
= string__AbstractString__items(self
);
20 /* method string#AbstractString#[] for (self: AbstractString, Int): Char */
21 char string__AbstractString___91d_93d(val
* self
, long p0
) {
22 char var
/* : Char */;
23 long var_index
/* var index: Int */;
24 char* var1
/* : NativeString */;
25 char var2
/* : Char */;
26 char var4
/* : Char */;
28 var1
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
29 { /* Inline string#NativeString#[] (var1,var_index) */
30 var4
= var1
[var_index
];
40 /* method string#AbstractString#[] for (self: Object, Int): nullable Object */
41 val
* VIRTUAL_string__AbstractString___91d_93d(val
* self
, long p0
) {
42 val
* var
/* : nullable Object */;
43 char var1
/* : Char */;
44 val
* var2
/* : nullable Object */;
45 var1
= string__AbstractString___91d_93d(self
, p0
);
46 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
51 /* method string#AbstractString#substring for (self: AbstractString, Int, Int): String */
52 val
* string__AbstractString__substring(val
* self
, long p0
, long p1
) {
53 val
* var
/* : String */;
54 long var_from
/* var from: Int */;
55 long var_count
/* var count: Int */;
56 long var1
/* : Int */;
57 short int var2
/* : Bool */;
58 short int var4
/* : Bool */;
61 const char* var_class_name
;
62 short int var5
/* : Bool */;
63 long var6
/* : Int */;
64 long var8
/* : Int */;
65 long var9
/* : Int */;
66 short int var10
/* : Bool */;
67 short int var12
/* : Bool */;
70 const char* var_class_name15
;
71 short int var16
/* : Bool */;
72 long var17
/* : Int */;
73 long var18
/* : Int */;
74 short int var19
/* : Bool */;
75 short int var21
/* : Bool */;
78 const char* var_class_name24
;
79 short int var25
/* : Bool */;
80 long var26
/* : Int */;
81 short int var27
/* : Bool */;
82 short int var29
/* : Bool */;
85 const char* var_class_name32
;
86 short int var33
/* : Bool */;
87 val
* var34
/* : Buffer */;
88 long var35
/* : Int */;
89 long var37
/* : Int */;
90 val
* var_r
/* var r: Buffer */;
91 short int var38
/* : Bool */;
92 short int var40
/* : Bool */;
95 const char* var_class_name43
;
96 short int var44
/* : Bool */;
97 char* var45
/* : NativeString */;
98 char var46
/* : Char */;
99 char var48
/* : Char */;
100 val
* var49
/* : nullable Object */;
101 long var50
/* : Int */;
102 long var51
/* : Int */;
103 long var53
/* : Int */;
104 val
* var54
/* : String */;
106 val
* var55
/* : String */;
107 char* var56
/* : NativeString */;
108 long var57
/* : Int */;
109 val
* var58
/* : String */;
113 { /* Inline kernel#Int#>= (var_count,var1) */
114 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
115 /* <var1:Int> isa OTHER */
116 var4
= 1; /* easy <var1:Int> isa OTHER*/
118 var_class_name
= type_kernel__Int
.name
;
119 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
120 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
123 var5
= var_count
>= var1
;
129 fprintf(stderr
, "Runtime error: %s", "Assert failed");
130 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 50);
133 { /* Inline kernel#Int#+ (var_count,var_from) */
134 var8
= var_count
+ var_from
;
141 { /* Inline kernel#Int#< (var_from,var9) */
142 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
143 /* <var9:Int> isa OTHER */
144 var12
= 1; /* easy <var9:Int> isa OTHER*/
146 var_class_name15
= type_kernel__Int
.name
;
147 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
148 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
151 var16
= var_from
< var9
;
161 var18
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
162 { /* Inline kernel#Int#> (var_count,var18) */
163 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
164 /* <var18:Int> isa OTHER */
165 var21
= 1; /* easy <var18:Int> isa OTHER*/
167 var_class_name24
= type_kernel__Int
.name
;
168 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
169 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
172 var25
= var_count
> var18
;
178 var26
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
182 { /* Inline kernel#Int#< (var_from,var_count) */
183 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
184 /* <var_count:Int> isa OTHER */
185 var29
= 1; /* easy <var_count:Int> isa OTHER*/
187 var_class_name32
= type_kernel__Int
.name
;
188 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
189 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
192 var33
= var_from
< var_count
;
198 var34
= NEW_string__Buffer(&type_string__Buffer
);
199 { /* Inline kernel#Int#- (var_count,var_from) */
200 var37
= var_count
- var_from
;
205 ((void (*)(val
*, long))(var34
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var34
, var35
) /* with_capacity on <var34:Buffer>*/;
208 { /* Inline kernel#Int#< (var_from,var_count) */
209 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
210 /* <var_count:Int> isa OTHER */
211 var40
= 1; /* easy <var_count:Int> isa OTHER*/
213 var_class_name43
= type_kernel__Int
.name
;
214 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43
);
215 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
218 var44
= var_from
< var_count
;
224 var45
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
225 { /* Inline string#NativeString#[] (var45,var_from) */
226 var48
= var45
[var_from
];
231 var49
= BOX_kernel__Char(var46
); /* autobox from Char to nullable Object */
232 ((void (*)(val
*, val
*))(var_r
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var_r
, var49
) /* push on <var_r:Buffer>*/;
234 { /* Inline kernel#Int#+ (var_from,var50) */
235 var53
= var_from
+ var50
;
241 CONTINUE_label
: (void)0;
243 BREAK_label
: (void)0;
244 var54
= ((val
* (*)(val
*))(var_r
->class->vft
[COLOR_string__Object__to_s
]))(var_r
) /* to_s on <var_r:Buffer>*/;
253 var58
= string__NativeString__to_s_with_length(var56
, var57
);
263 /* method string#AbstractString#substring for (self: Object, Int, Int): String */
264 val
* VIRTUAL_string__AbstractString__substring(val
* self
, long p0
, long p1
) {
265 val
* var
/* : String */;
266 val
* var1
/* : String */;
267 var1
= string__AbstractString__substring(self
, p0
, p1
);
272 /* method string#AbstractString#substring_from for (self: AbstractString, Int): String */
273 val
* string__AbstractString__substring_from(val
* self
, long p0
) {
274 val
* var
/* : String */;
275 long var_from
/* var from: Int */;
276 long var1
/* : Int */;
277 short int var2
/* : Bool */;
278 short int var4
/* : Bool */;
281 const char* var_class_name
;
282 short int var5
/* : Bool */;
283 long var6
/* : Int */;
284 long var7
/* : Int */;
285 long var9
/* : Int */;
286 val
* var10
/* : String */;
288 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
289 { /* Inline kernel#Int#< (var_from,var1) */
290 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
291 /* <var1:Int> isa OTHER */
292 var4
= 1; /* easy <var1:Int> isa OTHER*/
294 var_class_name
= type_kernel__Int
.name
;
295 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
296 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
299 var5
= var_from
< var1
;
305 fprintf(stderr
, "Runtime error: %s", "Assert failed");
306 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 75);
309 var6
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
310 { /* Inline kernel#Int#- (var6,var_from) */
311 var9
= var6
- var_from
;
316 var10
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_from
, var7
) /* substring on <self:AbstractString>*/;
322 /* method string#AbstractString#substring_from for (self: Object, Int): String */
323 val
* VIRTUAL_string__AbstractString__substring_from(val
* self
, long p0
) {
324 val
* var
/* : String */;
325 val
* var1
/* : String */;
326 var1
= string__AbstractString__substring_from(self
, p0
);
331 /* method string#AbstractString#has_substring for (self: AbstractString, String, Int): Bool */
332 short int string__AbstractString__has_substring(val
* self
, val
* p0
, long p1
) {
333 short int var
/* : Bool */;
334 val
* var_str
/* var str: String */;
335 long var_pos
/* var pos: Int */;
336 long var1
/* : Int */;
337 long var2
/* : Int */;
338 long var3
/* : Int */;
339 long var5
/* : Int */;
340 long var_itsindex
/* var itsindex: Int */;
341 long var6
/* : Int */;
342 long var8
/* : Int */;
343 long var_myindex
/* var myindex: Int */;
344 char* var9
/* : NativeString */;
345 char* var_myitems
/* var myitems: NativeString */;
346 char* var10
/* : NativeString */;
347 char* var_itsitems
/* var itsitems: NativeString */;
348 short int var11
/* : Bool */;
349 long var12
/* : Int */;
350 short int var13
/* : Bool */;
351 short int var15
/* : Bool */;
354 const char* var_class_name
;
355 short int var16
/* : Bool */;
356 short int var_
/* var : Bool */;
357 short int var17
/* : Bool */;
358 short int var19
/* : Bool */;
361 const char* var_class_name22
;
362 short int var23
/* : Bool */;
363 short int var24
/* : Bool */;
364 long var25
/* : Int */;
365 long var_its_index_from
/* var its_index_from: Int */;
366 long var26
/* : Int */;
367 long var28
/* : Int */;
368 short int var29
/* : Bool */;
369 short int var31
/* : Bool */;
372 const char* var_class_name34
;
373 short int var35
/* : Bool */;
374 char var36
/* : Char */;
375 char var38
/* : Char */;
376 char var39
/* : Char */;
377 char var41
/* : Char */;
378 short int var42
/* : Bool */;
379 short int var44
/* : Bool */;
380 short int var45
/* : Bool */;
381 short int var46
/* : Bool */;
382 long var47
/* : Int */;
383 long var48
/* : Int */;
384 long var50
/* : Int */;
385 long var51
/* : Int */;
386 long var52
/* : Int */;
387 long var54
/* : Int */;
388 short int var55
/* : Bool */;
391 var1
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
393 { /* Inline kernel#Int#- (var1,var2) */
400 { /* Inline kernel#Int#+ (var_pos,var_itsindex) */
401 var8
= var_pos
+ var_itsindex
;
407 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
409 var10
= var_str
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_str:String> */
410 var_itsitems
= var10
;
411 var12
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
412 { /* Inline kernel#Int#> (var_myindex,var12) */
413 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
414 /* <var12:Int> isa OTHER */
415 var15
= 1; /* easy <var12:Int> isa OTHER*/
417 var_class_name
= type_kernel__Int
.name
;
418 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
419 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
422 var16
= var_myindex
> var12
;
431 { /* Inline kernel#Int#> (var_itsindex,var_myindex) */
432 /* Covariant cast for argument 0 (i) <var_myindex:Int> isa OTHER */
433 /* <var_myindex:Int> isa OTHER */
434 var19
= 1; /* easy <var_myindex:Int> isa OTHER*/
436 var_class_name22
= type_kernel__Int
.name
;
437 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
438 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
441 var23
= var_itsindex
> var_myindex
;
454 var25
= var_str
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_str:String> */
455 var_its_index_from
= var25
;
456 { /* Inline kernel#Int#+ (var_itsindex,var_its_index_from) */
457 var28
= var_itsindex
+ var_its_index_from
;
462 var_itsindex
= var26
;
464 { /* Inline kernel#Int#>= (var_itsindex,var_its_index_from) */
465 /* Covariant cast for argument 0 (i) <var_its_index_from:Int> isa OTHER */
466 /* <var_its_index_from:Int> isa OTHER */
467 var31
= 1; /* easy <var_its_index_from:Int> isa OTHER*/
469 var_class_name34
= type_kernel__Int
.name
;
470 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
471 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
474 var35
= var_itsindex
>= var_its_index_from
;
480 { /* Inline string#NativeString#[] (var_myitems,var_myindex) */
481 var38
= var_myitems
[var_myindex
];
486 { /* Inline string#NativeString#[] (var_itsitems,var_itsindex) */
487 var41
= var_itsitems
[var_itsindex
];
492 { /* Inline kernel#Char#!= (var36,var39) */
493 var44
= var36
== var39
;
506 { /* Inline kernel#Int#- (var_myindex,var47) */
507 var50
= var_myindex
- var47
;
514 { /* Inline kernel#Int#- (var_itsindex,var51) */
515 var54
= var_itsindex
- var51
;
520 var_itsindex
= var52
;
521 CONTINUE_label
: (void)0;
523 BREAK_label
: (void)0;
530 /* method string#AbstractString#has_substring for (self: Object, String, Int): Bool */
531 short int VIRTUAL_string__AbstractString__has_substring(val
* self
, val
* p0
, long p1
) {
532 short int var
/* : Bool */;
533 short int var1
/* : Bool */;
534 var1
= string__AbstractString__has_substring(self
, p0
, p1
);
539 /* method string#AbstractString#has_prefix for (self: AbstractString, String): Bool */
540 short int string__AbstractString__has_prefix(val
* self
, val
* p0
) {
541 short int var
/* : Bool */;
542 val
* var_prefix
/* var prefix: String */;
543 long var1
/* : Int */;
544 short int var2
/* : Bool */;
547 var2
= ((short int (*)(val
*, val
*, long))(self
->class->vft
[COLOR_string__AbstractString__has_substring
]))(self
, var_prefix
, var1
) /* has_substring on <self:AbstractString>*/;
553 /* method string#AbstractString#has_prefix for (self: Object, String): Bool */
554 short int VIRTUAL_string__AbstractString__has_prefix(val
* self
, val
* p0
) {
555 short int var
/* : Bool */;
556 short int var1
/* : Bool */;
557 var1
= string__AbstractString__has_prefix(self
, p0
);
562 /* method string#AbstractString#has_suffix for (self: AbstractString, String): Bool */
563 short int string__AbstractString__has_suffix(val
* self
, val
* p0
) {
564 short int var
/* : Bool */;
565 val
* var_suffix
/* var suffix: String */;
566 long var1
/* : Int */;
567 long var2
/* : Int */;
568 long var3
/* : Int */;
569 long var5
/* : Int */;
570 short int var6
/* : Bool */;
572 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
573 var2
= ((long (*)(val
*))(var_suffix
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_suffix
) /* length on <var_suffix:String>*/;
574 { /* Inline kernel#Int#- (var1,var2) */
580 var6
= ((short int (*)(val
*, val
*, long))(self
->class->vft
[COLOR_string__AbstractString__has_substring
]))(self
, var_suffix
, var3
) /* has_substring on <self:AbstractString>*/;
586 /* method string#AbstractString#has_suffix for (self: Object, String): Bool */
587 short int VIRTUAL_string__AbstractString__has_suffix(val
* self
, val
* p0
) {
588 short int var
/* : Bool */;
589 short int var1
/* : Bool */;
590 var1
= string__AbstractString__has_suffix(self
, p0
);
595 /* method string#AbstractString#to_i for (self: AbstractString): Int */
596 long string__AbstractString__to_i(val
* self
) {
597 long var
/* : Int */;
598 val
* var1
/* : String */;
599 char* var2
/* : NativeString */;
600 long var3
/* : Int */;
601 long var5
/* : Int */;
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 { /* Inline string#NativeString#atoi (var2) */
615 /* method string#AbstractString#to_i for (self: Object): Int */
616 long VIRTUAL_string__AbstractString__to_i(val
* self
) {
617 long var
/* : Int */;
618 long var1
/* : Int */;
619 var1
= string__AbstractString__to_i(self
);
624 /* method string#AbstractString#to_f for (self: AbstractString): Float */
625 double string__AbstractString__to_f(val
* self
) {
626 double var
/* : Float */;
627 val
* var1
/* : String */;
628 char* var2
/* : NativeString */;
629 double var3
/* : Float */;
630 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:AbstractString>*/;
631 var2
= ((char* (*)(val
*))(var1
->class->vft
[COLOR_string__String__to_cstring
]))(var1
) /* to_cstring on <var1:String>*/;
632 var3
= string__NativeString__atof(var2
);
638 /* method string#AbstractString#to_f for (self: Object): Float */
639 double VIRTUAL_string__AbstractString__to_f(val
* self
) {
640 double var
/* : Float */;
641 double var1
/* : Float */;
642 var1
= string__AbstractString__to_f(self
);
647 /* method string#AbstractString#to_hex for (self: AbstractString): Int */
648 long string__AbstractString__to_hex(val
* self
) {
649 long var
/* : Int */;
650 long var1
/* : Int */;
651 long var2
/* : Int */;
653 var2
= ((long (*)(val
*, long))(self
->class->vft
[COLOR_string__AbstractString__a_to
]))(self
, var1
) /* a_to on <self:AbstractString>*/;
659 /* method string#AbstractString#to_hex for (self: Object): Int */
660 long VIRTUAL_string__AbstractString__to_hex(val
* self
) {
661 long var
/* : Int */;
662 long var1
/* : Int */;
663 var1
= string__AbstractString__to_hex(self
);
668 /* method string#AbstractString#a_to for (self: AbstractString, Int): Int */
669 long string__AbstractString__a_to(val
* self
, long p0
) {
670 long var
/* : Int */;
671 long var_base
/* var base: Int */;
672 long var1
/* : Int */;
673 long var_i
/* var i: Int */;
674 short int var2
/* : Bool */;
675 short int var_neg
/* var neg: Bool */;
676 val
* var3
/* : Iterator[nullable Object] */;
677 short int var4
/* : Bool */;
678 val
* var5
/* : nullable Object */;
679 char var_c
/* var c: Char */;
680 char var6
/* : Char */;
681 long var7
/* : Int */;
682 long var_v
/* var v: Int */;
683 short int var8
/* : Bool */;
684 short int var10
/* : Bool */;
687 const char* var_class_name
;
688 short int var11
/* : Bool */;
689 long var12
/* : Int */;
690 long var14
/* : Int */;
691 long var15
/* : Int */;
692 short int var16
/* : Bool */;
693 short int var18
/* : Bool */;
696 const char* var_class_name21
;
697 short int var22
/* : Bool */;
698 short int var23
/* : Bool */;
699 long var24
/* : Int */;
700 long var26
/* : Int */;
701 long var27
/* : Int */;
702 long var29
/* : Int */;
703 long var30
/* : Int */;
704 long var32
/* : Int */;
710 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
712 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
714 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
715 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
717 var7
= kernel__Char__to_i(var_c
);
719 { /* Inline kernel#Int#> (var_v,var_base) */
720 /* Covariant cast for argument 0 (i) <var_base:Int> isa OTHER */
721 /* <var_base:Int> isa OTHER */
722 var10
= 1; /* easy <var_base:Int> isa OTHER*/
724 var_class_name
= type_kernel__Int
.name
;
725 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
726 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
729 var11
= var_v
> var_base
;
736 { /* Inline kernel#Int#unary - (var_i) */
750 { /* Inline kernel#Int#< (var_v,var15) */
751 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
752 /* <var15:Int> isa OTHER */
753 var18
= 1; /* easy <var15:Int> isa OTHER*/
755 var_class_name21
= type_kernel__Int
.name
;
756 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
757 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
760 var22
= var_v
< var15
;
769 { /* Inline kernel#Int#* (var_i,var_base) */
770 var26
= var_i
* var_base
;
775 { /* Inline kernel#Int#+ (var24,var_v) */
776 var29
= var24
+ var_v
;
784 CONTINUE_label
: (void)0;
785 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
787 BREAK_label
: (void)0;
789 { /* Inline kernel#Int#unary - (var_i) */
804 /* method string#AbstractString#a_to for (self: Object, Int): Int */
805 long VIRTUAL_string__AbstractString__a_to(val
* self
, long p0
) {
806 long var
/* : Int */;
807 long var1
/* : Int */;
808 var1
= string__AbstractString__a_to(self
, p0
);
813 /* method string#AbstractString#is_numeric for (self: AbstractString): Bool */
814 short int string__AbstractString__is_numeric(val
* self
) {
815 short int var
/* : Bool */;
816 short int var1
/* : Bool */;
817 short int var_has_point_or_comma
/* var has_point_or_comma: Bool */;
818 val
* var2
/* : Iterator[nullable Object] */;
819 short int var3
/* : Bool */;
820 val
* var4
/* : nullable Object */;
821 char var_i
/* var i: Char */;
822 char var5
/* : Char */;
823 short int var6
/* : Bool */;
824 short int var7
/* : Bool */;
825 short int var8
/* : Bool */;
826 short int var9
/* : Bool */;
827 char var10
/* : Char */;
828 short int var11
/* : Bool */;
829 short int var13
/* : Bool */;
830 short int var_
/* var : Bool */;
831 char var14
/* : Char */;
832 short int var15
/* : Bool */;
833 short int var17
/* : Bool */;
834 short int var_18
/* var : Bool */;
835 short int var19
/* : Bool */;
836 short int var20
/* : Bool */;
837 short int var21
/* : Bool */;
838 short int var22
/* : Bool */;
840 var_has_point_or_comma
= var1
;
841 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
843 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
845 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
846 var5
= ((struct instance_kernel__Char
*)var4
)->value
; /* autounbox from nullable Object to Char */;
848 var6
= string__Char__is_numeric(var_i
);
852 { /* Inline kernel#Char#== (var_i,var10) */
853 var13
= var_i
== var10
;
863 { /* Inline kernel#Char#== (var_i,var14) */
864 var17
= var_i
== var14
;
873 var19
= !var_has_point_or_comma
;
880 var_has_point_or_comma
= var20
;
888 CONTINUE_label
: (void)0;
889 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
891 BREAK_label
: (void)0;
898 /* method string#AbstractString#is_numeric for (self: Object): Bool */
899 short int VIRTUAL_string__AbstractString__is_numeric(val
* self
) {
900 short int var
/* : Bool */;
901 short int var1
/* : Bool */;
902 var1
= string__AbstractString__is_numeric(self
);
907 /* method string#AbstractString#to_upper for (self: AbstractString): String */
908 val
* string__AbstractString__to_upper(val
* self
) {
909 val
* var
/* : String */;
910 val
* var1
/* : Buffer */;
911 long var2
/* : Int */;
912 val
* var_s
/* var s: Buffer */;
913 val
* var3
/* : Iterator[nullable Object] */;
914 short int var4
/* : Bool */;
915 val
* var5
/* : nullable Object */;
916 char var_i
/* var i: Char */;
917 char var6
/* : Char */;
918 char var7
/* : Char */;
919 val
* var8
/* : nullable Object */;
920 val
* var9
/* : String */;
921 var1
= NEW_string__Buffer(&type_string__Buffer
);
922 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
923 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
925 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
927 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
929 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
930 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
932 var7
= kernel__Char__to_upper(var_i
);
933 var8
= BOX_kernel__Char(var7
); /* autobox from Char to nullable Object */
934 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var8
) /* add on <var_s:Buffer>*/;
935 CONTINUE_label
: (void)0;
936 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
938 BREAK_label
: (void)0;
939 var9
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
945 /* method string#AbstractString#to_upper for (self: Object): String */
946 val
* VIRTUAL_string__AbstractString__to_upper(val
* self
) {
947 val
* var
/* : String */;
948 val
* var1
/* : String */;
949 var1
= string__AbstractString__to_upper(self
);
954 /* method string#AbstractString#to_lower for (self: AbstractString): String */
955 val
* string__AbstractString__to_lower(val
* self
) {
956 val
* var
/* : String */;
957 val
* var1
/* : Buffer */;
958 long var2
/* : Int */;
959 val
* var_s
/* var s: Buffer */;
960 val
* var3
/* : Iterator[nullable Object] */;
961 short int var4
/* : Bool */;
962 val
* var5
/* : nullable Object */;
963 char var_i
/* var i: Char */;
964 char var6
/* : Char */;
965 char var7
/* : Char */;
966 val
* var8
/* : nullable Object */;
967 val
* var9
/* : String */;
968 var1
= NEW_string__Buffer(&type_string__Buffer
);
969 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
970 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
972 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
974 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
976 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
977 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
979 var7
= kernel__Char__to_lower(var_i
);
980 var8
= BOX_kernel__Char(var7
); /* autobox from Char to nullable Object */
981 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var8
) /* add on <var_s:Buffer>*/;
982 CONTINUE_label
: (void)0;
983 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
985 BREAK_label
: (void)0;
986 var9
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
992 /* method string#AbstractString#to_lower for (self: Object): String */
993 val
* VIRTUAL_string__AbstractString__to_lower(val
* self
) {
994 val
* var
/* : String */;
995 val
* var1
/* : String */;
996 var1
= string__AbstractString__to_lower(self
);
1001 /* method string#AbstractString#trim for (self: AbstractString): String */
1002 val
* string__AbstractString__trim(val
* self
) {
1003 val
* var
/* : String */;
1004 long var1
/* : Int */;
1005 long var2
/* : Int */;
1006 short int var3
/* : Bool */;
1007 short int var5
/* : Bool */;
1008 val
* var6
/* : String */;
1009 long var7
/* : Int */;
1010 long var_start_pos
/* var start_pos: Int */;
1011 val
* var8
/* : nullable Object */;
1012 long var9
/* : Int */;
1013 char var11
/* : Char */;
1014 long var12
/* : Int */;
1015 long var13
/* : Int */;
1016 short int var14
/* : Bool */;
1017 short int var16
/* : Bool */;
1020 const char* var_class_name
;
1021 short int var17
/* : Bool */;
1022 long var18
/* : Int */;
1023 long var19
/* : Int */;
1024 long var21
/* : Int */;
1025 long var22
/* : Int */;
1026 short int var23
/* : Bool */;
1027 short int var25
/* : Bool */;
1028 static val
* varonce
;
1029 val
* var26
/* : String */;
1030 char* var27
/* : NativeString */;
1031 long var28
/* : Int */;
1032 val
* var29
/* : String */;
1033 long var30
/* : Int */;
1034 long var31
/* : Int */;
1035 long var32
/* : Int */;
1036 long var34
/* : Int */;
1037 long var_end_pos
/* var end_pos: Int */;
1038 val
* var35
/* : nullable Object */;
1039 long var36
/* : Int */;
1040 char var38
/* : Char */;
1041 long var39
/* : Int */;
1042 long var40
/* : Int */;
1043 short int var41
/* : Bool */;
1044 short int var43
/* : Bool */;
1047 const char* var_class_name46
;
1048 short int var47
/* : Bool */;
1049 long var48
/* : Int */;
1050 long var49
/* : Int */;
1051 long var51
/* : Int */;
1052 short int var52
/* : Bool */;
1053 short int var54
/* : Bool */;
1054 val
* var55
/* : nullable Object */;
1055 val
* var56
/* : String */;
1056 char var57
/* : Char */;
1057 long var59
/* : Int */;
1058 long var61
/* : Int */;
1059 long var62
/* : Int */;
1060 long var63
/* : Int */;
1061 long var65
/* : Int */;
1062 val
* var66
/* : String */;
1063 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractString> */
1065 { /* Inline kernel#Int#== (var1,var2) */
1066 var5
= var1
== var2
;
1072 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:AbstractString>*/;
1078 var_start_pos
= var7
;
1080 var8
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_start_pos
) /* [] on <self:AbstractString>*/;
1081 { /* Inline kernel#Char#ascii (var8) */
1082 var11
= ((struct instance_kernel__Char
*)var8
)->value
; /* autounbox from nullable Object to Char */;
1083 var12
= (unsigned char)var11
;
1086 RET_LABEL10
:(void)0;
1089 { /* Inline kernel#Int#<= (var9,var13) */
1090 /* Covariant cast for argument 0 (i) <var13:Int> isa OTHER */
1091 /* <var13:Int> isa OTHER */
1092 var16
= 1; /* easy <var13:Int> isa OTHER*/
1094 var_class_name
= type_kernel__Int
.name
;
1095 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1096 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
1099 var17
= var9
<= var13
;
1102 RET_LABEL15
:(void)0;
1106 { /* Inline kernel#Int#+ (var_start_pos,var18) */
1107 var21
= var_start_pos
+ var18
;
1110 RET_LABEL20
:(void)0;
1112 var_start_pos
= var19
;
1113 var22
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:AbstractString> */
1114 { /* Inline kernel#Int#== (var_start_pos,var22) */
1115 var25
= var_start_pos
== var22
;
1118 RET_LABEL24
:(void)0;
1126 var29
= string__NativeString__to_s_with_length(var27
, var28
);
1134 CONTINUE_label
: (void)0;
1136 BREAK_label
: (void)0;
1137 var30
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1139 { /* Inline kernel#Int#- (var30,var31) */
1140 var34
= var30
- var31
;
1143 RET_LABEL33
:(void)0;
1145 var_end_pos
= var32
;
1147 var35
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_end_pos
) /* [] on <self:AbstractString>*/;
1148 { /* Inline kernel#Char#ascii (var35) */
1149 var38
= ((struct instance_kernel__Char
*)var35
)->value
; /* autounbox from nullable Object to Char */;
1150 var39
= (unsigned char)var38
;
1153 RET_LABEL37
:(void)0;
1156 { /* Inline kernel#Int#<= (var36,var40) */
1157 /* Covariant cast for argument 0 (i) <var40:Int> isa OTHER */
1158 /* <var40:Int> isa OTHER */
1159 var43
= 1; /* easy <var40:Int> isa OTHER*/
1161 var_class_name46
= type_kernel__Int
.name
;
1162 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46
);
1163 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
1166 var47
= var36
<= var40
;
1169 RET_LABEL42
:(void)0;
1173 { /* Inline kernel#Int#- (var_end_pos,var48) */
1174 var51
= var_end_pos
- var48
;
1177 RET_LABEL50
:(void)0;
1179 var_end_pos
= var49
;
1180 { /* Inline kernel#Int#== (var_end_pos,var_start_pos) */
1181 var54
= var_end_pos
== var_start_pos
;
1184 RET_LABEL53
:(void)0;
1187 var55
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_start_pos
) /* [] on <self:AbstractString>*/;
1188 var57
= ((struct instance_kernel__Char
*)var55
)->value
; /* autounbox from nullable Object to Char */;
1189 var56
= string__Char__to_s(var57
);
1194 CONTINUE_label58
: (void)0;
1196 BREAK_label58
: (void)0;
1197 { /* Inline kernel#Int#- (var_end_pos,var_start_pos) */
1198 var61
= var_end_pos
- var_start_pos
;
1201 RET_LABEL60
:(void)0;
1204 { /* Inline kernel#Int#+ (var59,var62) */
1205 var65
= var59
+ var62
;
1208 RET_LABEL64
:(void)0;
1210 var66
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_start_pos
, var63
) /* substring on <self:AbstractString>*/;
1216 /* method string#AbstractString#trim for (self: Object): String */
1217 val
* VIRTUAL_string__AbstractString__trim(val
* self
) {
1218 val
* var
/* : String */;
1219 val
* var1
/* : String */;
1220 var1
= string__AbstractString__trim(self
);
1225 /* method string#AbstractString#output for (self: AbstractString) */
1226 void string__AbstractString__output(val
* self
) {
1227 long var
/* : Int */;
1228 long var_i
/* var i: Int */;
1229 long var1
/* : Int */;
1230 short int var2
/* : Bool */;
1231 short int var4
/* : Bool */;
1234 const char* var_class_name
;
1235 short int var5
/* : Bool */;
1236 char* var6
/* : NativeString */;
1237 char var7
/* : Char */;
1238 char var9
/* : Char */;
1239 long var11
/* : Int */;
1240 long var12
/* : Int */;
1241 long var14
/* : Int */;
1245 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1246 { /* Inline kernel#Int#< (var_i,var1) */
1247 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
1248 /* <var1:Int> isa OTHER */
1249 var4
= 1; /* easy <var1:Int> isa OTHER*/
1251 var_class_name
= type_kernel__Int
.name
;
1252 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1253 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
1256 var5
= var_i
< var1
;
1262 var6
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
1263 { /* Inline string#NativeString#[] (var6,var_i) */
1269 { /* Inline kernel#Char#output (var7) */
1271 RET_LABEL10
:(void)0;
1274 { /* Inline kernel#Int#+ (var_i,var11) */
1275 var14
= var_i
+ var11
;
1278 RET_LABEL13
:(void)0;
1281 CONTINUE_label
: (void)0;
1283 BREAK_label
: (void)0;
1286 /* method string#AbstractString#output for (self: Object) */
1287 void VIRTUAL_string__AbstractString__output(val
* self
) {
1288 string__AbstractString__output(self
);
1291 /* method string#AbstractString#to_cmangle for (self: AbstractString): String */
1292 val
* string__AbstractString__to_cmangle(val
* self
) {
1293 val
* var
/* : String */;
1294 val
* var1
/* : Buffer */;
1295 val
* var_res
/* var res: Buffer */;
1296 short int var2
/* : Bool */;
1297 short int var_underscore
/* var underscore: Bool */;
1298 val
* var3
/* : Iterator[nullable Object] */;
1299 short int var4
/* : Bool */;
1300 val
* var5
/* : nullable Object */;
1301 char var_c
/* var c: Char */;
1302 char var6
/* : Char */;
1303 short int var7
/* : Bool */;
1304 short int var8
/* : Bool */;
1305 char var9
/* : Char */;
1306 short int var10
/* : Bool */;
1307 short int var12
/* : Bool */;
1310 const char* var_class_name
;
1311 short int var13
/* : Bool */;
1312 short int var_
/* var : Bool */;
1313 char var14
/* : Char */;
1314 short int var15
/* : Bool */;
1315 short int var17
/* : Bool */;
1318 const char* var_class_name20
;
1319 short int var21
/* : Bool */;
1320 short int var_22
/* var : Bool */;
1321 short int var23
/* : Bool */;
1322 char var24
/* : Char */;
1323 short int var25
/* : Bool */;
1324 short int var27
/* : Bool */;
1327 const char* var_class_name30
;
1328 short int var31
/* : Bool */;
1329 short int var_32
/* var : Bool */;
1330 char var33
/* : Char */;
1331 short int var34
/* : Bool */;
1332 short int var36
/* : Bool */;
1335 const char* var_class_name39
;
1336 short int var40
/* : Bool */;
1337 val
* var41
/* : nullable Object */;
1338 short int var42
/* : Bool */;
1339 char var43
/* : Char */;
1340 long var44
/* : Int */;
1341 long var46
/* : Int */;
1342 val
* var47
/* : String */;
1343 char var48
/* : Char */;
1344 val
* var49
/* : nullable Object */;
1345 short int var50
/* : Bool */;
1346 char var51
/* : Char */;
1347 short int var52
/* : Bool */;
1348 short int var54
/* : Bool */;
1351 const char* var_class_name57
;
1352 short int var58
/* : Bool */;
1353 short int var_59
/* var : Bool */;
1354 char var60
/* : Char */;
1355 short int var61
/* : Bool */;
1356 short int var63
/* : Bool */;
1359 const char* var_class_name66
;
1360 short int var67
/* : Bool */;
1361 val
* var68
/* : nullable Object */;
1362 short int var69
/* : Bool */;
1363 char var70
/* : Char */;
1364 short int var71
/* : Bool */;
1365 short int var73
/* : Bool */;
1366 val
* var74
/* : nullable Object */;
1367 short int var75
/* : Bool */;
1368 char var76
/* : Char */;
1369 val
* var77
/* : nullable Object */;
1370 long var78
/* : Int */;
1371 long var80
/* : Int */;
1372 val
* var81
/* : String */;
1373 char var82
/* : Char */;
1374 val
* var83
/* : nullable Object */;
1375 short int var84
/* : Bool */;
1376 val
* var85
/* : String */;
1377 var1
= NEW_string__Buffer(&type_string__Buffer
);
1378 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1381 var_underscore
= var2
;
1382 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
1384 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
1386 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
1387 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
1390 { /* Inline kernel#Char#>= (var_c,var9) */
1391 /* Covariant cast for argument 0 (i) <var9:Char> isa OTHER */
1392 /* <var9:Char> isa OTHER */
1393 var12
= 1; /* easy <var9:Char> isa OTHER*/
1395 var_class_name
= type_kernel__Char
.name
;
1396 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1397 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
1400 var13
= var_c
>= var9
;
1403 RET_LABEL11
:(void)0;
1408 { /* Inline kernel#Char#<= (var_c,var14) */
1409 /* Covariant cast for argument 0 (i) <var14:Char> isa OTHER */
1410 /* <var14:Char> isa OTHER */
1411 var17
= 1; /* easy <var14:Char> isa OTHER*/
1413 var_class_name20
= type_kernel__Char
.name
;
1414 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
1415 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
1418 var21
= var_c
<= var14
;
1421 RET_LABEL16
:(void)0;
1432 { /* Inline kernel#Char#>= (var_c,var24) */
1433 /* Covariant cast for argument 0 (i) <var24:Char> isa OTHER */
1434 /* <var24:Char> isa OTHER */
1435 var27
= 1; /* easy <var24:Char> isa OTHER*/
1437 var_class_name30
= type_kernel__Char
.name
;
1438 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
1439 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
1442 var31
= var_c
>= var24
;
1445 RET_LABEL26
:(void)0;
1450 { /* Inline kernel#Char#<= (var_c,var33) */
1451 /* Covariant cast for argument 0 (i) <var33:Char> isa OTHER */
1452 /* <var33:Char> isa OTHER */
1453 var36
= 1; /* easy <var33:Char> isa OTHER*/
1455 var_class_name39
= type_kernel__Char
.name
;
1456 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
1457 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
1460 var40
= var_c
<= var33
;
1463 RET_LABEL35
:(void)0;
1472 var41
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1473 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var41
) /* add on <var_res:Buffer>*/;
1475 var_underscore
= var42
;
1476 goto CONTINUE_label
;
1479 if (var_underscore
){
1481 { /* Inline kernel#Char#ascii (var43) */
1482 var46
= (unsigned char)var43
;
1485 RET_LABEL45
:(void)0;
1487 var47
= string__Int__to_s(var44
);
1488 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_res
, var47
) /* append on <var_res:Buffer>*/;
1490 var49
= BOX_kernel__Char(var48
); /* autobox from Char to nullable Object */
1491 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var49
) /* add on <var_res:Buffer>*/;
1495 { /* Inline kernel#Char#>= (var_c,var51) */
1496 /* Covariant cast for argument 0 (i) <var51:Char> isa OTHER */
1497 /* <var51:Char> isa OTHER */
1498 var54
= 1; /* easy <var51:Char> isa OTHER*/
1500 var_class_name57
= type_kernel__Char
.name
;
1501 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57
);
1502 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
1505 var58
= var_c
>= var51
;
1508 RET_LABEL53
:(void)0;
1513 { /* Inline kernel#Char#<= (var_c,var60) */
1514 /* Covariant cast for argument 0 (i) <var60:Char> isa OTHER */
1515 /* <var60:Char> isa OTHER */
1516 var63
= 1; /* easy <var60:Char> isa OTHER*/
1518 var_class_name66
= type_kernel__Char
.name
;
1519 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66
);
1520 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
1523 var67
= var_c
<= var60
;
1526 RET_LABEL62
:(void)0;
1533 var68
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1534 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var68
) /* add on <var_res:Buffer>*/;
1536 var_underscore
= var69
;
1539 { /* Inline kernel#Char#== (var_c,var70) */
1540 var73
= var_c
== var70
;
1543 RET_LABEL72
:(void)0;
1546 var74
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1547 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var74
) /* add on <var_res:Buffer>*/;
1549 var_underscore
= var75
;
1552 var77
= BOX_kernel__Char(var76
); /* autobox from Char to nullable Object */
1553 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var77
) /* add on <var_res:Buffer>*/;
1554 { /* Inline kernel#Char#ascii (var_c) */
1555 var80
= (unsigned char)var_c
;
1558 RET_LABEL79
:(void)0;
1560 var81
= string__Int__to_s(var78
);
1561 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_res
, var81
) /* append on <var_res:Buffer>*/;
1563 var83
= BOX_kernel__Char(var82
); /* autobox from Char to nullable Object */
1564 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var83
) /* add on <var_res:Buffer>*/;
1566 var_underscore
= var84
;
1569 CONTINUE_label
: (void)0;
1570 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
1572 BREAK_label
: (void)0;
1573 var85
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_string__Object__to_s
]))(var_res
) /* to_s on <var_res:Buffer>*/;
1579 /* method string#AbstractString#to_cmangle for (self: Object): String */
1580 val
* VIRTUAL_string__AbstractString__to_cmangle(val
* self
) {
1581 val
* var
/* : String */;
1582 val
* var1
/* : String */;
1583 var1
= string__AbstractString__to_cmangle(self
);
1588 /* method string#AbstractString#escape_to_c for (self: AbstractString): String */
1589 val
* string__AbstractString__escape_to_c(val
* self
) {
1590 val
* var
/* : String */;
1591 val
* var1
/* : Buffer */;
1592 val
* var_b
/* var b: Buffer */;
1593 val
* var2
/* : Iterator[nullable Object] */;
1594 short int var3
/* : Bool */;
1595 val
* var4
/* : nullable Object */;
1596 char var_c
/* var c: Char */;
1597 char var5
/* : Char */;
1598 char var6
/* : Char */;
1599 short int var7
/* : Bool */;
1600 short int var9
/* : Bool */;
1601 static val
* varonce
;
1602 val
* var10
/* : String */;
1603 char* var11
/* : NativeString */;
1604 long var12
/* : Int */;
1605 val
* var13
/* : String */;
1606 char var14
/* : Char */;
1607 short int var15
/* : Bool */;
1608 short int var17
/* : Bool */;
1609 static val
* varonce18
;
1610 val
* var19
/* : String */;
1611 char* var20
/* : NativeString */;
1612 long var21
/* : Int */;
1613 val
* var22
/* : String */;
1614 char var23
/* : Char */;
1615 short int var24
/* : Bool */;
1616 short int var26
/* : Bool */;
1617 static val
* varonce27
;
1618 val
* var28
/* : String */;
1619 char* var29
/* : NativeString */;
1620 long var30
/* : Int */;
1621 val
* var31
/* : String */;
1622 char var32
/* : Char */;
1623 short int var33
/* : Bool */;
1624 short int var35
/* : Bool */;
1625 static val
* varonce36
;
1626 val
* var37
/* : String */;
1627 char* var38
/* : NativeString */;
1628 long var39
/* : Int */;
1629 val
* var40
/* : String */;
1630 char var41
/* : Char */;
1631 short int var42
/* : Bool */;
1632 short int var44
/* : Bool */;
1633 static val
* varonce45
;
1634 val
* var46
/* : String */;
1635 char* var47
/* : NativeString */;
1636 long var48
/* : Int */;
1637 val
* var49
/* : String */;
1638 long var50
/* : Int */;
1639 long var52
/* : Int */;
1640 long var53
/* : Int */;
1641 short int var54
/* : Bool */;
1642 short int var56
/* : Bool */;
1645 const char* var_class_name
;
1646 short int var57
/* : Bool */;
1647 static val
* varonce58
;
1648 val
* var59
/* : String */;
1649 char* var60
/* : NativeString */;
1650 long var61
/* : Int */;
1651 val
* var62
/* : String */;
1652 long var63
/* : Int */;
1653 long var65
/* : Int */;
1654 long var66
/* : Int */;
1655 short int var67
/* : Bool */;
1656 val
* var68
/* : String */;
1657 val
* var69
/* : Array[Object] */;
1658 long var70
/* : Int */;
1659 val
* var71
/* : NativeArray[Object] */;
1660 val
* var72
/* : String */;
1661 val
* var73
/* : nullable Object */;
1662 val
* var74
/* : String */;
1663 var1
= NEW_string__Buffer(&type_string__Buffer
);
1664 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1666 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
1668 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
1670 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
1671 var5
= ((struct instance_kernel__Char
*)var4
)->value
; /* autounbox from nullable Object to Char */;
1674 { /* Inline kernel#Char#== (var_c,var6) */
1675 var9
= var_c
== var6
;
1686 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1690 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var10
) /* append on <var_b:Buffer>*/;
1693 { /* Inline kernel#Char#== (var_c,var14) */
1694 var17
= var_c
== var14
;
1697 RET_LABEL16
:(void)0;
1705 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1709 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var19
) /* append on <var_b:Buffer>*/;
1712 { /* Inline kernel#Char#== (var_c,var23) */
1713 var26
= var_c
== var23
;
1716 RET_LABEL25
:(void)0;
1724 var31
= string__NativeString__to_s_with_length(var29
, var30
);
1728 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var28
) /* append on <var_b:Buffer>*/;
1731 { /* Inline kernel#Char#== (var_c,var32) */
1732 var35
= var_c
== var32
;
1735 RET_LABEL34
:(void)0;
1743 var40
= string__NativeString__to_s_with_length(var38
, var39
);
1747 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var37
) /* append on <var_b:Buffer>*/;
1750 { /* Inline kernel#Char#== (var_c,var41) */
1751 var44
= var_c
== var41
;
1754 RET_LABEL43
:(void)0;
1762 var49
= string__NativeString__to_s_with_length(var47
, var48
);
1766 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var46
) /* append on <var_b:Buffer>*/;
1768 { /* Inline kernel#Char#ascii (var_c) */
1769 var52
= (unsigned char)var_c
;
1772 RET_LABEL51
:(void)0;
1775 { /* Inline kernel#Int#< (var50,var53) */
1776 /* Covariant cast for argument 0 (i) <var53:Int> isa OTHER */
1777 /* <var53:Int> isa OTHER */
1778 var56
= 1; /* easy <var53:Int> isa OTHER*/
1780 var_class_name
= type_kernel__Int
.name
;
1781 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1782 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
1785 var57
= var50
< var53
;
1788 RET_LABEL55
:(void)0;
1796 var62
= string__NativeString__to_s_with_length(var60
, var61
);
1800 { /* Inline kernel#Char#ascii (var_c) */
1801 var65
= (unsigned char)var_c
;
1804 RET_LABEL64
:(void)0;
1808 var68
= string__Int__to_base(var63
, var66
, var67
);
1809 var69
= NEW_array__Array(&type_array__Arraykernel__Object
);
1810 { /* var69 = array_instance Array[Object] */
1812 var71
= NEW_array__NativeArray(var70
, &type_array__NativeArraykernel__Object
);
1813 ((struct instance_array__NativeArray
*)var71
)->values
[0] = (val
*) var59
;
1814 ((struct instance_array__NativeArray
*)var71
)->values
[1] = (val
*) var68
;
1815 ((void (*)(val
*, val
*, long))(var69
->class->vft
[COLOR_array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
1817 var72
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
1818 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var72
) /* append on <var_b:Buffer>*/;
1820 var73
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1821 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var73
) /* add on <var_b:Buffer>*/;
1828 CONTINUE_label
: (void)0;
1829 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
1831 BREAK_label
: (void)0;
1832 var74
= ((val
* (*)(val
*))(var_b
->class->vft
[COLOR_string__Object__to_s
]))(var_b
) /* to_s on <var_b:Buffer>*/;
1838 /* method string#AbstractString#escape_to_c for (self: Object): String */
1839 val
* VIRTUAL_string__AbstractString__escape_to_c(val
* self
) {
1840 val
* var
/* : String */;
1841 val
* var1
/* : String */;
1842 var1
= string__AbstractString__escape_to_c(self
);
1847 /* method string#AbstractString#escape_more_to_c for (self: AbstractString, String): String */
1848 val
* string__AbstractString__escape_more_to_c(val
* self
, val
* p0
) {
1849 val
* var
/* : String */;
1850 val
* var_chars
/* var chars: String */;
1851 val
* var1
/* : Buffer */;
1852 val
* var_b
/* var b: Buffer */;
1853 val
* var2
/* : String */;
1854 val
* var3
/* : Iterator[nullable Object] */;
1855 short int var4
/* : Bool */;
1856 val
* var5
/* : nullable Object */;
1857 char var_c
/* var c: Char */;
1858 char var6
/* : Char */;
1859 short int var7
/* : Bool */;
1860 val
* var8
/* : nullable Object */;
1861 char var9
/* : Char */;
1862 val
* var10
/* : nullable Object */;
1863 val
* var11
/* : nullable Object */;
1864 val
* var12
/* : String */;
1866 var1
= NEW_string__Buffer(&type_string__Buffer
);
1867 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1869 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(self
) /* escape_to_c on <self:AbstractString>*/;
1870 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:String>*/;
1872 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
1874 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
1875 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
1877 var8
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1878 var7
= ((short int (*)(val
*, val
*))(var_chars
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_chars
, var8
) /* has on <var_chars:String>*/;
1881 var10
= BOX_kernel__Char(var9
); /* autobox from Char to nullable Object */
1882 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var10
) /* add on <var_b:Buffer>*/;
1885 var11
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1886 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var11
) /* add on <var_b:Buffer>*/;
1887 CONTINUE_label
: (void)0;
1888 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
1890 BREAK_label
: (void)0;
1891 var12
= ((val
* (*)(val
*))(var_b
->class->vft
[COLOR_string__Object__to_s
]))(var_b
) /* to_s on <var_b:Buffer>*/;
1897 /* method string#AbstractString#escape_more_to_c for (self: Object, String): String */
1898 val
* VIRTUAL_string__AbstractString__escape_more_to_c(val
* self
, val
* p0
) {
1899 val
* var
/* : String */;
1900 val
* var1
/* : String */;
1901 var1
= string__AbstractString__escape_more_to_c(self
, p0
);
1906 /* method string#AbstractString#escape_to_nit for (self: AbstractString): String */
1907 val
* string__AbstractString__escape_to_nit(val
* self
) {
1908 val
* var
/* : String */;
1909 static val
* varonce
;
1910 val
* var1
/* : String */;
1911 char* var2
/* : NativeString */;
1912 long var3
/* : Int */;
1913 val
* var4
/* : String */;
1914 val
* var5
/* : String */;
1920 var4
= string__NativeString__to_s_with_length(var2
, var3
);
1924 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_string__AbstractString__escape_more_to_c
]))(self
, var1
) /* escape_more_to_c on <self:AbstractString>*/;
1930 /* method string#AbstractString#escape_to_nit for (self: Object): String */
1931 val
* VIRTUAL_string__AbstractString__escape_to_nit(val
* self
) {
1932 val
* var
/* : String */;
1933 val
* var1
/* : String */;
1934 var1
= string__AbstractString__escape_to_nit(self
);
1939 /* method string#AbstractString#unescape_nit for (self: AbstractString): String */
1940 val
* string__AbstractString__unescape_nit(val
* self
) {
1941 val
* var
/* : String */;
1942 val
* var1
/* : Buffer */;
1943 long var2
/* : Int */;
1944 val
* var_res
/* var res: Buffer */;
1945 short int var3
/* : Bool */;
1946 short int var_was_slash
/* var was_slash: Bool */;
1947 val
* var4
/* : Iterator[nullable Object] */;
1948 short int var5
/* : Bool */;
1949 val
* var6
/* : nullable Object */;
1950 char var_c
/* var c: Char */;
1951 char var7
/* : Char */;
1952 short int var8
/* : Bool */;
1953 char var9
/* : Char */;
1954 short int var10
/* : Bool */;
1955 short int var12
/* : Bool */;
1956 short int var13
/* : Bool */;
1957 val
* var14
/* : nullable Object */;
1958 short int var15
/* : Bool */;
1959 char var16
/* : Char */;
1960 short int var17
/* : Bool */;
1961 short int var19
/* : Bool */;
1962 char var20
/* : Char */;
1963 val
* var21
/* : nullable Object */;
1964 char var22
/* : Char */;
1965 short int var23
/* : Bool */;
1966 short int var25
/* : Bool */;
1967 char var26
/* : Char */;
1968 val
* var27
/* : nullable Object */;
1969 char var28
/* : Char */;
1970 short int var29
/* : Bool */;
1971 short int var31
/* : Bool */;
1972 char var32
/* : Char */;
1973 val
* var33
/* : nullable Object */;
1974 char var34
/* : Char */;
1975 short int var35
/* : Bool */;
1976 short int var37
/* : Bool */;
1977 char var38
/* : Char */;
1978 val
* var39
/* : nullable Object */;
1979 val
* var40
/* : nullable Object */;
1980 val
* var41
/* : String */;
1981 var1
= NEW_string__Buffer(&type_string__Buffer
);
1982 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1983 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
1986 var_was_slash
= var3
;
1987 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
1989 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
1991 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
1992 var7
= ((struct instance_kernel__Char
*)var6
)->value
; /* autounbox from nullable Object to Char */;
1994 var8
= !var_was_slash
;
1997 { /* Inline kernel#Char#== (var_c,var9) */
1998 var12
= var_c
== var9
;
2001 RET_LABEL11
:(void)0;
2005 var_was_slash
= var13
;
2007 var14
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
2008 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var14
) /* add on <var_res:Buffer>*/;
2010 goto CONTINUE_label
;
2014 var_was_slash
= var15
;
2016 { /* Inline kernel#Char#== (var_c,var16) */
2017 var19
= var_c
== var16
;
2020 RET_LABEL18
:(void)0;
2024 var21
= BOX_kernel__Char(var20
); /* autobox from Char to nullable Object */
2025 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var21
) /* add on <var_res:Buffer>*/;
2028 { /* Inline kernel#Char#== (var_c,var22) */
2029 var25
= var_c
== var22
;
2032 RET_LABEL24
:(void)0;
2036 var27
= BOX_kernel__Char(var26
); /* autobox from Char to nullable Object */
2037 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var27
) /* add on <var_res:Buffer>*/;
2040 { /* Inline kernel#Char#== (var_c,var28) */
2041 var31
= var_c
== var28
;
2044 RET_LABEL30
:(void)0;
2048 var33
= BOX_kernel__Char(var32
); /* autobox from Char to nullable Object */
2049 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var33
) /* add on <var_res:Buffer>*/;
2052 { /* Inline kernel#Char#== (var_c,var34) */
2053 var37
= var_c
== var34
;
2056 RET_LABEL36
:(void)0;
2060 var39
= BOX_kernel__Char(var38
); /* autobox from Char to nullable Object */
2061 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var39
) /* add on <var_res:Buffer>*/;
2063 var40
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
2064 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var40
) /* add on <var_res:Buffer>*/;
2069 CONTINUE_label
: (void)0;
2070 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2072 BREAK_label
: (void)0;
2073 var41
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_string__Object__to_s
]))(var_res
) /* to_s on <var_res:Buffer>*/;
2079 /* method string#AbstractString#unescape_nit for (self: Object): String */
2080 val
* VIRTUAL_string__AbstractString__unescape_nit(val
* self
) {
2081 val
* var
/* : String */;
2082 val
* var1
/* : String */;
2083 var1
= string__AbstractString__unescape_nit(self
);
2088 /* method string#AbstractString#init for (self: AbstractString) */
2089 void string__AbstractString__init(val
* self
) {
2090 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArrayRead__init
]))(self
) /* init on <self:AbstractString>*/;
2093 /* method string#AbstractString#init for (self: Object) */
2094 void VIRTUAL_string__AbstractString__init(val
* self
) {
2095 string__AbstractString__init(self
);
2098 /* method string#String#index_from for (self: String): Int */
2099 long string__String__index_from(val
* self
) {
2100 long var
/* : Int */;
2101 long var1
/* : Int */;
2102 var1
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2107 /* method string#String#index_from for (self: Object): Int */
2108 long VIRTUAL_string__String__index_from(val
* self
) {
2109 long var
/* : Int */;
2110 long var1
/* : Int */;
2111 var1
= string__String__index_from(self
);
2116 /* method string#String#index_to for (self: String): Int */
2117 long string__String__index_to(val
* self
) {
2118 long var
/* : Int */;
2119 long var1
/* : Int */;
2120 var1
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2125 /* method string#String#index_to for (self: Object): Int */
2126 long VIRTUAL_string__String__index_to(val
* self
) {
2127 long var
/* : Int */;
2128 long var1
/* : Int */;
2129 var1
= string__String__index_to(self
);
2134 /* method string#String#[] for (self: String, Int): Char */
2135 char string__String___91d_93d(val
* self
, long p0
) {
2136 char var
/* : Char */;
2137 long var_index
/* var index: Int */;
2138 long var1
/* : Int */;
2139 short int var2
/* : Bool */;
2140 short int var4
/* : Bool */;
2143 const char* var_class_name
;
2144 short int var5
/* : Bool */;
2145 long var6
/* : Int */;
2146 long var7
/* : Int */;
2147 long var9
/* : Int */;
2148 long var10
/* : Int */;
2149 short int var11
/* : Bool */;
2150 short int var13
/* : Bool */;
2153 const char* var_class_name16
;
2154 short int var17
/* : Bool */;
2155 char* var18
/* : NativeString */;
2156 long var19
/* : Int */;
2157 long var20
/* : Int */;
2158 long var22
/* : Int */;
2159 char var23
/* : Char */;
2160 char var25
/* : Char */;
2163 { /* Inline kernel#Int#>= (var_index,var1) */
2164 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2165 /* <var1:Int> isa OTHER */
2166 var4
= 1; /* easy <var1:Int> isa OTHER*/
2168 var_class_name
= type_kernel__Int
.name
;
2169 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2170 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
2173 var5
= var_index
>= var1
;
2179 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2180 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 379);
2183 var6
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2184 { /* Inline kernel#Int#+ (var_index,var6) */
2185 var9
= var_index
+ var6
;
2190 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2191 { /* Inline kernel#Int#<= (var7,var10) */
2192 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2193 /* <var10:Int> isa OTHER */
2194 var13
= 1; /* easy <var10:Int> isa OTHER*/
2196 var_class_name16
= type_kernel__Int
.name
;
2197 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
2198 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
2201 var17
= var7
<= var10
;
2204 RET_LABEL12
:(void)0;
2207 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2208 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 382);
2211 var18
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2212 var19
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2213 { /* Inline kernel#Int#+ (var_index,var19) */
2214 var22
= var_index
+ var19
;
2217 RET_LABEL21
:(void)0;
2219 { /* Inline string#NativeString#[] (var18,var20) */
2220 var25
= var18
[var20
];
2223 RET_LABEL24
:(void)0;
2230 /* method string#String#[] for (self: Object, Int): nullable Object */
2231 val
* VIRTUAL_string__String___91d_93d(val
* self
, long p0
) {
2232 val
* var
/* : nullable Object */;
2233 char var1
/* : Char */;
2234 val
* var2
/* : nullable Object */;
2235 var1
= string__String___91d_93d(self
, p0
);
2236 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
2241 /* method string#String#substring for (self: String, Int, Int): String */
2242 val
* string__String__substring(val
* self
, long p0
, long p1
) {
2243 val
* var
/* : String */;
2244 long var_from
/* var from: Int */;
2245 long var_count
/* var count: Int */;
2246 long var1
/* : Int */;
2247 short int var2
/* : Bool */;
2248 short int var4
/* : Bool */;
2251 const char* var_class_name
;
2252 short int var5
/* : Bool */;
2253 long var6
/* : Int */;
2254 short int var7
/* : Bool */;
2255 short int var9
/* : Bool */;
2258 const char* var_class_name12
;
2259 short int var13
/* : Bool */;
2260 long var14
/* : Int */;
2261 long var16
/* : Int */;
2262 long var17
/* : Int */;
2263 short int var18
/* : Bool */;
2264 short int var20
/* : Bool */;
2267 const char* var_class_name23
;
2268 short int var24
/* : Bool */;
2269 long var25
/* : Int */;
2270 long var26
/* : Int */;
2271 long var27
/* : Int */;
2272 long var28
/* : Int */;
2273 long var30
/* : Int */;
2274 long var_realFrom
/* var realFrom: Int */;
2275 long var31
/* : Int */;
2276 long var33
/* : Int */;
2277 long var34
/* : Int */;
2278 short int var35
/* : Bool */;
2279 short int var37
/* : Bool */;
2282 const char* var_class_name40
;
2283 short int var41
/* : Bool */;
2284 val
* var42
/* : String */;
2285 long var43
/* : Int */;
2286 char* var44
/* : NativeString */;
2287 long var45
/* : Int */;
2288 short int var46
/* : Bool */;
2289 short int var48
/* : Bool */;
2290 static val
* varonce
;
2291 val
* var49
/* : String */;
2292 char* var50
/* : NativeString */;
2293 long var51
/* : Int */;
2294 val
* var52
/* : String */;
2295 val
* var53
/* : String */;
2296 long var54
/* : Int */;
2297 long var56
/* : Int */;
2298 long var57
/* : Int */;
2299 long var58
/* : Int */;
2300 long var60
/* : Int */;
2301 char* var61
/* : NativeString */;
2305 { /* Inline kernel#Int#>= (var_count,var1) */
2306 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2307 /* <var1:Int> isa OTHER */
2308 var4
= 1; /* easy <var1:Int> isa OTHER*/
2310 var_class_name
= type_kernel__Int
.name
;
2311 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2312 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
2315 var5
= var_count
>= var1
;
2321 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2322 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 388);
2326 { /* Inline kernel#Int#< (var_from,var6) */
2327 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
2328 /* <var6:Int> isa OTHER */
2329 var9
= 1; /* easy <var6:Int> isa OTHER*/
2331 var_class_name12
= type_kernel__Int
.name
;
2332 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
2333 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
2336 var13
= var_from
< var6
;
2342 { /* Inline kernel#Int#+ (var_count,var_from) */
2343 var16
= var_count
+ var_from
;
2346 RET_LABEL15
:(void)0;
2350 { /* Inline kernel#Int#< (var_count,var17) */
2351 /* Covariant cast for argument 0 (i) <var17:Int> isa OTHER */
2352 /* <var17:Int> isa OTHER */
2353 var20
= 1; /* easy <var17:Int> isa OTHER*/
2355 var_class_name23
= type_kernel__Int
.name
;
2356 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23
);
2357 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
2360 var24
= var_count
< var17
;
2363 RET_LABEL19
:(void)0;
2374 var27
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2375 { /* Inline kernel#Int#+ (var27,var_from) */
2376 var30
= var27
+ var_from
;
2379 RET_LABEL29
:(void)0;
2381 var_realFrom
= var28
;
2382 { /* Inline kernel#Int#+ (var_realFrom,var_count) */
2383 var33
= var_realFrom
+ var_count
;
2386 RET_LABEL32
:(void)0;
2388 var34
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2389 { /* Inline kernel#Int#> (var31,var34) */
2390 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
2391 /* <var34:Int> isa OTHER */
2392 var37
= 1; /* easy <var34:Int> isa OTHER*/
2394 var_class_name40
= type_kernel__Int
.name
;
2395 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
2396 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
2399 var41
= var31
> var34
;
2402 RET_LABEL36
:(void)0;
2405 var42
= NEW_string__String(&type_string__String
);
2406 var43
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2407 var44
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2408 ((void (*)(val
*, long, long, char*))(var42
->class->vft
[COLOR_string__String__from_substring
]))(var42
, var_realFrom
, var43
, var44
) /* from_substring on <var42:String>*/;
2414 { /* Inline kernel#Int#== (var_count,var45) */
2415 var48
= var_count
== var45
;
2418 RET_LABEL47
:(void)0;
2426 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2434 var53
= NEW_string__String(&type_string__String
);
2435 { /* Inline kernel#Int#+ (var_realFrom,var_count) */
2436 var56
= var_realFrom
+ var_count
;
2439 RET_LABEL55
:(void)0;
2442 { /* Inline kernel#Int#- (var54,var57) */
2443 var60
= var54
- var57
;
2446 RET_LABEL59
:(void)0;
2448 var61
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2449 ((void (*)(val
*, long, long, char*))(var53
->class->vft
[COLOR_string__String__from_substring
]))(var53
, var_realFrom
, var58
, var61
) /* from_substring on <var53:String>*/;
2455 /* method string#String#substring for (self: Object, Int, Int): String */
2456 val
* VIRTUAL_string__String__substring(val
* self
, long p0
, long p1
) {
2457 val
* var
/* : String */;
2458 val
* var1
/* : String */;
2459 var1
= string__String__substring(self
, p0
, p1
);
2464 /* method string#String#substring_from for (self: String, Int): String */
2465 val
* string__String__substring_from(val
* self
, long p0
) {
2466 val
* var
/* : String */;
2467 long var_from
/* var from: Int */;
2468 long var1
/* : Int */;
2469 short int var2
/* : Bool */;
2470 short int var4
/* : Bool */;
2473 const char* var_class_name
;
2474 short int var5
/* : Bool */;
2475 static val
* varonce
;
2476 val
* var6
/* : String */;
2477 char* var7
/* : NativeString */;
2478 long var8
/* : Int */;
2479 val
* var9
/* : String */;
2480 long var10
/* : Int */;
2481 short int var11
/* : Bool */;
2482 short int var13
/* : Bool */;
2485 const char* var_class_name16
;
2486 short int var17
/* : Bool */;
2487 long var18
/* : Int */;
2488 long var19
/* : Int */;
2489 val
* var20
/* : String */;
2491 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2492 { /* Inline kernel#Int#> (var_from,var1) */
2493 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2494 /* <var1:Int> isa OTHER */
2495 var4
= 1; /* easy <var1:Int> isa OTHER*/
2497 var_class_name
= type_kernel__Int
.name
;
2498 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2499 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
2502 var5
= var_from
> var1
;
2513 var9
= string__NativeString__to_s_with_length(var7
, var8
);
2522 { /* Inline kernel#Int#< (var_from,var10) */
2523 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2524 /* <var10:Int> isa OTHER */
2525 var13
= 1; /* easy <var10:Int> isa OTHER*/
2527 var_class_name16
= type_kernel__Int
.name
;
2528 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
2529 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
2532 var17
= var_from
< var10
;
2535 RET_LABEL12
:(void)0;
2542 var19
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2543 var20
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_from
, var19
) /* substring on <self:String>*/;
2549 /* method string#String#substring_from for (self: Object, Int): String */
2550 val
* VIRTUAL_string__String__substring_from(val
* self
, long p0
) {
2551 val
* var
/* : String */;
2552 val
* var1
/* : String */;
2553 var1
= string__String__substring_from(self
, p0
);
2558 /* method string#String#has_substring for (self: String, String, Int): Bool */
2559 short int string__String__has_substring(val
* self
, val
* p0
, long p1
) {
2560 short int var
/* : Bool */;
2561 val
* var_str
/* var str: String */;
2562 long var_pos
/* var pos: Int */;
2563 long var1
/* : Int */;
2564 long var2
/* : Int */;
2565 long var3
/* : Int */;
2566 long var5
/* : Int */;
2567 long var_itsindex
/* var itsindex: Int */;
2568 long var6
/* : Int */;
2569 long var8
/* : Int */;
2570 long var_myindex
/* var myindex: Int */;
2571 char* var9
/* : NativeString */;
2572 char* var_myitems
/* var myitems: NativeString */;
2573 char* var10
/* : NativeString */;
2574 char* var_itsitems
/* var itsitems: NativeString */;
2575 short int var11
/* : Bool */;
2576 long var12
/* : Int */;
2577 short int var13
/* : Bool */;
2578 short int var15
/* : Bool */;
2581 const char* var_class_name
;
2582 short int var16
/* : Bool */;
2583 short int var_
/* var : Bool */;
2584 short int var17
/* : Bool */;
2585 short int var19
/* : Bool */;
2588 const char* var_class_name22
;
2589 short int var23
/* : Bool */;
2590 short int var24
/* : Bool */;
2591 long var25
/* : Int */;
2592 long var_itsindexfrom
/* var itsindexfrom: Int */;
2593 long var26
/* : Int */;
2594 long var28
/* : Int */;
2595 long var29
/* : Int */;
2596 long var30
/* : Int */;
2597 long var32
/* : Int */;
2598 short int var33
/* : Bool */;
2599 short int var35
/* : Bool */;
2602 const char* var_class_name38
;
2603 short int var39
/* : Bool */;
2604 char var40
/* : Char */;
2605 char var42
/* : Char */;
2606 char var43
/* : Char */;
2607 char var45
/* : Char */;
2608 short int var46
/* : Bool */;
2609 short int var48
/* : Bool */;
2610 short int var49
/* : Bool */;
2611 short int var50
/* : Bool */;
2612 long var51
/* : Int */;
2613 long var52
/* : Int */;
2614 long var54
/* : Int */;
2615 long var55
/* : Int */;
2616 long var56
/* : Int */;
2617 long var58
/* : Int */;
2618 short int var59
/* : Bool */;
2621 var1
= var_str
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_str:String> */
2623 { /* Inline kernel#Int#- (var1,var2) */
2629 var_itsindex
= var3
;
2630 { /* Inline kernel#Int#+ (var_pos,var_itsindex) */
2631 var8
= var_pos
+ var_itsindex
;
2637 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2639 var10
= var_str
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_str:String> */
2640 var_itsitems
= var10
;
2641 var12
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2642 { /* Inline kernel#Int#> (var_myindex,var12) */
2643 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2644 /* <var12:Int> isa OTHER */
2645 var15
= 1; /* easy <var12:Int> isa OTHER*/
2647 var_class_name
= type_kernel__Int
.name
;
2648 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2649 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
2652 var16
= var_myindex
> var12
;
2655 RET_LABEL14
:(void)0;
2661 { /* Inline kernel#Int#> (var_itsindex,var_myindex) */
2662 /* Covariant cast for argument 0 (i) <var_myindex:Int> isa OTHER */
2663 /* <var_myindex:Int> isa OTHER */
2664 var19
= 1; /* easy <var_myindex:Int> isa OTHER*/
2666 var_class_name22
= type_kernel__Int
.name
;
2667 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
2668 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
2671 var23
= var_itsindex
> var_myindex
;
2674 RET_LABEL18
:(void)0;
2684 var25
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_string__String__index_from
]))(var_str
) /* index_from on <var_str:String>*/;
2685 var_itsindexfrom
= var25
;
2686 { /* Inline kernel#Int#+ (var_itsindex,var_itsindexfrom) */
2687 var28
= var_itsindex
+ var_itsindexfrom
;
2690 RET_LABEL27
:(void)0;
2692 var_itsindex
= var26
;
2693 var29
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
2694 { /* Inline kernel#Int#+ (var_myindex,var29) */
2695 var32
= var_myindex
+ var29
;
2698 RET_LABEL31
:(void)0;
2700 var_myindex
= var30
;
2702 { /* Inline kernel#Int#>= (var_itsindex,var_itsindexfrom) */
2703 /* Covariant cast for argument 0 (i) <var_itsindexfrom:Int> isa OTHER */
2704 /* <var_itsindexfrom:Int> isa OTHER */
2705 var35
= 1; /* easy <var_itsindexfrom:Int> isa OTHER*/
2707 var_class_name38
= type_kernel__Int
.name
;
2708 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38
);
2709 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
2712 var39
= var_itsindex
>= var_itsindexfrom
;
2715 RET_LABEL34
:(void)0;
2718 { /* Inline string#NativeString#[] (var_myitems,var_myindex) */
2719 var42
= var_myitems
[var_myindex
];
2722 RET_LABEL41
:(void)0;
2724 { /* Inline string#NativeString#[] (var_itsitems,var_itsindex) */
2725 var45
= var_itsitems
[var_itsindex
];
2728 RET_LABEL44
:(void)0;
2730 { /* Inline kernel#Char#!= (var40,var43) */
2731 var48
= var40
== var43
;
2735 RET_LABEL47
:(void)0;
2744 { /* Inline kernel#Int#- (var_myindex,var51) */
2745 var54
= var_myindex
- var51
;
2748 RET_LABEL53
:(void)0;
2750 var_myindex
= var52
;
2752 { /* Inline kernel#Int#- (var_itsindex,var55) */
2753 var58
= var_itsindex
- var55
;
2756 RET_LABEL57
:(void)0;
2758 var_itsindex
= var56
;
2759 CONTINUE_label
: (void)0;
2761 BREAK_label
: (void)0;
2768 /* method string#String#has_substring for (self: Object, String, Int): Bool */
2769 short int VIRTUAL_string__String__has_substring(val
* self
, val
* p0
, long p1
) {
2770 short int var
/* : Bool */;
2771 short int var1
/* : Bool */;
2772 var1
= string__String__has_substring(self
, p0
, p1
);
2777 /* method string#String#to_upper for (self: String): String */
2778 val
* string__String__to_upper(val
* self
) {
2779 val
* var
/* : String */;
2780 long var1
/* : Int */;
2781 long var2
/* : Int */;
2782 long var3
/* : Int */;
2783 long var5
/* : Int */;
2784 char* var6
/* : NativeString */;
2785 char* var_outstr
/* var outstr: NativeString */;
2786 long var7
/* : Int */;
2787 long var_out_index
/* var out_index: Int */;
2788 char* var8
/* : NativeString */;
2789 char* var_myitems
/* var myitems: NativeString */;
2790 long var9
/* : Int */;
2791 long var_index_from
/* var index_from: Int */;
2792 long var10
/* : Int */;
2793 long var_max
/* var max: Int */;
2794 short int var11
/* : Bool */;
2795 short int var13
/* : Bool */;
2798 const char* var_class_name
;
2799 short int var14
/* : Bool */;
2800 char var15
/* : Char */;
2801 char var17
/* : Char */;
2802 char var18
/* : Char */;
2803 long var20
/* : Int */;
2804 long var21
/* : Int */;
2805 long var23
/* : Int */;
2806 long var24
/* : Int */;
2807 long var25
/* : Int */;
2808 long var27
/* : Int */;
2809 long var28
/* : Int */;
2810 char var29
/* : Char */;
2811 long var31
/* : Int */;
2812 val
* var32
/* : String */;
2813 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2815 { /* Inline kernel#Int#+ (var1,var2) */
2821 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:String>*/;
2824 var_out_index
= var7
;
2825 var8
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2827 var9
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2828 var_index_from
= var9
;
2829 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2832 { /* Inline kernel#Int#<= (var_index_from,var_max) */
2833 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
2834 /* <var_max:Int> isa OTHER */
2835 var13
= 1; /* easy <var_max:Int> isa OTHER*/
2837 var_class_name
= type_kernel__Int
.name
;
2838 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2839 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
2842 var14
= var_index_from
<= var_max
;
2845 RET_LABEL12
:(void)0;
2848 { /* Inline string#NativeString#[] (var_myitems,var_index_from) */
2849 var17
= var_myitems
[var_index_from
];
2852 RET_LABEL16
:(void)0;
2854 var18
= kernel__Char__to_upper(var15
);
2855 { /* Inline string#NativeString#[]= (var_outstr,var_out_index,var18) */
2856 var_outstr
[var_out_index
]=var18
;
2857 RET_LABEL19
:(void)0;
2860 { /* Inline kernel#Int#+ (var_out_index,var20) */
2861 var23
= var_out_index
+ var20
;
2864 RET_LABEL22
:(void)0;
2866 var_out_index
= var21
;
2868 { /* Inline kernel#Int#+ (var_index_from,var24) */
2869 var27
= var_index_from
+ var24
;
2872 RET_LABEL26
:(void)0;
2874 var_index_from
= var25
;
2875 CONTINUE_label
: (void)0;
2877 BREAK_label
: (void)0;
2878 var28
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
2880 { /* Inline string#NativeString#[]= (var_outstr,var28,var29) */
2881 var_outstr
[var28
]=var29
;
2882 RET_LABEL30
:(void)0;
2884 var31
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2885 var32
= string__NativeString__to_s_with_length(var_outstr
, var31
);
2891 /* method string#String#to_upper for (self: Object): String */
2892 val
* VIRTUAL_string__String__to_upper(val
* self
) {
2893 val
* var
/* : String */;
2894 val
* var1
/* : String */;
2895 var1
= string__String__to_upper(self
);
2900 /* method string#String#to_lower for (self: String): String */
2901 val
* string__String__to_lower(val
* self
) {
2902 val
* var
/* : String */;
2903 long var1
/* : Int */;
2904 long var2
/* : Int */;
2905 long var3
/* : Int */;
2906 long var5
/* : Int */;
2907 char* var6
/* : NativeString */;
2908 char* var_outstr
/* var outstr: NativeString */;
2909 long var7
/* : Int */;
2910 long var_out_index
/* var out_index: Int */;
2911 char* var8
/* : NativeString */;
2912 char* var_myitems
/* var myitems: NativeString */;
2913 long var9
/* : Int */;
2914 long var_index_from
/* var index_from: Int */;
2915 long var10
/* : Int */;
2916 long var_max
/* var max: Int */;
2917 short int var11
/* : Bool */;
2918 short int var13
/* : Bool */;
2921 const char* var_class_name
;
2922 short int var14
/* : Bool */;
2923 char var15
/* : Char */;
2924 char var17
/* : Char */;
2925 char var18
/* : Char */;
2926 long var20
/* : Int */;
2927 long var21
/* : Int */;
2928 long var23
/* : Int */;
2929 long var24
/* : Int */;
2930 long var25
/* : Int */;
2931 long var27
/* : Int */;
2932 long var28
/* : Int */;
2933 char var29
/* : Char */;
2934 long var31
/* : Int */;
2935 val
* var32
/* : String */;
2936 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2938 { /* Inline kernel#Int#+ (var1,var2) */
2944 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:String>*/;
2947 var_out_index
= var7
;
2948 var8
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2950 var9
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2951 var_index_from
= var9
;
2952 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2955 { /* Inline kernel#Int#<= (var_index_from,var_max) */
2956 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
2957 /* <var_max:Int> isa OTHER */
2958 var13
= 1; /* easy <var_max:Int> isa OTHER*/
2960 var_class_name
= type_kernel__Int
.name
;
2961 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2962 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
2965 var14
= var_index_from
<= var_max
;
2968 RET_LABEL12
:(void)0;
2971 { /* Inline string#NativeString#[] (var_myitems,var_index_from) */
2972 var17
= var_myitems
[var_index_from
];
2975 RET_LABEL16
:(void)0;
2977 var18
= kernel__Char__to_lower(var15
);
2978 { /* Inline string#NativeString#[]= (var_outstr,var_out_index,var18) */
2979 var_outstr
[var_out_index
]=var18
;
2980 RET_LABEL19
:(void)0;
2983 { /* Inline kernel#Int#+ (var_out_index,var20) */
2984 var23
= var_out_index
+ var20
;
2987 RET_LABEL22
:(void)0;
2989 var_out_index
= var21
;
2991 { /* Inline kernel#Int#+ (var_index_from,var24) */
2992 var27
= var_index_from
+ var24
;
2995 RET_LABEL26
:(void)0;
2997 var_index_from
= var25
;
2998 CONTINUE_label
: (void)0;
3000 BREAK_label
: (void)0;
3001 var28
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
3003 { /* Inline string#NativeString#[]= (var_outstr,var28,var29) */
3004 var_outstr
[var28
]=var29
;
3005 RET_LABEL30
:(void)0;
3007 var31
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3008 var32
= string__NativeString__to_s_with_length(var_outstr
, var31
);
3014 /* method string#String#to_lower for (self: Object): String */
3015 val
* VIRTUAL_string__String__to_lower(val
* self
) {
3016 val
* var
/* : String */;
3017 val
* var1
/* : String */;
3018 var1
= string__String__to_lower(self
);
3023 /* method string#String#trim for (self: String): String */
3024 val
* string__String__trim(val
* self
) {
3025 val
* var
/* : String */;
3026 long var1
/* : Int */;
3027 long var2
/* : Int */;
3028 short int var3
/* : Bool */;
3029 short int var5
/* : Bool */;
3030 long var6
/* : Int */;
3031 long var_start_pos
/* var start_pos: Int */;
3032 char* var7
/* : NativeString */;
3033 char var8
/* : Char */;
3034 char var10
/* : Char */;
3035 long var11
/* : Int */;
3036 long var13
/* : Int */;
3037 long var14
/* : Int */;
3038 short int var15
/* : Bool */;
3039 short int var17
/* : Bool */;
3042 const char* var_class_name
;
3043 short int var18
/* : Bool */;
3044 long var19
/* : Int */;
3045 long var20
/* : Int */;
3046 long var22
/* : Int */;
3047 long var23
/* : Int */;
3048 long var24
/* : Int */;
3049 long var25
/* : Int */;
3050 long var27
/* : Int */;
3051 short int var28
/* : Bool */;
3052 short int var30
/* : Bool */;
3053 static val
* varonce
;
3054 val
* var31
/* : String */;
3055 char* var32
/* : NativeString */;
3056 long var33
/* : Int */;
3057 val
* var34
/* : String */;
3058 long var35
/* : Int */;
3059 long var_end_pos
/* var end_pos: Int */;
3060 char* var36
/* : NativeString */;
3061 char var37
/* : Char */;
3062 char var39
/* : Char */;
3063 long var40
/* : Int */;
3064 long var42
/* : Int */;
3065 long var43
/* : Int */;
3066 short int var44
/* : Bool */;
3067 short int var46
/* : Bool */;
3070 const char* var_class_name49
;
3071 short int var50
/* : Bool */;
3072 long var51
/* : Int */;
3073 long var52
/* : Int */;
3074 long var54
/* : Int */;
3075 short int var55
/* : Bool */;
3076 short int var57
/* : Bool */;
3077 char* var58
/* : NativeString */;
3078 char var59
/* : Char */;
3079 char var61
/* : Char */;
3080 val
* var62
/* : String */;
3081 long var64
/* : Int */;
3082 long var65
/* : Int */;
3083 long var67
/* : Int */;
3084 long var68
/* : Int */;
3085 long var69
/* : Int */;
3086 long var71
/* : Int */;
3087 long var72
/* : Int */;
3088 long var74
/* : Int */;
3089 long var75
/* : Int */;
3090 long var76
/* : Int */;
3091 long var78
/* : Int */;
3092 val
* var79
/* : String */;
3093 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3095 { /* Inline kernel#Int#== (var1,var2) */
3096 var5
= var1
== var2
;
3106 var6
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3107 var_start_pos
= var6
;
3109 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3110 { /* Inline string#NativeString#[] (var7,var_start_pos) */
3111 var10
= var7
[var_start_pos
];
3116 { /* Inline kernel#Char#ascii (var8) */
3117 var13
= (unsigned char)var8
;
3120 RET_LABEL12
:(void)0;
3123 { /* Inline kernel#Int#<= (var11,var14) */
3124 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
3125 /* <var14:Int> isa OTHER */
3126 var17
= 1; /* easy <var14:Int> isa OTHER*/
3128 var_class_name
= type_kernel__Int
.name
;
3129 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3130 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
3133 var18
= var11
<= var14
;
3136 RET_LABEL16
:(void)0;
3140 { /* Inline kernel#Int#+ (var_start_pos,var19) */
3141 var22
= var_start_pos
+ var19
;
3144 RET_LABEL21
:(void)0;
3146 var_start_pos
= var20
;
3147 var23
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3149 { /* Inline kernel#Int#+ (var23,var24) */
3150 var27
= var23
+ var24
;
3153 RET_LABEL26
:(void)0;
3155 { /* Inline kernel#Int#== (var_start_pos,var25) */
3156 var30
= var_start_pos
== var25
;
3159 RET_LABEL29
:(void)0;
3167 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3175 CONTINUE_label
: (void)0;
3177 BREAK_label
: (void)0;
3178 var35
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3179 var_end_pos
= var35
;
3181 var36
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3182 { /* Inline string#NativeString#[] (var36,var_end_pos) */
3183 var39
= var36
[var_end_pos
];
3186 RET_LABEL38
:(void)0;
3188 { /* Inline kernel#Char#ascii (var37) */
3189 var42
= (unsigned char)var37
;
3192 RET_LABEL41
:(void)0;
3195 { /* Inline kernel#Int#<= (var40,var43) */
3196 /* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
3197 /* <var43:Int> isa OTHER */
3198 var46
= 1; /* easy <var43:Int> isa OTHER*/
3200 var_class_name49
= type_kernel__Int
.name
;
3201 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49
);
3202 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
3205 var50
= var40
<= var43
;
3208 RET_LABEL45
:(void)0;
3212 { /* Inline kernel#Int#- (var_end_pos,var51) */
3213 var54
= var_end_pos
- var51
;
3216 RET_LABEL53
:(void)0;
3218 var_end_pos
= var52
;
3219 { /* Inline kernel#Int#== (var_end_pos,var_start_pos) */
3220 var57
= var_end_pos
== var_start_pos
;
3223 RET_LABEL56
:(void)0;
3226 var58
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3227 { /* Inline string#NativeString#[] (var58,var_start_pos) */
3228 var61
= var58
[var_start_pos
];
3231 RET_LABEL60
:(void)0;
3233 var62
= string__Char__to_s(var59
);
3238 CONTINUE_label63
: (void)0;
3240 BREAK_label63
: (void)0;
3241 var64
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
3242 { /* Inline kernel#Int#- (var_start_pos,var64) */
3243 var67
= var_start_pos
- var64
;
3246 RET_LABEL66
:(void)0;
3248 var_start_pos
= var65
;
3249 var68
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
3250 { /* Inline kernel#Int#- (var_end_pos,var68) */
3251 var71
= var_end_pos
- var68
;
3254 RET_LABEL70
:(void)0;
3256 var_end_pos
= var69
;
3257 { /* Inline kernel#Int#- (var_end_pos,var_start_pos) */
3258 var74
= var_end_pos
- var_start_pos
;
3261 RET_LABEL73
:(void)0;
3264 { /* Inline kernel#Int#+ (var72,var75) */
3265 var78
= var72
+ var75
;
3268 RET_LABEL77
:(void)0;
3270 var79
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_start_pos
, var76
) /* substring on <self:String>*/;
3276 /* method string#String#trim for (self: Object): String */
3277 val
* VIRTUAL_string__String__trim(val
* self
) {
3278 val
* var
/* : String */;
3279 val
* var1
/* : String */;
3280 var1
= string__String__trim(self
);
3285 /* method string#String#output for (self: String) */
3286 void string__String__output(val
* self
) {
3287 long var
/* : Int */;
3288 long var_i
/* var i: Int */;
3289 long var1
/* : Int */;
3290 long var_imax
/* var imax: Int */;
3291 short int var2
/* : Bool */;
3292 short int var4
/* : Bool */;
3295 const char* var_class_name
;
3296 short int var5
/* : Bool */;
3297 char* var6
/* : NativeString */;
3298 char var7
/* : Char */;
3299 char var9
/* : Char */;
3300 long var11
/* : Int */;
3301 long var12
/* : Int */;
3302 long var14
/* : Int */;
3303 var
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3305 var1
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3308 { /* Inline kernel#Int#<= (var_i,var_imax) */
3309 /* Covariant cast for argument 0 (i) <var_imax:Int> isa OTHER */
3310 /* <var_imax:Int> isa OTHER */
3311 var4
= 1; /* easy <var_imax:Int> isa OTHER*/
3313 var_class_name
= type_kernel__Int
.name
;
3314 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3315 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
3318 var5
= var_i
<= var_imax
;
3324 var6
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3325 { /* Inline string#NativeString#[] (var6,var_i) */
3331 { /* Inline kernel#Char#output (var7) */
3333 RET_LABEL10
:(void)0;
3336 { /* Inline kernel#Int#+ (var_i,var11) */
3337 var14
= var_i
+ var11
;
3340 RET_LABEL13
:(void)0;
3343 CONTINUE_label
: (void)0;
3345 BREAK_label
: (void)0;
3348 /* method string#String#output for (self: Object) */
3349 void VIRTUAL_string__String__output(val
* self
) {
3350 string__String__output(self
);
3353 /* method string#String#from_substring for (self: String, Int, Int, NativeString) */
3354 void string__String__from_substring(val
* self
, long p0
, long p1
, char* p2
) {
3355 long var_from
/* var from: Int */;
3356 long var_to
/* var to: Int */;
3357 char* var_internalString
/* var internalString: NativeString */;
3358 long var
/* : Int */;
3359 long var2
/* : Int */;
3360 long var3
/* : Int */;
3361 long var4
/* : Int */;
3362 long var6
/* : Int */;
3365 var_internalString
= p2
;
3366 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:String>*/;
3367 self
->attrs
[COLOR_string__AbstractString___items
].str
= var_internalString
; /* _items on <self:String> */
3368 self
->attrs
[COLOR_string__String___index_from
].l
= var_from
; /* _index_from on <self:String> */
3369 self
->attrs
[COLOR_string__String___index_to
].l
= var_to
; /* _index_to on <self:String> */
3370 { /* Inline kernel#Int#- (var_to,var_from) */
3371 var2
= var_to
- var_from
;
3377 { /* Inline kernel#Int#+ (var,var3) */
3383 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var4
; /* _length on <self:String> */
3386 /* method string#String#from_substring for (self: Object, Int, Int, NativeString) */
3387 void VIRTUAL_string__String__from_substring(val
* self
, long p0
, long p1
, char* p2
) {
3388 string__String__from_substring(self
, p0
, p1
, p2
);
3391 /* method string#String#with_infos for (self: String, NativeString, Int, Int, Int) */
3392 void string__String__with_infos(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
3393 char* var_items
/* var items: NativeString */;
3394 long var_len
/* var len: Int */;
3395 long var_from
/* var from: Int */;
3396 long var_to
/* var to: Int */;
3401 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:String>*/;
3402 self
->attrs
[COLOR_string__AbstractString___items
].str
= var_items
; /* _items on <self:String> */
3403 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var_len
; /* _length on <self:String> */
3404 self
->attrs
[COLOR_string__String___index_from
].l
= var_from
; /* _index_from on <self:String> */
3405 self
->attrs
[COLOR_string__String___index_to
].l
= var_to
; /* _index_to on <self:String> */
3408 /* method string#String#with_infos for (self: Object, NativeString, Int, Int, Int) */
3409 void VIRTUAL_string__String__with_infos(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
3410 string__String__with_infos(self
, p0
, p1
, p2
, p3
);
3413 /* method string#String#to_cstring for (self: String): NativeString */
3414 char* string__String__to_cstring(val
* self
) {
3415 char* var
/* : NativeString */;
3416 short int var1
/* : Bool */;
3417 long var2
/* : Int */;
3418 long var3
/* : Int */;
3419 short int var4
/* : Bool */;
3420 short int var6
/* : Bool */;
3423 const char* var_class_name
;
3424 short int var7
/* : Bool */;
3425 short int var_
/* var : Bool */;
3426 long var8
/* : Int */;
3427 char* var9
/* : NativeString */;
3428 long var10
/* : Int */;
3429 long var11
/* : Int */;
3430 long var12
/* : Int */;
3431 long var14
/* : Int */;
3432 short int var15
/* : Bool */;
3433 short int var17
/* : Bool */;
3434 short int var18
/* : Bool */;
3435 long var19
/* : Int */;
3436 long var20
/* : Int */;
3437 long var21
/* : Int */;
3438 long var23
/* : Int */;
3439 char* var24
/* : NativeString */;
3440 char* var_newItems
/* var newItems: NativeString */;
3441 char* var25
/* : NativeString */;
3442 long var26
/* : Int */;
3443 long var27
/* : Int */;
3444 long var28
/* : Int */;
3445 long var30
/* : Int */;
3446 char var31
/* : Char */;
3447 char* var33
/* : NativeString */;
3448 var2
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3450 { /* Inline kernel#Int#> (var2,var3) */
3451 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3452 /* <var3:Int> isa OTHER */
3453 var6
= 1; /* easy <var3:Int> isa OTHER*/
3455 var_class_name
= type_kernel__Int
.name
;
3456 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3457 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
3469 var8
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3470 var9
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__items
]))(self
) /* items on <self:String>*/;
3471 var10
= string__NativeString__cstring_length(var9
);
3473 { /* Inline kernel#Int#- (var10,var11) */
3474 var14
= var10
- var11
;
3477 RET_LABEL13
:(void)0;
3479 { /* Inline kernel#Int#!= (var8,var12) */
3480 var17
= var8
== var12
;
3484 RET_LABEL16
:(void)0;
3489 var19
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3491 { /* Inline kernel#Int#+ (var19,var20) */
3492 var23
= var19
+ var20
;
3495 RET_LABEL22
:(void)0;
3497 var24
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var21
) /* calloc_string on <self:String>*/;
3498 var_newItems
= var24
;
3499 var25
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__items
]))(self
) /* items on <self:String>*/;
3500 var26
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3501 var27
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3503 { /* Inline string#NativeString#copy_to (var25,var_newItems,var26,var27,var28) */
3504 memcpy(var_newItems
+var28
,var25
+var27
,var26
);
3505 RET_LABEL29
:(void)0;
3507 var30
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
3509 { /* Inline string#NativeString#[]= (var_newItems,var30,var31) */
3510 var_newItems
[var30
]=var31
;
3511 RET_LABEL32
:(void)0;
3517 var33
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3523 /* method string#String#to_cstring for (self: Object): NativeString */
3524 char* VIRTUAL_string__String__to_cstring(val
* self
) {
3525 char* var
/* : NativeString */;
3526 char* var1
/* : NativeString */;
3527 var1
= string__String__to_cstring(self
);
3532 /* method string#String#== for (self: String, nullable Object): Bool */
3533 short int string__String___61d_61d(val
* self
, val
* p0
) {
3534 short int var
/* : Bool */;
3535 val
* var_other
/* var other: nullable Object */;
3536 short int var1
/* : Bool */;
3539 short int var2
/* : Bool */;
3540 short int var3
/* : Bool */;
3541 long var4
/* : Int */;
3542 long var5
/* : Int */;
3543 short int var6
/* : Bool */;
3544 short int var8
/* : Bool */;
3545 short int var9
/* : Bool */;
3546 long var10
/* : Int */;
3547 long var_my_length
/* var my_length: Int */;
3548 long var11
/* : Int */;
3549 short int var12
/* : Bool */;
3550 short int var14
/* : Bool */;
3551 short int var15
/* : Bool */;
3552 short int var16
/* : Bool */;
3553 long var17
/* : Int */;
3554 long var_my_index
/* var my_index: Int */;
3555 long var18
/* : Int */;
3556 long var_its_index
/* var its_index: Int */;
3557 long var19
/* : Int */;
3558 long var21
/* : Int */;
3559 long var_last_iteration
/* var last_iteration: Int */;
3560 char* var22
/* : NativeString */;
3561 char* var_itsitems
/* var itsitems: NativeString */;
3562 char* var23
/* : NativeString */;
3563 char* var_myitems
/* var myitems: NativeString */;
3564 short int var24
/* : Bool */;
3565 short int var26
/* : Bool */;
3568 const char* var_class_name
;
3569 short int var29
/* : Bool */;
3570 char var30
/* : Char */;
3571 char var32
/* : Char */;
3572 char var33
/* : Char */;
3573 char var35
/* : Char */;
3574 short int var36
/* : Bool */;
3575 short int var38
/* : Bool */;
3576 short int var39
/* : Bool */;
3577 short int var40
/* : Bool */;
3578 long var41
/* : Int */;
3579 long var42
/* : Int */;
3580 long var44
/* : Int */;
3581 long var45
/* : Int */;
3582 long var46
/* : Int */;
3583 long var48
/* : Int */;
3584 short int var49
/* : Bool */;
3586 /* <var_other:nullable Object> isa String */
3587 cltype
= type_string__String
.color
;
3588 idtype
= type_string__String
.id
;
3589 if(var_other
== NULL
) {
3592 if(cltype
>= var_other
->type
->table_size
) {
3595 var1
= var_other
->type
->type_table
[cltype
] == idtype
;
3605 var4
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:String>*/;
3606 var5
= ((long (*)(val
*))(var_other
->class->vft
[COLOR_kernel__Object__object_id
]))(var_other
) /* object_id on <var_other:nullable Object(String)>*/;
3607 { /* Inline kernel#Int#== (var4,var5) */
3608 var8
= var4
== var5
;
3619 var10
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3620 var_my_length
= var10
;
3621 var11
= var_other
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_other:nullable Object(String)> */
3622 { /* Inline kernel#Int#!= (var11,var_my_length) */
3623 var14
= var11
== var_my_length
;
3627 RET_LABEL13
:(void)0;
3635 var17
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3636 var_my_index
= var17
;
3637 var18
= var_other
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_other:nullable Object(String)> */
3638 var_its_index
= var18
;
3639 { /* Inline kernel#Int#+ (var_my_index,var_my_length) */
3640 var21
= var_my_index
+ var_my_length
;
3643 RET_LABEL20
:(void)0;
3645 var_last_iteration
= var19
;
3646 var22
= var_other
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_other:nullable Object(String)> */
3647 var_itsitems
= var22
;
3648 var23
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3649 var_myitems
= var23
;
3651 { /* Inline kernel#Int#< (var_my_index,var_last_iteration) */
3652 /* Covariant cast for argument 0 (i) <var_last_iteration:Int> isa OTHER */
3653 /* <var_last_iteration:Int> isa OTHER */
3654 var26
= 1; /* easy <var_last_iteration:Int> isa OTHER*/
3656 var_class_name
= type_kernel__Int
.name
;
3657 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3658 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
3661 var29
= var_my_index
< var_last_iteration
;
3664 RET_LABEL25
:(void)0;
3667 { /* Inline string#NativeString#[] (var_myitems,var_my_index) */
3668 var32
= var_myitems
[var_my_index
];
3671 RET_LABEL31
:(void)0;
3673 { /* Inline string#NativeString#[] (var_itsitems,var_its_index) */
3674 var35
= var_itsitems
[var_its_index
];
3677 RET_LABEL34
:(void)0;
3679 { /* Inline kernel#Char#!= (var30,var33) */
3680 var38
= var30
== var33
;
3684 RET_LABEL37
:(void)0;
3693 { /* Inline kernel#Int#+ (var_my_index,var41) */
3694 var44
= var_my_index
+ var41
;
3697 RET_LABEL43
:(void)0;
3699 var_my_index
= var42
;
3701 { /* Inline kernel#Int#+ (var_its_index,var45) */
3702 var48
= var_its_index
+ var45
;
3705 RET_LABEL47
:(void)0;
3707 var_its_index
= var46
;
3708 CONTINUE_label
: (void)0;
3710 BREAK_label
: (void)0;
3717 /* method string#String#== for (self: Object, nullable Object): Bool */
3718 short int VIRTUAL_string__String___61d_61d(val
* self
, val
* p0
) {
3719 short int var
/* : Bool */;
3720 short int var1
/* : Bool */;
3721 var1
= string__String___61d_61d(self
, p0
);
3726 /* method string#String#< for (self: String, String): Bool */
3727 short int string__String___60d(val
* self
, val
* p0
) {
3728 short int var
/* : Bool */;
3729 short int var1
/* : Bool */;
3732 const struct type
* type_struct
;
3733 const char* var_class_name
;
3734 val
* var_other
/* var other: String */;
3735 long var2
/* : Int */;
3736 long var3
/* : Int */;
3737 short int var4
/* : Bool */;
3738 short int var6
/* : Bool */;
3739 short int var7
/* : Bool */;
3740 long var8
/* : Int */;
3741 long var_curr_id_self
/* var curr_id_self: Int */;
3742 long var9
/* : Int */;
3743 long var_curr_id_other
/* var curr_id_other: Int */;
3744 char* var10
/* : NativeString */;
3745 char* var_my_items
/* var my_items: NativeString */;
3746 char* var11
/* : NativeString */;
3747 char* var_its_items
/* var its_items: NativeString */;
3748 long var12
/* : Int */;
3749 long var_my_length
/* var my_length: Int */;
3750 long var13
/* : Int */;
3751 long var_its_length
/* var its_length: Int */;
3752 long var14
/* : Int */;
3753 long var16
/* : Int */;
3754 long var_max_iterations
/* var max_iterations: Int */;
3755 short int var17
/* : Bool */;
3756 short int var19
/* : Bool */;
3759 const char* var_class_name22
;
3760 short int var23
/* : Bool */;
3761 char var24
/* : Char */;
3762 char var26
/* : Char */;
3763 char var_my_curr_char
/* var my_curr_char: Char */;
3764 char var27
/* : Char */;
3765 char var29
/* : Char */;
3766 char var_its_curr_char
/* var its_curr_char: Char */;
3767 short int var30
/* : Bool */;
3768 short int var32
/* : Bool */;
3769 short int var33
/* : Bool */;
3770 short int var34
/* : Bool */;
3771 short int var36
/* : Bool */;
3774 const char* var_class_name39
;
3775 short int var40
/* : Bool */;
3776 short int var41
/* : Bool */;
3777 short int var42
/* : Bool */;
3778 long var43
/* : Int */;
3779 long var44
/* : Int */;
3780 long var46
/* : Int */;
3781 long var47
/* : Int */;
3782 long var48
/* : Int */;
3783 long var50
/* : Int */;
3784 short int var51
/* : Bool */;
3785 short int var53
/* : Bool */;
3788 const char* var_class_name56
;
3789 short int var57
/* : Bool */;
3790 /* Covariant cast for argument 0 (other) <p0:String> isa OTHER */
3791 /* <p0:String> isa OTHER */
3792 type_struct
= self
->type
->resolution_table
->types
[COLOR_kernel__Comparable_VTOTHER
];
3793 cltype
= type_struct
->color
;
3794 idtype
= type_struct
->id
;
3795 if(cltype
>= p0
->type
->table_size
) {
3798 var1
= p0
->type
->type_table
[cltype
] == idtype
;
3801 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
3802 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3803 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 571);
3807 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:String>*/;
3808 var3
= ((long (*)(val
*))(var_other
->class->vft
[COLOR_kernel__Object__object_id
]))(var_other
) /* object_id on <var_other:String>*/;
3809 { /* Inline kernel#Int#== (var2,var3) */
3810 var6
= var2
== var3
;
3821 var8
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3822 var_curr_id_self
= var8
;
3823 var9
= var_other
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_other:String> */
3824 var_curr_id_other
= var9
;
3825 var10
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3826 var_my_items
= var10
;
3827 var11
= var_other
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_other:String> */
3828 var_its_items
= var11
;
3829 var12
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3830 var_my_length
= var12
;
3831 var13
= var_other
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_other:String> */
3832 var_its_length
= var13
;
3833 { /* Inline kernel#Int#+ (var_curr_id_self,var_my_length) */
3834 var16
= var_curr_id_self
+ var_my_length
;
3837 RET_LABEL15
:(void)0;
3839 var_max_iterations
= var14
;
3841 { /* Inline kernel#Int#< (var_curr_id_self,var_max_iterations) */
3842 /* Covariant cast for argument 0 (i) <var_max_iterations:Int> isa OTHER */
3843 /* <var_max_iterations:Int> isa OTHER */
3844 var19
= 1; /* easy <var_max_iterations:Int> isa OTHER*/
3846 var_class_name22
= type_kernel__Int
.name
;
3847 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
3848 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
3851 var23
= var_curr_id_self
< var_max_iterations
;
3854 RET_LABEL18
:(void)0;
3857 { /* Inline string#NativeString#[] (var_my_items,var_curr_id_self) */
3858 var26
= var_my_items
[var_curr_id_self
];
3861 RET_LABEL25
:(void)0;
3863 var_my_curr_char
= var24
;
3864 { /* Inline string#NativeString#[] (var_its_items,var_curr_id_other) */
3865 var29
= var_its_items
[var_curr_id_other
];
3868 RET_LABEL28
:(void)0;
3870 var_its_curr_char
= var27
;
3871 { /* Inline kernel#Char#!= (var_my_curr_char,var_its_curr_char) */
3872 var32
= var_my_curr_char
== var_its_curr_char
;
3876 RET_LABEL31
:(void)0;
3879 { /* Inline kernel#Char#< (var_my_curr_char,var_its_curr_char) */
3880 /* Covariant cast for argument 0 (i) <var_its_curr_char:Char> isa OTHER */
3881 /* <var_its_curr_char:Char> isa OTHER */
3882 var36
= 1; /* easy <var_its_curr_char:Char> isa OTHER*/
3884 var_class_name39
= type_kernel__Char
.name
;
3885 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
3886 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 437);
3889 var40
= var_my_curr_char
< var_its_curr_char
;
3892 RET_LABEL35
:(void)0;
3906 { /* Inline kernel#Int#+ (var_curr_id_self,var43) */
3907 var46
= var_curr_id_self
+ var43
;
3910 RET_LABEL45
:(void)0;
3912 var_curr_id_self
= var44
;
3914 { /* Inline kernel#Int#+ (var_curr_id_other,var47) */
3915 var50
= var_curr_id_other
+ var47
;
3918 RET_LABEL49
:(void)0;
3920 var_curr_id_other
= var48
;
3921 CONTINUE_label
: (void)0;
3923 BREAK_label
: (void)0;
3924 { /* Inline kernel#Int#< (var_my_length,var_its_length) */
3925 /* Covariant cast for argument 0 (i) <var_its_length:Int> isa OTHER */
3926 /* <var_its_length:Int> isa OTHER */
3927 var53
= 1; /* easy <var_its_length:Int> isa OTHER*/
3929 var_class_name56
= type_kernel__Int
.name
;
3930 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56
);
3931 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
3934 var57
= var_my_length
< var_its_length
;
3937 RET_LABEL52
:(void)0;
3944 /* method string#String#< for (self: Object, Comparable): Bool */
3945 short int VIRTUAL_string__String___60d(val
* self
, val
* p0
) {
3946 short int var
/* : Bool */;
3947 short int var1
/* : Bool */;
3948 var1
= string__String___60d(self
, p0
);
3953 /* method string#String#+ for (self: String, String): String */
3954 val
* string__String___43d(val
* self
, val
* p0
) {
3955 val
* var
/* : String */;
3956 val
* var_s
/* var s: String */;
3957 long var1
/* : Int */;
3958 long var_my_length
/* var my_length: Int */;
3959 long var2
/* : Int */;
3960 long var_its_length
/* var its_length: Int */;
3961 long var3
/* : Int */;
3962 long var5
/* : Int */;
3963 long var_total_length
/* var total_length: Int */;
3964 long var6
/* : Int */;
3965 long var8
/* : Int */;
3966 long var9
/* : Int */;
3967 long var10
/* : Int */;
3968 long var12
/* : Int */;
3969 char* var13
/* : NativeString */;
3970 char* var_target_string
/* var target_string: NativeString */;
3971 char* var14
/* : NativeString */;
3972 long var15
/* : Int */;
3973 long var16
/* : Int */;
3974 char* var18
/* : NativeString */;
3975 long var19
/* : Int */;
3976 char var21
/* : Char */;
3977 val
* var23
/* : String */;
3979 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3980 var_my_length
= var1
;
3981 var2
= var_s
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_s:String> */
3982 var_its_length
= var2
;
3983 { /* Inline kernel#Int#+ (var_my_length,var_its_length) */
3984 var5
= var_my_length
+ var_its_length
;
3989 var_total_length
= var3
;
3990 { /* Inline kernel#Int#+ (var_my_length,var_its_length) */
3991 var8
= var_my_length
+ var_its_length
;
3997 { /* Inline kernel#Int#+ (var6,var9) */
3998 var12
= var6
+ var9
;
4001 RET_LABEL11
:(void)0;
4003 var13
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var10
) /* calloc_string on <self:String>*/;
4004 var_target_string
= var13
;
4005 var14
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4006 var15
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
4008 { /* Inline string#NativeString#copy_to (var14,var_target_string,var_my_length,var15,var16) */
4009 memcpy(var_target_string
+var16
,var14
+var15
,var_my_length
);
4010 RET_LABEL17
:(void)0;
4012 var18
= var_s
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_s:String> */
4013 var19
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:String> */
4014 { /* Inline string#NativeString#copy_to (var18,var_target_string,var_its_length,var19,var_my_length) */
4015 memcpy(var_target_string
+var_my_length
,var18
+var19
,var_its_length
);
4016 RET_LABEL20
:(void)0;
4019 { /* Inline string#NativeString#[]= (var_target_string,var_total_length,var21) */
4020 var_target_string
[var_total_length
]=var21
;
4021 RET_LABEL22
:(void)0;
4023 var23
= string__NativeString__to_s_with_length(var_target_string
, var_total_length
);
4029 /* method string#String#+ for (self: Object, String): String */
4030 val
* VIRTUAL_string__String___43d(val
* self
, val
* p0
) {
4031 val
* var
/* : String */;
4032 val
* var1
/* : String */;
4033 var1
= string__String___43d(self
, p0
);
4038 /* method string#String#* for (self: String, Int): String */
4039 val
* string__String___42d(val
* self
, long p0
) {
4040 val
* var
/* : String */;
4041 long var_i
/* var i: Int */;
4042 long var1
/* : Int */;
4043 short int var2
/* : Bool */;
4044 short int var4
/* : Bool */;
4047 const char* var_class_name
;
4048 short int var5
/* : Bool */;
4049 long var6
/* : Int */;
4050 long var_my_length
/* var my_length: Int */;
4051 long var7
/* : Int */;
4052 long var9
/* : Int */;
4053 long var_final_length
/* var final_length: Int */;
4054 char* var10
/* : NativeString */;
4055 char* var_my_items
/* var my_items: NativeString */;
4056 long var11
/* : Int */;
4057 long var12
/* : Int */;
4058 long var14
/* : Int */;
4059 char* var15
/* : NativeString */;
4060 char* var_target_string
/* var target_string: NativeString */;
4061 char var16
/* : Char */;
4062 long var18
/* : Int */;
4063 long var_current_last
/* var current_last: Int */;
4064 val
* var19
/* : Range[Int] */;
4065 long var20
/* : Int */;
4066 val
* var21
/* : Discrete */;
4067 val
* var22
/* : Discrete */;
4068 val
* var23
/* : Iterator[nullable Object] */;
4069 short int var24
/* : Bool */;
4070 val
* var25
/* : nullable Object */;
4071 long var_iteration
/* var iteration: Int */;
4072 long var26
/* : Int */;
4073 long var27
/* : Int */;
4074 long var29
/* : Int */;
4075 long var31
/* : Int */;
4076 val
* var32
/* : String */;
4079 { /* Inline kernel#Int#>= (var_i,var1) */
4080 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
4081 /* <var1:Int> isa OTHER */
4082 var4
= 1; /* easy <var1:Int> isa OTHER*/
4084 var_class_name
= type_kernel__Int
.name
;
4085 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4086 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
4089 var5
= var_i
>= var1
;
4095 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4096 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 635);
4099 var6
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
4100 var_my_length
= var6
;
4101 { /* Inline kernel#Int#* (var_my_length,var_i) */
4102 var9
= var_my_length
* var_i
;
4107 var_final_length
= var7
;
4108 var10
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4109 var_my_items
= var10
;
4111 { /* Inline kernel#Int#+ (var_final_length,var11) */
4112 var14
= var_final_length
+ var11
;
4115 RET_LABEL13
:(void)0;
4117 var15
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var12
) /* calloc_string on <self:String>*/;
4118 var_target_string
= var15
;
4120 { /* Inline string#NativeString#[]= (var_target_string,var_final_length,var16) */
4121 var_target_string
[var_final_length
]=var16
;
4122 RET_LABEL17
:(void)0;
4125 var_current_last
= var18
;
4126 var19
= NEW_range__Range(&type_range__Rangekernel__Int
);
4128 var21
= BOX_kernel__Int(var20
); /* autobox from Int to Discrete */
4129 var22
= BOX_kernel__Int(var_i
); /* autobox from Int to Discrete */
4130 ((void (*)(val
*, val
*, val
*))(var19
->class->vft
[COLOR_range__Range__init
]))(var19
, var21
, var22
) /* init on <var19:Range[Int]>*/;
4131 var23
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var19
) /* iterator on <var19:Range[Int]>*/;
4133 var24
= ((short int (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var23
) /* is_ok on <var23:Iterator[nullable Object]>*/;
4135 var25
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var23
) /* item on <var23:Iterator[nullable Object]>*/;
4136 var26
= ((struct instance_kernel__Int
*)var25
)->value
; /* autounbox from nullable Object to Int */;
4137 var_iteration
= var26
;
4139 { /* Inline string#NativeString#copy_to (var_my_items,var_target_string,var_my_length,var27,var_current_last) */
4140 memcpy(var_target_string
+var_current_last
,var_my_items
+var27
,var_my_length
);
4141 RET_LABEL28
:(void)0;
4143 { /* Inline kernel#Int#+ (var_current_last,var_my_length) */
4144 var31
= var_current_last
+ var_my_length
;
4147 RET_LABEL30
:(void)0;
4149 var_current_last
= var29
;
4150 CONTINUE_label
: (void)0;
4151 ((void (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var23
) /* next on <var23:Iterator[nullable Object]>*/;
4153 BREAK_label
: (void)0;
4154 var32
= string__NativeString__to_s_with_length(var_target_string
, var_final_length
);
4160 /* method string#String#* for (self: Object, Int): String */
4161 val
* VIRTUAL_string__String___42d(val
* self
, long p0
) {
4162 val
* var
/* : String */;
4163 val
* var1
/* : String */;
4164 var1
= string__String___42d(self
, p0
);
4169 /* method string#String#to_s for (self: String): String */
4170 val
* string__String__to_s(val
* self
) {
4171 val
* var
/* : String */;
4177 /* method string#String#to_s for (self: Object): String */
4178 val
* VIRTUAL_string__String__to_s(val
* self
) {
4179 val
* var
/* : String */;
4180 val
* var1
/* : String */;
4181 var1
= string__String__to_s(self
);
4186 /* method string#String#hash for (self: String): Int */
4187 long string__String__hash(val
* self
) {
4188 long var
/* : Int */;
4189 long var1
/* : Int */;
4190 long var_h
/* var h: Int */;
4191 long var2
/* : Int */;
4192 long var3
/* : Int */;
4193 long var4
/* : Int */;
4194 long var6
/* : Int */;
4195 long var_i
/* var i: Int */;
4196 char* var7
/* : NativeString */;
4197 char* var_myitems
/* var myitems: NativeString */;
4198 long var8
/* : Int */;
4199 long var_strStart
/* var strStart: Int */;
4200 long var9
/* : Int */;
4201 long var11
/* : Int */;
4202 short int var12
/* : Bool */;
4203 short int var14
/* : Bool */;
4206 const char* var_class_name
;
4207 short int var15
/* : Bool */;
4208 long var16
/* : Int */;
4209 long var17
/* : Int */;
4210 long var19
/* : Int */;
4211 long var20
/* : Int */;
4212 long var22
/* : Int */;
4213 char* var23
/* : NativeString */;
4214 char var24
/* : Char */;
4215 char var26
/* : Char */;
4216 long var27
/* : Int */;
4217 long var29
/* : Int */;
4218 long var30
/* : Int */;
4219 long var32
/* : Int */;
4220 long var33
/* : Int */;
4221 long var34
/* : Int */;
4222 long var36
/* : Int */;
4225 var2
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
4227 { /* Inline kernel#Int#- (var2,var3) */
4234 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4236 var8
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
4237 var_strStart
= var8
;
4238 { /* Inline kernel#Int#+ (var_i,var_strStart) */
4239 var11
= var_i
+ var_strStart
;
4242 RET_LABEL10
:(void)0;
4246 { /* Inline kernel#Int#>= (var_i,var_strStart) */
4247 /* Covariant cast for argument 0 (i) <var_strStart:Int> isa OTHER */
4248 /* <var_strStart:Int> isa OTHER */
4249 var14
= 1; /* easy <var_strStart:Int> isa OTHER*/
4251 var_class_name
= type_kernel__Int
.name
;
4252 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4253 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
4256 var15
= var_i
>= var_strStart
;
4259 RET_LABEL13
:(void)0;
4263 { /* Inline kernel#Int#* (var_h,var16) */
4264 var19
= var_h
* var16
;
4267 RET_LABEL18
:(void)0;
4269 { /* Inline kernel#Int#+ (var17,var_h) */
4270 var22
= var17
+ var_h
;
4273 RET_LABEL21
:(void)0;
4275 var23
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4276 { /* Inline string#NativeString#[] (var23,var_i) */
4277 var26
= var23
[var_i
];
4280 RET_LABEL25
:(void)0;
4282 { /* Inline kernel#Char#ascii (var24) */
4283 var29
= (unsigned char)var24
;
4286 RET_LABEL28
:(void)0;
4288 { /* Inline kernel#Int#+ (var20,var27) */
4289 var32
= var20
+ var27
;
4292 RET_LABEL31
:(void)0;
4296 { /* Inline kernel#Int#- (var_i,var33) */
4297 var36
= var_i
- var33
;
4300 RET_LABEL35
:(void)0;
4303 CONTINUE_label
: (void)0;
4305 BREAK_label
: (void)0;
4311 /* method string#String#hash for (self: Object): Int */
4312 long VIRTUAL_string__String__hash(val
* self
) {
4313 long var
/* : Int */;
4314 long var1
/* : Int */;
4315 var1
= string__String__hash(self
);
4320 /* method string#Buffer#[]= for (self: Buffer, Int, Char) */
4321 void string__Buffer___91d_93d_61d(val
* self
, long p0
, char p1
) {
4322 short int var
/* : Bool */;
4325 const char* var_class_name
;
4326 long var_index
/* var index: Int */;
4327 char var_item
/* var item: Char */;
4328 long var1
/* : Int */;
4329 short int var2
/* : Bool */;
4330 short int var4
/* : Bool */;
4331 val
* var5
/* : nullable Object */;
4332 short int var6
/* : Bool */;
4333 long var7
/* : Int */;
4334 short int var8
/* : Bool */;
4335 short int var10
/* : Bool */;
4338 const char* var_class_name13
;
4339 short int var14
/* : Bool */;
4340 short int var_
/* var : Bool */;
4341 long var15
/* : Int */;
4342 short int var16
/* : Bool */;
4343 short int var18
/* : Bool */;
4346 const char* var_class_name21
;
4347 short int var22
/* : Bool */;
4348 char* var23
/* : NativeString */;
4349 /* Covariant cast for argument 1 (item) <p1:Char> isa Sequence#0 */
4350 /* <p1:Char> isa Sequence#0 */
4351 var
= 1; /* easy <p1:Char> isa Sequence#0*/
4353 var_class_name
= type_kernel__Char
.name
;
4354 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
4355 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 688);
4360 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4361 { /* Inline kernel#Int#== (var_index,var1) */
4362 var4
= var_index
== var1
;
4368 var5
= BOX_kernel__Char(var_item
); /* autobox from Char to nullable Object */
4369 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(self
, var5
) /* add on <self:Buffer>*/;
4374 { /* Inline kernel#Int#>= (var_index,var7) */
4375 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
4376 /* <var7:Int> isa OTHER */
4377 var10
= 1; /* easy <var7:Int> isa OTHER*/
4379 var_class_name13
= type_kernel__Int
.name
;
4380 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
4381 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
4384 var14
= var_index
>= var7
;
4391 var15
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4392 { /* Inline kernel#Int#< (var_index,var15) */
4393 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
4394 /* <var15:Int> isa OTHER */
4395 var18
= 1; /* easy <var15:Int> isa OTHER*/
4397 var_class_name21
= type_kernel__Int
.name
;
4398 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
4399 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4402 var22
= var_index
< var15
;
4405 RET_LABEL17
:(void)0;
4412 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4413 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 694);
4416 var23
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4417 { /* Inline string#NativeString#[]= (var23,var_index,var_item) */
4418 var23
[var_index
]=var_item
;
4419 RET_LABEL24
:(void)0;
4423 /* method string#Buffer#[]= for (self: Object, Int, nullable Object) */
4424 void VIRTUAL_string__Buffer___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
4425 char var
/* : Char */;
4426 var
= ((struct instance_kernel__Char
*)p1
)->value
; /* autounbox from nullable Object to Char */;
4427 string__Buffer___91d_93d_61d(self
, p0
, var
);
4430 /* method string#Buffer#add for (self: Buffer, Char) */
4431 void string__Buffer__add(val
* self
, char p0
) {
4432 short int var
/* : Bool */;
4435 const char* var_class_name
;
4436 char var_c
/* var c: Char */;
4437 long var1
/* : Int */;
4438 long var2
/* : Int */;
4439 short int var3
/* : Bool */;
4440 short int var5
/* : Bool */;
4443 const char* var_class_name8
;
4444 short int var9
/* : Bool */;
4445 long var10
/* : Int */;
4446 long var11
/* : Int */;
4447 long var12
/* : Int */;
4448 long var14
/* : Int */;
4449 char* var15
/* : NativeString */;
4450 long var16
/* : Int */;
4451 val
* var_
/* var : Buffer */;
4452 long var18
/* : Int */;
4453 long var19
/* : Int */;
4454 long var20
/* : Int */;
4455 long var22
/* : Int */;
4456 /* Covariant cast for argument 0 (c) <p0:Char> isa SimpleCollection#0 */
4457 /* <p0:Char> isa SimpleCollection#0 */
4458 var
= 1; /* easy <p0:Char> isa SimpleCollection#0*/
4460 var_class_name
= type_kernel__Char
.name
;
4461 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name
);
4462 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 698);
4466 var1
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
4467 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4468 { /* Inline kernel#Int#<= (var1,var2) */
4469 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
4470 /* <var2:Int> isa OTHER */
4471 var5
= 1; /* easy <var2:Int> isa OTHER*/
4473 var_class_name8
= type_kernel__Int
.name
;
4474 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
4475 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
4478 var9
= var1
<= var2
;
4484 var10
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4486 { /* Inline kernel#Int#+ (var10,var11) */
4487 var14
= var10
+ var11
;
4490 RET_LABEL13
:(void)0;
4492 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var12
) /* enlarge on <self:Buffer>*/;
4495 var15
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4496 var16
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4497 { /* Inline string#NativeString#[]= (var15,var16,var_c) */
4499 RET_LABEL17
:(void)0;
4502 var18
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:Buffer> */
4504 { /* Inline kernel#Int#+ (var18,var19) */
4505 var22
= var18
+ var19
;
4508 RET_LABEL21
:(void)0;
4510 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var20
; /* _length on <var_:Buffer> */
4513 /* method string#Buffer#add for (self: Object, nullable Object) */
4514 void VIRTUAL_string__Buffer__add(val
* self
, val
* p0
) {
4515 char var
/* : Char */;
4516 var
= ((struct instance_kernel__Char
*)p0
)->value
; /* autounbox from nullable Object to Char */;
4517 string__Buffer__add(self
, var
);
4520 /* method string#Buffer#enlarge for (self: Buffer, Int) */
4521 void string__Buffer__enlarge(val
* self
, long p0
) {
4522 long var_cap
/* var cap: Int */;
4523 long var
/* : Int */;
4524 long var_c
/* var c: Int */;
4525 short int var1
/* : Bool */;
4526 short int var3
/* : Bool */;
4529 const char* var_class_name
;
4530 short int var4
/* : Bool */;
4531 short int var5
/* : Bool */;
4532 short int var7
/* : Bool */;
4535 const char* var_class_name10
;
4536 short int var11
/* : Bool */;
4537 long var12
/* : Int */;
4538 long var13
/* : Int */;
4539 long var15
/* : Int */;
4540 long var16
/* : Int */;
4541 long var17
/* : Int */;
4542 long var19
/* : Int */;
4543 long var20
/* : Int */;
4544 long var21
/* : Int */;
4545 long var23
/* : Int */;
4546 char* var24
/* : NativeString */;
4547 char* var_a
/* var a: NativeString */;
4548 char* var25
/* : NativeString */;
4549 long var26
/* : Int */;
4550 long var27
/* : Int */;
4551 long var28
/* : Int */;
4553 var
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
4555 { /* Inline kernel#Int#<= (var_cap,var_c) */
4556 /* Covariant cast for argument 0 (i) <var_c:Int> isa OTHER */
4557 /* <var_c:Int> isa OTHER */
4558 var3
= 1; /* easy <var_c:Int> isa OTHER*/
4560 var_class_name
= type_kernel__Int
.name
;
4561 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4562 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
4565 var4
= var_cap
<= var_c
;
4575 { /* Inline kernel#Int#<= (var_c,var_cap) */
4576 /* Covariant cast for argument 0 (i) <var_cap:Int> isa OTHER */
4577 /* <var_cap:Int> isa OTHER */
4578 var7
= 1; /* easy <var_cap:Int> isa OTHER*/
4580 var_class_name10
= type_kernel__Int
.name
;
4581 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
4582 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 260);
4585 var11
= var_c
<= var_cap
;
4592 { /* Inline kernel#Int#* (var_c,var12) */
4593 var15
= var_c
* var12
;
4596 RET_LABEL14
:(void)0;
4599 { /* Inline kernel#Int#+ (var13,var16) */
4600 var19
= var13
+ var16
;
4603 RET_LABEL18
:(void)0;
4606 CONTINUE_label
: (void)0;
4608 BREAK_label
: (void)0;
4610 { /* Inline kernel#Int#+ (var_c,var20) */
4611 var23
= var_c
+ var20
;
4614 RET_LABEL22
:(void)0;
4616 var24
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var21
) /* calloc_string on <self:Buffer>*/;
4618 var25
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4619 var26
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4622 { /* Inline string#NativeString#copy_to (var25,var_a,var26,var27,var28) */
4623 memcpy(var_a
+var28
,var25
+var27
,var26
);
4624 RET_LABEL29
:(void)0;
4626 self
->attrs
[COLOR_string__AbstractString___items
].str
= var_a
; /* _items on <self:Buffer> */
4627 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var_c
; /* _capacity on <self:Buffer> */
4630 /* method string#Buffer#enlarge for (self: Object, Int) */
4631 void VIRTUAL_string__Buffer__enlarge(val
* self
, long p0
) {
4632 string__Buffer__enlarge(self
, p0
);
4635 /* method string#Buffer#append for (self: Buffer, Collection[Char]) */
4636 void string__Buffer__append(val
* self
, val
* p0
) {
4637 short int var
/* : Bool */;
4640 const char* var_class_name
;
4641 val
* var_s
/* var s: Collection[Char] */;
4642 short int var1
/* : Bool */;
4645 long var4
/* : Int */;
4646 long var_sl
/* var sl: Int */;
4647 long var5
/* : Int */;
4648 long var6
/* : Int */;
4649 long var7
/* : Int */;
4650 long var9
/* : Int */;
4651 short int var10
/* : Bool */;
4652 short int var12
/* : Bool */;
4655 const char* var_class_name15
;
4656 short int var16
/* : Bool */;
4657 long var17
/* : Int */;
4658 long var18
/* : Int */;
4659 long var20
/* : Int */;
4660 char* var21
/* : NativeString */;
4661 char* var22
/* : NativeString */;
4662 long var23
/* : Int */;
4663 long var24
/* : Int */;
4664 val
* var_
/* var : Buffer */;
4665 long var26
/* : Int */;
4666 long var27
/* : Int */;
4667 long var29
/* : Int */;
4668 /* Covariant cast for argument 0 (s) <p0:Collection[Char]> isa Collection[Sequence#0] */
4669 /* <p0:Collection[Char]> isa Collection[Sequence#0] */
4670 var
= 1; /* easy <p0:Collection[Char]> isa Collection[Sequence#0]*/
4672 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4673 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[Sequence#0]", var_class_name
);
4674 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 716);
4678 /* <var_s:Collection[Char]> isa String */
4679 cltype2
= type_string__String
.color
;
4680 idtype3
= type_string__String
.id
;
4681 if(cltype2
>= var_s
->type
->table_size
) {
4684 var1
= var_s
->type
->type_table
[cltype2
] == idtype3
;
4687 var4
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:Collection[Char](String)>*/;
4689 var5
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
4690 var6
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
4691 { /* Inline kernel#Int#+ (var6,var_sl) */
4692 var9
= var6
+ var_sl
;
4697 { /* Inline kernel#Int#< (var5,var7) */
4698 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
4699 /* <var7:Int> isa OTHER */
4700 var12
= 1; /* easy <var7:Int> isa OTHER*/
4702 var_class_name15
= type_kernel__Int
.name
;
4703 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
4704 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4707 var16
= var5
< var7
;
4710 RET_LABEL11
:(void)0;
4713 var17
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
4714 { /* Inline kernel#Int#+ (var17,var_sl) */
4715 var20
= var17
+ var_sl
;
4718 RET_LABEL19
:(void)0;
4720 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var18
) /* enlarge on <self:Buffer>*/;
4723 var21
= ((char* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__items
]))(var_s
) /* items on <var_s:Collection[Char](String)>*/;
4724 var22
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4725 var23
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:Collection[Char](String)> */
4726 var24
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
4727 { /* Inline string#NativeString#copy_to (var21,var22,var_sl,var23,var24) */
4728 memcpy(var22
+var24
,var21
+var23
,var_sl
);
4729 RET_LABEL25
:(void)0;
4732 var26
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:Buffer> */
4733 { /* Inline kernel#Int#+ (var26,var_sl) */
4734 var29
= var26
+ var_sl
;
4737 RET_LABEL28
:(void)0;
4739 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var27
; /* _length on <var_:Buffer> */
4741 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_string__Buffer__append
]))(self
, p0
) /* append on <self:Buffer>*/;
4745 /* method string#Buffer#append for (self: Object, Collection[nullable Object]) */
4746 void VIRTUAL_string__Buffer__append(val
* self
, val
* p0
) {
4747 string__Buffer__append(self
, p0
);
4750 /* method string#Buffer#to_s for (self: Buffer): String */
4751 val
* string__Buffer__to_s(val
* self
) {
4752 val
* var
/* : String */;
4753 long var1
/* : Int */;
4754 long var_l
/* var l: Int */;
4755 long var2
/* : Int */;
4756 long var3
/* : Int */;
4757 long var5
/* : Int */;
4758 char* var6
/* : NativeString */;
4759 char* var_a
/* var a: NativeString */;
4760 char* var7
/* : NativeString */;
4761 long var8
/* : Int */;
4762 long var9
/* : Int */;
4763 long var11
/* : Int */;
4764 char var12
/* : Char */;
4765 long var14
/* : Int */;
4766 val
* var15
/* : String */;
4767 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4770 { /* Inline kernel#Int#+ (var_l,var2) */
4771 var5
= var_l
+ var2
;
4776 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:Buffer>*/;
4778 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
4781 { /* Inline string#NativeString#copy_to (var7,var_a,var_l,var8,var9) */
4782 memcpy(var_a
+var9
,var7
+var8
,var_l
);
4783 RET_LABEL10
:(void)0;
4785 var11
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4787 { /* Inline string#NativeString#[]= (var_a,var11,var12) */
4789 RET_LABEL13
:(void)0;
4791 var14
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4792 var15
= string__NativeString__to_s_with_length(var_a
, var14
);
4798 /* method string#Buffer#to_s for (self: Object): String */
4799 val
* VIRTUAL_string__Buffer__to_s(val
* self
) {
4800 val
* var
/* : String */;
4801 val
* var1
/* : String */;
4802 var1
= string__Buffer__to_s(self
);
4807 /* method string#Buffer#< for (self: Buffer, String): Bool */
4808 short int string__Buffer___60d(val
* self
, val
* p0
) {
4809 short int var
/* : Bool */;
4810 short int var1
/* : Bool */;
4813 const struct type
* type_struct
;
4814 const char* var_class_name
;
4815 val
* var_s
/* var s: String */;
4816 long var2
/* : Int */;
4817 long var_i
/* var i: Int */;
4818 long var3
/* : Int */;
4819 long var_l1
/* var l1: Int */;
4820 long var4
/* : Int */;
4821 long var_l2
/* var l2: Int */;
4822 short int var5
/* : Bool */;
4823 short int var6
/* : Bool */;
4824 short int var8
/* : Bool */;
4827 const char* var_class_name11
;
4828 short int var12
/* : Bool */;
4829 short int var_
/* var : Bool */;
4830 short int var13
/* : Bool */;
4831 short int var15
/* : Bool */;
4834 const char* var_class_name18
;
4835 short int var19
/* : Bool */;
4836 val
* var20
/* : nullable Object */;
4837 long var21
/* : Int */;
4838 char var23
/* : Char */;
4839 long var24
/* : Int */;
4840 long var_c1
/* var c1: Int */;
4841 val
* var25
/* : nullable Object */;
4842 long var26
/* : Int */;
4843 char var28
/* : Char */;
4844 long var29
/* : Int */;
4845 long var_c2
/* var c2: Int */;
4846 short int var30
/* : Bool */;
4847 short int var32
/* : Bool */;
4850 const char* var_class_name35
;
4851 short int var36
/* : Bool */;
4852 short int var37
/* : Bool */;
4853 short int var38
/* : Bool */;
4854 short int var40
/* : Bool */;
4857 const char* var_class_name43
;
4858 short int var44
/* : Bool */;
4859 short int var45
/* : Bool */;
4860 long var46
/* : Int */;
4861 long var47
/* : Int */;
4862 long var49
/* : Int */;
4863 short int var50
/* : Bool */;
4864 short int var52
/* : Bool */;
4867 const char* var_class_name55
;
4868 short int var56
/* : Bool */;
4869 short int var57
/* : Bool */;
4870 short int var58
/* : Bool */;
4871 /* Covariant cast for argument 0 (s) <p0:String> isa OTHER */
4872 /* <p0:String> isa OTHER */
4873 type_struct
= self
->type
->resolution_table
->types
[COLOR_kernel__Comparable_VTOTHER
];
4874 cltype
= type_struct
->color
;
4875 idtype
= type_struct
->id
;
4876 if(cltype
>= p0
->type
->table_size
) {
4879 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4882 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4883 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4884 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 740);
4890 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
4892 var4
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
4895 { /* Inline kernel#Int#< (var_i,var_l1) */
4896 /* Covariant cast for argument 0 (i) <var_l1:Int> isa OTHER */
4897 /* <var_l1:Int> isa OTHER */
4898 var8
= 1; /* easy <var_l1:Int> isa OTHER*/
4900 var_class_name11
= type_kernel__Int
.name
;
4901 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
4902 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4905 var12
= var_i
< var_l1
;
4912 { /* Inline kernel#Int#< (var_i,var_l2) */
4913 /* Covariant cast for argument 0 (i) <var_l2:Int> isa OTHER */
4914 /* <var_l2:Int> isa OTHER */
4915 var15
= 1; /* easy <var_l2:Int> isa OTHER*/
4917 var_class_name18
= type_kernel__Int
.name
;
4918 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
4919 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4922 var19
= var_i
< var_l2
;
4925 RET_LABEL14
:(void)0;
4932 var20
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:Buffer>*/;
4933 { /* Inline kernel#Char#ascii (var20) */
4934 var23
= ((struct instance_kernel__Char
*)var20
)->value
; /* autounbox from nullable Object to Char */;
4935 var24
= (unsigned char)var23
;
4938 RET_LABEL22
:(void)0;
4941 var25
= ((val
* (*)(val
*, long))(var_s
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_s
, var_i
) /* [] on <var_s:String>*/;
4942 { /* Inline kernel#Char#ascii (var25) */
4943 var28
= ((struct instance_kernel__Char
*)var25
)->value
; /* autounbox from nullable Object to Char */;
4944 var29
= (unsigned char)var28
;
4947 RET_LABEL27
:(void)0;
4950 { /* Inline kernel#Int#< (var_c1,var_c2) */
4951 /* Covariant cast for argument 0 (i) <var_c2:Int> isa OTHER */
4952 /* <var_c2:Int> isa OTHER */
4953 var32
= 1; /* easy <var_c2:Int> isa OTHER*/
4955 var_class_name35
= type_kernel__Int
.name
;
4956 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35
);
4957 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4960 var36
= var_c1
< var_c2
;
4963 RET_LABEL31
:(void)0;
4970 { /* Inline kernel#Int#< (var_c2,var_c1) */
4971 /* Covariant cast for argument 0 (i) <var_c1:Int> isa OTHER */
4972 /* <var_c1:Int> isa OTHER */
4973 var40
= 1; /* easy <var_c1:Int> isa OTHER*/
4975 var_class_name43
= type_kernel__Int
.name
;
4976 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43
);
4977 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
4980 var44
= var_c2
< var_c1
;
4983 RET_LABEL39
:(void)0;
4993 { /* Inline kernel#Int#+ (var_i,var46) */
4994 var49
= var_i
+ var46
;
4997 RET_LABEL48
:(void)0;
5000 CONTINUE_label
: (void)0;
5002 BREAK_label
: (void)0;
5003 { /* Inline kernel#Int#< (var_l1,var_l2) */
5004 /* Covariant cast for argument 0 (i) <var_l2:Int> isa OTHER */
5005 /* <var_l2:Int> isa OTHER */
5006 var52
= 1; /* easy <var_l2:Int> isa OTHER*/
5008 var_class_name55
= type_kernel__Int
.name
;
5009 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55
);
5010 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
5013 var56
= var_l1
< var_l2
;
5016 RET_LABEL51
:(void)0;
5030 /* method string#Buffer#< for (self: Object, Comparable): Bool */
5031 short int VIRTUAL_string__Buffer___60d(val
* self
, val
* p0
) {
5032 short int var
/* : Bool */;
5033 short int var1
/* : Bool */;
5034 var1
= string__Buffer___60d(self
, p0
);
5039 /* method string#Buffer#init for (self: Buffer) */
5040 void string__Buffer__init(val
* self
) {
5041 long var
/* : Int */;
5043 ((void (*)(val
*, long))(self
->class->vft
[COLOR_string__Buffer__with_capacity
]))(self
, var
) /* with_capacity on <self:Buffer>*/;
5046 /* method string#Buffer#init for (self: Object) */
5047 void VIRTUAL_string__Buffer__init(val
* self
) {
5048 string__Buffer__init(self
);
5051 /* method string#Buffer#from for (self: Buffer, String) */
5052 void string__Buffer__from(val
* self
, val
* p0
) {
5053 val
* var_s
/* var s: String */;
5054 long var
/* : Int */;
5055 long var1
/* : Int */;
5056 long var2
/* : Int */;
5057 long var4
/* : Int */;
5058 long var5
/* : Int */;
5059 long var6
/* : Int */;
5060 char* var7
/* : NativeString */;
5061 char* var8
/* : NativeString */;
5062 char* var9
/* : NativeString */;
5063 long var10
/* : Int */;
5064 long var11
/* : Int */;
5065 long var12
/* : Int */;
5067 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:Buffer>*/;
5068 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Buffer>*/;
5069 var
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
5071 { /* Inline kernel#Int#+ (var,var1) */
5077 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var2
; /* _capacity on <self:Buffer> */
5078 var5
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
5079 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var5
; /* _length on <self:Buffer> */
5080 var6
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
5081 var7
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var6
) /* calloc_string on <self:Buffer>*/;
5082 self
->attrs
[COLOR_string__AbstractString___items
].str
= var7
; /* _items on <self:Buffer> */
5083 var8
= ((char* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__items
]))(var_s
) /* items on <var_s:String>*/;
5084 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5085 var10
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
5086 var11
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:String> */
5088 { /* Inline string#NativeString#copy_to (var8,var9,var10,var11,var12) */
5089 memcpy(var9
+var12
,var8
+var11
,var10
);
5090 RET_LABEL13
:(void)0;
5094 /* method string#Buffer#from for (self: Object, String) */
5095 void VIRTUAL_string__Buffer__from(val
* self
, val
* p0
) {
5096 string__Buffer__from(self
, p0
);
5099 /* method string#Buffer#with_capacity for (self: Buffer, Int) */
5100 void string__Buffer__with_capacity(val
* self
, long p0
) {
5101 long var_cap
/* var cap: Int */;
5102 long var
/* : Int */;
5103 short int var1
/* : Bool */;
5104 short int var3
/* : Bool */;
5107 const char* var_class_name
;
5108 short int var4
/* : Bool */;
5109 long var5
/* : Int */;
5110 long var6
/* : Int */;
5111 long var8
/* : Int */;
5112 char* var9
/* : NativeString */;
5113 long var10
/* : Int */;
5115 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:Buffer>*/;
5116 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Buffer>*/;
5118 { /* Inline kernel#Int#>= (var_cap,var) */
5119 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
5120 /* <var:Int> isa OTHER */
5121 var3
= 1; /* easy <var:Int> isa OTHER*/
5123 var_class_name
= type_kernel__Int
.name
;
5124 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5125 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
5128 var4
= var_cap
>= var
;
5134 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5135 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 779);
5139 { /* Inline kernel#Int#+ (var_cap,var5) */
5140 var8
= var_cap
+ var5
;
5145 var9
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var6
) /* calloc_string on <self:Buffer>*/;
5146 self
->attrs
[COLOR_string__AbstractString___items
].str
= var9
; /* _items on <self:Buffer> */
5147 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var_cap
; /* _capacity on <self:Buffer> */
5149 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var10
; /* _length on <self:Buffer> */
5152 /* method string#Buffer#with_capacity for (self: Object, Int) */
5153 void VIRTUAL_string__Buffer__with_capacity(val
* self
, long p0
) {
5154 string__Buffer__with_capacity(self
, p0
);
5157 /* method string#Buffer#== for (self: Buffer, nullable Object): Bool */
5158 short int string__Buffer___61d_61d(val
* self
, val
* p0
) {
5159 short int var
/* : Bool */;
5160 val
* var_o
/* var o: nullable Object */;
5161 short int var1
/* : Bool */;
5164 short int var2
/* : Bool */;
5165 short int var3
/* : Bool */;
5166 long var4
/* : Int */;
5167 long var_l
/* var l: Int */;
5168 long var5
/* : Int */;
5169 short int var6
/* : Bool */;
5170 short int var8
/* : Bool */;
5171 short int var9
/* : Bool */;
5172 short int var10
/* : Bool */;
5173 long var11
/* : Int */;
5174 long var_i
/* var i: Int */;
5175 char* var12
/* : NativeString */;
5176 char* var_it
/* var it: NativeString */;
5177 char* var13
/* : NativeString */;
5178 char* var_oit
/* var oit: NativeString */;
5179 short int var14
/* : Bool */;
5180 short int var16
/* : Bool */;
5183 const char* var_class_name
;
5184 short int var19
/* : Bool */;
5185 char var20
/* : Char */;
5186 char var22
/* : Char */;
5187 char var23
/* : Char */;
5188 char var25
/* : Char */;
5189 short int var26
/* : Bool */;
5190 short int var28
/* : Bool */;
5191 short int var29
/* : Bool */;
5192 short int var30
/* : Bool */;
5193 long var31
/* : Int */;
5194 long var32
/* : Int */;
5195 long var34
/* : Int */;
5196 short int var35
/* : Bool */;
5198 /* <var_o:nullable Object> isa Buffer */
5199 cltype
= type_string__Buffer
.color
;
5200 idtype
= type_string__Buffer
.id
;
5204 if(cltype
>= var_o
->type
->table_size
) {
5207 var1
= var_o
->type
->type_table
[cltype
] == idtype
;
5217 var4
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5219 var5
= ((long (*)(val
*))(var_o
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_o
) /* length on <var_o:nullable Object(Buffer)>*/;
5220 { /* Inline kernel#Int#!= (var5,var_l) */
5221 var8
= var5
== var_l
;
5235 var12
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5237 var13
= var_o
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_o:nullable Object(Buffer)> */
5240 { /* Inline kernel#Int#< (var_i,var_l) */
5241 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
5242 /* <var_l:Int> isa OTHER */
5243 var16
= 1; /* easy <var_l:Int> isa OTHER*/
5245 var_class_name
= type_kernel__Int
.name
;
5246 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5247 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
5250 var19
= var_i
< var_l
;
5253 RET_LABEL15
:(void)0;
5256 { /* Inline string#NativeString#[] (var_it,var_i) */
5257 var22
= var_it
[var_i
];
5260 RET_LABEL21
:(void)0;
5262 { /* Inline string#NativeString#[] (var_oit,var_i) */
5263 var25
= var_oit
[var_i
];
5266 RET_LABEL24
:(void)0;
5268 { /* Inline kernel#Char#!= (var20,var23) */
5269 var28
= var20
== var23
;
5273 RET_LABEL27
:(void)0;
5282 { /* Inline kernel#Int#+ (var_i,var31) */
5283 var34
= var_i
+ var31
;
5286 RET_LABEL33
:(void)0;
5289 CONTINUE_label
: (void)0;
5291 BREAK_label
: (void)0;
5298 /* method string#Buffer#== for (self: Object, nullable Object): Bool */
5299 short int VIRTUAL_string__Buffer___61d_61d(val
* self
, val
* p0
) {
5300 short int var
/* : Bool */;
5301 short int var1
/* : Bool */;
5302 var1
= string__Buffer___61d_61d(self
, p0
);
5307 /* method string#Buffer#capacity for (self: Buffer): Int */
5308 long string__Buffer__capacity(val
* self
) {
5309 long var
/* : Int */;
5310 long var1
/* : Int */;
5311 var1
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
5316 /* method string#Buffer#capacity for (self: Object): Int */
5317 long VIRTUAL_string__Buffer__capacity(val
* self
) {
5318 long var
/* : Int */;
5319 long var1
/* : Int */;
5320 var1
= string__Buffer__capacity(self
);
5325 /* method string#Object#to_s for (self: Object): String */
5326 val
* string__Object__to_s(val
* self
) {
5327 val
* var
/* : String */;
5328 val
* var1
/* : String */;
5329 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__inspect
]))(self
) /* inspect on <self:Object>*/;
5335 /* method string#Object#to_s for (self: Object): String */
5336 val
* VIRTUAL_string__Object__to_s(val
* self
) {
5337 val
* var
/* : String */;
5338 val
* var1
/* : String */;
5339 var1
= string__Object__to_s(self
);
5344 /* method string#Object#native_class_name for (self: Object): NativeString */
5345 char* string__Object__native_class_name(val
* self
) {
5346 char* var
/* : NativeString */;
5347 const char* var_class_name
;
5348 char* var1
/* : NativeString */;
5349 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
5350 var1
= (char*)var_class_name
;
5356 /* method string#Object#native_class_name for (self: Object): NativeString */
5357 char* VIRTUAL_string__Object__native_class_name(val
* self
) {
5358 char* var
/* : NativeString */;
5359 char* var1
/* : NativeString */;
5360 const char* var_class_name
;
5361 char* var3
/* : NativeString */;
5362 { /* Inline string#Object#native_class_name (self) */
5363 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
5364 var3
= (char*)var_class_name
;
5373 /* method string#Object#class_name for (self: Object): String */
5374 val
* string__Object__class_name(val
* self
) {
5375 val
* var
/* : String */;
5376 char* var1
/* : NativeString */;
5377 val
* var2
/* : String */;
5378 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__Object__native_class_name
]))(self
) /* native_class_name on <self:Object>*/;
5379 var2
= string__NativeString__to_s(var1
);
5385 /* method string#Object#class_name for (self: Object): String */
5386 val
* VIRTUAL_string__Object__class_name(val
* self
) {
5387 val
* var
/* : String */;
5388 val
* var1
/* : String */;
5389 var1
= string__Object__class_name(self
);
5394 /* method string#Object#inspect for (self: Object): String */
5395 val
* string__Object__inspect(val
* self
) {
5396 val
* var
/* : String */;
5397 val
* var1
/* : Array[Object] */;
5398 long var2
/* : Int */;
5399 val
* var_
/* var : Array[Object] */;
5400 static val
* varonce
;
5401 val
* var3
/* : String */;
5402 char* var4
/* : NativeString */;
5403 long var5
/* : Int */;
5404 val
* var6
/* : String */;
5405 val
* var7
/* : String */;
5406 static val
* varonce8
;
5407 val
* var9
/* : String */;
5408 char* var10
/* : NativeString */;
5409 long var11
/* : Int */;
5410 val
* var12
/* : String */;
5411 val
* var13
/* : String */;
5412 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
5414 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
5421 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5425 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
5426 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__inspect_head
]))(self
) /* inspect_head on <self:Object>*/;
5427 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
5433 var12
= string__NativeString__to_s_with_length(var10
, var11
);
5437 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
5438 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
5444 /* method string#Object#inspect for (self: Object): String */
5445 val
* VIRTUAL_string__Object__inspect(val
* self
) {
5446 val
* var
/* : String */;
5447 val
* var1
/* : String */;
5448 var1
= string__Object__inspect(self
);
5453 /* method string#Object#inspect_head for (self: Object): String */
5454 val
* string__Object__inspect_head(val
* self
) {
5455 val
* var
/* : String */;
5456 val
* var1
/* : Array[Object] */;
5457 long var2
/* : Int */;
5458 val
* var_
/* var : Array[Object] */;
5459 static val
* varonce
;
5460 val
* var3
/* : String */;
5461 char* var4
/* : NativeString */;
5462 long var5
/* : Int */;
5463 val
* var6
/* : String */;
5464 val
* var7
/* : String */;
5465 static val
* varonce8
;
5466 val
* var9
/* : String */;
5467 char* var10
/* : NativeString */;
5468 long var11
/* : Int */;
5469 val
* var12
/* : String */;
5470 long var13
/* : Int */;
5471 val
* var14
/* : String */;
5472 static val
* varonce15
;
5473 val
* var16
/* : String */;
5474 char* var17
/* : NativeString */;
5475 long var18
/* : Int */;
5476 val
* var19
/* : String */;
5477 val
* var20
/* : String */;
5478 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
5480 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
5487 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5491 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
5492 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__class_name
]))(self
) /* class_name on <self:Object>*/;
5493 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
5499 var12
= string__NativeString__to_s_with_length(var10
, var11
);
5503 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
5504 var13
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:Object>*/;
5505 var14
= string__Int__to_hex(var13
);
5506 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
5512 var19
= string__NativeString__to_s_with_length(var17
, var18
);
5516 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
5517 var20
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
5523 /* method string#Object#inspect_head for (self: Object): String */
5524 val
* VIRTUAL_string__Object__inspect_head(val
* self
) {
5525 val
* var
/* : String */;
5526 val
* var1
/* : String */;
5527 var1
= string__Object__inspect_head(self
);
5532 /* method string#Object#args for (self: Object): Sequence[String] */
5533 val
* string__Object__args(val
* self
) {
5534 val
* var
/* : Sequence[String] */;
5535 val
* var1
/* : Sys */;
5536 val
* var2
/* : Sequence[String] */;
5537 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:Object>*/;
5538 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_string__Object__args
]))(var1
) /* args on <var1:Sys>*/;
5544 /* method string#Object#args for (self: Object): Sequence[String] */
5545 val
* VIRTUAL_string__Object__args(val
* self
) {
5546 val
* var
/* : Sequence[String] */;
5547 val
* var1
/* : Sequence[String] */;
5548 var1
= string__Object__args(self
);
5553 /* method string#Bool#to_s for (self: Bool): String */
5554 val
* string__Bool__to_s(short int self
) {
5555 val
* var
/* : String */;
5556 static val
* varonce
;
5557 static int varonce_guard
;
5558 val
* var1
/* : String */;
5559 static val
* varonce2
;
5560 val
* var3
/* : String */;
5561 char* var4
/* : NativeString */;
5562 long var5
/* : Int */;
5563 val
* var6
/* : String */;
5564 static val
* varonce7
;
5565 static int varonce7_guard
;
5566 val
* var8
/* : String */;
5567 static val
* varonce9
;
5568 val
* var10
/* : String */;
5569 char* var11
/* : NativeString */;
5570 long var12
/* : Int */;
5571 val
* var13
/* : String */;
5573 if (varonce_guard
) {
5581 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5592 if (varonce7_guard
) {
5600 var13
= string__NativeString__to_s_with_length(var11
, var12
);
5614 /* method string#Bool#to_s for (self: Object): String */
5615 val
* VIRTUAL_string__Bool__to_s(val
* self
) {
5616 val
* var
/* : String */;
5617 val
* var1
/* : String */;
5618 short int var2
/* : Bool */;
5619 var2
= ((struct instance_kernel__Bool
*)self
)->value
; /* autounbox from Object to Bool */;
5620 var1
= string__Bool__to_s(var2
);
5625 /* method string#Int#fill_buffer for (self: Int, Buffer, Int, Bool) */
5626 void string__Int__fill_buffer(long self
, val
* p0
, long p1
, short int p2
) {
5627 val
* var_s
/* var s: Buffer */;
5628 long var_base
/* var base: Int */;
5629 short int var_signed
/* var signed: Bool */;
5630 long var
/* : Int */;
5631 short int var1
/* : Bool */;
5632 short int var3
/* : Bool */;
5635 const char* var_class_name
;
5636 short int var4
/* : Bool */;
5637 long var5
/* : Int */;
5638 long var7
/* : Int */;
5639 long var_n
/* var n: Int */;
5640 long var8
/* : Int */;
5641 char var9
/* : Char */;
5642 val
* var10
/* : nullable Object */;
5643 long var11
/* : Int */;
5644 short int var12
/* : Bool */;
5645 short int var14
/* : Bool */;
5646 long var15
/* : Int */;
5647 char var16
/* : Char */;
5648 val
* var17
/* : nullable Object */;
5649 long var18
/* : Int */;
5650 long var19
/* : Int */;
5651 long var20
/* : Int */;
5652 long var22
/* : Int */;
5653 long var_pos
/* var pos: Int */;
5654 short int var23
/* : Bool */;
5655 long var24
/* : Int */;
5656 short int var25
/* : Bool */;
5657 short int var27
/* : Bool */;
5660 const char* var_class_name30
;
5661 short int var31
/* : Bool */;
5662 short int var_
/* var : Bool */;
5663 long var32
/* : Int */;
5664 short int var33
/* : Bool */;
5665 short int var35
/* : Bool */;
5668 const char* var_class_name38
;
5669 short int var39
/* : Bool */;
5670 long var40
/* : Int */;
5671 long var42
/* : Int */;
5672 char var43
/* : Char */;
5673 val
* var44
/* : nullable Object */;
5674 long var45
/* : Int */;
5675 long var47
/* : Int */;
5676 long var48
/* : Int */;
5677 long var49
/* : Int */;
5678 long var51
/* : Int */;
5683 { /* Inline kernel#Int#< (self,var) */
5684 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
5685 /* <var:Int> isa OTHER */
5686 var3
= 1; /* easy <var:Int> isa OTHER*/
5688 var_class_name
= type_kernel__Int
.name
;
5689 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5690 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
5699 { /* Inline kernel#Int#unary - (self) */
5708 var10
= BOX_kernel__Char(var9
); /* autobox from Char to nullable Object */
5709 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var8
, var10
) /* []= on <var_s:Buffer>*/;
5712 { /* Inline kernel#Int#== (self,var11) */
5713 var14
= self
== var11
;
5716 RET_LABEL13
:(void)0;
5721 var17
= BOX_kernel__Char(var16
); /* autobox from Char to nullable Object */
5722 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var15
, var17
) /* []= on <var_s:Buffer>*/;
5728 var18
= kernel__Int__digit_count(self
, var_base
);
5730 { /* Inline kernel#Int#- (var18,var19) */
5731 var22
= var18
- var19
;
5734 RET_LABEL21
:(void)0;
5739 { /* Inline kernel#Int#>= (var_pos,var24) */
5740 /* Covariant cast for argument 0 (i) <var24:Int> isa OTHER */
5741 /* <var24:Int> isa OTHER */
5742 var27
= 1; /* easy <var24:Int> isa OTHER*/
5744 var_class_name30
= type_kernel__Int
.name
;
5745 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
5746 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
5749 var31
= var_pos
>= var24
;
5752 RET_LABEL26
:(void)0;
5757 { /* Inline kernel#Int#> (var_n,var32) */
5758 /* Covariant cast for argument 0 (i) <var32:Int> isa OTHER */
5759 /* <var32:Int> isa OTHER */
5760 var35
= 1; /* easy <var32:Int> isa OTHER*/
5762 var_class_name38
= type_kernel__Int
.name
;
5763 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38
);
5764 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
5767 var39
= var_n
> var32
;
5770 RET_LABEL34
:(void)0;
5777 { /* Inline kernel#Int#% (var_n,var_base) */
5778 var42
= var_n
% var_base
;
5781 RET_LABEL41
:(void)0;
5783 var43
= kernel__Int__to_c(var40
);
5784 var44
= BOX_kernel__Char(var43
); /* autobox from Char to nullable Object */
5785 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var_pos
, var44
) /* []= on <var_s:Buffer>*/;
5786 { /* Inline kernel#Int#/ (var_n,var_base) */
5787 var47
= var_n
/ var_base
;
5790 RET_LABEL46
:(void)0;
5794 { /* Inline kernel#Int#- (var_pos,var48) */
5795 var51
= var_pos
- var48
;
5798 RET_LABEL50
:(void)0;
5801 CONTINUE_label
: (void)0;
5803 BREAK_label
: (void)0;
5806 /* method string#Int#fill_buffer for (self: Object, Buffer, Int, Bool) */
5807 void VIRTUAL_string__Int__fill_buffer(val
* self
, val
* p0
, long p1
, short int p2
) {
5808 long var
/* : Int */;
5809 var
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5810 string__Int__fill_buffer(var
, p0
, p1
, p2
);
5813 /* method string#Int#native_int_to_s for (self: Int, Int): NativeString */
5814 char* string__Int__native_int_to_s(long self
, long p0
) {
5815 char* var
/* : NativeString */;
5816 char* var1
/* : NativeString */;
5817 var1
= native_int_to_s(self
, p0
);
5823 /* method string#Int#native_int_to_s for (self: Object, Int): NativeString */
5824 char* VIRTUAL_string__Int__native_int_to_s(val
* self
, long p0
) {
5825 char* var
/* : NativeString */;
5826 char* var1
/* : NativeString */;
5827 long var2
/* : Int */;
5828 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5829 var1
= string__Int__native_int_to_s(var2
, p0
);
5834 /* method string#Int#to_s for (self: Int): String */
5835 val
* string__Int__to_s(long self
) {
5836 val
* var
/* : String */;
5837 long var1
/* : Int */;
5838 long var2
/* : Int */;
5839 long var_len
/* var len: Int */;
5840 char* var3
/* : NativeString */;
5841 val
* var4
/* : String */;
5843 var2
= kernel__Int__digit_count(self
, var1
);
5845 var3
= string__Int__native_int_to_s(self
, var_len
);
5846 var4
= string__NativeString__to_s_with_length(var3
, var_len
);
5852 /* method string#Int#to_s for (self: Object): String */
5853 val
* VIRTUAL_string__Int__to_s(val
* self
) {
5854 val
* var
/* : String */;
5855 val
* var1
/* : String */;
5856 long var2
/* : Int */;
5857 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5858 var1
= string__Int__to_s(var2
);
5863 /* method string#Int#to_hex for (self: Int): String */
5864 val
* string__Int__to_hex(long self
) {
5865 val
* var
/* : String */;
5866 long var1
/* : Int */;
5867 short int var2
/* : Bool */;
5868 val
* var3
/* : String */;
5871 var3
= string__Int__to_base(self
, var1
, var2
);
5877 /* method string#Int#to_hex for (self: Object): String */
5878 val
* VIRTUAL_string__Int__to_hex(val
* self
) {
5879 val
* var
/* : String */;
5880 val
* var1
/* : String */;
5881 long var2
/* : Int */;
5882 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5883 var1
= string__Int__to_hex(var2
);
5888 /* method string#Int#to_base for (self: Int, Int, Bool): String */
5889 val
* string__Int__to_base(long self
, long p0
, short int p1
) {
5890 val
* var
/* : String */;
5891 long var_base
/* var base: Int */;
5892 short int var_signed
/* var signed: Bool */;
5893 long var1
/* : Int */;
5894 long var_l
/* var l: Int */;
5895 val
* var2
/* : Buffer */;
5896 static val
* varonce
;
5897 val
* var3
/* : String */;
5898 char* var4
/* : NativeString */;
5899 long var5
/* : Int */;
5900 val
* var6
/* : String */;
5901 val
* var7
/* : String */;
5902 val
* var_s
/* var s: Buffer */;
5903 val
* var8
/* : String */;
5906 var1
= kernel__Int__digit_count(self
, var_base
);
5908 var2
= NEW_string__Buffer(&type_string__Buffer
);
5914 var6
= string__NativeString__to_s_with_length(var4
, var5
);
5918 var7
= ((val
* (*)(val
*, long))(var3
->class->vft
[COLOR_string__String___42d
]))(var3
, var_l
) /* * on <var3:String>*/;
5919 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_string__Buffer__from
]))(var2
, var7
) /* from on <var2:Buffer>*/;
5921 string__Int__fill_buffer(self
, var_s
, var_base
, var_signed
);
5922 var8
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
5928 /* method string#Int#to_base for (self: Object, Int, Bool): String */
5929 val
* VIRTUAL_string__Int__to_base(val
* self
, long p0
, short int p1
) {
5930 val
* var
/* : String */;
5931 val
* var1
/* : String */;
5932 long var2
/* : Int */;
5933 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
5934 var1
= string__Int__to_base(var2
, p0
, p1
);
5939 /* method string#Float#to_s for (self: Float): String */
5940 val
* string__Float__to_s(double self
) {
5941 val
* var
/* : String */;
5942 long var1
/* : Int */;
5943 val
* var2
/* : String */;
5944 val
* var_str
/* var str: String */;
5945 long var3
/* : Int */;
5946 long var_len
/* var len: Int */;
5947 val
* var4
/* : Range[Int] */;
5948 long var5
/* : Int */;
5949 long var6
/* : Int */;
5950 long var7
/* : Int */;
5951 long var9
/* : Int */;
5952 val
* var10
/* : Discrete */;
5953 val
* var11
/* : Discrete */;
5954 val
* var12
/* : Iterator[nullable Object] */;
5955 short int var13
/* : Bool */;
5956 val
* var14
/* : nullable Object */;
5957 long var_i
/* var i: Int */;
5958 long var15
/* : Int */;
5959 long var16
/* : Int */;
5960 long var17
/* : Int */;
5961 long var19
/* : Int */;
5962 long var20
/* : Int */;
5963 long var22
/* : Int */;
5964 long var_j
/* var j: Int */;
5965 val
* var23
/* : nullable Object */;
5966 char var24
/* : Char */;
5967 char var_c
/* var c: Char */;
5968 char var25
/* : Char */;
5969 short int var26
/* : Bool */;
5970 short int var28
/* : Bool */;
5971 char var29
/* : Char */;
5972 short int var30
/* : Bool */;
5973 short int var32
/* : Bool */;
5974 long var33
/* : Int */;
5975 long var34
/* : Int */;
5976 long var35
/* : Int */;
5977 long var37
/* : Int */;
5978 val
* var38
/* : String */;
5979 long var39
/* : Int */;
5980 long var40
/* : Int */;
5981 long var41
/* : Int */;
5982 long var43
/* : Int */;
5983 val
* var44
/* : String */;
5985 var2
= string__Float__to_precision(self
, var1
);
5987 var3
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
5989 var4
= NEW_range__Range(&type_range__Rangekernel__Int
);
5992 { /* Inline kernel#Int#- (var_len,var6) */
5993 var9
= var_len
- var6
;
5998 var10
= BOX_kernel__Int(var5
); /* autobox from Int to Discrete */
5999 var11
= BOX_kernel__Int(var7
); /* autobox from Int to Discrete */
6000 ((void (*)(val
*, val
*, val
*))(var4
->class->vft
[COLOR_range__Range__init
]))(var4
, var10
, var11
) /* init on <var4:Range[Int]>*/;
6001 var12
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:Range[Int]>*/;
6003 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
6005 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
6006 var15
= ((struct instance_kernel__Int
*)var14
)->value
; /* autounbox from nullable Object to Int */;
6009 { /* Inline kernel#Int#- (var_len,var16) */
6010 var19
= var_len
- var16
;
6013 RET_LABEL18
:(void)0;
6015 { /* Inline kernel#Int#- (var17,var_i) */
6016 var22
= var17
- var_i
;
6019 RET_LABEL21
:(void)0;
6022 var23
= ((val
* (*)(val
*, long))(var_str
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_str
, var_j
) /* [] on <var_str:String>*/;
6023 var24
= ((struct instance_kernel__Char
*)var23
)->value
; /* autounbox from nullable Object to Char */;
6026 { /* Inline kernel#Char#== (var_c,var25) */
6027 var28
= var_c
== var25
;
6030 RET_LABEL27
:(void)0;
6033 goto CONTINUE_label
;
6036 { /* Inline kernel#Char#== (var_c,var29) */
6037 var32
= var_c
== var29
;
6040 RET_LABEL31
:(void)0;
6045 { /* Inline kernel#Int#+ (var_j,var34) */
6046 var37
= var_j
+ var34
;
6049 RET_LABEL36
:(void)0;
6051 var38
= ((val
* (*)(val
*, long, long))(var_str
->class->vft
[COLOR_string__AbstractString__substring
]))(var_str
, var33
, var35
) /* substring on <var_str:String>*/;
6057 { /* Inline kernel#Int#+ (var_j,var40) */
6058 var43
= var_j
+ var40
;
6061 RET_LABEL42
:(void)0;
6063 var44
= ((val
* (*)(val
*, long, long))(var_str
->class->vft
[COLOR_string__AbstractString__substring
]))(var_str
, var39
, var41
) /* substring on <var_str:String>*/;
6068 CONTINUE_label
: (void)0;
6069 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
6071 BREAK_label
: (void)0;
6077 /* method string#Float#to_s for (self: Object): String */
6078 val
* VIRTUAL_string__Float__to_s(val
* self
) {
6079 val
* var
/* : String */;
6080 val
* var1
/* : String */;
6081 double var2
/* : Float */;
6082 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
6083 var1
= string__Float__to_s(var2
);
6088 /* method string#Float#to_precision for (self: Float, Int): String */
6089 val
* string__Float__to_precision(double self
, long p0
) {
6090 val
* var
/* : String */;
6091 long var_nb
/* var nb: Int */;
6092 long var1
/* : Int */;
6093 short int var2
/* : Bool */;
6094 short int var4
/* : Bool */;
6095 long var5
/* : Int */;
6096 long var7
/* : Int */;
6097 val
* var8
/* : String */;
6098 double var_f
/* var f: Float */;
6099 val
* var9
/* : Range[Int] */;
6100 long var10
/* : Int */;
6101 val
* var11
/* : Discrete */;
6102 val
* var12
/* : Discrete */;
6103 val
* var13
/* : Iterator[nullable Object] */;
6104 short int var14
/* : Bool */;
6105 val
* var15
/* : nullable Object */;
6106 long var_i
/* var i: Int */;
6107 long var16
/* : Int */;
6108 double var17
/* : Float */;
6109 double var18
/* : Float */;
6110 double var20
/* : Float */;
6111 double var21
/* : Float */;
6112 short int var22
/* : Bool */;
6113 short int var24
/* : Bool */;
6114 double var25
/* : Float */;
6115 double var26
/* : Float */;
6116 double var28
/* : Float */;
6117 double var29
/* : Float */;
6118 double var30
/* : Float */;
6119 double var32
/* : Float */;
6120 long var33
/* : Int */;
6121 long var35
/* : Int */;
6122 long var_i36
/* var i: Int */;
6123 long var37
/* : Int */;
6124 short int var38
/* : Bool */;
6125 short int var40
/* : Bool */;
6126 static val
* varonce
;
6127 val
* var41
/* : String */;
6128 char* var42
/* : NativeString */;
6129 long var43
/* : Int */;
6130 val
* var44
/* : String */;
6131 val
* var45
/* : String */;
6132 val
* var_s
/* var s: String */;
6133 long var46
/* : Int */;
6134 long var_sl
/* var sl: Int */;
6135 short int var47
/* : Bool */;
6136 short int var49
/* : Bool */;
6139 const char* var_class_name
;
6140 short int var50
/* : Bool */;
6141 long var51
/* : Int */;
6142 long var52
/* : Int */;
6143 long var53
/* : Int */;
6144 long var55
/* : Int */;
6145 val
* var56
/* : String */;
6146 val
* var_p1
/* var p1: String */;
6147 long var57
/* : Int */;
6148 long var58
/* : Int */;
6149 long var60
/* : Int */;
6150 val
* var61
/* : String */;
6151 val
* var_p2
/* var p2: String */;
6152 static val
* varonce62
;
6153 val
* var63
/* : String */;
6154 char* var64
/* : NativeString */;
6155 long var65
/* : Int */;
6156 val
* var66
/* : String */;
6157 val
* var67
/* : String */;
6158 val
* var68
/* : String */;
6159 static val
* varonce69
;
6160 val
* var70
/* : String */;
6161 char* var71
/* : NativeString */;
6162 long var72
/* : Int */;
6163 val
* var73
/* : String */;
6164 static val
* varonce74
;
6165 val
* var75
/* : String */;
6166 char* var76
/* : NativeString */;
6167 long var77
/* : Int */;
6168 val
* var78
/* : String */;
6169 long var79
/* : Int */;
6170 long var81
/* : Int */;
6171 val
* var82
/* : String */;
6172 val
* var83
/* : String */;
6173 val
* var84
/* : String */;
6176 { /* Inline kernel#Int#== (var_nb,var1) */
6177 var4
= var_nb
== var1
;
6183 { /* Inline kernel#Float#to_i (self) */
6189 var8
= string__Int__to_s(var5
);
6195 var9
= NEW_range__Range(&type_range__Rangekernel__Int
);
6197 var11
= BOX_kernel__Int(var10
); /* autobox from Int to Discrete */
6198 var12
= BOX_kernel__Int(var_nb
); /* autobox from Int to Discrete */
6199 ((void (*)(val
*, val
*, val
*))(var9
->class->vft
[COLOR_range__Range__without_last
]))(var9
, var11
, var12
) /* without_last on <var9:Range[Int]>*/;
6200 var13
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var9
) /* iterator on <var9:Range[Int]>*/;
6202 var14
= ((short int (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var13
) /* is_ok on <var13:Iterator[nullable Object]>*/;
6204 var15
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var13
) /* item on <var13:Iterator[nullable Object]>*/;
6205 var16
= ((struct instance_kernel__Int
*)var15
)->value
; /* autounbox from nullable Object to Int */;
6208 { /* Inline kernel#Float#* (var_f,var17) */
6209 var20
= var_f
* var17
;
6212 RET_LABEL19
:(void)0;
6215 CONTINUE_label
: (void)0;
6216 ((void (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var13
) /* next on <var13:Iterator[nullable Object]>*/;
6218 BREAK_label
: (void)0;
6220 { /* Inline kernel#Float#> (self,var21) */
6221 var24
= self
> var21
;
6224 RET_LABEL23
:(void)0;
6228 { /* Inline kernel#Float#+ (var_f,var25) */
6229 var28
= var_f
+ var25
;
6232 RET_LABEL27
:(void)0;
6237 { /* Inline kernel#Float#- (var_f,var29) */
6238 var32
= var_f
- var29
;
6241 RET_LABEL31
:(void)0;
6245 { /* Inline kernel#Float#to_i (var_f) */
6246 var35
= (long)var_f
;
6249 RET_LABEL34
:(void)0;
6253 { /* Inline kernel#Int#== (var_i36,var37) */
6254 var40
= var_i36
== var37
;
6257 RET_LABEL39
:(void)0;
6265 var44
= string__NativeString__to_s_with_length(var42
, var43
);
6273 var45
= string__Int__to_s(var_i36
);
6275 var46
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
6277 { /* Inline kernel#Int#> (var_sl,var_nb) */
6278 /* Covariant cast for argument 0 (i) <var_nb:Int> isa OTHER */
6279 /* <var_nb:Int> isa OTHER */
6280 var49
= 1; /* easy <var_nb:Int> isa OTHER*/
6282 var_class_name
= type_kernel__Int
.name
;
6283 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6284 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
6287 var50
= var_sl
> var_nb
;
6290 RET_LABEL48
:(void)0;
6294 var52
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
6295 { /* Inline kernel#Int#- (var52,var_nb) */
6296 var55
= var52
- var_nb
;
6299 RET_LABEL54
:(void)0;
6301 var56
= ((val
* (*)(val
*, long, long))(var_s
->class->vft
[COLOR_string__AbstractString__substring
]))(var_s
, var51
, var53
) /* substring on <var_s:String>*/;
6303 var57
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
6304 { /* Inline kernel#Int#- (var57,var_nb) */
6305 var60
= var57
- var_nb
;
6308 RET_LABEL59
:(void)0;
6310 var61
= ((val
* (*)(val
*, long, long))(var_s
->class->vft
[COLOR_string__AbstractString__substring
]))(var_s
, var58
, var_nb
) /* substring on <var_s:String>*/;
6317 var66
= string__NativeString__to_s_with_length(var64
, var65
);
6321 var67
= ((val
* (*)(val
*, val
*))(var_p1
->class->vft
[COLOR_string__String___43d
]))(var_p1
, var63
) /* + on <var_p1:String>*/;
6322 var68
= ((val
* (*)(val
*, val
*))(var67
->class->vft
[COLOR_string__String___43d
]))(var67
, var_p2
) /* + on <var67:String>*/;
6331 var73
= string__NativeString__to_s_with_length(var71
, var72
);
6340 var78
= string__NativeString__to_s_with_length(var76
, var77
);
6344 { /* Inline kernel#Int#- (var_nb,var_sl) */
6345 var81
= var_nb
- var_sl
;
6348 RET_LABEL80
:(void)0;
6350 var82
= ((val
* (*)(val
*, long))(var75
->class->vft
[COLOR_string__String___42d
]))(var75
, var79
) /* * on <var75:String>*/;
6351 var83
= ((val
* (*)(val
*, val
*))(var70
->class->vft
[COLOR_string__String___43d
]))(var70
, var82
) /* + on <var70:String>*/;
6352 var84
= ((val
* (*)(val
*, val
*))(var83
->class->vft
[COLOR_string__String___43d
]))(var83
, var_s
) /* + on <var83:String>*/;
6359 /* method string#Float#to_precision for (self: Object, Int): String */
6360 val
* VIRTUAL_string__Float__to_precision(val
* self
, long p0
) {
6361 val
* var
/* : String */;
6362 val
* var1
/* : String */;
6363 double var2
/* : Float */;
6364 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
6365 var1
= string__Float__to_precision(var2
, p0
);
6370 /* method string#Float#to_precision_native for (self: Float, Int): String */
6371 val
* string__Float__to_precision_native(double self
, long p0
) {
6372 val
* var
/* : String */;
6373 fprintf(stderr
, "NOT YET IMPLEMENTED nitni for string#Float#to_precision_native at lib/standard/string.nit:946,2--955,3\n");
6378 /* method string#Float#to_precision_native for (self: Object, Int): String */
6379 val
* VIRTUAL_string__Float__to_precision_native(val
* self
, long p0
) {
6380 val
* var
/* : String */;
6381 val
* var1
/* : String */;
6382 double var2
/* : Float */;
6383 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
6384 var1
= string__Float__to_precision_native(var2
, p0
);
6389 /* method string#Char#to_s for (self: Char): String */
6390 val
* string__Char__to_s(char self
) {
6391 val
* var
/* : String */;
6392 val
* var1
/* : Buffer */;
6393 long var2
/* : Int */;
6394 val
* var_s
/* var s: Buffer */;
6395 long var3
/* : Int */;
6396 val
* var4
/* : nullable Object */;
6397 val
* var5
/* : String */;
6398 var1
= NEW_string__Buffer(&type_string__Buffer
);
6400 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
6403 var4
= BOX_kernel__Char(self
); /* autobox from Char to nullable Object */
6404 ((void (*)(val
*, long, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_s
, var3
, var4
) /* []= on <var_s:Buffer>*/;
6405 var5
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6411 /* method string#Char#to_s for (self: Object): String */
6412 val
* VIRTUAL_string__Char__to_s(val
* self
) {
6413 val
* var
/* : String */;
6414 val
* var1
/* : String */;
6415 char var2
/* : Char */;
6416 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6417 var1
= string__Char__to_s(var2
);
6422 /* method string#Char#is_numeric for (self: Char): Bool */
6423 short int string__Char__is_numeric(char self
) {
6424 short int var
/* : Bool */;
6425 short int var1
/* : Bool */;
6426 char var2
/* : Char */;
6427 short int var3
/* : Bool */;
6428 short int var5
/* : Bool */;
6431 const char* var_class_name
;
6432 short int var6
/* : Bool */;
6433 short int var_
/* var : Bool */;
6434 char var7
/* : Char */;
6435 short int var8
/* : Bool */;
6436 short int var10
/* : Bool */;
6439 const char* var_class_name13
;
6440 short int var14
/* : Bool */;
6441 short int var15
/* : Bool */;
6442 short int var16
/* : Bool */;
6444 { /* Inline kernel#Char#>= (self,var2) */
6445 /* Covariant cast for argument 0 (i) <var2:Char> isa OTHER */
6446 /* <var2:Char> isa OTHER */
6447 var5
= 1; /* easy <var2:Char> isa OTHER*/
6449 var_class_name
= type_kernel__Char
.name
;
6450 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6451 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
6454 var6
= self
>= var2
;
6462 { /* Inline kernel#Char#<= (self,var7) */
6463 /* Covariant cast for argument 0 (i) <var7:Char> isa OTHER */
6464 /* <var7:Char> isa OTHER */
6465 var10
= 1; /* easy <var7:Char> isa OTHER*/
6467 var_class_name13
= type_kernel__Char
.name
;
6468 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
6469 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
6472 var14
= self
<= var7
;
6493 /* method string#Char#is_numeric for (self: Object): Bool */
6494 short int VIRTUAL_string__Char__is_numeric(val
* self
) {
6495 short int var
/* : Bool */;
6496 short int var1
/* : Bool */;
6497 char var2
/* : Char */;
6498 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6499 var1
= string__Char__is_numeric(var2
);
6504 /* method string#Char#is_alpha for (self: Char): Bool */
6505 short int string__Char__is_alpha(char self
) {
6506 short int var
/* : Bool */;
6507 short int var1
/* : Bool */;
6508 short int var2
/* : Bool */;
6509 char var3
/* : Char */;
6510 short int var4
/* : Bool */;
6511 short int var6
/* : Bool */;
6514 const char* var_class_name
;
6515 short int var7
/* : Bool */;
6516 short int var_
/* var : Bool */;
6517 char var8
/* : Char */;
6518 short int var9
/* : Bool */;
6519 short int var11
/* : Bool */;
6522 const char* var_class_name14
;
6523 short int var15
/* : Bool */;
6524 short int var_16
/* var : Bool */;
6525 short int var17
/* : Bool */;
6526 char var18
/* : Char */;
6527 short int var19
/* : Bool */;
6528 short int var21
/* : Bool */;
6531 const char* var_class_name24
;
6532 short int var25
/* : Bool */;
6533 short int var_26
/* var : Bool */;
6534 char var27
/* : Char */;
6535 short int var28
/* : Bool */;
6536 short int var30
/* : Bool */;
6539 const char* var_class_name33
;
6540 short int var34
/* : Bool */;
6541 short int var35
/* : Bool */;
6542 short int var36
/* : Bool */;
6544 { /* Inline kernel#Char#>= (self,var3) */
6545 /* Covariant cast for argument 0 (i) <var3:Char> isa OTHER */
6546 /* <var3:Char> isa OTHER */
6547 var6
= 1; /* easy <var3:Char> isa OTHER*/
6549 var_class_name
= type_kernel__Char
.name
;
6550 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6551 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
6554 var7
= self
>= var3
;
6562 { /* Inline kernel#Char#<= (self,var8) */
6563 /* Covariant cast for argument 0 (i) <var8:Char> isa OTHER */
6564 /* <var8:Char> isa OTHER */
6565 var11
= 1; /* easy <var8:Char> isa OTHER*/
6567 var_class_name14
= type_kernel__Char
.name
;
6568 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
6569 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
6572 var15
= self
<= var8
;
6575 RET_LABEL10
:(void)0;
6586 { /* Inline kernel#Char#>= (self,var18) */
6587 /* Covariant cast for argument 0 (i) <var18:Char> isa OTHER */
6588 /* <var18:Char> isa OTHER */
6589 var21
= 1; /* easy <var18:Char> isa OTHER*/
6591 var_class_name24
= type_kernel__Char
.name
;
6592 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
6593 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 438);
6596 var25
= self
>= var18
;
6599 RET_LABEL20
:(void)0;
6604 { /* Inline kernel#Char#<= (self,var27) */
6605 /* Covariant cast for argument 0 (i) <var27:Char> isa OTHER */
6606 /* <var27:Char> isa OTHER */
6607 var30
= 1; /* easy <var27:Char> isa OTHER*/
6609 var_class_name33
= type_kernel__Char
.name
;
6610 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
6611 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 436);
6614 var34
= self
<= var27
;
6617 RET_LABEL29
:(void)0;
6637 /* method string#Char#is_alpha for (self: Object): Bool */
6638 short int VIRTUAL_string__Char__is_alpha(val
* self
) {
6639 short int var
/* : Bool */;
6640 short int var1
/* : Bool */;
6641 char var2
/* : Char */;
6642 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6643 var1
= string__Char__is_alpha(var2
);
6648 /* method string#Char#is_alphanumeric for (self: Char): Bool */
6649 short int string__Char__is_alphanumeric(char self
) {
6650 short int var
/* : Bool */;
6651 short int var1
/* : Bool */;
6652 short int var2
/* : Bool */;
6653 short int var_
/* var : Bool */;
6654 short int var3
/* : Bool */;
6655 short int var4
/* : Bool */;
6656 short int var5
/* : Bool */;
6657 var2
= string__Char__is_numeric(self
);
6662 var3
= string__Char__is_alpha(self
);
6677 /* method string#Char#is_alphanumeric for (self: Object): Bool */
6678 short int VIRTUAL_string__Char__is_alphanumeric(val
* self
) {
6679 short int var
/* : Bool */;
6680 short int var1
/* : Bool */;
6681 char var2
/* : Char */;
6682 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
6683 var1
= string__Char__is_alphanumeric(var2
);
6688 /* method string#Collection#to_s for (self: Collection[nullable Object]): String */
6689 val
* string__Collection__to_s(val
* self
) {
6690 val
* var
/* : String */;
6691 val
* var1
/* : Buffer */;
6692 val
* var_s
/* var s: Buffer */;
6693 val
* var2
/* : Iterator[nullable Object] */;
6694 short int var3
/* : Bool */;
6695 val
* var4
/* : nullable Object */;
6696 val
* var_e
/* var e: nullable Object */;
6697 val
* var5
/* : null */;
6698 short int var6
/* : Bool */;
6699 val
* var7
/* : String */;
6700 val
* var8
/* : String */;
6701 var1
= NEW_string__Buffer(&type_string__Buffer
);
6702 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
6704 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
6706 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
6708 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
6711 if (var_e
== NULL
) {
6712 var6
= 0; /* is null */
6714 var6
= 1; /* arg is null and recv is not */
6717 if (var_e
== NULL
) {
6718 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6719 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 997);
6722 var7
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6724 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var7
) /* append on <var_s:Buffer>*/;
6727 CONTINUE_label
: (void)0;
6728 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
6730 BREAK_label
: (void)0;
6731 var8
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6737 /* method string#Collection#to_s for (self: Object): String */
6738 val
* VIRTUAL_string__Collection__to_s(val
* self
) {
6739 val
* var
/* : String */;
6740 val
* var1
/* : String */;
6741 var1
= string__Collection__to_s(self
);
6746 /* method string#Collection#join for (self: Collection[nullable Object], String): String */
6747 val
* string__Collection__join(val
* self
, val
* p0
) {
6748 val
* var
/* : String */;
6749 val
* var_sep
/* var sep: String */;
6750 short int var1
/* : Bool */;
6751 static val
* varonce
;
6752 val
* var2
/* : String */;
6753 char* var3
/* : NativeString */;
6754 long var4
/* : Int */;
6755 val
* var5
/* : String */;
6756 val
* var6
/* : Buffer */;
6757 val
* var_s
/* var s: Buffer */;
6758 val
* var7
/* : Iterator[nullable Object] */;
6759 val
* var_i
/* var i: Iterator[nullable Object] */;
6760 val
* var8
/* : nullable Object */;
6761 val
* var_e
/* var e: nullable Object */;
6762 val
* var9
/* : null */;
6763 short int var10
/* : Bool */;
6764 val
* var11
/* : String */;
6765 short int var12
/* : Bool */;
6766 val
* var13
/* : nullable Object */;
6767 val
* var14
/* : null */;
6768 short int var15
/* : Bool */;
6769 val
* var16
/* : String */;
6770 val
* var17
/* : String */;
6772 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:Collection[nullable Object]>*/;
6779 var5
= string__NativeString__to_s_with_length(var3
, var4
);
6787 var6
= NEW_string__Buffer(&type_string__Buffer
);
6788 ((void (*)(val
*))(var6
->class->vft
[COLOR_string__Buffer__init
]))(var6
) /* init on <var6:Buffer>*/;
6790 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
6792 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_i
) /* item on <var_i:Iterator[nullable Object]>*/;
6795 if (var_e
== NULL
) {
6796 var10
= 0; /* is null */
6798 var10
= 1; /* arg is null and recv is not */
6801 if (var_e
== NULL
) {
6802 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6803 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1014);
6806 var11
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6808 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var11
) /* append on <var_s:Buffer>*/;
6811 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_i
) /* next on <var_i:Iterator[nullable Object]>*/;
6813 var12
= ((short int (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_i
) /* is_ok on <var_i:Iterator[nullable Object]>*/;
6815 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var_sep
) /* append on <var_s:Buffer>*/;
6816 var13
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_i
) /* item on <var_i:Iterator[nullable Object]>*/;
6819 if (var_e
== NULL
) {
6820 var15
= 0; /* is null */
6822 var15
= 1; /* arg is null and recv is not */
6825 if (var_e
== NULL
) {
6826 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6827 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1021);
6830 var16
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6832 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var16
) /* append on <var_s:Buffer>*/;
6835 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_i
) /* next on <var_i:Iterator[nullable Object]>*/;
6836 CONTINUE_label
: (void)0;
6838 BREAK_label
: (void)0;
6839 var17
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6845 /* method string#Collection#join for (self: Object, String): String */
6846 val
* VIRTUAL_string__Collection__join(val
* self
, val
* p0
) {
6847 val
* var
/* : String */;
6848 val
* var1
/* : String */;
6849 var1
= string__Collection__join(self
, p0
);
6854 /* method string#Array#to_s for (self: Array[nullable Object]): String */
6855 val
* string__Array__to_s(val
* self
) {
6856 val
* var
/* : String */;
6857 val
* var1
/* : Buffer */;
6858 val
* var_s
/* var s: Buffer */;
6859 long var2
/* : Int */;
6860 long var_i
/* var i: Int */;
6861 long var3
/* : Int */;
6862 long var_l
/* var l: Int */;
6863 short int var4
/* : Bool */;
6864 short int var6
/* : Bool */;
6867 const char* var_class_name
;
6868 short int var7
/* : Bool */;
6869 val
* var8
/* : nullable Object */;
6870 val
* var_e
/* var e: nullable Object */;
6871 val
* var9
/* : null */;
6872 short int var10
/* : Bool */;
6873 val
* var11
/* : String */;
6874 long var12
/* : Int */;
6875 long var13
/* : Int */;
6876 long var15
/* : Int */;
6877 val
* var16
/* : String */;
6878 var1
= NEW_string__Buffer(&type_string__Buffer
);
6879 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
6883 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Array[nullable Object]>*/;
6886 { /* Inline kernel#Int#< (var_i,var_l) */
6887 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
6888 /* <var_l:Int> isa OTHER */
6889 var6
= 1; /* easy <var_l:Int> isa OTHER*/
6891 var_class_name
= type_kernel__Int
.name
;
6892 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6893 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
6896 var7
= var_i
< var_l
;
6902 var8
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:Array[nullable Object]>*/;
6905 if (var_e
== NULL
) {
6906 var10
= 0; /* is null */
6908 var10
= 1; /* arg is null and recv is not */
6911 if (var_e
== NULL
) {
6912 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
6913 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1037);
6916 var11
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
6918 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var11
) /* append on <var_s:Buffer>*/;
6922 { /* Inline kernel#Int#+ (var_i,var12) */
6923 var15
= var_i
+ var12
;
6926 RET_LABEL14
:(void)0;
6929 CONTINUE_label
: (void)0;
6931 BREAK_label
: (void)0;
6932 var16
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
6938 /* method string#Array#to_s for (self: Object): String */
6939 val
* VIRTUAL_string__Array__to_s(val
* self
) {
6940 val
* var
/* : String */;
6941 val
* var1
/* : String */;
6942 var1
= string__Array__to_s(self
);
6947 /* method string#Map#join for (self: Map[Object, nullable Object], String, String): String */
6948 val
* string__Map__join(val
* self
, val
* p0
, val
* p1
) {
6949 val
* var
/* : String */;
6950 val
* var_sep
/* var sep: String */;
6951 val
* var_couple_sep
/* var couple_sep: String */;
6952 short int var1
/* : Bool */;
6953 static val
* varonce
;
6954 val
* var2
/* : String */;
6955 char* var3
/* : NativeString */;
6956 long var4
/* : Int */;
6957 val
* var5
/* : String */;
6958 val
* var6
/* : Buffer */;
6959 val
* var_s
/* var s: Buffer */;
6960 val
* var7
/* : MapIterator[Object, nullable Object] */;
6961 val
* var_i
/* var i: MapIterator[Object, nullable Object] */;
6962 val
* var8
/* : Object */;
6963 val
* var_k
/* var k: Object */;
6964 val
* var9
/* : nullable Object */;
6965 val
* var_e
/* var e: nullable Object */;
6966 val
* var10
/* : Object */;
6967 static val
* varonce11
;
6968 val
* var12
/* : String */;
6969 char* var13
/* : NativeString */;
6970 long var14
/* : Int */;
6971 val
* var15
/* : String */;
6972 val
* var16
/* : Array[Object] */;
6973 long var17
/* : Int */;
6974 val
* var18
/* : NativeArray[Object] */;
6975 val
* var19
/* : String */;
6976 short int var20
/* : Bool */;
6977 val
* var21
/* : Object */;
6978 val
* var22
/* : nullable Object */;
6979 val
* var23
/* : Object */;
6980 static val
* varonce24
;
6981 val
* var25
/* : String */;
6982 char* var26
/* : NativeString */;
6983 long var27
/* : Int */;
6984 val
* var28
/* : String */;
6985 val
* var29
/* : Array[Object] */;
6986 long var30
/* : Int */;
6987 val
* var31
/* : NativeArray[Object] */;
6988 val
* var32
/* : String */;
6989 val
* var33
/* : String */;
6991 var_couple_sep
= p1
;
6992 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__MapRead__is_empty
]))(self
) /* is_empty on <self:Map[Object, nullable Object]>*/;
6999 var5
= string__NativeString__to_s_with_length(var3
, var4
);
7007 var6
= NEW_string__Buffer(&type_string__Buffer
);
7008 ((void (*)(val
*))(var6
->class->vft
[COLOR_string__Buffer__init
]))(var6
) /* init on <var6:Buffer>*/;
7010 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(self
) /* iterator on <self:Map[Object, nullable Object]>*/;
7012 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_i
) /* key on <var_i:MapIterator[Object, nullable Object]>*/;
7014 var9
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_i
) /* item on <var_i:MapIterator[Object, nullable Object]>*/;
7024 var15
= string__NativeString__to_s_with_length(var13
, var14
);
7030 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
7031 { /* var16 = array_instance Array[Object] */
7033 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
7034 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var_k
;
7035 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_couple_sep
;
7036 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var10
;
7037 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
7039 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
7040 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var19
) /* append on <var_s:Buffer>*/;
7041 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_i
) /* next on <var_i:MapIterator[Object, nullable Object]>*/;
7043 var20
= ((short int (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__is_ok
]))(var_i
) /* is_ok on <var_i:MapIterator[Object, nullable Object]>*/;
7045 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var_sep
) /* append on <var_s:Buffer>*/;
7046 var21
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_i
) /* key on <var_i:MapIterator[Object, nullable Object]>*/;
7048 var22
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_i
) /* item on <var_i:MapIterator[Object, nullable Object]>*/;
7058 var28
= string__NativeString__to_s_with_length(var26
, var27
);
7064 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
7065 { /* var29 = array_instance Array[Object] */
7067 var31
= NEW_array__NativeArray(var30
, &type_array__NativeArraykernel__Object
);
7068 ((struct instance_array__NativeArray
*)var31
)->values
[0] = (val
*) var_k
;
7069 ((struct instance_array__NativeArray
*)var31
)->values
[1] = (val
*) var_couple_sep
;
7070 ((struct instance_array__NativeArray
*)var31
)->values
[2] = (val
*) var23
;
7071 ((void (*)(val
*, val
*, long))(var29
->class->vft
[COLOR_array__Array__with_native
]))(var29
, var31
, var30
) /* with_native on <var29:Array[Object]>*/;
7073 var32
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_string__Object__to_s
]))(var29
) /* to_s on <var29:Array[Object]>*/;
7074 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var32
) /* append on <var_s:Buffer>*/;
7075 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_i
) /* next on <var_i:MapIterator[Object, nullable Object]>*/;
7076 CONTINUE_label
: (void)0;
7078 BREAK_label
: (void)0;
7079 var33
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
7085 /* method string#Map#join for (self: Object, String, String): String */
7086 val
* VIRTUAL_string__Map__join(val
* self
, val
* p0
, val
* p1
) {
7087 val
* var
/* : String */;
7088 val
* var1
/* : String */;
7089 var1
= string__Map__join(self
, p0
, p1
);
7094 /* method string#NativeString#[] for (self: NativeString, Int): Char */
7095 char string__NativeString___91d_93d(char* self
, long p0
) {
7096 char var
/* : Char */;
7097 char var1
/* : Char */;
7104 /* method string#NativeString#[] for (self: Object, Int): Char */
7105 char VIRTUAL_string__NativeString___91d_93d(val
* self
, long p0
) {
7106 char var
/* : Char */;
7107 char var1
/* : Char */;
7108 char* var3
/* : NativeString */;
7109 char var4
/* : Char */;
7110 { /* Inline string#NativeString#[] (self,p0) */
7111 var3
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7121 /* method string#NativeString#[]= for (self: NativeString, Int, Char) */
7122 void string__NativeString___91d_93d_61d(char* self
, long p0
, char p1
) {
7126 /* method string#NativeString#[]= for (self: Object, Int, Char) */
7127 void VIRTUAL_string__NativeString___91d_93d_61d(val
* self
, long p0
, char p1
) {
7128 char* var
/* : NativeString */;
7129 { /* Inline string#NativeString#[]= (self,p0,p1) */
7130 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7136 /* method string#NativeString#copy_to for (self: NativeString, NativeString, Int, Int, Int) */
7137 void string__NativeString__copy_to(char* self
, char* p0
, long p1
, long p2
, long p3
) {
7138 memcpy(p0
+p3
,self
+p2
,p1
);
7141 /* method string#NativeString#copy_to for (self: Object, NativeString, Int, Int, Int) */
7142 void VIRTUAL_string__NativeString__copy_to(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
7143 char* var
/* : NativeString */;
7144 { /* Inline string#NativeString#copy_to (self,p0,p1,p2,p3) */
7145 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7146 memcpy(p0
+p3
,var
+p2
,p1
);
7151 /* method string#NativeString#cstring_length for (self: NativeString): Int */
7152 long string__NativeString__cstring_length(char* self
) {
7153 long var
/* : Int */;
7154 long var1
/* : Int */;
7155 long var_l
/* var l: Int */;
7156 char var2
/* : Char */;
7157 char var4
/* : Char */;
7158 char var5
/* : Char */;
7159 short int var6
/* : Bool */;
7160 short int var8
/* : Bool */;
7161 short int var9
/* : Bool */;
7162 long var10
/* : Int */;
7163 long var11
/* : Int */;
7164 long var13
/* : Int */;
7168 { /* Inline string#NativeString#[] (self,var_l) */
7175 { /* Inline kernel#Char#!= (var2,var5) */
7176 var8
= var2
== var5
;
7184 { /* Inline kernel#Int#+ (var_l,var10) */
7185 var13
= var_l
+ var10
;
7188 RET_LABEL12
:(void)0;
7191 CONTINUE_label
: (void)0;
7193 BREAK_label
: (void)0;
7199 /* method string#NativeString#cstring_length for (self: Object): Int */
7200 long VIRTUAL_string__NativeString__cstring_length(val
* self
) {
7201 long var
/* : Int */;
7202 long var1
/* : Int */;
7203 char* var2
/* : NativeString */;
7204 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7205 var1
= string__NativeString__cstring_length(var2
);
7210 /* method string#NativeString#atoi for (self: NativeString): Int */
7211 long string__NativeString__atoi(char* self
) {
7212 long var
/* : Int */;
7213 long var1
/* : Int */;
7220 /* method string#NativeString#atoi for (self: Object): Int */
7221 long VIRTUAL_string__NativeString__atoi(val
* self
) {
7222 long var
/* : Int */;
7223 long var1
/* : Int */;
7224 char* var3
/* : NativeString */;
7225 long var4
/* : Int */;
7226 { /* Inline string#NativeString#atoi (self) */
7227 var3
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7237 /* method string#NativeString#atof for (self: NativeString): Float */
7238 double string__NativeString__atof(char* self
) {
7239 double var
/* : Float */;
7240 double var1
/* : Float */;
7247 /* method string#NativeString#atof for (self: Object): Float */
7248 double VIRTUAL_string__NativeString__atof(val
* self
) {
7249 double var
/* : Float */;
7250 double var1
/* : Float */;
7251 char* var2
/* : NativeString */;
7252 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7253 var1
= string__NativeString__atof(var2
);
7258 /* method string#NativeString#to_s for (self: NativeString): String */
7259 val
* string__NativeString__to_s(char* self
) {
7260 val
* var
/* : String */;
7261 long var1
/* : Int */;
7262 val
* var2
/* : String */;
7263 var1
= string__NativeString__cstring_length(self
);
7264 var2
= string__NativeString__to_s_with_length(self
, var1
);
7270 /* method string#NativeString#to_s for (self: Object): String */
7271 val
* VIRTUAL_string__NativeString__to_s(val
* self
) {
7272 val
* var
/* : String */;
7273 val
* var1
/* : String */;
7274 char* var2
/* : NativeString */;
7275 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7276 var1
= string__NativeString__to_s(var2
);
7281 /* method string#NativeString#to_s_with_length for (self: NativeString, Int): String */
7282 val
* string__NativeString__to_s_with_length(char* self
, long p0
) {
7283 val
* var
/* : String */;
7284 long var_length
/* var length: Int */;
7285 long var1
/* : Int */;
7286 short int var2
/* : Bool */;
7287 short int var4
/* : Bool */;
7290 const char* var_class_name
;
7291 short int var5
/* : Bool */;
7292 val
* var6
/* : String */;
7293 long var7
/* : Int */;
7294 long var8
/* : Int */;
7295 long var9
/* : Int */;
7296 long var11
/* : Int */;
7299 { /* Inline kernel#Int#>= (var_length,var1) */
7300 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
7301 /* <var1:Int> isa OTHER */
7302 var4
= 1; /* easy <var1:Int> isa OTHER*/
7304 var_class_name
= type_kernel__Int
.name
;
7305 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7306 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
7309 var5
= var_length
>= var1
;
7315 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7316 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1107);
7319 var6
= NEW_string__String(&type_string__String
);
7322 { /* Inline kernel#Int#- (var_length,var8) */
7323 var11
= var_length
- var8
;
7326 RET_LABEL10
:(void)0;
7328 ((void (*)(val
*, char*, long, long, long))(var6
->class->vft
[COLOR_string__String__with_infos
]))(var6
, self
, var_length
, var7
, var9
) /* with_infos on <var6:String>*/;
7334 /* method string#NativeString#to_s_with_length for (self: Object, Int): String */
7335 val
* VIRTUAL_string__NativeString__to_s_with_length(val
* self
, long p0
) {
7336 val
* var
/* : String */;
7337 val
* var1
/* : String */;
7338 char* var2
/* : NativeString */;
7339 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7340 var1
= string__NativeString__to_s_with_length(var2
, p0
);
7345 /* method string#NativeString#to_s_with_copy for (self: NativeString): String */
7346 val
* string__NativeString__to_s_with_copy(char* self
) {
7347 val
* var
/* : String */;
7348 long var1
/* : Int */;
7349 long var_length
/* var length: Int */;
7350 long var2
/* : Int */;
7351 long var3
/* : Int */;
7352 long var5
/* : Int */;
7353 char* var6
/* : NativeString */;
7354 val
* var8
/* : StringCapable */;
7355 char* var9
/* : NativeString */;
7356 char* var_new_self
/* var new_self: NativeString */;
7357 long var10
/* : Int */;
7358 long var11
/* : Int */;
7359 val
* var13
/* : String */;
7360 long var14
/* : Int */;
7361 long var15
/* : Int */;
7362 long var16
/* : Int */;
7363 long var18
/* : Int */;
7364 var1
= string__NativeString__cstring_length(self
);
7367 { /* Inline kernel#Int#+ (var_length,var2) */
7368 var5
= var_length
+ var2
;
7373 { /* Inline string#StringCapable#calloc_string (self,var3) */
7374 var8
= BOX_string__NativeString(self
); /* autobox from NativeString to StringCapable */
7375 var9
= (char*)nit_alloc(var3
);
7380 var_new_self
= var6
;
7383 { /* Inline string#NativeString#copy_to (self,var_new_self,var_length,var10,var11) */
7384 memcpy(var_new_self
+var11
,self
+var10
,var_length
);
7385 RET_LABEL12
:(void)0;
7387 var13
= NEW_string__String(&type_string__String
);
7390 { /* Inline kernel#Int#- (var_length,var15) */
7391 var18
= var_length
- var15
;
7394 RET_LABEL17
:(void)0;
7396 ((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>*/;
7402 /* method string#NativeString#to_s_with_copy for (self: Object): String */
7403 val
* VIRTUAL_string__NativeString__to_s_with_copy(val
* self
) {
7404 val
* var
/* : String */;
7405 val
* var1
/* : String */;
7406 char* var2
/* : NativeString */;
7407 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7408 var1
= string__NativeString__to_s_with_copy(var2
);
7413 /* method string#NativeString#init for (self: NativeString) */
7414 void string__NativeString__init(char* self
) {
7417 /* method string#NativeString#init for (self: Object) */
7418 void VIRTUAL_string__NativeString__init(val
* self
) {
7419 char* var
/* : NativeString */;
7420 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
7421 string__NativeString__init(var
);
7424 /* method string#StringCapable#calloc_string for (self: StringCapable, Int): NativeString */
7425 char* string__StringCapable__calloc_string(val
* self
, long p0
) {
7426 char* var
/* : NativeString */;
7427 char* var1
/* : NativeString */;
7428 var1
= (char*)nit_alloc(p0
);
7434 /* method string#StringCapable#calloc_string for (self: Object, Int): NativeString */
7435 char* VIRTUAL_string__StringCapable__calloc_string(val
* self
, long p0
) {
7436 char* var
/* : NativeString */;
7437 char* var1
/* : NativeString */;
7438 char* var3
/* : NativeString */;
7439 { /* Inline string#StringCapable#calloc_string (self,p0) */
7440 var3
= (char*)nit_alloc(p0
);
7449 /* method string#Sys#args for (self: Sys): Sequence[String] */
7450 val
* string__Sys__args(val
* self
) {
7451 val
* var
/* : Sequence[String] */;
7452 val
* var1
/* : nullable Sequence[String] */;
7453 val
* var2
/* : null */;
7454 short int var3
/* : Bool */;
7455 val
* var4
/* : nullable Sequence[String] */;
7456 var1
= self
->attrs
[COLOR_string__Sys___args_cache
].val
; /* _args_cache on <self:Sys> */
7459 var3
= 1; /* is null */
7461 var3
= 0; /* arg is null but recv is not */
7464 ((void (*)(val
*))(self
->class->vft
[COLOR_string__Sys__init_args
]))(self
) /* init_args on <self:Sys>*/;
7467 var4
= self
->attrs
[COLOR_string__Sys___args_cache
].val
; /* _args_cache on <self:Sys> */
7469 fprintf(stderr
, "Runtime error: %s", "Cast failed");
7470 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1132);
7478 /* method string#Sys#args for (self: Object): Sequence[String] */
7479 val
* VIRTUAL_string__Sys__args(val
* self
) {
7480 val
* var
/* : Sequence[String] */;
7481 val
* var1
/* : Sequence[String] */;
7482 var1
= string__Sys__args(self
);
7487 /* method string#Sys#program_name for (self: Sys): String */
7488 val
* string__Sys__program_name(val
* self
) {
7489 val
* var
/* : String */;
7490 long var1
/* : Int */;
7491 char* var2
/* : NativeString */;
7492 val
* var3
/* : String */;
7494 var2
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__Sys__native_argv
]))(self
, var1
) /* native_argv on <self:Sys>*/;
7495 var3
= string__NativeString__to_s(var2
);
7501 /* method string#Sys#program_name for (self: Object): String */
7502 val
* VIRTUAL_string__Sys__program_name(val
* self
) {
7503 val
* var
/* : String */;
7504 val
* var1
/* : String */;
7505 var1
= string__Sys__program_name(self
);
7510 /* method string#Sys#init_args for (self: Sys) */
7511 void string__Sys__init_args(val
* self
) {
7512 long var
/* : Int */;
7513 long var_argc
/* var argc: Int */;
7514 val
* var1
/* : Array[String] */;
7515 long var2
/* : Int */;
7516 val
* var_args
/* var args: Array[String] */;
7517 long var3
/* : Int */;
7518 long var_i
/* var i: Int */;
7519 short int var4
/* : Bool */;
7520 short int var6
/* : Bool */;
7523 const char* var_class_name
;
7524 short int var7
/* : Bool */;
7525 long var8
/* : Int */;
7526 long var9
/* : Int */;
7527 long var11
/* : Int */;
7528 char* var12
/* : NativeString */;
7529 val
* var13
/* : String */;
7530 long var14
/* : Int */;
7531 long var15
/* : Int */;
7532 long var17
/* : Int */;
7533 var
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__Sys__native_argc
]))(self
) /* native_argc on <self:Sys>*/;
7535 var1
= NEW_array__Array(&type_array__Arraystring__String
);
7537 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[String]>*/;
7542 { /* Inline kernel#Int#< (var_i,var_argc) */
7543 /* Covariant cast for argument 0 (i) <var_argc:Int> isa OTHER */
7544 /* <var_argc:Int> isa OTHER */
7545 var6
= 1; /* easy <var_argc:Int> isa OTHER*/
7547 var_class_name
= type_kernel__Int
.name
;
7548 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7549 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
7552 var7
= var_i
< var_argc
;
7559 { /* Inline kernel#Int#- (var_i,var8) */
7560 var11
= var_i
- var8
;
7563 RET_LABEL10
:(void)0;
7565 var12
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__Sys__native_argv
]))(self
, var_i
) /* native_argv on <self:Sys>*/;
7566 var13
= string__NativeString__to_s(var12
);
7567 ((void (*)(val
*, long, val
*))(var_args
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_args
, var9
, var13
) /* []= on <var_args:Array[String]>*/;
7569 { /* Inline kernel#Int#+ (var_i,var14) */
7570 var17
= var_i
+ var14
;
7573 RET_LABEL16
:(void)0;
7576 CONTINUE_label
: (void)0;
7578 BREAK_label
: (void)0;
7579 self
->attrs
[COLOR_string__Sys___args_cache
].val
= var_args
; /* _args_cache on <self:Sys> */
7582 /* method string#Sys#init_args for (self: Object) */
7583 void VIRTUAL_string__Sys__init_args(val
* self
) {
7584 string__Sys__init_args(self
);
7587 /* method string#Sys#native_argc for (self: Sys): Int */
7588 long string__Sys__native_argc(val
* self
) {
7589 long var
/* : Int */;
7590 long var1
/* : Int */;
7597 /* method string#Sys#native_argc for (self: Object): Int */
7598 long VIRTUAL_string__Sys__native_argc(val
* self
) {
7599 long var
/* : Int */;
7600 long var1
/* : Int */;
7601 long var3
/* : Int */;
7602 { /* Inline string#Sys#native_argc (self) */
7612 /* method string#Sys#native_argv for (self: Sys, Int): NativeString */
7613 char* string__Sys__native_argv(val
* self
, long p0
) {
7614 char* var
/* : NativeString */;
7615 char* var1
/* : NativeString */;
7616 var1
= glob_argv
[p0
];
7622 /* method string#Sys#native_argv for (self: Object, Int): NativeString */
7623 char* VIRTUAL_string__Sys__native_argv(val
* self
, long p0
) {
7624 char* var
/* : NativeString */;
7625 char* var1
/* : NativeString */;
7626 char* var3
/* : NativeString */;
7627 { /* Inline string#Sys#native_argv (self,p0) */
7628 var3
= glob_argv
[p0
];