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#chars for (self: AbstractString): StringCharView */
21 val
* string__AbstractString__chars(val
* self
) {
22 val
* var
/* : StringCharView */;
23 const char* var_class_name
;
24 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
25 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "chars", var_class_name
);
26 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 34);
31 /* method string#AbstractString#chars for (self: Object): StringCharView */
32 val
* VIRTUAL_string__AbstractString__chars(val
* self
) {
33 val
* var
/* : StringCharView */;
34 val
* var1
/* : StringCharView */;
35 var1
= string__AbstractString__chars(self
);
40 /* method string#AbstractString#[] for (self: AbstractString, Int): Char */
41 char string__AbstractString___91d_93d(val
* self
, long p0
) {
42 char var
/* : Char */;
43 long var_index
/* var index: Int */;
44 char* var1
/* : NativeString */;
45 char var2
/* : Char */;
46 char var4
/* : Char */;
48 var1
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
49 { /* Inline string#NativeString#[] (var1,var_index) */
50 var4
= var1
[var_index
];
60 /* method string#AbstractString#[] for (self: Object, Int): nullable Object */
61 val
* VIRTUAL_string__AbstractString___91d_93d(val
* self
, long p0
) {
62 val
* var
/* : nullable Object */;
63 char var1
/* : Char */;
64 val
* var2
/* : nullable Object */;
65 var1
= string__AbstractString___91d_93d(self
, p0
);
66 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
71 /* method string#AbstractString#substring for (self: AbstractString, Int, Int): String */
72 val
* string__AbstractString__substring(val
* self
, long p0
, long p1
) {
73 val
* var
/* : String */;
74 long var_from
/* var from: Int */;
75 long var_count
/* var count: Int */;
76 long var1
/* : Int */;
77 short int var2
/* : Bool */;
78 short int var4
/* : Bool */;
81 const char* var_class_name
;
82 short int var5
/* : Bool */;
83 long var6
/* : Int */;
84 long var8
/* : Int */;
85 long var9
/* : Int */;
86 short int var10
/* : Bool */;
87 short int var12
/* : Bool */;
90 const char* var_class_name15
;
91 short int var16
/* : Bool */;
92 long var17
/* : Int */;
93 long var18
/* : Int */;
94 short int var19
/* : Bool */;
95 short int var21
/* : Bool */;
98 const char* var_class_name24
;
99 short int var25
/* : Bool */;
100 long var26
/* : Int */;
101 short int var27
/* : Bool */;
102 short int var29
/* : Bool */;
105 const char* var_class_name32
;
106 short int var33
/* : Bool */;
107 val
* var34
/* : Buffer */;
108 long var35
/* : Int */;
109 long var37
/* : Int */;
110 val
* var_r
/* var r: Buffer */;
111 short int var38
/* : Bool */;
112 short int var40
/* : Bool */;
115 const char* var_class_name43
;
116 short int var44
/* : Bool */;
117 val
* var45
/* : StringCharView */;
118 char* var46
/* : NativeString */;
119 char var47
/* : Char */;
120 char var49
/* : Char */;
121 val
* var50
/* : nullable Object */;
122 long var51
/* : Int */;
123 long var52
/* : Int */;
124 long var54
/* : Int */;
125 val
* var55
/* : String */;
127 val
* var56
/* : String */;
128 char* var57
/* : NativeString */;
129 long var58
/* : Int */;
130 val
* var59
/* : String */;
134 { /* Inline kernel#Int#>= (var_count,var1) */
135 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
136 /* <var1:Int> isa OTHER */
137 var4
= 1; /* easy <var1:Int> isa OTHER*/
139 var_class_name
= type_kernel__Int
.name
;
140 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
141 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
144 var5
= var_count
>= var1
;
150 fprintf(stderr
, "Runtime error: %s", "Assert failed");
151 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 53);
154 { /* Inline kernel#Int#+ (var_count,var_from) */
155 var8
= var_count
+ var_from
;
162 { /* Inline kernel#Int#< (var_from,var9) */
163 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
164 /* <var9:Int> isa OTHER */
165 var12
= 1; /* easy <var9:Int> isa OTHER*/
167 var_class_name15
= type_kernel__Int
.name
;
168 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
169 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
172 var16
= var_from
< var9
;
182 var18
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
183 { /* Inline kernel#Int#> (var_count,var18) */
184 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
185 /* <var18:Int> isa OTHER */
186 var21
= 1; /* easy <var18:Int> isa OTHER*/
188 var_class_name24
= type_kernel__Int
.name
;
189 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
190 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
193 var25
= var_count
> var18
;
199 var26
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
203 { /* Inline kernel#Int#< (var_from,var_count) */
204 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
205 /* <var_count:Int> isa OTHER */
206 var29
= 1; /* easy <var_count:Int> isa OTHER*/
208 var_class_name32
= type_kernel__Int
.name
;
209 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
210 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
213 var33
= var_from
< var_count
;
219 var34
= NEW_string__Buffer(&type_string__Buffer
);
220 { /* Inline kernel#Int#- (var_count,var_from) */
221 var37
= var_count
- var_from
;
226 ((void (*)(val
*, long))(var34
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var34
, var35
) /* with_capacity on <var34:Buffer>*/;
229 { /* Inline kernel#Int#< (var_from,var_count) */
230 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
231 /* <var_count:Int> isa OTHER */
232 var40
= 1; /* easy <var_count:Int> isa OTHER*/
234 var_class_name43
= type_kernel__Int
.name
;
235 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43
);
236 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
239 var44
= var_from
< var_count
;
245 var45
= ((val
* (*)(val
*))(var_r
->class->vft
[COLOR_string__AbstractString__chars
]))(var_r
) /* chars on <var_r:Buffer>*/;
246 var46
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
247 { /* Inline string#NativeString#[] (var46,var_from) */
248 var49
= var46
[var_from
];
253 var50
= BOX_kernel__Char(var47
); /* autobox from Char to nullable Object */
254 ((void (*)(val
*, val
*))(var45
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var45
, var50
) /* push on <var45:StringCharView(BufferCharView)>*/;
256 { /* Inline kernel#Int#+ (var_from,var51) */
257 var54
= var_from
+ var51
;
263 CONTINUE_label
: (void)0;
265 BREAK_label
: (void)0;
266 var55
= ((val
* (*)(val
*))(var_r
->class->vft
[COLOR_string__Object__to_s
]))(var_r
) /* to_s on <var_r:Buffer>*/;
275 var59
= string__NativeString__to_s_with_length(var57
, var58
);
285 /* method string#AbstractString#substring for (self: Object, Int, Int): String */
286 val
* VIRTUAL_string__AbstractString__substring(val
* self
, long p0
, long p1
) {
287 val
* var
/* : String */;
288 val
* var1
/* : String */;
289 var1
= string__AbstractString__substring(self
, p0
, p1
);
294 /* method string#AbstractString#substring_from for (self: AbstractString, Int): String */
295 val
* string__AbstractString__substring_from(val
* self
, long p0
) {
296 val
* var
/* : String */;
297 long var_from
/* var from: Int */;
298 long var1
/* : Int */;
299 short int var2
/* : Bool */;
300 short int var4
/* : Bool */;
303 const char* var_class_name
;
304 short int var5
/* : Bool */;
305 long var6
/* : Int */;
306 long var7
/* : Int */;
307 long var9
/* : Int */;
308 val
* var10
/* : String */;
310 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
311 { /* Inline kernel#Int#< (var_from,var1) */
312 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
313 /* <var1:Int> isa OTHER */
314 var4
= 1; /* easy <var1:Int> isa OTHER*/
316 var_class_name
= type_kernel__Int
.name
;
317 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
318 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
321 var5
= var_from
< var1
;
327 fprintf(stderr
, "Runtime error: %s", "Assert failed");
328 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 78);
331 var6
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
332 { /* Inline kernel#Int#- (var6,var_from) */
333 var9
= var6
- var_from
;
338 var10
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_from
, var7
) /* substring on <self:AbstractString>*/;
344 /* method string#AbstractString#substring_from for (self: Object, Int): String */
345 val
* VIRTUAL_string__AbstractString__substring_from(val
* self
, long p0
) {
346 val
* var
/* : String */;
347 val
* var1
/* : String */;
348 var1
= string__AbstractString__substring_from(self
, p0
);
353 /* method string#AbstractString#has_substring for (self: AbstractString, String, Int): Bool */
354 short int string__AbstractString__has_substring(val
* self
, val
* p0
, long p1
) {
355 short int var
/* : Bool */;
356 val
* var_str
/* var str: String */;
357 long var_pos
/* var pos: Int */;
358 long var1
/* : Int */;
359 long var2
/* : Int */;
360 long var3
/* : Int */;
361 long var5
/* : Int */;
362 long var_itsindex
/* var itsindex: Int */;
363 long var6
/* : Int */;
364 long var8
/* : Int */;
365 long var_myindex
/* var myindex: Int */;
366 char* var9
/* : NativeString */;
367 char* var_myitems
/* var myitems: NativeString */;
368 char* var10
/* : NativeString */;
369 char* var_itsitems
/* var itsitems: NativeString */;
370 short int var11
/* : Bool */;
371 long var12
/* : Int */;
372 short int var13
/* : Bool */;
373 short int var15
/* : Bool */;
376 const char* var_class_name
;
377 short int var16
/* : Bool */;
378 short int var_
/* var : Bool */;
379 short int var17
/* : Bool */;
380 short int var19
/* : Bool */;
383 const char* var_class_name22
;
384 short int var23
/* : Bool */;
385 short int var24
/* : Bool */;
386 long var25
/* : Int */;
387 long var_its_index_from
/* var its_index_from: Int */;
388 long var26
/* : Int */;
389 long var28
/* : Int */;
390 short int var29
/* : Bool */;
391 short int var31
/* : Bool */;
394 const char* var_class_name34
;
395 short int var35
/* : Bool */;
396 char var36
/* : Char */;
397 char var38
/* : Char */;
398 char var39
/* : Char */;
399 char var41
/* : Char */;
400 short int var42
/* : Bool */;
401 short int var44
/* : Bool */;
402 short int var45
/* : Bool */;
403 short int var46
/* : Bool */;
404 long var47
/* : Int */;
405 long var48
/* : Int */;
406 long var50
/* : Int */;
407 long var51
/* : Int */;
408 long var52
/* : Int */;
409 long var54
/* : Int */;
410 short int var55
/* : Bool */;
413 var1
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
415 { /* Inline kernel#Int#- (var1,var2) */
422 { /* Inline kernel#Int#+ (var_pos,var_itsindex) */
423 var8
= var_pos
+ var_itsindex
;
429 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
431 var10
= var_str
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_str:String> */
432 var_itsitems
= var10
;
433 var12
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
434 { /* Inline kernel#Int#> (var_myindex,var12) */
435 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
436 /* <var12:Int> isa OTHER */
437 var15
= 1; /* easy <var12:Int> isa OTHER*/
439 var_class_name
= type_kernel__Int
.name
;
440 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
441 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
444 var16
= var_myindex
> var12
;
453 { /* Inline kernel#Int#> (var_itsindex,var_myindex) */
454 /* Covariant cast for argument 0 (i) <var_myindex:Int> isa OTHER */
455 /* <var_myindex:Int> isa OTHER */
456 var19
= 1; /* easy <var_myindex:Int> isa OTHER*/
458 var_class_name22
= type_kernel__Int
.name
;
459 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
460 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
463 var23
= var_itsindex
> var_myindex
;
476 var25
= var_str
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_str:String> */
477 var_its_index_from
= var25
;
478 { /* Inline kernel#Int#+ (var_itsindex,var_its_index_from) */
479 var28
= var_itsindex
+ var_its_index_from
;
484 var_itsindex
= var26
;
486 { /* Inline kernel#Int#>= (var_itsindex,var_its_index_from) */
487 /* Covariant cast for argument 0 (i) <var_its_index_from:Int> isa OTHER */
488 /* <var_its_index_from:Int> isa OTHER */
489 var31
= 1; /* easy <var_its_index_from:Int> isa OTHER*/
491 var_class_name34
= type_kernel__Int
.name
;
492 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
493 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
496 var35
= var_itsindex
>= var_its_index_from
;
502 { /* Inline string#NativeString#[] (var_myitems,var_myindex) */
503 var38
= var_myitems
[var_myindex
];
508 { /* Inline string#NativeString#[] (var_itsitems,var_itsindex) */
509 var41
= var_itsitems
[var_itsindex
];
514 { /* Inline kernel#Char#!= (var36,var39) */
515 var44
= var36
== var39
;
528 { /* Inline kernel#Int#- (var_myindex,var47) */
529 var50
= var_myindex
- var47
;
536 { /* Inline kernel#Int#- (var_itsindex,var51) */
537 var54
= var_itsindex
- var51
;
542 var_itsindex
= var52
;
543 CONTINUE_label
: (void)0;
545 BREAK_label
: (void)0;
552 /* method string#AbstractString#has_substring for (self: Object, String, Int): Bool */
553 short int VIRTUAL_string__AbstractString__has_substring(val
* self
, val
* p0
, long p1
) {
554 short int var
/* : Bool */;
555 short int var1
/* : Bool */;
556 var1
= string__AbstractString__has_substring(self
, p0
, p1
);
561 /* method string#AbstractString#has_prefix for (self: AbstractString, String): Bool */
562 short int string__AbstractString__has_prefix(val
* self
, val
* p0
) {
563 short int var
/* : Bool */;
564 val
* var_prefix
/* var prefix: String */;
565 long var1
/* : Int */;
566 short int var2
/* : Bool */;
569 var2
= ((short int (*)(val
*, val
*, long))(self
->class->vft
[COLOR_string__AbstractString__has_substring
]))(self
, var_prefix
, var1
) /* has_substring on <self:AbstractString>*/;
575 /* method string#AbstractString#has_prefix for (self: Object, String): Bool */
576 short int VIRTUAL_string__AbstractString__has_prefix(val
* self
, val
* p0
) {
577 short int var
/* : Bool */;
578 short int var1
/* : Bool */;
579 var1
= string__AbstractString__has_prefix(self
, p0
);
584 /* method string#AbstractString#has_suffix for (self: AbstractString, String): Bool */
585 short int string__AbstractString__has_suffix(val
* self
, val
* p0
) {
586 short int var
/* : Bool */;
587 val
* var_suffix
/* var suffix: String */;
588 long var1
/* : Int */;
589 long var2
/* : Int */;
590 long var3
/* : Int */;
591 long var5
/* : Int */;
592 short int var6
/* : Bool */;
594 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
595 var2
= ((long (*)(val
*))(var_suffix
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_suffix
) /* length on <var_suffix:String>*/;
596 { /* Inline kernel#Int#- (var1,var2) */
602 var6
= ((short int (*)(val
*, val
*, long))(self
->class->vft
[COLOR_string__AbstractString__has_substring
]))(self
, var_suffix
, var3
) /* has_substring on <self:AbstractString>*/;
608 /* method string#AbstractString#has_suffix for (self: Object, String): Bool */
609 short int VIRTUAL_string__AbstractString__has_suffix(val
* self
, val
* p0
) {
610 short int var
/* : Bool */;
611 short int var1
/* : Bool */;
612 var1
= string__AbstractString__has_suffix(self
, p0
);
617 /* method string#AbstractString#to_i for (self: AbstractString): Int */
618 long string__AbstractString__to_i(val
* self
) {
619 long var
/* : Int */;
620 val
* var1
/* : String */;
621 char* var2
/* : NativeString */;
622 long var3
/* : Int */;
623 long var5
/* : Int */;
624 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:AbstractString>*/;
625 var2
= ((char* (*)(val
*))(var1
->class->vft
[COLOR_string__String__to_cstring
]))(var1
) /* to_cstring on <var1:String>*/;
626 { /* Inline string#NativeString#atoi (var2) */
637 /* method string#AbstractString#to_i for (self: Object): Int */
638 long VIRTUAL_string__AbstractString__to_i(val
* self
) {
639 long var
/* : Int */;
640 long var1
/* : Int */;
641 var1
= string__AbstractString__to_i(self
);
646 /* method string#AbstractString#to_f for (self: AbstractString): Float */
647 double string__AbstractString__to_f(val
* self
) {
648 double var
/* : Float */;
649 val
* var1
/* : String */;
650 char* var2
/* : NativeString */;
651 double var3
/* : Float */;
652 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:AbstractString>*/;
653 var2
= ((char* (*)(val
*))(var1
->class->vft
[COLOR_string__String__to_cstring
]))(var1
) /* to_cstring on <var1:String>*/;
654 var3
= string__NativeString__atof(var2
);
660 /* method string#AbstractString#to_f for (self: Object): Float */
661 double VIRTUAL_string__AbstractString__to_f(val
* self
) {
662 double var
/* : Float */;
663 double var1
/* : Float */;
664 var1
= string__AbstractString__to_f(self
);
669 /* method string#AbstractString#to_hex for (self: AbstractString): Int */
670 long string__AbstractString__to_hex(val
* self
) {
671 long var
/* : Int */;
672 long var1
/* : Int */;
673 long var2
/* : Int */;
675 var2
= ((long (*)(val
*, long))(self
->class->vft
[COLOR_string__AbstractString__a_to
]))(self
, var1
) /* a_to on <self:AbstractString>*/;
681 /* method string#AbstractString#to_hex for (self: Object): Int */
682 long VIRTUAL_string__AbstractString__to_hex(val
* self
) {
683 long var
/* : Int */;
684 long var1
/* : Int */;
685 var1
= string__AbstractString__to_hex(self
);
690 /* method string#AbstractString#a_to for (self: AbstractString, Int): Int */
691 long string__AbstractString__a_to(val
* self
, long p0
) {
692 long var
/* : Int */;
693 long var_base
/* var base: Int */;
694 long var1
/* : Int */;
695 long var_i
/* var i: Int */;
696 short int var2
/* : Bool */;
697 short int var_neg
/* var neg: Bool */;
698 val
* var3
/* : StringCharView */;
699 val
* var4
/* : Iterator[nullable Object] */;
700 short int var5
/* : Bool */;
701 val
* var6
/* : nullable Object */;
702 char var_c
/* var c: Char */;
703 char var7
/* : Char */;
704 long var8
/* : Int */;
705 long var_v
/* var v: Int */;
706 short int var9
/* : Bool */;
707 short int var11
/* : Bool */;
710 const char* var_class_name
;
711 short int var12
/* : Bool */;
712 long var13
/* : Int */;
713 long var15
/* : Int */;
714 long var16
/* : Int */;
715 short int var17
/* : Bool */;
716 short int var19
/* : Bool */;
719 const char* var_class_name22
;
720 short int var23
/* : Bool */;
721 short int var24
/* : Bool */;
722 long var25
/* : Int */;
723 long var27
/* : Int */;
724 long var28
/* : Int */;
725 long var30
/* : Int */;
726 long var31
/* : Int */;
727 long var33
/* : Int */;
733 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__chars
]))(self
) /* chars on <self:AbstractString>*/;
734 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:StringCharView>*/;
736 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
738 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
739 var7
= ((struct instance_kernel__Char
*)var6
)->value
; /* autounbox from nullable Object to Char */;
741 var8
= kernel__Char__to_i(var_c
);
743 { /* Inline kernel#Int#> (var_v,var_base) */
744 /* Covariant cast for argument 0 (i) <var_base:Int> isa OTHER */
745 /* <var_base:Int> isa OTHER */
746 var11
= 1; /* easy <var_base:Int> isa OTHER*/
748 var_class_name
= type_kernel__Int
.name
;
749 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
750 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
753 var12
= var_v
> var_base
;
760 { /* Inline kernel#Int#unary - (var_i) */
774 { /* Inline kernel#Int#< (var_v,var16) */
775 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
776 /* <var16:Int> isa OTHER */
777 var19
= 1; /* easy <var16:Int> isa OTHER*/
779 var_class_name22
= type_kernel__Int
.name
;
780 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
781 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
784 var23
= var_v
< var16
;
793 { /* Inline kernel#Int#* (var_i,var_base) */
794 var27
= var_i
* var_base
;
799 { /* Inline kernel#Int#+ (var25,var_v) */
800 var30
= var25
+ var_v
;
808 CONTINUE_label
: (void)0;
809 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
811 BREAK_label
: (void)0;
813 { /* Inline kernel#Int#unary - (var_i) */
828 /* method string#AbstractString#a_to for (self: Object, Int): Int */
829 long VIRTUAL_string__AbstractString__a_to(val
* self
, long p0
) {
830 long var
/* : Int */;
831 long var1
/* : Int */;
832 var1
= string__AbstractString__a_to(self
, p0
);
837 /* method string#AbstractString#is_numeric for (self: AbstractString): Bool */
838 short int string__AbstractString__is_numeric(val
* self
) {
839 short int var
/* : Bool */;
840 short int var1
/* : Bool */;
841 short int var_has_point_or_comma
/* var has_point_or_comma: Bool */;
842 val
* var2
/* : StringCharView */;
843 val
* var3
/* : Iterator[nullable Object] */;
844 short int var4
/* : Bool */;
845 val
* var5
/* : nullable Object */;
846 char var_i
/* var i: Char */;
847 char var6
/* : Char */;
848 short int var7
/* : Bool */;
849 short int var8
/* : Bool */;
850 short int var9
/* : Bool */;
851 short int var10
/* : Bool */;
852 char var11
/* : Char */;
853 short int var12
/* : Bool */;
854 short int var14
/* : Bool */;
855 short int var_
/* var : Bool */;
856 char var15
/* : Char */;
857 short int var16
/* : Bool */;
858 short int var18
/* : Bool */;
859 short int var_19
/* var : Bool */;
860 short int var20
/* : Bool */;
861 short int var21
/* : Bool */;
862 short int var22
/* : Bool */;
863 short int var23
/* : Bool */;
865 var_has_point_or_comma
= var1
;
866 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__chars
]))(self
) /* chars on <self:AbstractString>*/;
867 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:StringCharView>*/;
869 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
871 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
872 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
874 var7
= string__Char__is_numeric(var_i
);
878 { /* Inline kernel#Char#== (var_i,var11) */
879 var14
= var_i
== var11
;
889 { /* Inline kernel#Char#== (var_i,var15) */
890 var18
= var_i
== var15
;
899 var20
= !var_has_point_or_comma
;
906 var_has_point_or_comma
= var21
;
914 CONTINUE_label
: (void)0;
915 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
917 BREAK_label
: (void)0;
924 /* method string#AbstractString#is_numeric for (self: Object): Bool */
925 short int VIRTUAL_string__AbstractString__is_numeric(val
* self
) {
926 short int var
/* : Bool */;
927 short int var1
/* : Bool */;
928 var1
= string__AbstractString__is_numeric(self
);
933 /* method string#AbstractString#to_upper for (self: AbstractString): String */
934 val
* string__AbstractString__to_upper(val
* self
) {
935 val
* var
/* : String */;
936 val
* var1
/* : Buffer */;
937 long var2
/* : Int */;
938 val
* var_s
/* var s: Buffer */;
939 val
* var3
/* : StringCharView */;
940 val
* var4
/* : Iterator[nullable Object] */;
941 short int var5
/* : Bool */;
942 val
* var6
/* : nullable Object */;
943 char var_i
/* var i: Char */;
944 char var7
/* : Char */;
945 char var8
/* : Char */;
946 val
* var9
/* : nullable Object */;
947 val
* var10
/* : String */;
948 var1
= NEW_string__Buffer(&type_string__Buffer
);
949 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
950 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
952 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__chars
]))(self
) /* chars on <self:AbstractString>*/;
953 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:StringCharView>*/;
955 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
957 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
958 var7
= ((struct instance_kernel__Char
*)var6
)->value
; /* autounbox from nullable Object to Char */;
960 var8
= kernel__Char__to_upper(var_i
);
961 var9
= BOX_kernel__Char(var8
); /* autobox from Char to nullable Object */
962 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var9
) /* add on <var_s:Buffer>*/;
963 CONTINUE_label
: (void)0;
964 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
966 BREAK_label
: (void)0;
967 var10
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
973 /* method string#AbstractString#to_upper for (self: Object): String */
974 val
* VIRTUAL_string__AbstractString__to_upper(val
* self
) {
975 val
* var
/* : String */;
976 val
* var1
/* : String */;
977 var1
= string__AbstractString__to_upper(self
);
982 /* method string#AbstractString#to_lower for (self: AbstractString): String */
983 val
* string__AbstractString__to_lower(val
* self
) {
984 val
* var
/* : String */;
985 val
* var1
/* : Buffer */;
986 long var2
/* : Int */;
987 val
* var_s
/* var s: Buffer */;
988 val
* var3
/* : StringCharView */;
989 val
* var4
/* : Iterator[nullable Object] */;
990 short int var5
/* : Bool */;
991 val
* var6
/* : nullable Object */;
992 char var_i
/* var i: Char */;
993 char var7
/* : Char */;
994 char var8
/* : Char */;
995 val
* var9
/* : nullable Object */;
996 val
* var10
/* : String */;
997 var1
= NEW_string__Buffer(&type_string__Buffer
);
998 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
999 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
1001 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__chars
]))(self
) /* chars on <self:AbstractString>*/;
1002 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:StringCharView>*/;
1004 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
1006 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
1007 var7
= ((struct instance_kernel__Char
*)var6
)->value
; /* autounbox from nullable Object to Char */;
1009 var8
= kernel__Char__to_lower(var_i
);
1010 var9
= BOX_kernel__Char(var8
); /* autobox from Char to nullable Object */
1011 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_s
, var9
) /* add on <var_s:Buffer>*/;
1012 CONTINUE_label
: (void)0;
1013 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
1015 BREAK_label
: (void)0;
1016 var10
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
1022 /* method string#AbstractString#to_lower for (self: Object): String */
1023 val
* VIRTUAL_string__AbstractString__to_lower(val
* self
) {
1024 val
* var
/* : String */;
1025 val
* var1
/* : String */;
1026 var1
= string__AbstractString__to_lower(self
);
1031 /* method string#AbstractString#trim for (self: AbstractString): String */
1032 val
* string__AbstractString__trim(val
* self
) {
1033 val
* var
/* : String */;
1034 long var1
/* : Int */;
1035 long var2
/* : Int */;
1036 short int var3
/* : Bool */;
1037 short int var5
/* : Bool */;
1038 val
* var6
/* : String */;
1039 long var7
/* : Int */;
1040 long var_start_pos
/* var start_pos: Int */;
1041 val
* var8
/* : StringCharView */;
1042 val
* var9
/* : nullable Object */;
1043 long var10
/* : Int */;
1044 char var12
/* : Char */;
1045 long var13
/* : Int */;
1046 long var14
/* : Int */;
1047 short int var15
/* : Bool */;
1048 short int var17
/* : Bool */;
1051 const char* var_class_name
;
1052 short int var18
/* : Bool */;
1053 long var19
/* : Int */;
1054 long var20
/* : Int */;
1055 long var22
/* : Int */;
1056 long var23
/* : Int */;
1057 short int var24
/* : Bool */;
1058 short int var26
/* : Bool */;
1059 static val
* varonce
;
1060 val
* var27
/* : String */;
1061 char* var28
/* : NativeString */;
1062 long var29
/* : Int */;
1063 val
* var30
/* : String */;
1064 long var31
/* : Int */;
1065 long var32
/* : Int */;
1066 long var33
/* : Int */;
1067 long var35
/* : Int */;
1068 long var_end_pos
/* var end_pos: Int */;
1069 val
* var36
/* : StringCharView */;
1070 val
* var37
/* : nullable Object */;
1071 long var38
/* : Int */;
1072 char var40
/* : Char */;
1073 long var41
/* : Int */;
1074 long var42
/* : Int */;
1075 short int var43
/* : Bool */;
1076 short int var45
/* : Bool */;
1079 const char* var_class_name48
;
1080 short int var49
/* : Bool */;
1081 long var50
/* : Int */;
1082 long var51
/* : Int */;
1083 long var53
/* : Int */;
1084 short int var54
/* : Bool */;
1085 short int var56
/* : Bool */;
1086 val
* var57
/* : StringCharView */;
1087 val
* var58
/* : nullable Object */;
1088 val
* var59
/* : String */;
1089 char var60
/* : Char */;
1090 long var62
/* : Int */;
1091 long var64
/* : Int */;
1092 long var65
/* : Int */;
1093 long var66
/* : Int */;
1094 long var68
/* : Int */;
1095 val
* var69
/* : String */;
1096 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1098 { /* Inline kernel#Int#== (var1,var2) */
1099 var5
= var1
== var2
;
1105 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:AbstractString>*/;
1111 var_start_pos
= var7
;
1113 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__chars
]))(self
) /* chars on <self:AbstractString>*/;
1114 var9
= ((val
* (*)(val
*, long))(var8
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var8
, var_start_pos
) /* [] on <var8:StringCharView>*/;
1115 { /* Inline kernel#Char#ascii (var9) */
1116 var12
= ((struct instance_kernel__Char
*)var9
)->value
; /* autounbox from nullable Object to Char */;
1117 var13
= (unsigned char)var12
;
1120 RET_LABEL11
:(void)0;
1123 { /* Inline kernel#Int#<= (var10,var14) */
1124 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
1125 /* <var14:Int> isa OTHER */
1126 var17
= 1; /* easy <var14:Int> isa OTHER*/
1128 var_class_name
= type_kernel__Int
.name
;
1129 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1130 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
1133 var18
= var10
<= var14
;
1136 RET_LABEL16
:(void)0;
1140 { /* Inline kernel#Int#+ (var_start_pos,var19) */
1141 var22
= var_start_pos
+ var19
;
1144 RET_LABEL21
:(void)0;
1146 var_start_pos
= var20
;
1147 var23
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1148 { /* Inline kernel#Int#== (var_start_pos,var23) */
1149 var26
= var_start_pos
== var23
;
1152 RET_LABEL25
:(void)0;
1160 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1168 CONTINUE_label
: (void)0;
1170 BREAK_label
: (void)0;
1171 var31
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1173 { /* Inline kernel#Int#- (var31,var32) */
1174 var35
= var31
- var32
;
1177 RET_LABEL34
:(void)0;
1179 var_end_pos
= var33
;
1181 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__chars
]))(self
) /* chars on <self:AbstractString>*/;
1182 var37
= ((val
* (*)(val
*, long))(var36
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var36
, var_end_pos
) /* [] on <var36:StringCharView>*/;
1183 { /* Inline kernel#Char#ascii (var37) */
1184 var40
= ((struct instance_kernel__Char
*)var37
)->value
; /* autounbox from nullable Object to Char */;
1185 var41
= (unsigned char)var40
;
1188 RET_LABEL39
:(void)0;
1191 { /* Inline kernel#Int#<= (var38,var42) */
1192 /* Covariant cast for argument 0 (i) <var42:Int> isa OTHER */
1193 /* <var42:Int> isa OTHER */
1194 var45
= 1; /* easy <var42:Int> isa OTHER*/
1196 var_class_name48
= type_kernel__Int
.name
;
1197 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
1198 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
1201 var49
= var38
<= var42
;
1204 RET_LABEL44
:(void)0;
1208 { /* Inline kernel#Int#- (var_end_pos,var50) */
1209 var53
= var_end_pos
- var50
;
1212 RET_LABEL52
:(void)0;
1214 var_end_pos
= var51
;
1215 { /* Inline kernel#Int#== (var_end_pos,var_start_pos) */
1216 var56
= var_end_pos
== var_start_pos
;
1219 RET_LABEL55
:(void)0;
1222 var57
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__chars
]))(self
) /* chars on <self:AbstractString>*/;
1223 var58
= ((val
* (*)(val
*, long))(var57
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var57
, var_start_pos
) /* [] on <var57:StringCharView>*/;
1224 var60
= ((struct instance_kernel__Char
*)var58
)->value
; /* autounbox from nullable Object to Char */;
1225 var59
= string__Char__to_s(var60
);
1230 CONTINUE_label61
: (void)0;
1232 BREAK_label61
: (void)0;
1233 { /* Inline kernel#Int#- (var_end_pos,var_start_pos) */
1234 var64
= var_end_pos
- var_start_pos
;
1237 RET_LABEL63
:(void)0;
1240 { /* Inline kernel#Int#+ (var62,var65) */
1241 var68
= var62
+ var65
;
1244 RET_LABEL67
:(void)0;
1246 var69
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_start_pos
, var66
) /* substring on <self:AbstractString>*/;
1252 /* method string#AbstractString#trim for (self: Object): String */
1253 val
* VIRTUAL_string__AbstractString__trim(val
* self
) {
1254 val
* var
/* : String */;
1255 val
* var1
/* : String */;
1256 var1
= string__AbstractString__trim(self
);
1261 /* method string#AbstractString#output for (self: AbstractString) */
1262 void string__AbstractString__output(val
* self
) {
1263 long var
/* : Int */;
1264 long var_i
/* var i: Int */;
1265 long var1
/* : Int */;
1266 short int var2
/* : Bool */;
1267 short int var4
/* : Bool */;
1270 const char* var_class_name
;
1271 short int var5
/* : Bool */;
1272 char* var6
/* : NativeString */;
1273 char var7
/* : Char */;
1274 char var9
/* : Char */;
1275 long var11
/* : Int */;
1276 long var12
/* : Int */;
1277 long var14
/* : Int */;
1281 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
1282 { /* Inline kernel#Int#< (var_i,var1) */
1283 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
1284 /* <var1:Int> isa OTHER */
1285 var4
= 1; /* easy <var1:Int> isa OTHER*/
1287 var_class_name
= type_kernel__Int
.name
;
1288 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1289 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
1292 var5
= var_i
< var1
;
1298 var6
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:AbstractString> */
1299 { /* Inline string#NativeString#[] (var6,var_i) */
1305 { /* Inline kernel#Char#output (var7) */
1307 RET_LABEL10
:(void)0;
1310 { /* Inline kernel#Int#+ (var_i,var11) */
1311 var14
= var_i
+ var11
;
1314 RET_LABEL13
:(void)0;
1317 CONTINUE_label
: (void)0;
1319 BREAK_label
: (void)0;
1322 /* method string#AbstractString#output for (self: Object) */
1323 void VIRTUAL_string__AbstractString__output(val
* self
) {
1324 string__AbstractString__output(self
);
1327 /* method string#AbstractString#to_cmangle for (self: AbstractString): String */
1328 val
* string__AbstractString__to_cmangle(val
* self
) {
1329 val
* var
/* : String */;
1330 val
* var1
/* : Buffer */;
1331 val
* var_res
/* var res: Buffer */;
1332 short int var2
/* : Bool */;
1333 short int var_underscore
/* var underscore: Bool */;
1334 val
* var3
/* : StringCharView */;
1335 val
* var4
/* : Iterator[nullable Object] */;
1336 short int var5
/* : Bool */;
1337 val
* var6
/* : nullable Object */;
1338 char var_c
/* var c: Char */;
1339 char var7
/* : Char */;
1340 short int var8
/* : Bool */;
1341 short int var9
/* : Bool */;
1342 char var10
/* : Char */;
1343 short int var11
/* : Bool */;
1344 short int var13
/* : Bool */;
1347 const char* var_class_name
;
1348 short int var14
/* : Bool */;
1349 short int var_
/* var : Bool */;
1350 char var15
/* : Char */;
1351 short int var16
/* : Bool */;
1352 short int var18
/* : Bool */;
1355 const char* var_class_name21
;
1356 short int var22
/* : Bool */;
1357 short int var_23
/* var : Bool */;
1358 short int var24
/* : Bool */;
1359 char var25
/* : Char */;
1360 short int var26
/* : Bool */;
1361 short int var28
/* : Bool */;
1364 const char* var_class_name31
;
1365 short int var32
/* : Bool */;
1366 short int var_33
/* var : Bool */;
1367 char var34
/* : Char */;
1368 short int var35
/* : Bool */;
1369 short int var37
/* : Bool */;
1372 const char* var_class_name40
;
1373 short int var41
/* : Bool */;
1374 val
* var42
/* : nullable Object */;
1375 short int var43
/* : Bool */;
1376 char var44
/* : Char */;
1377 long var45
/* : Int */;
1378 long var47
/* : Int */;
1379 val
* var48
/* : String */;
1380 char var49
/* : Char */;
1381 val
* var50
/* : nullable Object */;
1382 short int var51
/* : Bool */;
1383 char var52
/* : Char */;
1384 short int var53
/* : Bool */;
1385 short int var55
/* : Bool */;
1388 const char* var_class_name58
;
1389 short int var59
/* : Bool */;
1390 short int var_60
/* var : Bool */;
1391 char var61
/* : Char */;
1392 short int var62
/* : Bool */;
1393 short int var64
/* : Bool */;
1396 const char* var_class_name67
;
1397 short int var68
/* : Bool */;
1398 val
* var69
/* : nullable Object */;
1399 short int var70
/* : Bool */;
1400 char var71
/* : Char */;
1401 short int var72
/* : Bool */;
1402 short int var74
/* : Bool */;
1403 val
* var75
/* : nullable Object */;
1404 short int var76
/* : Bool */;
1405 char var77
/* : Char */;
1406 val
* var78
/* : nullable Object */;
1407 long var79
/* : Int */;
1408 long var81
/* : Int */;
1409 val
* var82
/* : String */;
1410 char var83
/* : Char */;
1411 val
* var84
/* : nullable Object */;
1412 short int var85
/* : Bool */;
1413 val
* var86
/* : String */;
1414 var1
= NEW_string__Buffer(&type_string__Buffer
);
1415 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1418 var_underscore
= var2
;
1419 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__chars
]))(self
) /* chars on <self:AbstractString>*/;
1420 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:StringCharView>*/;
1422 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
1424 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
1425 var7
= ((struct instance_kernel__Char
*)var6
)->value
; /* autounbox from nullable Object to Char */;
1428 { /* Inline kernel#Char#>= (var_c,var10) */
1429 /* Covariant cast for argument 0 (i) <var10:Char> isa OTHER */
1430 /* <var10:Char> isa OTHER */
1431 var13
= 1; /* easy <var10:Char> isa OTHER*/
1433 var_class_name
= type_kernel__Char
.name
;
1434 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1435 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 442);
1438 var14
= var_c
>= var10
;
1441 RET_LABEL12
:(void)0;
1446 { /* Inline kernel#Char#<= (var_c,var15) */
1447 /* Covariant cast for argument 0 (i) <var15:Char> isa OTHER */
1448 /* <var15:Char> isa OTHER */
1449 var18
= 1; /* easy <var15:Char> isa OTHER*/
1451 var_class_name21
= type_kernel__Char
.name
;
1452 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
1453 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 440);
1456 var22
= var_c
<= var15
;
1459 RET_LABEL17
:(void)0;
1470 { /* Inline kernel#Char#>= (var_c,var25) */
1471 /* Covariant cast for argument 0 (i) <var25:Char> isa OTHER */
1472 /* <var25:Char> isa OTHER */
1473 var28
= 1; /* easy <var25:Char> isa OTHER*/
1475 var_class_name31
= type_kernel__Char
.name
;
1476 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
1477 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 442);
1480 var32
= var_c
>= var25
;
1483 RET_LABEL27
:(void)0;
1488 { /* Inline kernel#Char#<= (var_c,var34) */
1489 /* Covariant cast for argument 0 (i) <var34:Char> isa OTHER */
1490 /* <var34:Char> isa OTHER */
1491 var37
= 1; /* easy <var34:Char> isa OTHER*/
1493 var_class_name40
= type_kernel__Char
.name
;
1494 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
1495 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 440);
1498 var41
= var_c
<= var34
;
1501 RET_LABEL36
:(void)0;
1510 var42
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1511 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var42
) /* add on <var_res:Buffer>*/;
1513 var_underscore
= var43
;
1514 goto CONTINUE_label
;
1517 if (var_underscore
){
1519 { /* Inline kernel#Char#ascii (var44) */
1520 var47
= (unsigned char)var44
;
1523 RET_LABEL46
:(void)0;
1525 var48
= string__Int__to_s(var45
);
1526 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_res
, var48
) /* append on <var_res:Buffer>*/;
1528 var50
= BOX_kernel__Char(var49
); /* autobox from Char to nullable Object */
1529 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var50
) /* add on <var_res:Buffer>*/;
1533 { /* Inline kernel#Char#>= (var_c,var52) */
1534 /* Covariant cast for argument 0 (i) <var52:Char> isa OTHER */
1535 /* <var52:Char> isa OTHER */
1536 var55
= 1; /* easy <var52:Char> isa OTHER*/
1538 var_class_name58
= type_kernel__Char
.name
;
1539 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58
);
1540 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 442);
1543 var59
= var_c
>= var52
;
1546 RET_LABEL54
:(void)0;
1551 { /* Inline kernel#Char#<= (var_c,var61) */
1552 /* Covariant cast for argument 0 (i) <var61:Char> isa OTHER */
1553 /* <var61:Char> isa OTHER */
1554 var64
= 1; /* easy <var61:Char> isa OTHER*/
1556 var_class_name67
= type_kernel__Char
.name
;
1557 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name67
);
1558 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 440);
1561 var68
= var_c
<= var61
;
1564 RET_LABEL63
:(void)0;
1571 var69
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1572 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var69
) /* add on <var_res:Buffer>*/;
1574 var_underscore
= var70
;
1577 { /* Inline kernel#Char#== (var_c,var71) */
1578 var74
= var_c
== var71
;
1581 RET_LABEL73
:(void)0;
1584 var75
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1585 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var75
) /* add on <var_res:Buffer>*/;
1587 var_underscore
= var76
;
1590 var78
= BOX_kernel__Char(var77
); /* autobox from Char to nullable Object */
1591 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var78
) /* add on <var_res:Buffer>*/;
1592 { /* Inline kernel#Char#ascii (var_c) */
1593 var81
= (unsigned char)var_c
;
1596 RET_LABEL80
:(void)0;
1598 var82
= string__Int__to_s(var79
);
1599 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_res
, var82
) /* append on <var_res:Buffer>*/;
1601 var84
= BOX_kernel__Char(var83
); /* autobox from Char to nullable Object */
1602 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var84
) /* add on <var_res:Buffer>*/;
1604 var_underscore
= var85
;
1607 CONTINUE_label
: (void)0;
1608 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
1610 BREAK_label
: (void)0;
1611 var86
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_string__Object__to_s
]))(var_res
) /* to_s on <var_res:Buffer>*/;
1617 /* method string#AbstractString#to_cmangle for (self: Object): String */
1618 val
* VIRTUAL_string__AbstractString__to_cmangle(val
* self
) {
1619 val
* var
/* : String */;
1620 val
* var1
/* : String */;
1621 var1
= string__AbstractString__to_cmangle(self
);
1626 /* method string#AbstractString#escape_to_c for (self: AbstractString): String */
1627 val
* string__AbstractString__escape_to_c(val
* self
) {
1628 val
* var
/* : String */;
1629 val
* var1
/* : Buffer */;
1630 val
* var_b
/* var b: Buffer */;
1631 val
* var2
/* : StringCharView */;
1632 val
* var3
/* : Iterator[nullable Object] */;
1633 short int var4
/* : Bool */;
1634 val
* var5
/* : nullable Object */;
1635 char var_c
/* var c: Char */;
1636 char var6
/* : Char */;
1637 char var7
/* : Char */;
1638 short int var8
/* : Bool */;
1639 short int var10
/* : Bool */;
1640 static val
* varonce
;
1641 val
* var11
/* : String */;
1642 char* var12
/* : NativeString */;
1643 long var13
/* : Int */;
1644 val
* var14
/* : String */;
1645 char var15
/* : Char */;
1646 short int var16
/* : Bool */;
1647 short int var18
/* : Bool */;
1648 static val
* varonce19
;
1649 val
* var20
/* : String */;
1650 char* var21
/* : NativeString */;
1651 long var22
/* : Int */;
1652 val
* var23
/* : String */;
1653 char var24
/* : Char */;
1654 short int var25
/* : Bool */;
1655 short int var27
/* : Bool */;
1656 static val
* varonce28
;
1657 val
* var29
/* : String */;
1658 char* var30
/* : NativeString */;
1659 long var31
/* : Int */;
1660 val
* var32
/* : String */;
1661 char var33
/* : Char */;
1662 short int var34
/* : Bool */;
1663 short int var36
/* : Bool */;
1664 static val
* varonce37
;
1665 val
* var38
/* : String */;
1666 char* var39
/* : NativeString */;
1667 long var40
/* : Int */;
1668 val
* var41
/* : String */;
1669 char var42
/* : Char */;
1670 short int var43
/* : Bool */;
1671 short int var45
/* : Bool */;
1672 static val
* varonce46
;
1673 val
* var47
/* : String */;
1674 char* var48
/* : NativeString */;
1675 long var49
/* : Int */;
1676 val
* var50
/* : String */;
1677 long var51
/* : Int */;
1678 long var53
/* : Int */;
1679 long var54
/* : Int */;
1680 short int var55
/* : Bool */;
1681 short int var57
/* : Bool */;
1684 const char* var_class_name
;
1685 short int var58
/* : Bool */;
1686 static val
* varonce59
;
1687 val
* var60
/* : String */;
1688 char* var61
/* : NativeString */;
1689 long var62
/* : Int */;
1690 val
* var63
/* : String */;
1691 long var64
/* : Int */;
1692 long var66
/* : Int */;
1693 long var67
/* : Int */;
1694 short int var68
/* : Bool */;
1695 val
* var69
/* : String */;
1696 val
* var70
/* : Array[Object] */;
1697 long var71
/* : Int */;
1698 val
* var72
/* : NativeArray[Object] */;
1699 val
* var73
/* : String */;
1700 val
* var74
/* : nullable Object */;
1701 val
* var75
/* : String */;
1702 var1
= NEW_string__Buffer(&type_string__Buffer
);
1703 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1705 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__chars
]))(self
) /* chars on <self:AbstractString>*/;
1706 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:StringCharView>*/;
1708 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
1710 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
1711 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
1714 { /* Inline kernel#Char#== (var_c,var7) */
1715 var10
= var_c
== var7
;
1726 var14
= string__NativeString__to_s_with_length(var12
, var13
);
1730 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var11
) /* append on <var_b:Buffer>*/;
1733 { /* Inline kernel#Char#== (var_c,var15) */
1734 var18
= var_c
== var15
;
1737 RET_LABEL17
:(void)0;
1745 var23
= string__NativeString__to_s_with_length(var21
, var22
);
1749 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var20
) /* append on <var_b:Buffer>*/;
1752 { /* Inline kernel#Char#== (var_c,var24) */
1753 var27
= var_c
== var24
;
1756 RET_LABEL26
:(void)0;
1764 var32
= string__NativeString__to_s_with_length(var30
, var31
);
1768 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var29
) /* append on <var_b:Buffer>*/;
1771 { /* Inline kernel#Char#== (var_c,var33) */
1772 var36
= var_c
== var33
;
1775 RET_LABEL35
:(void)0;
1783 var41
= string__NativeString__to_s_with_length(var39
, var40
);
1787 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var38
) /* append on <var_b:Buffer>*/;
1790 { /* Inline kernel#Char#== (var_c,var42) */
1791 var45
= var_c
== var42
;
1794 RET_LABEL44
:(void)0;
1802 var50
= string__NativeString__to_s_with_length(var48
, var49
);
1806 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var47
) /* append on <var_b:Buffer>*/;
1808 { /* Inline kernel#Char#ascii (var_c) */
1809 var53
= (unsigned char)var_c
;
1812 RET_LABEL52
:(void)0;
1815 { /* Inline kernel#Int#< (var51,var54) */
1816 /* Covariant cast for argument 0 (i) <var54:Int> isa OTHER */
1817 /* <var54:Int> isa OTHER */
1818 var57
= 1; /* easy <var54:Int> isa OTHER*/
1820 var_class_name
= type_kernel__Int
.name
;
1821 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1822 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
1825 var58
= var51
< var54
;
1828 RET_LABEL56
:(void)0;
1836 var63
= string__NativeString__to_s_with_length(var61
, var62
);
1840 { /* Inline kernel#Char#ascii (var_c) */
1841 var66
= (unsigned char)var_c
;
1844 RET_LABEL65
:(void)0;
1848 var69
= string__Int__to_base(var64
, var67
, var68
);
1849 var70
= NEW_array__Array(&type_array__Arraykernel__Object
);
1850 { /* var70 = array_instance Array[Object] */
1852 var72
= NEW_array__NativeArray(var71
, &type_array__NativeArraykernel__Object
);
1853 ((struct instance_array__NativeArray
*)var72
)->values
[0] = (val
*) var60
;
1854 ((struct instance_array__NativeArray
*)var72
)->values
[1] = (val
*) var69
;
1855 ((void (*)(val
*, val
*, long))(var70
->class->vft
[COLOR_array__Array__with_native
]))(var70
, var72
, var71
) /* with_native on <var70:Array[Object]>*/;
1857 var73
= ((val
* (*)(val
*))(var70
->class->vft
[COLOR_string__Object__to_s
]))(var70
) /* to_s on <var70:Array[Object]>*/;
1858 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_b
, var73
) /* append on <var_b:Buffer>*/;
1860 var74
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1861 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var74
) /* add on <var_b:Buffer>*/;
1868 CONTINUE_label
: (void)0;
1869 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
1871 BREAK_label
: (void)0;
1872 var75
= ((val
* (*)(val
*))(var_b
->class->vft
[COLOR_string__Object__to_s
]))(var_b
) /* to_s on <var_b:Buffer>*/;
1878 /* method string#AbstractString#escape_to_c for (self: Object): String */
1879 val
* VIRTUAL_string__AbstractString__escape_to_c(val
* self
) {
1880 val
* var
/* : String */;
1881 val
* var1
/* : String */;
1882 var1
= string__AbstractString__escape_to_c(self
);
1887 /* method string#AbstractString#escape_more_to_c for (self: AbstractString, String): String */
1888 val
* string__AbstractString__escape_more_to_c(val
* self
, val
* p0
) {
1889 val
* var
/* : String */;
1890 val
* var_chars
/* var chars: String */;
1891 val
* var1
/* : Buffer */;
1892 val
* var_b
/* var b: Buffer */;
1893 val
* var2
/* : String */;
1894 val
* var3
/* : Iterator[nullable Object] */;
1895 short int var4
/* : Bool */;
1896 val
* var5
/* : nullable Object */;
1897 char var_c
/* var c: Char */;
1898 char var6
/* : Char */;
1899 short int var7
/* : Bool */;
1900 val
* var8
/* : nullable Object */;
1901 char var9
/* : Char */;
1902 val
* var10
/* : nullable Object */;
1903 val
* var11
/* : nullable Object */;
1904 val
* var12
/* : String */;
1906 var1
= NEW_string__Buffer(&type_string__Buffer
);
1907 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
1909 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(self
) /* escape_to_c on <self:AbstractString>*/;
1910 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:String>*/;
1912 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
1914 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
1915 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
1917 var8
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1918 var7
= ((short int (*)(val
*, val
*))(var_chars
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var_chars
, var8
) /* has on <var_chars:String>*/;
1921 var10
= BOX_kernel__Char(var9
); /* autobox from Char to nullable Object */
1922 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var10
) /* add on <var_b:Buffer>*/;
1925 var11
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
1926 ((void (*)(val
*, val
*))(var_b
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_b
, var11
) /* add on <var_b:Buffer>*/;
1927 CONTINUE_label
: (void)0;
1928 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
1930 BREAK_label
: (void)0;
1931 var12
= ((val
* (*)(val
*))(var_b
->class->vft
[COLOR_string__Object__to_s
]))(var_b
) /* to_s on <var_b:Buffer>*/;
1937 /* method string#AbstractString#escape_more_to_c for (self: Object, String): String */
1938 val
* VIRTUAL_string__AbstractString__escape_more_to_c(val
* self
, val
* p0
) {
1939 val
* var
/* : String */;
1940 val
* var1
/* : String */;
1941 var1
= string__AbstractString__escape_more_to_c(self
, p0
);
1946 /* method string#AbstractString#escape_to_nit for (self: AbstractString): String */
1947 val
* string__AbstractString__escape_to_nit(val
* self
) {
1948 val
* var
/* : String */;
1949 static val
* varonce
;
1950 val
* var1
/* : String */;
1951 char* var2
/* : NativeString */;
1952 long var3
/* : Int */;
1953 val
* var4
/* : String */;
1954 val
* var5
/* : String */;
1960 var4
= string__NativeString__to_s_with_length(var2
, var3
);
1964 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_string__AbstractString__escape_more_to_c
]))(self
, var1
) /* escape_more_to_c on <self:AbstractString>*/;
1970 /* method string#AbstractString#escape_to_nit for (self: Object): String */
1971 val
* VIRTUAL_string__AbstractString__escape_to_nit(val
* self
) {
1972 val
* var
/* : String */;
1973 val
* var1
/* : String */;
1974 var1
= string__AbstractString__escape_to_nit(self
);
1979 /* method string#AbstractString#unescape_nit for (self: AbstractString): String */
1980 val
* string__AbstractString__unescape_nit(val
* self
) {
1981 val
* var
/* : String */;
1982 val
* var1
/* : Buffer */;
1983 long var2
/* : Int */;
1984 val
* var_res
/* var res: Buffer */;
1985 short int var3
/* : Bool */;
1986 short int var_was_slash
/* var was_slash: Bool */;
1987 val
* var4
/* : Iterator[nullable Object] */;
1988 short int var5
/* : Bool */;
1989 val
* var6
/* : nullable Object */;
1990 char var_c
/* var c: Char */;
1991 char var7
/* : Char */;
1992 short int var8
/* : Bool */;
1993 char var9
/* : Char */;
1994 short int var10
/* : Bool */;
1995 short int var12
/* : Bool */;
1996 short int var13
/* : Bool */;
1997 val
* var14
/* : nullable Object */;
1998 short int var15
/* : Bool */;
1999 char var16
/* : Char */;
2000 short int var17
/* : Bool */;
2001 short int var19
/* : Bool */;
2002 char var20
/* : Char */;
2003 val
* var21
/* : nullable Object */;
2004 char var22
/* : Char */;
2005 short int var23
/* : Bool */;
2006 short int var25
/* : Bool */;
2007 char var26
/* : Char */;
2008 val
* var27
/* : nullable Object */;
2009 char var28
/* : Char */;
2010 short int var29
/* : Bool */;
2011 short int var31
/* : Bool */;
2012 char var32
/* : Char */;
2013 val
* var33
/* : nullable Object */;
2014 char var34
/* : Char */;
2015 short int var35
/* : Bool */;
2016 short int var37
/* : Bool */;
2017 char var38
/* : Char */;
2018 val
* var39
/* : nullable Object */;
2019 val
* var40
/* : nullable Object */;
2020 val
* var41
/* : String */;
2021 var1
= NEW_string__Buffer(&type_string__Buffer
);
2022 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:AbstractString>*/;
2023 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
2026 var_was_slash
= var3
;
2027 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:AbstractString>*/;
2029 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
2031 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
2032 var7
= ((struct instance_kernel__Char
*)var6
)->value
; /* autounbox from nullable Object to Char */;
2034 var8
= !var_was_slash
;
2037 { /* Inline kernel#Char#== (var_c,var9) */
2038 var12
= var_c
== var9
;
2041 RET_LABEL11
:(void)0;
2045 var_was_slash
= var13
;
2047 var14
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
2048 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var14
) /* add on <var_res:Buffer>*/;
2050 goto CONTINUE_label
;
2054 var_was_slash
= var15
;
2056 { /* Inline kernel#Char#== (var_c,var16) */
2057 var19
= var_c
== var16
;
2060 RET_LABEL18
:(void)0;
2064 var21
= BOX_kernel__Char(var20
); /* autobox from Char to nullable Object */
2065 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var21
) /* add on <var_res:Buffer>*/;
2068 { /* Inline kernel#Char#== (var_c,var22) */
2069 var25
= var_c
== var22
;
2072 RET_LABEL24
:(void)0;
2076 var27
= BOX_kernel__Char(var26
); /* autobox from Char to nullable Object */
2077 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var27
) /* add on <var_res:Buffer>*/;
2080 { /* Inline kernel#Char#== (var_c,var28) */
2081 var31
= var_c
== var28
;
2084 RET_LABEL30
:(void)0;
2088 var33
= BOX_kernel__Char(var32
); /* autobox from Char to nullable Object */
2089 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var33
) /* add on <var_res:Buffer>*/;
2092 { /* Inline kernel#Char#== (var_c,var34) */
2093 var37
= var_c
== var34
;
2096 RET_LABEL36
:(void)0;
2100 var39
= BOX_kernel__Char(var38
); /* autobox from Char to nullable Object */
2101 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var39
) /* add on <var_res:Buffer>*/;
2103 var40
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
2104 ((void (*)(val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_res
, var40
) /* add on <var_res:Buffer>*/;
2109 CONTINUE_label
: (void)0;
2110 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2112 BREAK_label
: (void)0;
2113 var41
= ((val
* (*)(val
*))(var_res
->class->vft
[COLOR_string__Object__to_s
]))(var_res
) /* to_s on <var_res:Buffer>*/;
2119 /* method string#AbstractString#unescape_nit for (self: Object): String */
2120 val
* VIRTUAL_string__AbstractString__unescape_nit(val
* self
) {
2121 val
* var
/* : String */;
2122 val
* var1
/* : String */;
2123 var1
= string__AbstractString__unescape_nit(self
);
2128 /* method string#AbstractString#init for (self: AbstractString) */
2129 void string__AbstractString__init(val
* self
) {
2130 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArrayRead__init
]))(self
) /* init on <self:AbstractString>*/;
2133 /* method string#AbstractString#init for (self: Object) */
2134 void VIRTUAL_string__AbstractString__init(val
* self
) {
2135 string__AbstractString__init(self
);
2138 /* method string#StringCharView#target for (self: StringCharView): AbstractString */
2139 val
* string__StringCharView__target(val
* self
) {
2140 val
* var
/* : AbstractString */;
2141 val
* var1
/* : AbstractString */;
2142 var1
= self
->attrs
[COLOR_string__StringCharView___64dtarget
].val
; /* @target on <self:StringCharView> */
2144 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @target");
2145 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 370);
2152 /* method string#StringCharView#target for (self: Object): AbstractString */
2153 val
* VIRTUAL_string__StringCharView__target(val
* self
) {
2154 val
* var
/* : AbstractString */;
2155 val
* var1
/* : AbstractString */;
2156 var1
= string__StringCharView__target(self
);
2161 /* method string#StringCharView#target= for (self: StringCharView, AbstractString) */
2162 void string__StringCharView__target_61d(val
* self
, val
* p0
) {
2163 short int var
/* : Bool */;
2166 const struct type
* type_struct
;
2167 const char* var_class_name
;
2168 /* Covariant cast for argument 0 (target) <p0:AbstractString> isa SELFTYPE */
2169 /* <p0:AbstractString> isa SELFTYPE */
2170 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__StringCharView_VTSELFTYPE
];
2171 cltype
= type_struct
->color
;
2172 idtype
= type_struct
->id
;
2173 if(cltype
>= p0
->type
->table_size
) {
2176 var
= p0
->type
->type_table
[cltype
] == idtype
;
2179 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2180 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
2181 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 370);
2184 self
->attrs
[COLOR_string__StringCharView___64dtarget
].val
= p0
; /* @target on <self:StringCharView> */
2187 /* method string#StringCharView#target= for (self: Object, AbstractString) */
2188 void VIRTUAL_string__StringCharView__target_61d(val
* self
, val
* p0
) {
2189 string__StringCharView__target_61d(self
, p0
);
2192 /* method string#StringCharView#init for (self: StringCharView, AbstractString) */
2193 void string__StringCharView__init(val
* self
, val
* p0
) {
2194 short int var
/* : Bool */;
2197 const struct type
* type_struct
;
2198 const char* var_class_name
;
2199 val
* var_tgt
/* var tgt: AbstractString */;
2200 /* Covariant cast for argument 0 (tgt) <p0:AbstractString> isa SELFTYPE */
2201 /* <p0:AbstractString> isa SELFTYPE */
2202 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__StringCharView_VTSELFTYPE
];
2203 cltype
= type_struct
->color
;
2204 idtype
= type_struct
->id
;
2205 if(cltype
>= p0
->type
->table_size
) {
2208 var
= p0
->type
->type_table
[cltype
] == idtype
;
2211 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2212 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
2213 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 372);
2217 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_string__StringCharView__target_61d
]))(self
, var_tgt
) /* target= on <self:StringCharView>*/;
2220 /* method string#StringCharView#init for (self: Object, AbstractString) */
2221 void VIRTUAL_string__StringCharView__init(val
* self
, val
* p0
) {
2222 string__StringCharView__init(self
, p0
);
2225 /* method string#StringCharView#is_empty for (self: StringCharView): Bool */
2226 short int string__StringCharView__is_empty(val
* self
) {
2227 short int var
/* : Bool */;
2228 val
* var1
/* : AbstractString */;
2229 short int var2
/* : Bool */;
2230 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:StringCharView>*/;
2231 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var1
) /* is_empty on <var1:AbstractString>*/;
2237 /* method string#StringCharView#is_empty for (self: Object): Bool */
2238 short int VIRTUAL_string__StringCharView__is_empty(val
* self
) {
2239 short int var
/* : Bool */;
2240 short int var1
/* : Bool */;
2241 var1
= string__StringCharView__is_empty(self
);
2246 /* method string#StringCharView#length for (self: StringCharView): Int */
2247 long string__StringCharView__length(val
* self
) {
2248 long var
/* : Int */;
2249 val
* var1
/* : AbstractString */;
2250 long var2
/* : Int */;
2251 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:StringCharView>*/;
2252 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:AbstractString>*/;
2258 /* method string#StringCharView#length for (self: Object): Int */
2259 long VIRTUAL_string__StringCharView__length(val
* self
) {
2260 long var
/* : Int */;
2261 long var1
/* : Int */;
2262 var1
= string__StringCharView__length(self
);
2267 /* method string#StringCharView#has for (self: StringCharView, Char): Bool */
2268 short int string__StringCharView__has(val
* self
, char p0
) {
2269 short int var
/* : Bool */;
2270 short int var1
/* : Bool */;
2273 const char* var_class_name
;
2274 char var_c
/* var c: Char */;
2275 val
* var2
/* : Iterator[nullable Object] */;
2276 short int var3
/* : Bool */;
2277 val
* var4
/* : nullable Object */;
2278 char var_i
/* var i: Char */;
2279 char var5
/* : Char */;
2280 short int var6
/* : Bool */;
2281 short int var8
/* : Bool */;
2282 short int var9
/* : Bool */;
2283 short int var10
/* : Bool */;
2284 /* Covariant cast for argument 0 (c) <p0:Char> isa Char */
2285 /* <p0:Char> isa Char */
2286 var1
= 1; /* easy <p0:Char> isa Char*/
2288 var_class_name
= type_kernel__Char
.name
;
2289 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Char", var_class_name
);
2290 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 381);
2294 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:StringCharView>*/;
2296 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
2298 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
2299 var5
= ((struct instance_kernel__Char
*)var4
)->value
; /* autounbox from nullable Object to Char */;
2301 { /* Inline kernel#Char#== (var_i,var_c) */
2302 var8
= var_i
== var_c
;
2313 CONTINUE_label
: (void)0;
2314 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
2316 BREAK_label
: (void)0;
2323 /* method string#StringCharView#has for (self: Object, nullable Object): Bool */
2324 short int VIRTUAL_string__StringCharView__has(val
* self
, val
* p0
) {
2325 short int var
/* : Bool */;
2326 short int var1
/* : Bool */;
2327 char var2
/* : Char */;
2328 var2
= ((struct instance_kernel__Char
*)p0
)->value
; /* autounbox from nullable Object to Char */;
2329 var1
= string__StringCharView__has(self
, var2
);
2334 /* method string#String#index_from for (self: String): Int */
2335 long string__String__index_from(val
* self
) {
2336 long var
/* : Int */;
2337 long var1
/* : Int */;
2338 var1
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2343 /* method string#String#index_from for (self: Object): Int */
2344 long VIRTUAL_string__String__index_from(val
* self
) {
2345 long var
/* : Int */;
2346 long var1
/* : Int */;
2347 var1
= string__String__index_from(self
);
2352 /* method string#String#index_to for (self: String): Int */
2353 long string__String__index_to(val
* self
) {
2354 long var
/* : Int */;
2355 long var1
/* : Int */;
2356 var1
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2361 /* method string#String#index_to for (self: Object): Int */
2362 long VIRTUAL_string__String__index_to(val
* self
) {
2363 long var
/* : Int */;
2364 long var1
/* : Int */;
2365 var1
= string__String__index_to(self
);
2370 /* method string#String#chars for (self: String): StringCharView */
2371 val
* string__String__chars(val
* self
) {
2372 val
* var
/* : StringCharView */;
2373 val
* var1
/* : StringCharView */;
2374 var1
= self
->attrs
[COLOR_string__String___64dchars
].val
; /* @chars on <self:String> */
2376 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @chars");
2377 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 415);
2384 /* method string#String#chars for (self: Object): StringCharView */
2385 val
* VIRTUAL_string__String__chars(val
* self
) {
2386 val
* var
/* : StringCharView */;
2387 val
* var1
/* : StringCharView */;
2388 var1
= string__String__chars(self
);
2393 /* method string#String#chars= for (self: String, StringCharView) */
2394 void string__String__chars_61d(val
* self
, val
* p0
) {
2395 self
->attrs
[COLOR_string__String___64dchars
].val
= p0
; /* @chars on <self:String> */
2398 /* method string#String#chars= for (self: Object, StringCharView) */
2399 void VIRTUAL_string__String__chars_61d(val
* self
, val
* p0
) {
2400 string__String__chars_61d(self
, p0
);
2403 /* method string#String#[] for (self: String, Int): Char */
2404 char string__String___91d_93d(val
* self
, long p0
) {
2405 char var
/* : Char */;
2406 long var_index
/* var index: Int */;
2407 long var1
/* : Int */;
2408 short int var2
/* : Bool */;
2409 short int var4
/* : Bool */;
2412 const char* var_class_name
;
2413 short int var5
/* : Bool */;
2414 long var6
/* : Int */;
2415 long var7
/* : Int */;
2416 long var9
/* : Int */;
2417 long var10
/* : Int */;
2418 short int var11
/* : Bool */;
2419 short int var13
/* : Bool */;
2422 const char* var_class_name16
;
2423 short int var17
/* : Bool */;
2424 char* var18
/* : NativeString */;
2425 long var19
/* : Int */;
2426 long var20
/* : Int */;
2427 long var22
/* : Int */;
2428 char var23
/* : Char */;
2429 char var25
/* : Char */;
2432 { /* Inline kernel#Int#>= (var_index,var1) */
2433 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2434 /* <var1:Int> isa OTHER */
2435 var4
= 1; /* easy <var1:Int> isa OTHER*/
2437 var_class_name
= type_kernel__Int
.name
;
2438 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2439 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
2442 var5
= var_index
>= var1
;
2448 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2449 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 422);
2452 var6
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2453 { /* Inline kernel#Int#+ (var_index,var6) */
2454 var9
= var_index
+ var6
;
2459 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2460 { /* Inline kernel#Int#<= (var7,var10) */
2461 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2462 /* <var10:Int> isa OTHER */
2463 var13
= 1; /* easy <var10:Int> isa OTHER*/
2465 var_class_name16
= type_kernel__Int
.name
;
2466 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
2467 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
2470 var17
= var7
<= var10
;
2473 RET_LABEL12
:(void)0;
2476 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2477 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 425);
2480 var18
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2481 var19
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2482 { /* Inline kernel#Int#+ (var_index,var19) */
2483 var22
= var_index
+ var19
;
2486 RET_LABEL21
:(void)0;
2488 { /* Inline string#NativeString#[] (var18,var20) */
2489 var25
= var18
[var20
];
2492 RET_LABEL24
:(void)0;
2499 /* method string#String#[] for (self: Object, Int): nullable Object */
2500 val
* VIRTUAL_string__String___91d_93d(val
* self
, long p0
) {
2501 val
* var
/* : nullable Object */;
2502 char var1
/* : Char */;
2503 val
* var2
/* : nullable Object */;
2504 var1
= string__String___91d_93d(self
, p0
);
2505 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
2510 /* method string#String#substring for (self: String, Int, Int): String */
2511 val
* string__String__substring(val
* self
, long p0
, long p1
) {
2512 val
* var
/* : String */;
2513 long var_from
/* var from: Int */;
2514 long var_count
/* var count: Int */;
2515 long var1
/* : Int */;
2516 short int var2
/* : Bool */;
2517 short int var4
/* : Bool */;
2520 const char* var_class_name
;
2521 short int var5
/* : Bool */;
2522 long var6
/* : Int */;
2523 short int var7
/* : Bool */;
2524 short int var9
/* : Bool */;
2527 const char* var_class_name12
;
2528 short int var13
/* : Bool */;
2529 long var14
/* : Int */;
2530 long var16
/* : Int */;
2531 long var17
/* : Int */;
2532 short int var18
/* : Bool */;
2533 short int var20
/* : Bool */;
2536 const char* var_class_name23
;
2537 short int var24
/* : Bool */;
2538 long var25
/* : Int */;
2539 long var26
/* : Int */;
2540 long var27
/* : Int */;
2541 long var28
/* : Int */;
2542 long var30
/* : Int */;
2543 long var_realFrom
/* var realFrom: Int */;
2544 long var31
/* : Int */;
2545 long var33
/* : Int */;
2546 long var34
/* : Int */;
2547 short int var35
/* : Bool */;
2548 short int var37
/* : Bool */;
2551 const char* var_class_name40
;
2552 short int var41
/* : Bool */;
2553 val
* var42
/* : String */;
2554 char* var43
/* : NativeString */;
2555 long var44
/* : Int */;
2556 long var45
/* : Int */;
2557 long var47
/* : Int */;
2558 long var48
/* : Int */;
2559 long var49
/* : Int */;
2560 long var51
/* : Int */;
2561 long var52
/* : Int */;
2562 long var53
/* : Int */;
2563 short int var54
/* : Bool */;
2564 short int var56
/* : Bool */;
2565 static val
* varonce
;
2566 val
* var57
/* : String */;
2567 char* var58
/* : NativeString */;
2568 long var59
/* : Int */;
2569 val
* var60
/* : String */;
2570 long var61
/* : Int */;
2571 long var63
/* : Int */;
2572 long var64
/* : Int */;
2573 long var65
/* : Int */;
2574 long var67
/* : Int */;
2575 long var_to
/* var to: Int */;
2576 val
* var68
/* : String */;
2577 char* var69
/* : NativeString */;
2578 long var70
/* : Int */;
2579 long var72
/* : Int */;
2580 long var73
/* : Int */;
2581 long var74
/* : Int */;
2582 long var76
/* : Int */;
2586 { /* Inline kernel#Int#>= (var_count,var1) */
2587 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2588 /* <var1:Int> isa OTHER */
2589 var4
= 1; /* easy <var1:Int> isa OTHER*/
2591 var_class_name
= type_kernel__Int
.name
;
2592 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2593 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
2596 var5
= var_count
>= var1
;
2602 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2603 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 431);
2607 { /* Inline kernel#Int#< (var_from,var6) */
2608 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
2609 /* <var6:Int> isa OTHER */
2610 var9
= 1; /* easy <var6:Int> isa OTHER*/
2612 var_class_name12
= type_kernel__Int
.name
;
2613 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
2614 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
2617 var13
= var_from
< var6
;
2623 { /* Inline kernel#Int#+ (var_count,var_from) */
2624 var16
= var_count
+ var_from
;
2627 RET_LABEL15
:(void)0;
2631 { /* Inline kernel#Int#< (var_count,var17) */
2632 /* Covariant cast for argument 0 (i) <var17:Int> isa OTHER */
2633 /* <var17:Int> isa OTHER */
2634 var20
= 1; /* easy <var17:Int> isa OTHER*/
2636 var_class_name23
= type_kernel__Int
.name
;
2637 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name23
);
2638 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
2641 var24
= var_count
< var17
;
2644 RET_LABEL19
:(void)0;
2655 var27
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
2656 { /* Inline kernel#Int#+ (var27,var_from) */
2657 var30
= var27
+ var_from
;
2660 RET_LABEL29
:(void)0;
2662 var_realFrom
= var28
;
2663 { /* Inline kernel#Int#+ (var_realFrom,var_count) */
2664 var33
= var_realFrom
+ var_count
;
2667 RET_LABEL32
:(void)0;
2669 var34
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2670 { /* Inline kernel#Int#> (var31,var34) */
2671 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
2672 /* <var34:Int> isa OTHER */
2673 var37
= 1; /* easy <var34:Int> isa OTHER*/
2675 var_class_name40
= type_kernel__Int
.name
;
2676 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
2677 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
2680 var41
= var31
> var34
;
2683 RET_LABEL36
:(void)0;
2686 var42
= NEW_string__String(&type_string__String
);
2687 var43
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2688 var44
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2689 { /* Inline kernel#Int#- (var44,var_realFrom) */
2690 var47
= var44
- var_realFrom
;
2693 RET_LABEL46
:(void)0;
2696 { /* Inline kernel#Int#+ (var45,var48) */
2697 var51
= var45
+ var48
;
2700 RET_LABEL50
:(void)0;
2702 var52
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
2703 ((void (*)(val
*, char*, long, long, long))(var42
->class->vft
[COLOR_string__String__with_infos
]))(var42
, var43
, var49
, var_realFrom
, var52
) /* with_infos on <var42:String>*/;
2709 { /* Inline kernel#Int#== (var_count,var53) */
2710 var56
= var_count
== var53
;
2713 RET_LABEL55
:(void)0;
2721 var60
= string__NativeString__to_s_with_length(var58
, var59
);
2729 { /* Inline kernel#Int#+ (var_realFrom,var_count) */
2730 var63
= var_realFrom
+ var_count
;
2733 RET_LABEL62
:(void)0;
2736 { /* Inline kernel#Int#- (var61,var64) */
2737 var67
= var61
- var64
;
2740 RET_LABEL66
:(void)0;
2743 var68
= NEW_string__String(&type_string__String
);
2744 var69
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2745 { /* Inline kernel#Int#- (var_to,var_realFrom) */
2746 var72
= var_to
- var_realFrom
;
2749 RET_LABEL71
:(void)0;
2752 { /* Inline kernel#Int#+ (var70,var73) */
2753 var76
= var70
+ var73
;
2756 RET_LABEL75
:(void)0;
2758 ((void (*)(val
*, char*, long, long, long))(var68
->class->vft
[COLOR_string__String__with_infos
]))(var68
, var69
, var74
, var_realFrom
, var_to
) /* with_infos on <var68:String>*/;
2764 /* method string#String#substring for (self: Object, Int, Int): String */
2765 val
* VIRTUAL_string__String__substring(val
* self
, long p0
, long p1
) {
2766 val
* var
/* : String */;
2767 val
* var1
/* : String */;
2768 var1
= string__String__substring(self
, p0
, p1
);
2773 /* method string#String#substring_from for (self: String, Int): String */
2774 val
* string__String__substring_from(val
* self
, long p0
) {
2775 val
* var
/* : String */;
2776 long var_from
/* var from: Int */;
2777 long var1
/* : Int */;
2778 short int var2
/* : Bool */;
2779 short int var4
/* : Bool */;
2782 const char* var_class_name
;
2783 short int var5
/* : Bool */;
2784 static val
* varonce
;
2785 val
* var6
/* : String */;
2786 char* var7
/* : NativeString */;
2787 long var8
/* : Int */;
2788 val
* var9
/* : String */;
2789 long var10
/* : Int */;
2790 short int var11
/* : Bool */;
2791 short int var13
/* : Bool */;
2794 const char* var_class_name16
;
2795 short int var17
/* : Bool */;
2796 long var18
/* : Int */;
2797 long var19
/* : Int */;
2798 val
* var20
/* : String */;
2800 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2801 { /* Inline kernel#Int#> (var_from,var1) */
2802 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2803 /* <var1:Int> isa OTHER */
2804 var4
= 1; /* easy <var1:Int> isa OTHER*/
2806 var_class_name
= type_kernel__Int
.name
;
2807 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2808 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
2811 var5
= var_from
> var1
;
2822 var9
= string__NativeString__to_s_with_length(var7
, var8
);
2831 { /* Inline kernel#Int#< (var_from,var10) */
2832 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
2833 /* <var10:Int> isa OTHER */
2834 var13
= 1; /* easy <var10:Int> isa OTHER*/
2836 var_class_name16
= type_kernel__Int
.name
;
2837 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
2838 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
2841 var17
= var_from
< var10
;
2844 RET_LABEL12
:(void)0;
2851 var19
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2852 var20
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_from
, var19
) /* substring on <self:String>*/;
2858 /* method string#String#substring_from for (self: Object, Int): String */
2859 val
* VIRTUAL_string__String__substring_from(val
* self
, long p0
) {
2860 val
* var
/* : String */;
2861 val
* var1
/* : String */;
2862 var1
= string__String__substring_from(self
, p0
);
2867 /* method string#String#has_substring for (self: String, String, Int): Bool */
2868 short int string__String__has_substring(val
* self
, val
* p0
, long p1
) {
2869 short int var
/* : Bool */;
2870 val
* var_str
/* var str: String */;
2871 long var_pos
/* var pos: Int */;
2872 long var1
/* : Int */;
2873 long var2
/* : Int */;
2874 long var3
/* : Int */;
2875 long var5
/* : Int */;
2876 long var_itsindex
/* var itsindex: Int */;
2877 long var6
/* : Int */;
2878 long var8
/* : Int */;
2879 long var_myindex
/* var myindex: Int */;
2880 char* var9
/* : NativeString */;
2881 char* var_myitems
/* var myitems: NativeString */;
2882 char* var10
/* : NativeString */;
2883 char* var_itsitems
/* var itsitems: NativeString */;
2884 short int var11
/* : Bool */;
2885 long var12
/* : Int */;
2886 short int var13
/* : Bool */;
2887 short int var15
/* : Bool */;
2890 const char* var_class_name
;
2891 short int var16
/* : Bool */;
2892 short int var_
/* var : Bool */;
2893 short int var17
/* : Bool */;
2894 short int var19
/* : Bool */;
2897 const char* var_class_name22
;
2898 short int var23
/* : Bool */;
2899 short int var24
/* : Bool */;
2900 long var25
/* : Int */;
2901 long var_itsindexfrom
/* var itsindexfrom: Int */;
2902 long var26
/* : Int */;
2903 long var28
/* : Int */;
2904 long var29
/* : Int */;
2905 long var30
/* : Int */;
2906 long var32
/* : Int */;
2907 short int var33
/* : Bool */;
2908 short int var35
/* : Bool */;
2911 const char* var_class_name38
;
2912 short int var39
/* : Bool */;
2913 char var40
/* : Char */;
2914 char var42
/* : Char */;
2915 char var43
/* : Char */;
2916 char var45
/* : Char */;
2917 short int var46
/* : Bool */;
2918 short int var48
/* : Bool */;
2919 short int var49
/* : Bool */;
2920 short int var50
/* : Bool */;
2921 long var51
/* : Int */;
2922 long var52
/* : Int */;
2923 long var54
/* : Int */;
2924 long var55
/* : Int */;
2925 long var56
/* : Int */;
2926 long var58
/* : Int */;
2927 short int var59
/* : Bool */;
2930 var1
= var_str
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_str:String> */
2932 { /* Inline kernel#Int#- (var1,var2) */
2938 var_itsindex
= var3
;
2939 { /* Inline kernel#Int#+ (var_pos,var_itsindex) */
2940 var8
= var_pos
+ var_itsindex
;
2946 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
2948 var10
= var_str
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_str:String> */
2949 var_itsitems
= var10
;
2950 var12
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
2951 { /* Inline kernel#Int#> (var_myindex,var12) */
2952 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
2953 /* <var12:Int> isa OTHER */
2954 var15
= 1; /* easy <var12:Int> isa OTHER*/
2956 var_class_name
= type_kernel__Int
.name
;
2957 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2958 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
2961 var16
= var_myindex
> var12
;
2964 RET_LABEL14
:(void)0;
2970 { /* Inline kernel#Int#> (var_itsindex,var_myindex) */
2971 /* Covariant cast for argument 0 (i) <var_myindex:Int> isa OTHER */
2972 /* <var_myindex:Int> isa OTHER */
2973 var19
= 1; /* easy <var_myindex:Int> isa OTHER*/
2975 var_class_name22
= type_kernel__Int
.name
;
2976 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
2977 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
2980 var23
= var_itsindex
> var_myindex
;
2983 RET_LABEL18
:(void)0;
2993 var25
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_string__String__index_from
]))(var_str
) /* index_from on <var_str:String>*/;
2994 var_itsindexfrom
= var25
;
2995 { /* Inline kernel#Int#+ (var_itsindex,var_itsindexfrom) */
2996 var28
= var_itsindex
+ var_itsindexfrom
;
2999 RET_LABEL27
:(void)0;
3001 var_itsindex
= var26
;
3002 var29
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
3003 { /* Inline kernel#Int#+ (var_myindex,var29) */
3004 var32
= var_myindex
+ var29
;
3007 RET_LABEL31
:(void)0;
3009 var_myindex
= var30
;
3011 { /* Inline kernel#Int#>= (var_itsindex,var_itsindexfrom) */
3012 /* Covariant cast for argument 0 (i) <var_itsindexfrom:Int> isa OTHER */
3013 /* <var_itsindexfrom:Int> isa OTHER */
3014 var35
= 1; /* easy <var_itsindexfrom:Int> isa OTHER*/
3016 var_class_name38
= type_kernel__Int
.name
;
3017 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name38
);
3018 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
3021 var39
= var_itsindex
>= var_itsindexfrom
;
3024 RET_LABEL34
:(void)0;
3027 { /* Inline string#NativeString#[] (var_myitems,var_myindex) */
3028 var42
= var_myitems
[var_myindex
];
3031 RET_LABEL41
:(void)0;
3033 { /* Inline string#NativeString#[] (var_itsitems,var_itsindex) */
3034 var45
= var_itsitems
[var_itsindex
];
3037 RET_LABEL44
:(void)0;
3039 { /* Inline kernel#Char#!= (var40,var43) */
3040 var48
= var40
== var43
;
3044 RET_LABEL47
:(void)0;
3053 { /* Inline kernel#Int#- (var_myindex,var51) */
3054 var54
= var_myindex
- var51
;
3057 RET_LABEL53
:(void)0;
3059 var_myindex
= var52
;
3061 { /* Inline kernel#Int#- (var_itsindex,var55) */
3062 var58
= var_itsindex
- var55
;
3065 RET_LABEL57
:(void)0;
3067 var_itsindex
= var56
;
3068 CONTINUE_label
: (void)0;
3070 BREAK_label
: (void)0;
3077 /* method string#String#has_substring for (self: Object, String, Int): Bool */
3078 short int VIRTUAL_string__String__has_substring(val
* self
, val
* p0
, long p1
) {
3079 short int var
/* : Bool */;
3080 short int var1
/* : Bool */;
3081 var1
= string__String__has_substring(self
, p0
, p1
);
3086 /* method string#String#to_upper for (self: String): String */
3087 val
* string__String__to_upper(val
* self
) {
3088 val
* var
/* : String */;
3089 long var1
/* : Int */;
3090 long var2
/* : Int */;
3091 long var3
/* : Int */;
3092 long var5
/* : Int */;
3093 char* var6
/* : NativeString */;
3094 char* var_outstr
/* var outstr: NativeString */;
3095 long var7
/* : Int */;
3096 long var_out_index
/* var out_index: Int */;
3097 char* var8
/* : NativeString */;
3098 char* var_myitems
/* var myitems: NativeString */;
3099 long var9
/* : Int */;
3100 long var_index_from
/* var index_from: Int */;
3101 long var10
/* : Int */;
3102 long var_max
/* var max: Int */;
3103 short int var11
/* : Bool */;
3104 short int var13
/* : Bool */;
3107 const char* var_class_name
;
3108 short int var14
/* : Bool */;
3109 char var15
/* : Char */;
3110 char var17
/* : Char */;
3111 char var18
/* : Char */;
3112 long var20
/* : Int */;
3113 long var21
/* : Int */;
3114 long var23
/* : Int */;
3115 long var24
/* : Int */;
3116 long var25
/* : Int */;
3117 long var27
/* : Int */;
3118 long var28
/* : Int */;
3119 char var29
/* : Char */;
3120 long var31
/* : Int */;
3121 val
* var32
/* : String */;
3122 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3124 { /* Inline kernel#Int#+ (var1,var2) */
3130 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:String>*/;
3133 var_out_index
= var7
;
3134 var8
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3136 var9
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3137 var_index_from
= var9
;
3138 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3141 { /* Inline kernel#Int#<= (var_index_from,var_max) */
3142 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
3143 /* <var_max:Int> isa OTHER */
3144 var13
= 1; /* easy <var_max:Int> isa OTHER*/
3146 var_class_name
= type_kernel__Int
.name
;
3147 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3148 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
3151 var14
= var_index_from
<= var_max
;
3154 RET_LABEL12
:(void)0;
3157 { /* Inline string#NativeString#[] (var_myitems,var_index_from) */
3158 var17
= var_myitems
[var_index_from
];
3161 RET_LABEL16
:(void)0;
3163 var18
= kernel__Char__to_upper(var15
);
3164 { /* Inline string#NativeString#[]= (var_outstr,var_out_index,var18) */
3165 var_outstr
[var_out_index
]=var18
;
3166 RET_LABEL19
:(void)0;
3169 { /* Inline kernel#Int#+ (var_out_index,var20) */
3170 var23
= var_out_index
+ var20
;
3173 RET_LABEL22
:(void)0;
3175 var_out_index
= var21
;
3177 { /* Inline kernel#Int#+ (var_index_from,var24) */
3178 var27
= var_index_from
+ var24
;
3181 RET_LABEL26
:(void)0;
3183 var_index_from
= var25
;
3184 CONTINUE_label
: (void)0;
3186 BREAK_label
: (void)0;
3187 var28
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
3189 { /* Inline string#NativeString#[]= (var_outstr,var28,var29) */
3190 var_outstr
[var28
]=var29
;
3191 RET_LABEL30
:(void)0;
3193 var31
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3194 var32
= string__NativeString__to_s_with_length(var_outstr
, var31
);
3200 /* method string#String#to_upper for (self: Object): String */
3201 val
* VIRTUAL_string__String__to_upper(val
* self
) {
3202 val
* var
/* : String */;
3203 val
* var1
/* : String */;
3204 var1
= string__String__to_upper(self
);
3209 /* method string#String#to_lower for (self: String): String */
3210 val
* string__String__to_lower(val
* self
) {
3211 val
* var
/* : String */;
3212 long var1
/* : Int */;
3213 long var2
/* : Int */;
3214 long var3
/* : Int */;
3215 long var5
/* : Int */;
3216 char* var6
/* : NativeString */;
3217 char* var_outstr
/* var outstr: NativeString */;
3218 long var7
/* : Int */;
3219 long var_out_index
/* var out_index: Int */;
3220 char* var8
/* : NativeString */;
3221 char* var_myitems
/* var myitems: NativeString */;
3222 long var9
/* : Int */;
3223 long var_index_from
/* var index_from: Int */;
3224 long var10
/* : Int */;
3225 long var_max
/* var max: Int */;
3226 short int var11
/* : Bool */;
3227 short int var13
/* : Bool */;
3230 const char* var_class_name
;
3231 short int var14
/* : Bool */;
3232 char var15
/* : Char */;
3233 char var17
/* : Char */;
3234 char var18
/* : Char */;
3235 long var20
/* : Int */;
3236 long var21
/* : Int */;
3237 long var23
/* : Int */;
3238 long var24
/* : Int */;
3239 long var25
/* : Int */;
3240 long var27
/* : Int */;
3241 long var28
/* : Int */;
3242 char var29
/* : Char */;
3243 long var31
/* : Int */;
3244 val
* var32
/* : String */;
3245 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3247 { /* Inline kernel#Int#+ (var1,var2) */
3253 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:String>*/;
3256 var_out_index
= var7
;
3257 var8
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3259 var9
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3260 var_index_from
= var9
;
3261 var10
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3264 { /* Inline kernel#Int#<= (var_index_from,var_max) */
3265 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
3266 /* <var_max:Int> isa OTHER */
3267 var13
= 1; /* easy <var_max:Int> isa OTHER*/
3269 var_class_name
= type_kernel__Int
.name
;
3270 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3271 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
3274 var14
= var_index_from
<= var_max
;
3277 RET_LABEL12
:(void)0;
3280 { /* Inline string#NativeString#[] (var_myitems,var_index_from) */
3281 var17
= var_myitems
[var_index_from
];
3284 RET_LABEL16
:(void)0;
3286 var18
= kernel__Char__to_lower(var15
);
3287 { /* Inline string#NativeString#[]= (var_outstr,var_out_index,var18) */
3288 var_outstr
[var_out_index
]=var18
;
3289 RET_LABEL19
:(void)0;
3292 { /* Inline kernel#Int#+ (var_out_index,var20) */
3293 var23
= var_out_index
+ var20
;
3296 RET_LABEL22
:(void)0;
3298 var_out_index
= var21
;
3300 { /* Inline kernel#Int#+ (var_index_from,var24) */
3301 var27
= var_index_from
+ var24
;
3304 RET_LABEL26
:(void)0;
3306 var_index_from
= var25
;
3307 CONTINUE_label
: (void)0;
3309 BREAK_label
: (void)0;
3310 var28
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
3312 { /* Inline string#NativeString#[]= (var_outstr,var28,var29) */
3313 var_outstr
[var28
]=var29
;
3314 RET_LABEL30
:(void)0;
3316 var31
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3317 var32
= string__NativeString__to_s_with_length(var_outstr
, var31
);
3323 /* method string#String#to_lower for (self: Object): String */
3324 val
* VIRTUAL_string__String__to_lower(val
* self
) {
3325 val
* var
/* : String */;
3326 val
* var1
/* : String */;
3327 var1
= string__String__to_lower(self
);
3332 /* method string#String#trim for (self: String): String */
3333 val
* string__String__trim(val
* self
) {
3334 val
* var
/* : String */;
3335 long var1
/* : Int */;
3336 long var2
/* : Int */;
3337 short int var3
/* : Bool */;
3338 short int var5
/* : Bool */;
3339 long var6
/* : Int */;
3340 long var_start_pos
/* var start_pos: Int */;
3341 char* var7
/* : NativeString */;
3342 char var8
/* : Char */;
3343 char var10
/* : Char */;
3344 long var11
/* : Int */;
3345 long var13
/* : Int */;
3346 long var14
/* : Int */;
3347 short int var15
/* : Bool */;
3348 short int var17
/* : Bool */;
3351 const char* var_class_name
;
3352 short int var18
/* : Bool */;
3353 long var19
/* : Int */;
3354 long var20
/* : Int */;
3355 long var22
/* : Int */;
3356 long var23
/* : Int */;
3357 long var24
/* : Int */;
3358 long var25
/* : Int */;
3359 long var27
/* : Int */;
3360 short int var28
/* : Bool */;
3361 short int var30
/* : Bool */;
3362 static val
* varonce
;
3363 val
* var31
/* : String */;
3364 char* var32
/* : NativeString */;
3365 long var33
/* : Int */;
3366 val
* var34
/* : String */;
3367 long var35
/* : Int */;
3368 long var_end_pos
/* var end_pos: Int */;
3369 char* var36
/* : NativeString */;
3370 char var37
/* : Char */;
3371 char var39
/* : Char */;
3372 long var40
/* : Int */;
3373 long var42
/* : Int */;
3374 long var43
/* : Int */;
3375 short int var44
/* : Bool */;
3376 short int var46
/* : Bool */;
3379 const char* var_class_name49
;
3380 short int var50
/* : Bool */;
3381 long var51
/* : Int */;
3382 long var52
/* : Int */;
3383 long var54
/* : Int */;
3384 short int var55
/* : Bool */;
3385 short int var57
/* : Bool */;
3386 char* var58
/* : NativeString */;
3387 char var59
/* : Char */;
3388 char var61
/* : Char */;
3389 val
* var62
/* : String */;
3390 long var64
/* : Int */;
3391 long var65
/* : Int */;
3392 long var67
/* : Int */;
3393 long var68
/* : Int */;
3394 long var69
/* : Int */;
3395 long var71
/* : Int */;
3396 long var72
/* : Int */;
3397 long var74
/* : Int */;
3398 long var75
/* : Int */;
3399 long var76
/* : Int */;
3400 long var78
/* : Int */;
3401 val
* var79
/* : String */;
3402 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3404 { /* Inline kernel#Int#== (var1,var2) */
3405 var5
= var1
== var2
;
3415 var6
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3416 var_start_pos
= var6
;
3418 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3419 { /* Inline string#NativeString#[] (var7,var_start_pos) */
3420 var10
= var7
[var_start_pos
];
3425 { /* Inline kernel#Char#ascii (var8) */
3426 var13
= (unsigned char)var8
;
3429 RET_LABEL12
:(void)0;
3432 { /* Inline kernel#Int#<= (var11,var14) */
3433 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
3434 /* <var14:Int> isa OTHER */
3435 var17
= 1; /* easy <var14:Int> isa OTHER*/
3437 var_class_name
= type_kernel__Int
.name
;
3438 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3439 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
3442 var18
= var11
<= var14
;
3445 RET_LABEL16
:(void)0;
3449 { /* Inline kernel#Int#+ (var_start_pos,var19) */
3450 var22
= var_start_pos
+ var19
;
3453 RET_LABEL21
:(void)0;
3455 var_start_pos
= var20
;
3456 var23
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3458 { /* Inline kernel#Int#+ (var23,var24) */
3459 var27
= var23
+ var24
;
3462 RET_LABEL26
:(void)0;
3464 { /* Inline kernel#Int#== (var_start_pos,var25) */
3465 var30
= var_start_pos
== var25
;
3468 RET_LABEL29
:(void)0;
3476 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3484 CONTINUE_label
: (void)0;
3486 BREAK_label
: (void)0;
3487 var35
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3488 var_end_pos
= var35
;
3490 var36
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3491 { /* Inline string#NativeString#[] (var36,var_end_pos) */
3492 var39
= var36
[var_end_pos
];
3495 RET_LABEL38
:(void)0;
3497 { /* Inline kernel#Char#ascii (var37) */
3498 var42
= (unsigned char)var37
;
3501 RET_LABEL41
:(void)0;
3504 { /* Inline kernel#Int#<= (var40,var43) */
3505 /* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
3506 /* <var43:Int> isa OTHER */
3507 var46
= 1; /* easy <var43:Int> isa OTHER*/
3509 var_class_name49
= type_kernel__Int
.name
;
3510 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49
);
3511 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
3514 var50
= var40
<= var43
;
3517 RET_LABEL45
:(void)0;
3521 { /* Inline kernel#Int#- (var_end_pos,var51) */
3522 var54
= var_end_pos
- var51
;
3525 RET_LABEL53
:(void)0;
3527 var_end_pos
= var52
;
3528 { /* Inline kernel#Int#== (var_end_pos,var_start_pos) */
3529 var57
= var_end_pos
== var_start_pos
;
3532 RET_LABEL56
:(void)0;
3535 var58
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3536 { /* Inline string#NativeString#[] (var58,var_start_pos) */
3537 var61
= var58
[var_start_pos
];
3540 RET_LABEL60
:(void)0;
3542 var62
= string__Char__to_s(var59
);
3547 CONTINUE_label63
: (void)0;
3549 BREAK_label63
: (void)0;
3550 var64
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
3551 { /* Inline kernel#Int#- (var_start_pos,var64) */
3552 var67
= var_start_pos
- var64
;
3555 RET_LABEL66
:(void)0;
3557 var_start_pos
= var65
;
3558 var68
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__String__index_from
]))(self
) /* index_from on <self:String>*/;
3559 { /* Inline kernel#Int#- (var_end_pos,var68) */
3560 var71
= var_end_pos
- var68
;
3563 RET_LABEL70
:(void)0;
3565 var_end_pos
= var69
;
3566 { /* Inline kernel#Int#- (var_end_pos,var_start_pos) */
3567 var74
= var_end_pos
- var_start_pos
;
3570 RET_LABEL73
:(void)0;
3573 { /* Inline kernel#Int#+ (var72,var75) */
3574 var78
= var72
+ var75
;
3577 RET_LABEL77
:(void)0;
3579 var79
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__AbstractString__substring
]))(self
, var_start_pos
, var76
) /* substring on <self:String>*/;
3585 /* method string#String#trim for (self: Object): String */
3586 val
* VIRTUAL_string__String__trim(val
* self
) {
3587 val
* var
/* : String */;
3588 val
* var1
/* : String */;
3589 var1
= string__String__trim(self
);
3594 /* method string#String#output for (self: String) */
3595 void string__String__output(val
* self
) {
3596 long var
/* : Int */;
3597 long var_i
/* var i: Int */;
3598 long var1
/* : Int */;
3599 long var_imax
/* var imax: Int */;
3600 short int var2
/* : Bool */;
3601 short int var4
/* : Bool */;
3604 const char* var_class_name
;
3605 short int var5
/* : Bool */;
3606 char* var6
/* : NativeString */;
3607 char var7
/* : Char */;
3608 char var9
/* : Char */;
3609 long var11
/* : Int */;
3610 long var12
/* : Int */;
3611 long var14
/* : Int */;
3612 var
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3614 var1
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3617 { /* Inline kernel#Int#<= (var_i,var_imax) */
3618 /* Covariant cast for argument 0 (i) <var_imax:Int> isa OTHER */
3619 /* <var_imax:Int> isa OTHER */
3620 var4
= 1; /* easy <var_imax:Int> isa OTHER*/
3622 var_class_name
= type_kernel__Int
.name
;
3623 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3624 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
3627 var5
= var_i
<= var_imax
;
3633 var6
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3634 { /* Inline string#NativeString#[] (var6,var_i) */
3640 { /* Inline kernel#Char#output (var7) */
3642 RET_LABEL10
:(void)0;
3645 { /* Inline kernel#Int#+ (var_i,var11) */
3646 var14
= var_i
+ var11
;
3649 RET_LABEL13
:(void)0;
3652 CONTINUE_label
: (void)0;
3654 BREAK_label
: (void)0;
3657 /* method string#String#output for (self: Object) */
3658 void VIRTUAL_string__String__output(val
* self
) {
3659 string__String__output(self
);
3662 /* method string#String#with_infos for (self: String, NativeString, Int, Int, Int) */
3663 void string__String__with_infos(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
3664 char* var_items
/* var items: NativeString */;
3665 long var_len
/* var len: Int */;
3666 long var_from
/* var from: Int */;
3667 long var_to
/* var to: Int */;
3672 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:String>*/;
3673 self
->attrs
[COLOR_string__AbstractString___items
].str
= var_items
; /* _items on <self:String> */
3674 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var_len
; /* _length on <self:String> */
3675 self
->attrs
[COLOR_string__String___index_from
].l
= var_from
; /* _index_from on <self:String> */
3676 self
->attrs
[COLOR_string__String___index_to
].l
= var_to
; /* _index_to on <self:String> */
3679 /* method string#String#with_infos for (self: Object, NativeString, Int, Int, Int) */
3680 void VIRTUAL_string__String__with_infos(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
3681 string__String__with_infos(self
, p0
, p1
, p2
, p3
);
3684 /* method string#String#to_cstring for (self: String): NativeString */
3685 char* string__String__to_cstring(val
* self
) {
3686 char* var
/* : NativeString */;
3687 short int var1
/* : Bool */;
3688 long var2
/* : Int */;
3689 long var3
/* : Int */;
3690 short int var4
/* : Bool */;
3691 short int var6
/* : Bool */;
3694 const char* var_class_name
;
3695 short int var7
/* : Bool */;
3696 short int var_
/* var : Bool */;
3697 long var8
/* : Int */;
3698 char* var9
/* : NativeString */;
3699 long var10
/* : Int */;
3700 long var11
/* : Int */;
3701 long var12
/* : Int */;
3702 long var14
/* : Int */;
3703 short int var15
/* : Bool */;
3704 short int var17
/* : Bool */;
3705 short int var18
/* : Bool */;
3706 long var19
/* : Int */;
3707 long var20
/* : Int */;
3708 long var21
/* : Int */;
3709 long var23
/* : Int */;
3710 char* var24
/* : NativeString */;
3711 char* var_newItems
/* var newItems: NativeString */;
3712 char* var25
/* : NativeString */;
3713 long var26
/* : Int */;
3714 long var27
/* : Int */;
3715 long var28
/* : Int */;
3716 long var30
/* : Int */;
3717 char var31
/* : Char */;
3718 char* var33
/* : NativeString */;
3719 var2
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3721 { /* Inline kernel#Int#> (var2,var3) */
3722 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
3723 /* <var3:Int> isa OTHER */
3724 var6
= 1; /* easy <var3:Int> isa OTHER*/
3726 var_class_name
= type_kernel__Int
.name
;
3727 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3728 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
3740 var8
= self
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <self:String> */
3741 var9
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__items
]))(self
) /* items on <self:String>*/;
3742 var10
= string__NativeString__cstring_length(var9
);
3744 { /* Inline kernel#Int#- (var10,var11) */
3745 var14
= var10
- var11
;
3748 RET_LABEL13
:(void)0;
3750 { /* Inline kernel#Int#!= (var8,var12) */
3751 var17
= var8
== var12
;
3755 RET_LABEL16
:(void)0;
3760 var19
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3762 { /* Inline kernel#Int#+ (var19,var20) */
3763 var23
= var19
+ var20
;
3766 RET_LABEL22
:(void)0;
3768 var24
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var21
) /* calloc_string on <self:String>*/;
3769 var_newItems
= var24
;
3770 var25
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__items
]))(self
) /* items on <self:String>*/;
3771 var26
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3772 var27
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3774 { /* Inline string#NativeString#copy_to (var25,var_newItems,var26,var27,var28) */
3775 memcpy(var_newItems
+var28
,var25
+var27
,var26
);
3776 RET_LABEL29
:(void)0;
3778 var30
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:String>*/;
3780 { /* Inline string#NativeString#[]= (var_newItems,var30,var31) */
3781 var_newItems
[var30
]=var31
;
3782 RET_LABEL32
:(void)0;
3788 var33
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3794 /* method string#String#to_cstring for (self: Object): NativeString */
3795 char* VIRTUAL_string__String__to_cstring(val
* self
) {
3796 char* var
/* : NativeString */;
3797 char* var1
/* : NativeString */;
3798 var1
= string__String__to_cstring(self
);
3803 /* method string#String#== for (self: String, nullable Object): Bool */
3804 short int string__String___61d_61d(val
* self
, val
* p0
) {
3805 short int var
/* : Bool */;
3806 val
* var_other
/* var other: nullable Object */;
3807 short int var1
/* : Bool */;
3810 short int var2
/* : Bool */;
3811 short int var3
/* : Bool */;
3812 long var4
/* : Int */;
3813 long var5
/* : Int */;
3814 short int var6
/* : Bool */;
3815 short int var8
/* : Bool */;
3816 short int var9
/* : Bool */;
3817 long var10
/* : Int */;
3818 long var_my_length
/* var my_length: Int */;
3819 long var11
/* : Int */;
3820 short int var12
/* : Bool */;
3821 short int var14
/* : Bool */;
3822 short int var15
/* : Bool */;
3823 short int var16
/* : Bool */;
3824 long var17
/* : Int */;
3825 long var_my_index
/* var my_index: Int */;
3826 long var18
/* : Int */;
3827 long var_its_index
/* var its_index: Int */;
3828 long var19
/* : Int */;
3829 long var21
/* : Int */;
3830 long var_last_iteration
/* var last_iteration: Int */;
3831 char* var22
/* : NativeString */;
3832 char* var_itsitems
/* var itsitems: NativeString */;
3833 char* var23
/* : NativeString */;
3834 char* var_myitems
/* var myitems: NativeString */;
3835 short int var24
/* : Bool */;
3836 short int var26
/* : Bool */;
3839 const char* var_class_name
;
3840 short int var29
/* : Bool */;
3841 char var30
/* : Char */;
3842 char var32
/* : Char */;
3843 char var33
/* : Char */;
3844 char var35
/* : Char */;
3845 short int var36
/* : Bool */;
3846 short int var38
/* : Bool */;
3847 short int var39
/* : Bool */;
3848 short int var40
/* : Bool */;
3849 long var41
/* : Int */;
3850 long var42
/* : Int */;
3851 long var44
/* : Int */;
3852 long var45
/* : Int */;
3853 long var46
/* : Int */;
3854 long var48
/* : Int */;
3855 short int var49
/* : Bool */;
3857 /* <var_other:nullable Object> isa String */
3858 cltype
= type_string__String
.color
;
3859 idtype
= type_string__String
.id
;
3860 if(var_other
== NULL
) {
3863 if(cltype
>= var_other
->type
->table_size
) {
3866 var1
= var_other
->type
->type_table
[cltype
] == idtype
;
3876 var4
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:String>*/;
3877 var5
= ((long (*)(val
*))(var_other
->class->vft
[COLOR_kernel__Object__object_id
]))(var_other
) /* object_id on <var_other:nullable Object(String)>*/;
3878 { /* Inline kernel#Int#== (var4,var5) */
3879 var8
= var4
== var5
;
3890 var10
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
3891 var_my_length
= var10
;
3892 var11
= var_other
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_other:nullable Object(String)> */
3893 { /* Inline kernel#Int#!= (var11,var_my_length) */
3894 var14
= var11
== var_my_length
;
3898 RET_LABEL13
:(void)0;
3906 var17
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
3907 var_my_index
= var17
;
3908 var18
= var_other
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_other:nullable Object(String)> */
3909 var_its_index
= var18
;
3910 { /* Inline kernel#Int#+ (var_my_index,var_my_length) */
3911 var21
= var_my_index
+ var_my_length
;
3914 RET_LABEL20
:(void)0;
3916 var_last_iteration
= var19
;
3917 var22
= var_other
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_other:nullable Object(String)> */
3918 var_itsitems
= var22
;
3919 var23
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
3920 var_myitems
= var23
;
3922 { /* Inline kernel#Int#< (var_my_index,var_last_iteration) */
3923 /* Covariant cast for argument 0 (i) <var_last_iteration:Int> isa OTHER */
3924 /* <var_last_iteration:Int> isa OTHER */
3925 var26
= 1; /* easy <var_last_iteration:Int> isa OTHER*/
3927 var_class_name
= type_kernel__Int
.name
;
3928 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3929 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
3932 var29
= var_my_index
< var_last_iteration
;
3935 RET_LABEL25
:(void)0;
3938 { /* Inline string#NativeString#[] (var_myitems,var_my_index) */
3939 var32
= var_myitems
[var_my_index
];
3942 RET_LABEL31
:(void)0;
3944 { /* Inline string#NativeString#[] (var_itsitems,var_its_index) */
3945 var35
= var_itsitems
[var_its_index
];
3948 RET_LABEL34
:(void)0;
3950 { /* Inline kernel#Char#!= (var30,var33) */
3951 var38
= var30
== var33
;
3955 RET_LABEL37
:(void)0;
3964 { /* Inline kernel#Int#+ (var_my_index,var41) */
3965 var44
= var_my_index
+ var41
;
3968 RET_LABEL43
:(void)0;
3970 var_my_index
= var42
;
3972 { /* Inline kernel#Int#+ (var_its_index,var45) */
3973 var48
= var_its_index
+ var45
;
3976 RET_LABEL47
:(void)0;
3978 var_its_index
= var46
;
3979 CONTINUE_label
: (void)0;
3981 BREAK_label
: (void)0;
3988 /* method string#String#== for (self: Object, nullable Object): Bool */
3989 short int VIRTUAL_string__String___61d_61d(val
* self
, val
* p0
) {
3990 short int var
/* : Bool */;
3991 short int var1
/* : Bool */;
3992 var1
= string__String___61d_61d(self
, p0
);
3997 /* method string#String#< for (self: String, String): Bool */
3998 short int string__String___60d(val
* self
, val
* p0
) {
3999 short int var
/* : Bool */;
4000 short int var1
/* : Bool */;
4003 const struct type
* type_struct
;
4004 const char* var_class_name
;
4005 val
* var_other
/* var other: String */;
4006 long var2
/* : Int */;
4007 long var3
/* : Int */;
4008 short int var4
/* : Bool */;
4009 short int var6
/* : Bool */;
4010 short int var7
/* : Bool */;
4011 long var8
/* : Int */;
4012 long var_curr_id_self
/* var curr_id_self: Int */;
4013 long var9
/* : Int */;
4014 long var_curr_id_other
/* var curr_id_other: Int */;
4015 char* var10
/* : NativeString */;
4016 char* var_my_items
/* var my_items: NativeString */;
4017 char* var11
/* : NativeString */;
4018 char* var_its_items
/* var its_items: NativeString */;
4019 long var12
/* : Int */;
4020 long var_my_length
/* var my_length: Int */;
4021 long var13
/* : Int */;
4022 long var_its_length
/* var its_length: Int */;
4023 long var14
/* : Int */;
4024 long var16
/* : Int */;
4025 long var_max_iterations
/* var max_iterations: Int */;
4026 short int var17
/* : Bool */;
4027 short int var19
/* : Bool */;
4030 const char* var_class_name22
;
4031 short int var23
/* : Bool */;
4032 char var24
/* : Char */;
4033 char var26
/* : Char */;
4034 char var_my_curr_char
/* var my_curr_char: Char */;
4035 char var27
/* : Char */;
4036 char var29
/* : Char */;
4037 char var_its_curr_char
/* var its_curr_char: Char */;
4038 short int var30
/* : Bool */;
4039 short int var32
/* : Bool */;
4040 short int var33
/* : Bool */;
4041 short int var34
/* : Bool */;
4042 short int var36
/* : Bool */;
4045 const char* var_class_name39
;
4046 short int var40
/* : Bool */;
4047 short int var41
/* : Bool */;
4048 short int var42
/* : Bool */;
4049 long var43
/* : Int */;
4050 long var44
/* : Int */;
4051 long var46
/* : Int */;
4052 long var47
/* : Int */;
4053 long var48
/* : Int */;
4054 long var50
/* : Int */;
4055 short int var51
/* : Bool */;
4056 short int var53
/* : Bool */;
4059 const char* var_class_name56
;
4060 short int var57
/* : Bool */;
4061 /* Covariant cast for argument 0 (other) <p0:String> isa OTHER */
4062 /* <p0:String> isa OTHER */
4063 type_struct
= self
->type
->resolution_table
->types
[COLOR_kernel__Comparable_VTOTHER
];
4064 cltype
= type_struct
->color
;
4065 idtype
= type_struct
->id
;
4066 if(cltype
>= p0
->type
->table_size
) {
4069 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4072 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4073 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4074 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 602);
4078 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:String>*/;
4079 var3
= ((long (*)(val
*))(var_other
->class->vft
[COLOR_kernel__Object__object_id
]))(var_other
) /* object_id on <var_other:String>*/;
4080 { /* Inline kernel#Int#== (var2,var3) */
4081 var6
= var2
== var3
;
4092 var8
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
4093 var_curr_id_self
= var8
;
4094 var9
= var_other
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_other:String> */
4095 var_curr_id_other
= var9
;
4096 var10
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4097 var_my_items
= var10
;
4098 var11
= var_other
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_other:String> */
4099 var_its_items
= var11
;
4100 var12
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
4101 var_my_length
= var12
;
4102 var13
= var_other
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_other:String> */
4103 var_its_length
= var13
;
4104 { /* Inline kernel#Int#+ (var_curr_id_self,var_my_length) */
4105 var16
= var_curr_id_self
+ var_my_length
;
4108 RET_LABEL15
:(void)0;
4110 var_max_iterations
= var14
;
4112 { /* Inline kernel#Int#< (var_curr_id_self,var_max_iterations) */
4113 /* Covariant cast for argument 0 (i) <var_max_iterations:Int> isa OTHER */
4114 /* <var_max_iterations:Int> isa OTHER */
4115 var19
= 1; /* easy <var_max_iterations:Int> isa OTHER*/
4117 var_class_name22
= type_kernel__Int
.name
;
4118 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
4119 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
4122 var23
= var_curr_id_self
< var_max_iterations
;
4125 RET_LABEL18
:(void)0;
4128 { /* Inline string#NativeString#[] (var_my_items,var_curr_id_self) */
4129 var26
= var_my_items
[var_curr_id_self
];
4132 RET_LABEL25
:(void)0;
4134 var_my_curr_char
= var24
;
4135 { /* Inline string#NativeString#[] (var_its_items,var_curr_id_other) */
4136 var29
= var_its_items
[var_curr_id_other
];
4139 RET_LABEL28
:(void)0;
4141 var_its_curr_char
= var27
;
4142 { /* Inline kernel#Char#!= (var_my_curr_char,var_its_curr_char) */
4143 var32
= var_my_curr_char
== var_its_curr_char
;
4147 RET_LABEL31
:(void)0;
4150 { /* Inline kernel#Char#< (var_my_curr_char,var_its_curr_char) */
4151 /* Covariant cast for argument 0 (i) <var_its_curr_char:Char> isa OTHER */
4152 /* <var_its_curr_char:Char> isa OTHER */
4153 var36
= 1; /* easy <var_its_curr_char:Char> isa OTHER*/
4155 var_class_name39
= type_kernel__Char
.name
;
4156 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
4157 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 441);
4160 var40
= var_my_curr_char
< var_its_curr_char
;
4163 RET_LABEL35
:(void)0;
4177 { /* Inline kernel#Int#+ (var_curr_id_self,var43) */
4178 var46
= var_curr_id_self
+ var43
;
4181 RET_LABEL45
:(void)0;
4183 var_curr_id_self
= var44
;
4185 { /* Inline kernel#Int#+ (var_curr_id_other,var47) */
4186 var50
= var_curr_id_other
+ var47
;
4189 RET_LABEL49
:(void)0;
4191 var_curr_id_other
= var48
;
4192 CONTINUE_label
: (void)0;
4194 BREAK_label
: (void)0;
4195 { /* Inline kernel#Int#< (var_my_length,var_its_length) */
4196 /* Covariant cast for argument 0 (i) <var_its_length:Int> isa OTHER */
4197 /* <var_its_length:Int> isa OTHER */
4198 var53
= 1; /* easy <var_its_length:Int> isa OTHER*/
4200 var_class_name56
= type_kernel__Int
.name
;
4201 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56
);
4202 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
4205 var57
= var_my_length
< var_its_length
;
4208 RET_LABEL52
:(void)0;
4215 /* method string#String#< for (self: Object, Comparable): Bool */
4216 short int VIRTUAL_string__String___60d(val
* self
, val
* p0
) {
4217 short int var
/* : Bool */;
4218 short int var1
/* : Bool */;
4219 var1
= string__String___60d(self
, p0
);
4224 /* method string#String#+ for (self: String, String): String */
4225 val
* string__String___43d(val
* self
, val
* p0
) {
4226 val
* var
/* : String */;
4227 val
* var_s
/* var s: String */;
4228 long var1
/* : Int */;
4229 long var_my_length
/* var my_length: Int */;
4230 long var2
/* : Int */;
4231 long var_its_length
/* var its_length: Int */;
4232 long var3
/* : Int */;
4233 long var5
/* : Int */;
4234 long var_total_length
/* var total_length: Int */;
4235 long var6
/* : Int */;
4236 long var8
/* : Int */;
4237 long var9
/* : Int */;
4238 long var10
/* : Int */;
4239 long var12
/* : Int */;
4240 char* var13
/* : NativeString */;
4241 char* var_target_string
/* var target_string: NativeString */;
4242 char* var14
/* : NativeString */;
4243 long var15
/* : Int */;
4244 long var16
/* : Int */;
4245 char* var18
/* : NativeString */;
4246 long var19
/* : Int */;
4247 char var21
/* : Char */;
4248 val
* var23
/* : String */;
4250 var1
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
4251 var_my_length
= var1
;
4252 var2
= var_s
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_s:String> */
4253 var_its_length
= var2
;
4254 { /* Inline kernel#Int#+ (var_my_length,var_its_length) */
4255 var5
= var_my_length
+ var_its_length
;
4260 var_total_length
= var3
;
4261 { /* Inline kernel#Int#+ (var_my_length,var_its_length) */
4262 var8
= var_my_length
+ var_its_length
;
4268 { /* Inline kernel#Int#+ (var6,var9) */
4269 var12
= var6
+ var9
;
4272 RET_LABEL11
:(void)0;
4274 var13
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var10
) /* calloc_string on <self:String>*/;
4275 var_target_string
= var13
;
4276 var14
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4277 var15
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
4279 { /* Inline string#NativeString#copy_to (var14,var_target_string,var_my_length,var15,var16) */
4280 memcpy(var_target_string
+var16
,var14
+var15
,var_my_length
);
4281 RET_LABEL17
:(void)0;
4283 var18
= var_s
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_s:String> */
4284 var19
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:String> */
4285 { /* Inline string#NativeString#copy_to (var18,var_target_string,var_its_length,var19,var_my_length) */
4286 memcpy(var_target_string
+var_my_length
,var18
+var19
,var_its_length
);
4287 RET_LABEL20
:(void)0;
4290 { /* Inline string#NativeString#[]= (var_target_string,var_total_length,var21) */
4291 var_target_string
[var_total_length
]=var21
;
4292 RET_LABEL22
:(void)0;
4294 var23
= string__NativeString__to_s_with_length(var_target_string
, var_total_length
);
4300 /* method string#String#+ for (self: Object, String): String */
4301 val
* VIRTUAL_string__String___43d(val
* self
, val
* p0
) {
4302 val
* var
/* : String */;
4303 val
* var1
/* : String */;
4304 var1
= string__String___43d(self
, p0
);
4309 /* method string#String#* for (self: String, Int): String */
4310 val
* string__String___42d(val
* self
, long p0
) {
4311 val
* var
/* : String */;
4312 long var_i
/* var i: Int */;
4313 long var1
/* : Int */;
4314 short int var2
/* : Bool */;
4315 short int var4
/* : Bool */;
4318 const char* var_class_name
;
4319 short int var5
/* : Bool */;
4320 long var6
/* : Int */;
4321 long var_my_length
/* var my_length: Int */;
4322 long var7
/* : Int */;
4323 long var9
/* : Int */;
4324 long var_final_length
/* var final_length: Int */;
4325 char* var10
/* : NativeString */;
4326 char* var_my_items
/* var my_items: NativeString */;
4327 long var11
/* : Int */;
4328 long var12
/* : Int */;
4329 long var14
/* : Int */;
4330 char* var15
/* : NativeString */;
4331 char* var_target_string
/* var target_string: NativeString */;
4332 char var16
/* : Char */;
4333 long var18
/* : Int */;
4334 long var_current_last
/* var current_last: Int */;
4335 val
* var19
/* : Range[Int] */;
4336 long var20
/* : Int */;
4337 val
* var21
/* : Discrete */;
4338 val
* var22
/* : Discrete */;
4339 val
* var23
/* : Iterator[nullable Object] */;
4340 short int var24
/* : Bool */;
4341 val
* var25
/* : nullable Object */;
4342 long var_iteration
/* var iteration: Int */;
4343 long var26
/* : Int */;
4344 long var27
/* : Int */;
4345 long var29
/* : Int */;
4346 long var31
/* : Int */;
4347 val
* var32
/* : String */;
4350 { /* Inline kernel#Int#>= (var_i,var1) */
4351 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
4352 /* <var1:Int> isa OTHER */
4353 var4
= 1; /* easy <var1:Int> isa OTHER*/
4355 var_class_name
= type_kernel__Int
.name
;
4356 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4357 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
4360 var5
= var_i
>= var1
;
4366 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4367 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 666);
4370 var6
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
4371 var_my_length
= var6
;
4372 { /* Inline kernel#Int#* (var_my_length,var_i) */
4373 var9
= var_my_length
* var_i
;
4378 var_final_length
= var7
;
4379 var10
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4380 var_my_items
= var10
;
4382 { /* Inline kernel#Int#+ (var_final_length,var11) */
4383 var14
= var_final_length
+ var11
;
4386 RET_LABEL13
:(void)0;
4388 var15
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var12
) /* calloc_string on <self:String>*/;
4389 var_target_string
= var15
;
4391 { /* Inline string#NativeString#[]= (var_target_string,var_final_length,var16) */
4392 var_target_string
[var_final_length
]=var16
;
4393 RET_LABEL17
:(void)0;
4396 var_current_last
= var18
;
4397 var19
= NEW_range__Range(&type_range__Rangekernel__Int
);
4399 var21
= BOX_kernel__Int(var20
); /* autobox from Int to Discrete */
4400 var22
= BOX_kernel__Int(var_i
); /* autobox from Int to Discrete */
4401 ((void (*)(val
*, val
*, val
*))(var19
->class->vft
[COLOR_range__Range__init
]))(var19
, var21
, var22
) /* init on <var19:Range[Int]>*/;
4402 var23
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var19
) /* iterator on <var19:Range[Int]>*/;
4404 var24
= ((short int (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var23
) /* is_ok on <var23:Iterator[nullable Object]>*/;
4406 var25
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var23
) /* item on <var23:Iterator[nullable Object]>*/;
4407 var26
= ((struct instance_kernel__Int
*)var25
)->value
; /* autounbox from nullable Object to Int */;
4408 var_iteration
= var26
;
4410 { /* Inline string#NativeString#copy_to (var_my_items,var_target_string,var_my_length,var27,var_current_last) */
4411 memcpy(var_target_string
+var_current_last
,var_my_items
+var27
,var_my_length
);
4412 RET_LABEL28
:(void)0;
4414 { /* Inline kernel#Int#+ (var_current_last,var_my_length) */
4415 var31
= var_current_last
+ var_my_length
;
4418 RET_LABEL30
:(void)0;
4420 var_current_last
= var29
;
4421 CONTINUE_label
: (void)0;
4422 ((void (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var23
) /* next on <var23:Iterator[nullable Object]>*/;
4424 BREAK_label
: (void)0;
4425 var32
= string__NativeString__to_s_with_length(var_target_string
, var_final_length
);
4431 /* method string#String#* for (self: Object, Int): String */
4432 val
* VIRTUAL_string__String___42d(val
* self
, long p0
) {
4433 val
* var
/* : String */;
4434 val
* var1
/* : String */;
4435 var1
= string__String___42d(self
, p0
);
4440 /* method string#String#to_s for (self: String): String */
4441 val
* string__String__to_s(val
* self
) {
4442 val
* var
/* : String */;
4448 /* method string#String#to_s for (self: Object): String */
4449 val
* VIRTUAL_string__String__to_s(val
* self
) {
4450 val
* var
/* : String */;
4451 val
* var1
/* : String */;
4452 var1
= string__String__to_s(self
);
4457 /* method string#String#hash for (self: String): Int */
4458 long string__String__hash(val
* self
) {
4459 long var
/* : Int */;
4460 long var1
/* : Int */;
4461 long var_h
/* var h: Int */;
4462 long var2
/* : Int */;
4463 long var3
/* : Int */;
4464 long var4
/* : Int */;
4465 long var6
/* : Int */;
4466 long var_i
/* var i: Int */;
4467 char* var7
/* : NativeString */;
4468 char* var_myitems
/* var myitems: NativeString */;
4469 long var8
/* : Int */;
4470 long var_strStart
/* var strStart: Int */;
4471 long var9
/* : Int */;
4472 long var11
/* : Int */;
4473 short int var12
/* : Bool */;
4474 short int var14
/* : Bool */;
4477 const char* var_class_name
;
4478 short int var15
/* : Bool */;
4479 long var16
/* : Int */;
4480 long var17
/* : Int */;
4481 long var19
/* : Int */;
4482 long var20
/* : Int */;
4483 long var22
/* : Int */;
4484 char* var23
/* : NativeString */;
4485 char var24
/* : Char */;
4486 char var26
/* : Char */;
4487 long var27
/* : Int */;
4488 long var29
/* : Int */;
4489 long var30
/* : Int */;
4490 long var32
/* : Int */;
4491 long var33
/* : Int */;
4492 long var34
/* : Int */;
4493 long var36
/* : Int */;
4496 var2
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:String> */
4498 { /* Inline kernel#Int#- (var2,var3) */
4505 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4507 var8
= self
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <self:String> */
4508 var_strStart
= var8
;
4509 { /* Inline kernel#Int#+ (var_i,var_strStart) */
4510 var11
= var_i
+ var_strStart
;
4513 RET_LABEL10
:(void)0;
4517 { /* Inline kernel#Int#>= (var_i,var_strStart) */
4518 /* Covariant cast for argument 0 (i) <var_strStart:Int> isa OTHER */
4519 /* <var_strStart:Int> isa OTHER */
4520 var14
= 1; /* easy <var_strStart:Int> isa OTHER*/
4522 var_class_name
= type_kernel__Int
.name
;
4523 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4524 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
4527 var15
= var_i
>= var_strStart
;
4530 RET_LABEL13
:(void)0;
4534 { /* Inline kernel#Int#* (var_h,var16) */
4535 var19
= var_h
* var16
;
4538 RET_LABEL18
:(void)0;
4540 { /* Inline kernel#Int#+ (var17,var_h) */
4541 var22
= var17
+ var_h
;
4544 RET_LABEL21
:(void)0;
4546 var23
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:String> */
4547 { /* Inline string#NativeString#[] (var23,var_i) */
4548 var26
= var23
[var_i
];
4551 RET_LABEL25
:(void)0;
4553 { /* Inline kernel#Char#ascii (var24) */
4554 var29
= (unsigned char)var24
;
4557 RET_LABEL28
:(void)0;
4559 { /* Inline kernel#Int#+ (var20,var27) */
4560 var32
= var20
+ var27
;
4563 RET_LABEL31
:(void)0;
4567 { /* Inline kernel#Int#- (var_i,var33) */
4568 var36
= var_i
- var33
;
4571 RET_LABEL35
:(void)0;
4574 CONTINUE_label
: (void)0;
4576 BREAK_label
: (void)0;
4582 /* method string#String#hash for (self: Object): Int */
4583 long VIRTUAL_string__String__hash(val
* self
) {
4584 long var
/* : Int */;
4585 long var1
/* : Int */;
4586 var1
= string__String__hash(self
);
4591 /* method string#FlatStringIterator#target for (self: FlatStringIterator): String */
4592 val
* string__FlatStringIterator__target(val
* self
) {
4593 val
* var
/* : String */;
4594 val
* var1
/* : String */;
4595 var1
= self
->attrs
[COLOR_string__FlatStringIterator___64dtarget
].val
; /* @target on <self:FlatStringIterator> */
4597 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @target");
4598 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 713);
4605 /* method string#FlatStringIterator#target for (self: Object): String */
4606 val
* VIRTUAL_string__FlatStringIterator__target(val
* self
) {
4607 val
* var
/* : String */;
4608 val
* var1
/* : String */;
4609 var1
= string__FlatStringIterator__target(self
);
4614 /* method string#FlatStringIterator#target= for (self: FlatStringIterator, String) */
4615 void string__FlatStringIterator__target_61d(val
* self
, val
* p0
) {
4616 self
->attrs
[COLOR_string__FlatStringIterator___64dtarget
].val
= p0
; /* @target on <self:FlatStringIterator> */
4619 /* method string#FlatStringIterator#target= for (self: Object, String) */
4620 void VIRTUAL_string__FlatStringIterator__target_61d(val
* self
, val
* p0
) {
4621 string__FlatStringIterator__target_61d(self
, p0
);
4624 /* method string#FlatStringIterator#target_items for (self: FlatStringIterator): NativeString */
4625 char* string__FlatStringIterator__target_items(val
* self
) {
4626 char* var
/* : NativeString */;
4627 char* var1
/* : NativeString */;
4628 var1
= self
->attrs
[COLOR_string__FlatStringIterator___64dtarget_items
].str
; /* @target_items on <self:FlatStringIterator> */
4633 /* method string#FlatStringIterator#target_items for (self: Object): NativeString */
4634 char* VIRTUAL_string__FlatStringIterator__target_items(val
* self
) {
4635 char* var
/* : NativeString */;
4636 char* var1
/* : NativeString */;
4637 var1
= string__FlatStringIterator__target_items(self
);
4642 /* method string#FlatStringIterator#target_items= for (self: FlatStringIterator, NativeString) */
4643 void string__FlatStringIterator__target_items_61d(val
* self
, char* p0
) {
4644 self
->attrs
[COLOR_string__FlatStringIterator___64dtarget_items
].str
= p0
; /* @target_items on <self:FlatStringIterator> */
4647 /* method string#FlatStringIterator#target_items= for (self: Object, NativeString) */
4648 void VIRTUAL_string__FlatStringIterator__target_items_61d(val
* self
, char* p0
) {
4649 string__FlatStringIterator__target_items_61d(self
, p0
);
4652 /* method string#FlatStringIterator#curr_pos for (self: FlatStringIterator): Int */
4653 long string__FlatStringIterator__curr_pos(val
* self
) {
4654 long var
/* : Int */;
4655 long var1
/* : Int */;
4656 var1
= self
->attrs
[COLOR_string__FlatStringIterator___64dcurr_pos
].l
; /* @curr_pos on <self:FlatStringIterator> */
4661 /* method string#FlatStringIterator#curr_pos for (self: Object): Int */
4662 long VIRTUAL_string__FlatStringIterator__curr_pos(val
* self
) {
4663 long var
/* : Int */;
4664 long var1
/* : Int */;
4665 var1
= string__FlatStringIterator__curr_pos(self
);
4670 /* method string#FlatStringIterator#curr_pos= for (self: FlatStringIterator, Int) */
4671 void string__FlatStringIterator__curr_pos_61d(val
* self
, long p0
) {
4672 self
->attrs
[COLOR_string__FlatStringIterator___64dcurr_pos
].l
= p0
; /* @curr_pos on <self:FlatStringIterator> */
4675 /* method string#FlatStringIterator#curr_pos= for (self: Object, Int) */
4676 void VIRTUAL_string__FlatStringIterator__curr_pos_61d(val
* self
, long p0
) {
4677 string__FlatStringIterator__curr_pos_61d(self
, p0
);
4680 /* method string#FlatStringIterator#with_pos for (self: FlatStringIterator, String, Int) */
4681 void string__FlatStringIterator__with_pos(val
* self
, val
* p0
, long p1
) {
4682 val
* var_tgt
/* var tgt: String */;
4683 long var_pos
/* var pos: Int */;
4684 char* var
/* : NativeString */;
4685 val
* var1
/* : String */;
4686 long var2
/* : Int */;
4687 long var3
/* : Int */;
4688 long var5
/* : Int */;
4691 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_string__FlatStringIterator__target_61d
]))(self
, var_tgt
) /* target= on <self:FlatStringIterator>*/;
4692 var
= ((char* (*)(val
*))(var_tgt
->class->vft
[COLOR_string__AbstractString__items
]))(var_tgt
) /* items on <var_tgt:String>*/;
4693 ((void (*)(val
*, char*))(self
->class->vft
[COLOR_string__FlatStringIterator__target_items_61d
]))(self
, var
) /* target_items= on <self:FlatStringIterator>*/;
4694 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__FlatStringIterator__target
]))(self
) /* target on <self:FlatStringIterator>*/;
4695 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_string__String__index_from
]))(var1
) /* index_from on <var1:String>*/;
4696 { /* Inline kernel#Int#+ (var_pos,var2) */
4697 var5
= var_pos
+ var2
;
4702 ((void (*)(val
*, long))(self
->class->vft
[COLOR_string__FlatStringIterator__curr_pos_61d
]))(self
, var3
) /* curr_pos= on <self:FlatStringIterator>*/;
4705 /* method string#FlatStringIterator#with_pos for (self: Object, String, Int) */
4706 void VIRTUAL_string__FlatStringIterator__with_pos(val
* self
, val
* p0
, long p1
) {
4707 string__FlatStringIterator__with_pos(self
, p0
, p1
);
4710 /* method string#FlatStringIterator#is_ok for (self: FlatStringIterator): Bool */
4711 short int string__FlatStringIterator__is_ok(val
* self
) {
4712 short int var
/* : Bool */;
4713 long var1
/* : Int */;
4714 val
* var2
/* : String */;
4715 long var3
/* : Int */;
4716 short int var4
/* : Bool */;
4717 short int var6
/* : Bool */;
4720 const char* var_class_name
;
4721 short int var7
/* : Bool */;
4722 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__FlatStringIterator__curr_pos
]))(self
) /* curr_pos on <self:FlatStringIterator>*/;
4723 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__FlatStringIterator__target
]))(self
) /* target on <self:FlatStringIterator>*/;
4724 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_string__String__index_to
]))(var2
) /* index_to on <var2:String>*/;
4725 { /* Inline kernel#Int#<= (var1,var3) */
4726 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
4727 /* <var3:Int> isa OTHER */
4728 var6
= 1; /* easy <var3:Int> isa OTHER*/
4730 var_class_name
= type_kernel__Int
.name
;
4731 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4732 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
4735 var7
= var1
<= var3
;
4745 /* method string#FlatStringIterator#is_ok for (self: Object): Bool */
4746 short int VIRTUAL_string__FlatStringIterator__is_ok(val
* self
) {
4747 short int var
/* : Bool */;
4748 short int var1
/* : Bool */;
4749 var1
= string__FlatStringIterator__is_ok(self
);
4754 /* method string#FlatStringIterator#item for (self: FlatStringIterator): Char */
4755 char string__FlatStringIterator__item(val
* self
) {
4756 char var
/* : Char */;
4757 char* var1
/* : NativeString */;
4758 long var2
/* : Int */;
4759 char var3
/* : Char */;
4760 char var5
/* : Char */;
4761 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__FlatStringIterator__target_items
]))(self
) /* target_items on <self:FlatStringIterator>*/;
4762 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__FlatStringIterator__curr_pos
]))(self
) /* curr_pos on <self:FlatStringIterator>*/;
4763 { /* Inline string#NativeString#[] (var1,var2) */
4774 /* method string#FlatStringIterator#item for (self: Object): nullable Object */
4775 val
* VIRTUAL_string__FlatStringIterator__item(val
* self
) {
4776 val
* var
/* : nullable Object */;
4777 char var1
/* : Char */;
4778 val
* var2
/* : nullable Object */;
4779 var1
= string__FlatStringIterator__item(self
);
4780 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
4785 /* method string#FlatStringIterator#next for (self: FlatStringIterator) */
4786 void string__FlatStringIterator__next(val
* self
) {
4787 val
* var_
/* var : FlatStringIterator */;
4788 long var
/* : Int */;
4789 long var1
/* : Int */;
4790 long var2
/* : Int */;
4791 long var4
/* : Int */;
4793 var
= ((long (*)(val
*))(var_
->class->vft
[COLOR_string__FlatStringIterator__curr_pos
]))(var_
) /* curr_pos on <var_:FlatStringIterator>*/;
4795 { /* Inline kernel#Int#+ (var,var1) */
4801 ((void (*)(val
*, long))(var_
->class->vft
[COLOR_string__FlatStringIterator__curr_pos_61d
]))(var_
, var2
) /* curr_pos= on <var_:FlatStringIterator>*/;
4804 /* method string#FlatStringIterator#next for (self: Object) */
4805 void VIRTUAL_string__FlatStringIterator__next(val
* self
) {
4806 string__FlatStringIterator__next(self
);
4809 /* method string#FlatStringIterator#index for (self: FlatStringIterator): Int */
4810 long string__FlatStringIterator__index(val
* self
) {
4811 long var
/* : Int */;
4812 long var1
/* : Int */;
4813 val
* var2
/* : String */;
4814 long var3
/* : Int */;
4815 long var4
/* : Int */;
4816 long var6
/* : Int */;
4817 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__FlatStringIterator__curr_pos
]))(self
) /* curr_pos on <self:FlatStringIterator>*/;
4818 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__FlatStringIterator__target
]))(self
) /* target on <self:FlatStringIterator>*/;
4819 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_string__String__index_from
]))(var2
) /* index_from on <var2:String>*/;
4820 { /* Inline kernel#Int#- (var1,var3) */
4831 /* method string#FlatStringIterator#index for (self: Object): Int */
4832 long VIRTUAL_string__FlatStringIterator__index(val
* self
) {
4833 long var
/* : Int */;
4834 long var1
/* : Int */;
4835 var1
= string__FlatStringIterator__index(self
);
4840 /* method string#FlatStringCharView#[] for (self: FlatStringCharView, Int): Char */
4841 char string__FlatStringCharView___91d_93d(val
* self
, long p0
) {
4842 char var
/* : Char */;
4843 long var_index
/* var index: Int */;
4844 long var1
/* : Int */;
4845 short int var2
/* : Bool */;
4846 short int var4
/* : Bool */;
4849 const char* var_class_name
;
4850 short int var5
/* : Bool */;
4851 val
* var6
/* : AbstractString */;
4852 long var7
/* : Int */;
4853 long var8
/* : Int */;
4854 long var10
/* : Int */;
4855 val
* var11
/* : AbstractString */;
4856 long var12
/* : Int */;
4857 short int var13
/* : Bool */;
4858 short int var15
/* : Bool */;
4861 const char* var_class_name18
;
4862 short int var19
/* : Bool */;
4863 val
* var20
/* : AbstractString */;
4864 char* var21
/* : NativeString */;
4865 val
* var22
/* : AbstractString */;
4866 long var23
/* : Int */;
4867 long var24
/* : Int */;
4868 long var26
/* : Int */;
4869 char var27
/* : Char */;
4870 char var29
/* : Char */;
4873 { /* Inline kernel#Int#>= (var_index,var1) */
4874 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
4875 /* <var1:Int> isa OTHER */
4876 var4
= 1; /* easy <var1:Int> isa OTHER*/
4878 var_class_name
= type_kernel__Int
.name
;
4879 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4880 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
4883 var5
= var_index
>= var1
;
4889 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4890 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 745);
4893 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatStringCharView>*/;
4894 var7
= var6
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var6:AbstractString(String)> */
4895 { /* Inline kernel#Int#+ (var_index,var7) */
4896 var10
= var_index
+ var7
;
4901 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatStringCharView>*/;
4902 var12
= var11
->attrs
[COLOR_string__String___index_to
].l
; /* _index_to on <var11:AbstractString(String)> */
4903 { /* Inline kernel#Int#<= (var8,var12) */
4904 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
4905 /* <var12:Int> isa OTHER */
4906 var15
= 1; /* easy <var12:Int> isa OTHER*/
4908 var_class_name18
= type_kernel__Int
.name
;
4909 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
4910 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
4913 var19
= var8
<= var12
;
4916 RET_LABEL14
:(void)0;
4919 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4920 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 746);
4923 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatStringCharView>*/;
4924 var21
= var20
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var20:AbstractString(String)> */
4925 var22
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatStringCharView>*/;
4926 var23
= var22
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var22:AbstractString(String)> */
4927 { /* Inline kernel#Int#+ (var_index,var23) */
4928 var26
= var_index
+ var23
;
4931 RET_LABEL25
:(void)0;
4933 { /* Inline string#NativeString#[] (var21,var24) */
4934 var29
= var21
[var24
];
4937 RET_LABEL28
:(void)0;
4944 /* method string#FlatStringCharView#[] for (self: Object, Int): nullable Object */
4945 val
* VIRTUAL_string__FlatStringCharView___91d_93d(val
* self
, long p0
) {
4946 val
* var
/* : nullable Object */;
4947 char var1
/* : Char */;
4948 val
* var2
/* : nullable Object */;
4949 var1
= string__FlatStringCharView___91d_93d(self
, p0
);
4950 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
4955 /* method string#FlatStringCharView#iterator for (self: FlatStringCharView): IndexedIterator[Char] */
4956 val
* string__FlatStringCharView__iterator(val
* self
) {
4957 val
* var
/* : IndexedIterator[Char] */;
4958 val
* var1
/* : FlatStringIterator */;
4959 val
* var2
/* : AbstractString */;
4960 long var3
/* : Int */;
4961 var1
= NEW_string__FlatStringIterator(&type_string__FlatStringIterator
);
4962 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatStringCharView>*/;
4964 ((void (*)(val
*, val
*, long))(var1
->class->vft
[COLOR_string__FlatStringIterator__with_pos
]))(var1
, var2
, var3
) /* with_pos on <var1:FlatStringIterator>*/;
4970 /* method string#FlatStringCharView#iterator for (self: Object): Iterator[nullable Object] */
4971 val
* VIRTUAL_string__FlatStringCharView__iterator(val
* self
) {
4972 val
* var
/* : Iterator[nullable Object] */;
4973 val
* var1
/* : IndexedIterator[Char] */;
4974 var1
= string__FlatStringCharView__iterator(self
);
4979 /* method string#Buffer#chars for (self: Buffer): BufferCharView */
4980 val
* string__Buffer__chars(val
* self
) {
4981 val
* var
/* : BufferCharView */;
4982 val
* var1
/* : BufferCharView */;
4983 var1
= self
->attrs
[COLOR_string__Buffer___64dchars
].val
; /* @chars on <self:Buffer> */
4985 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @chars");
4986 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 763);
4993 /* method string#Buffer#chars for (self: Object): StringCharView */
4994 val
* VIRTUAL_string__Buffer__chars(val
* self
) {
4995 val
* var
/* : StringCharView */;
4996 val
* var1
/* : BufferCharView */;
4997 var1
= string__Buffer__chars(self
);
5002 /* method string#Buffer#chars= for (self: Buffer, BufferCharView) */
5003 void string__Buffer__chars_61d(val
* self
, val
* p0
) {
5004 self
->attrs
[COLOR_string__Buffer___64dchars
].val
= p0
; /* @chars on <self:Buffer> */
5007 /* method string#Buffer#chars= for (self: Object, BufferCharView) */
5008 void VIRTUAL_string__Buffer__chars_61d(val
* self
, val
* p0
) {
5009 string__Buffer__chars_61d(self
, p0
);
5012 /* method string#Buffer#[]= for (self: Buffer, Int, Char) */
5013 void string__Buffer___91d_93d_61d(val
* self
, long p0
, char p1
) {
5014 short int var
/* : Bool */;
5017 const char* var_class_name
;
5018 long var_index
/* var index: Int */;
5019 char var_item
/* var item: Char */;
5020 long var1
/* : Int */;
5021 short int var2
/* : Bool */;
5022 short int var4
/* : Bool */;
5023 val
* var5
/* : nullable Object */;
5024 short int var6
/* : Bool */;
5025 long var7
/* : Int */;
5026 short int var8
/* : Bool */;
5027 short int var10
/* : Bool */;
5030 const char* var_class_name13
;
5031 short int var14
/* : Bool */;
5032 short int var_
/* var : Bool */;
5033 long var15
/* : Int */;
5034 short int var16
/* : Bool */;
5035 short int var18
/* : Bool */;
5038 const char* var_class_name21
;
5039 short int var22
/* : Bool */;
5040 char* var23
/* : NativeString */;
5041 /* Covariant cast for argument 1 (item) <p1:Char> isa Sequence#0 */
5042 /* <p1:Char> isa Sequence#0 */
5043 var
= 1; /* easy <p1:Char> isa Sequence#0*/
5045 var_class_name
= type_kernel__Char
.name
;
5046 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
5047 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 765);
5052 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5053 { /* Inline kernel#Int#== (var_index,var1) */
5054 var4
= var_index
== var1
;
5060 var5
= BOX_kernel__Char(var_item
); /* autobox from Char to nullable Object */
5061 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(self
, var5
) /* add on <self:Buffer>*/;
5066 { /* Inline kernel#Int#>= (var_index,var7) */
5067 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
5068 /* <var7:Int> isa OTHER */
5069 var10
= 1; /* easy <var7:Int> isa OTHER*/
5071 var_class_name13
= type_kernel__Int
.name
;
5072 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
5073 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
5076 var14
= var_index
>= var7
;
5083 var15
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5084 { /* Inline kernel#Int#< (var_index,var15) */
5085 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
5086 /* <var15:Int> isa OTHER */
5087 var18
= 1; /* easy <var15:Int> isa OTHER*/
5089 var_class_name21
= type_kernel__Int
.name
;
5090 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
5091 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
5094 var22
= var_index
< var15
;
5097 RET_LABEL17
:(void)0;
5104 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5105 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 771);
5108 var23
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5109 { /* Inline string#NativeString#[]= (var23,var_index,var_item) */
5110 var23
[var_index
]=var_item
;
5111 RET_LABEL24
:(void)0;
5115 /* method string#Buffer#[]= for (self: Object, Int, nullable Object) */
5116 void VIRTUAL_string__Buffer___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
5117 char var
/* : Char */;
5118 var
= ((struct instance_kernel__Char
*)p1
)->value
; /* autounbox from nullable Object to Char */;
5119 string__Buffer___91d_93d_61d(self
, p0
, var
);
5122 /* method string#Buffer#add for (self: Buffer, Char) */
5123 void string__Buffer__add(val
* self
, char p0
) {
5124 short int var
/* : Bool */;
5127 const char* var_class_name
;
5128 char var_c
/* var c: Char */;
5129 long var1
/* : Int */;
5130 long var2
/* : Int */;
5131 short int var3
/* : Bool */;
5132 short int var5
/* : Bool */;
5135 const char* var_class_name8
;
5136 short int var9
/* : Bool */;
5137 long var10
/* : Int */;
5138 long var11
/* : Int */;
5139 long var12
/* : Int */;
5140 long var14
/* : Int */;
5141 char* var15
/* : NativeString */;
5142 long var16
/* : Int */;
5143 val
* var_
/* var : Buffer */;
5144 long var18
/* : Int */;
5145 long var19
/* : Int */;
5146 long var20
/* : Int */;
5147 long var22
/* : Int */;
5148 /* Covariant cast for argument 0 (c) <p0:Char> isa SimpleCollection#0 */
5149 /* <p0:Char> isa SimpleCollection#0 */
5150 var
= 1; /* easy <p0:Char> isa SimpleCollection#0*/
5152 var_class_name
= type_kernel__Char
.name
;
5153 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name
);
5154 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 775);
5158 var1
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
5159 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5160 { /* Inline kernel#Int#<= (var1,var2) */
5161 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
5162 /* <var2:Int> isa OTHER */
5163 var5
= 1; /* easy <var2:Int> isa OTHER*/
5165 var_class_name8
= type_kernel__Int
.name
;
5166 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
5167 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
5170 var9
= var1
<= var2
;
5176 var10
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5178 { /* Inline kernel#Int#+ (var10,var11) */
5179 var14
= var10
+ var11
;
5182 RET_LABEL13
:(void)0;
5184 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var12
) /* enlarge on <self:Buffer>*/;
5187 var15
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5188 var16
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5189 { /* Inline string#NativeString#[]= (var15,var16,var_c) */
5191 RET_LABEL17
:(void)0;
5194 var18
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:Buffer> */
5196 { /* Inline kernel#Int#+ (var18,var19) */
5197 var22
= var18
+ var19
;
5200 RET_LABEL21
:(void)0;
5202 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var20
; /* _length on <var_:Buffer> */
5205 /* method string#Buffer#add for (self: Object, nullable Object) */
5206 void VIRTUAL_string__Buffer__add(val
* self
, val
* p0
) {
5207 char var
/* : Char */;
5208 var
= ((struct instance_kernel__Char
*)p0
)->value
; /* autounbox from nullable Object to Char */;
5209 string__Buffer__add(self
, var
);
5212 /* method string#Buffer#enlarge for (self: Buffer, Int) */
5213 void string__Buffer__enlarge(val
* self
, long p0
) {
5214 long var_cap
/* var cap: Int */;
5215 long var
/* : Int */;
5216 long var_c
/* var c: Int */;
5217 short int var1
/* : Bool */;
5218 short int var3
/* : Bool */;
5221 const char* var_class_name
;
5222 short int var4
/* : Bool */;
5223 short int var5
/* : Bool */;
5224 short int var7
/* : Bool */;
5227 const char* var_class_name10
;
5228 short int var11
/* : Bool */;
5229 long var12
/* : Int */;
5230 long var13
/* : Int */;
5231 long var15
/* : Int */;
5232 long var16
/* : Int */;
5233 long var17
/* : Int */;
5234 long var19
/* : Int */;
5235 long var20
/* : Int */;
5236 long var21
/* : Int */;
5237 long var23
/* : Int */;
5238 char* var24
/* : NativeString */;
5239 char* var_a
/* var a: NativeString */;
5240 char* var25
/* : NativeString */;
5241 long var26
/* : Int */;
5242 long var27
/* : Int */;
5243 long var28
/* : Int */;
5245 var
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
5247 { /* Inline kernel#Int#<= (var_cap,var_c) */
5248 /* Covariant cast for argument 0 (i) <var_c:Int> isa OTHER */
5249 /* <var_c:Int> isa OTHER */
5250 var3
= 1; /* easy <var_c:Int> isa OTHER*/
5252 var_class_name
= type_kernel__Int
.name
;
5253 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5254 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
5257 var4
= var_cap
<= var_c
;
5267 { /* Inline kernel#Int#<= (var_c,var_cap) */
5268 /* Covariant cast for argument 0 (i) <var_cap:Int> isa OTHER */
5269 /* <var_cap:Int> isa OTHER */
5270 var7
= 1; /* easy <var_cap:Int> isa OTHER*/
5272 var_class_name10
= type_kernel__Int
.name
;
5273 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
5274 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
5277 var11
= var_c
<= var_cap
;
5284 { /* Inline kernel#Int#* (var_c,var12) */
5285 var15
= var_c
* var12
;
5288 RET_LABEL14
:(void)0;
5291 { /* Inline kernel#Int#+ (var13,var16) */
5292 var19
= var13
+ var16
;
5295 RET_LABEL18
:(void)0;
5298 CONTINUE_label
: (void)0;
5300 BREAK_label
: (void)0;
5302 { /* Inline kernel#Int#+ (var_c,var20) */
5303 var23
= var_c
+ var20
;
5306 RET_LABEL22
:(void)0;
5308 var24
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var21
) /* calloc_string on <self:Buffer>*/;
5310 var25
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5311 var26
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5314 { /* Inline string#NativeString#copy_to (var25,var_a,var26,var27,var28) */
5315 memcpy(var_a
+var28
,var25
+var27
,var26
);
5316 RET_LABEL29
:(void)0;
5318 self
->attrs
[COLOR_string__AbstractString___items
].str
= var_a
; /* _items on <self:Buffer> */
5319 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var_c
; /* _capacity on <self:Buffer> */
5322 /* method string#Buffer#enlarge for (self: Object, Int) */
5323 void VIRTUAL_string__Buffer__enlarge(val
* self
, long p0
) {
5324 string__Buffer__enlarge(self
, p0
);
5327 /* method string#Buffer#append for (self: Buffer, Collection[Char]) */
5328 void string__Buffer__append(val
* self
, val
* p0
) {
5329 short int var
/* : Bool */;
5332 const char* var_class_name
;
5333 val
* var_s
/* var s: Collection[Char] */;
5334 short int var1
/* : Bool */;
5337 long var4
/* : Int */;
5338 long var_sl
/* var sl: Int */;
5339 long var5
/* : Int */;
5340 long var6
/* : Int */;
5341 long var7
/* : Int */;
5342 long var9
/* : Int */;
5343 short int var10
/* : Bool */;
5344 short int var12
/* : Bool */;
5347 const char* var_class_name15
;
5348 short int var16
/* : Bool */;
5349 long var17
/* : Int */;
5350 long var18
/* : Int */;
5351 long var20
/* : Int */;
5352 char* var21
/* : NativeString */;
5353 char* var22
/* : NativeString */;
5354 long var23
/* : Int */;
5355 long var24
/* : Int */;
5356 val
* var_
/* var : Buffer */;
5357 long var26
/* : Int */;
5358 long var27
/* : Int */;
5359 long var29
/* : Int */;
5360 /* Covariant cast for argument 0 (s) <p0:Collection[Char]> isa Collection[Sequence#0] */
5361 /* <p0:Collection[Char]> isa Collection[Sequence#0] */
5362 var
= 1; /* easy <p0:Collection[Char]> isa Collection[Sequence#0]*/
5364 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5365 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[Sequence#0]", var_class_name
);
5366 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 793);
5370 /* <var_s:Collection[Char]> isa String */
5371 cltype2
= type_string__String
.color
;
5372 idtype3
= type_string__String
.id
;
5373 if(cltype2
>= var_s
->type
->table_size
) {
5376 var1
= var_s
->type
->type_table
[cltype2
] == idtype3
;
5379 var4
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:Collection[Char](String)>*/;
5381 var5
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
5382 var6
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
5383 { /* Inline kernel#Int#+ (var6,var_sl) */
5384 var9
= var6
+ var_sl
;
5389 { /* Inline kernel#Int#< (var5,var7) */
5390 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
5391 /* <var7:Int> isa OTHER */
5392 var12
= 1; /* easy <var7:Int> isa OTHER*/
5394 var_class_name15
= type_kernel__Int
.name
;
5395 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
5396 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
5399 var16
= var5
< var7
;
5402 RET_LABEL11
:(void)0;
5405 var17
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
5406 { /* Inline kernel#Int#+ (var17,var_sl) */
5407 var20
= var17
+ var_sl
;
5410 RET_LABEL19
:(void)0;
5412 ((void (*)(val
*, long))(self
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(self
, var18
) /* enlarge on <self:Buffer>*/;
5415 var21
= ((char* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__items
]))(var_s
) /* items on <var_s:Collection[Char](String)>*/;
5416 var22
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5417 var23
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:Collection[Char](String)> */
5418 var24
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
5419 { /* Inline string#NativeString#copy_to (var21,var22,var_sl,var23,var24) */
5420 memcpy(var22
+var24
,var21
+var23
,var_sl
);
5421 RET_LABEL25
:(void)0;
5424 var26
= var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <var_:Buffer> */
5425 { /* Inline kernel#Int#+ (var26,var_sl) */
5426 var29
= var26
+ var_sl
;
5429 RET_LABEL28
:(void)0;
5431 var_
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var27
; /* _length on <var_:Buffer> */
5433 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_string__Buffer__append
]))(self
, p0
) /* append on <self:Buffer>*/;
5437 /* method string#Buffer#append for (self: Object, Collection[nullable Object]) */
5438 void VIRTUAL_string__Buffer__append(val
* self
, val
* p0
) {
5439 string__Buffer__append(self
, p0
);
5442 /* method string#Buffer#to_s for (self: Buffer): String */
5443 val
* string__Buffer__to_s(val
* self
) {
5444 val
* var
/* : String */;
5445 long var1
/* : Int */;
5446 long var_l
/* var l: Int */;
5447 long var2
/* : Int */;
5448 long var3
/* : Int */;
5449 long var5
/* : Int */;
5450 char* var6
/* : NativeString */;
5451 char* var_a
/* var a: NativeString */;
5452 char* var7
/* : NativeString */;
5453 long var8
/* : Int */;
5454 long var9
/* : Int */;
5455 long var11
/* : Int */;
5456 char var12
/* : Char */;
5457 long var14
/* : Int */;
5458 val
* var15
/* : String */;
5459 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5462 { /* Inline kernel#Int#+ (var_l,var2) */
5463 var5
= var_l
+ var2
;
5468 var6
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var3
) /* calloc_string on <self:Buffer>*/;
5470 var7
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5473 { /* Inline string#NativeString#copy_to (var7,var_a,var_l,var8,var9) */
5474 memcpy(var_a
+var9
,var7
+var8
,var_l
);
5475 RET_LABEL10
:(void)0;
5477 var11
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5479 { /* Inline string#NativeString#[]= (var_a,var11,var12) */
5481 RET_LABEL13
:(void)0;
5483 var14
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5484 var15
= string__NativeString__to_s_with_length(var_a
, var14
);
5490 /* method string#Buffer#to_s for (self: Object): String */
5491 val
* VIRTUAL_string__Buffer__to_s(val
* self
) {
5492 val
* var
/* : String */;
5493 val
* var1
/* : String */;
5494 var1
= string__Buffer__to_s(self
);
5499 /* method string#Buffer#< for (self: Buffer, String): Bool */
5500 short int string__Buffer___60d(val
* self
, val
* p0
) {
5501 short int var
/* : Bool */;
5502 short int var1
/* : Bool */;
5505 const struct type
* type_struct
;
5506 const char* var_class_name
;
5507 val
* var_s
/* var s: String */;
5508 long var2
/* : Int */;
5509 long var_i
/* var i: Int */;
5510 long var3
/* : Int */;
5511 long var_l1
/* var l1: Int */;
5512 long var4
/* : Int */;
5513 long var_l2
/* var l2: Int */;
5514 short int var5
/* : Bool */;
5515 short int var6
/* : Bool */;
5516 short int var8
/* : Bool */;
5519 const char* var_class_name11
;
5520 short int var12
/* : Bool */;
5521 short int var_
/* var : Bool */;
5522 short int var13
/* : Bool */;
5523 short int var15
/* : Bool */;
5526 const char* var_class_name18
;
5527 short int var19
/* : Bool */;
5528 val
* var20
/* : StringCharView */;
5529 val
* var21
/* : nullable Object */;
5530 long var22
/* : Int */;
5531 char var24
/* : Char */;
5532 long var25
/* : Int */;
5533 long var_c1
/* var c1: Int */;
5534 val
* var26
/* : StringCharView */;
5535 val
* var27
/* : nullable Object */;
5536 long var28
/* : Int */;
5537 char var30
/* : Char */;
5538 long var31
/* : Int */;
5539 long var_c2
/* var c2: Int */;
5540 short int var32
/* : Bool */;
5541 short int var34
/* : Bool */;
5544 const char* var_class_name37
;
5545 short int var38
/* : Bool */;
5546 short int var39
/* : Bool */;
5547 short int var40
/* : Bool */;
5548 short int var42
/* : Bool */;
5551 const char* var_class_name45
;
5552 short int var46
/* : Bool */;
5553 short int var47
/* : Bool */;
5554 long var48
/* : Int */;
5555 long var49
/* : Int */;
5556 long var51
/* : Int */;
5557 short int var52
/* : Bool */;
5558 short int var54
/* : Bool */;
5561 const char* var_class_name57
;
5562 short int var58
/* : Bool */;
5563 short int var59
/* : Bool */;
5564 short int var60
/* : Bool */;
5565 /* Covariant cast for argument 0 (s) <p0:String> isa OTHER */
5566 /* <p0:String> isa OTHER */
5567 type_struct
= self
->type
->resolution_table
->types
[COLOR_kernel__Comparable_VTOTHER
];
5568 cltype
= type_struct
->color
;
5569 idtype
= type_struct
->id
;
5570 if(cltype
>= p0
->type
->table_size
) {
5573 var1
= p0
->type
->type_table
[cltype
] == idtype
;
5576 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5577 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5578 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 817);
5584 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5586 var4
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
5589 { /* Inline kernel#Int#< (var_i,var_l1) */
5590 /* Covariant cast for argument 0 (i) <var_l1:Int> isa OTHER */
5591 /* <var_l1:Int> isa OTHER */
5592 var8
= 1; /* easy <var_l1:Int> isa OTHER*/
5594 var_class_name11
= type_kernel__Int
.name
;
5595 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
5596 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
5599 var12
= var_i
< var_l1
;
5606 { /* Inline kernel#Int#< (var_i,var_l2) */
5607 /* Covariant cast for argument 0 (i) <var_l2:Int> isa OTHER */
5608 /* <var_l2:Int> isa OTHER */
5609 var15
= 1; /* easy <var_l2:Int> isa OTHER*/
5611 var_class_name18
= type_kernel__Int
.name
;
5612 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
5613 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
5616 var19
= var_i
< var_l2
;
5619 RET_LABEL14
:(void)0;
5626 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__chars
]))(self
) /* chars on <self:Buffer>*/;
5627 var21
= ((val
* (*)(val
*, long))(var20
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var20
, var_i
) /* [] on <var20:StringCharView(BufferCharView)>*/;
5628 { /* Inline kernel#Char#ascii (var21) */
5629 var24
= ((struct instance_kernel__Char
*)var21
)->value
; /* autounbox from nullable Object to Char */;
5630 var25
= (unsigned char)var24
;
5633 RET_LABEL23
:(void)0;
5636 var26
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__chars
]))(var_s
) /* chars on <var_s:String>*/;
5637 var27
= ((val
* (*)(val
*, long))(var26
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var26
, var_i
) /* [] on <var26:StringCharView>*/;
5638 { /* Inline kernel#Char#ascii (var27) */
5639 var30
= ((struct instance_kernel__Char
*)var27
)->value
; /* autounbox from nullable Object to Char */;
5640 var31
= (unsigned char)var30
;
5643 RET_LABEL29
:(void)0;
5646 { /* Inline kernel#Int#< (var_c1,var_c2) */
5647 /* Covariant cast for argument 0 (i) <var_c2:Int> isa OTHER */
5648 /* <var_c2:Int> isa OTHER */
5649 var34
= 1; /* easy <var_c2:Int> isa OTHER*/
5651 var_class_name37
= type_kernel__Int
.name
;
5652 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37
);
5653 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
5656 var38
= var_c1
< var_c2
;
5659 RET_LABEL33
:(void)0;
5666 { /* Inline kernel#Int#< (var_c2,var_c1) */
5667 /* Covariant cast for argument 0 (i) <var_c1:Int> isa OTHER */
5668 /* <var_c1:Int> isa OTHER */
5669 var42
= 1; /* easy <var_c1:Int> isa OTHER*/
5671 var_class_name45
= type_kernel__Int
.name
;
5672 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45
);
5673 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
5676 var46
= var_c2
< var_c1
;
5679 RET_LABEL41
:(void)0;
5689 { /* Inline kernel#Int#+ (var_i,var48) */
5690 var51
= var_i
+ var48
;
5693 RET_LABEL50
:(void)0;
5696 CONTINUE_label
: (void)0;
5698 BREAK_label
: (void)0;
5699 { /* Inline kernel#Int#< (var_l1,var_l2) */
5700 /* Covariant cast for argument 0 (i) <var_l2:Int> isa OTHER */
5701 /* <var_l2:Int> isa OTHER */
5702 var54
= 1; /* easy <var_l2:Int> isa OTHER*/
5704 var_class_name57
= type_kernel__Int
.name
;
5705 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57
);
5706 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
5709 var58
= var_l1
< var_l2
;
5712 RET_LABEL53
:(void)0;
5726 /* method string#Buffer#< for (self: Object, Comparable): Bool */
5727 short int VIRTUAL_string__Buffer___60d(val
* self
, val
* p0
) {
5728 short int var
/* : Bool */;
5729 short int var1
/* : Bool */;
5730 var1
= string__Buffer___60d(self
, p0
);
5735 /* method string#Buffer#init for (self: Buffer) */
5736 void string__Buffer__init(val
* self
) {
5737 long var
/* : Int */;
5739 ((void (*)(val
*, long))(self
->class->vft
[COLOR_string__Buffer__with_capacity
]))(self
, var
) /* with_capacity on <self:Buffer>*/;
5742 /* method string#Buffer#init for (self: Object) */
5743 void VIRTUAL_string__Buffer__init(val
* self
) {
5744 string__Buffer__init(self
);
5747 /* method string#Buffer#from for (self: Buffer, String) */
5748 void string__Buffer__from(val
* self
, val
* p0
) {
5749 val
* var_s
/* var s: String */;
5750 long var
/* : Int */;
5751 long var1
/* : Int */;
5752 long var2
/* : Int */;
5753 long var4
/* : Int */;
5754 long var5
/* : Int */;
5755 long var6
/* : Int */;
5756 char* var7
/* : NativeString */;
5757 char* var8
/* : NativeString */;
5758 char* var9
/* : NativeString */;
5759 long var10
/* : Int */;
5760 long var11
/* : Int */;
5761 long var12
/* : Int */;
5763 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:Buffer>*/;
5764 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Buffer>*/;
5765 var
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
5767 { /* Inline kernel#Int#+ (var,var1) */
5773 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var2
; /* _capacity on <self:Buffer> */
5774 var5
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
5775 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var5
; /* _length on <self:Buffer> */
5776 var6
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
5777 var7
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var6
) /* calloc_string on <self:Buffer>*/;
5778 self
->attrs
[COLOR_string__AbstractString___items
].str
= var7
; /* _items on <self:Buffer> */
5779 var8
= ((char* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__items
]))(var_s
) /* items on <var_s:String>*/;
5780 var9
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5781 var10
= self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
; /* _length on <self:Buffer> */
5782 var11
= var_s
->attrs
[COLOR_string__String___index_from
].l
; /* _index_from on <var_s:String> */
5784 { /* Inline string#NativeString#copy_to (var8,var9,var10,var11,var12) */
5785 memcpy(var9
+var12
,var8
+var11
,var10
);
5786 RET_LABEL13
:(void)0;
5790 /* method string#Buffer#from for (self: Object, String) */
5791 void VIRTUAL_string__Buffer__from(val
* self
, val
* p0
) {
5792 string__Buffer__from(self
, p0
);
5795 /* method string#Buffer#with_capacity for (self: Buffer, Int) */
5796 void string__Buffer__with_capacity(val
* self
, long p0
) {
5797 long var_cap
/* var cap: Int */;
5798 long var
/* : Int */;
5799 short int var1
/* : Bool */;
5800 short int var3
/* : Bool */;
5803 const char* var_class_name
;
5804 short int var4
/* : Bool */;
5805 long var5
/* : Int */;
5806 long var6
/* : Int */;
5807 long var8
/* : Int */;
5808 char* var9
/* : NativeString */;
5809 long var10
/* : Int */;
5811 ((void (*)(val
*))(self
->class->vft
[COLOR_string__AbstractString__init
]))(self
) /* init on <self:Buffer>*/;
5812 ((void (*)(val
*))(self
->class->vft
[COLOR_array__AbstractArray__init
]))(self
) /* init on <self:Buffer>*/;
5814 { /* Inline kernel#Int#>= (var_cap,var) */
5815 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
5816 /* <var:Int> isa OTHER */
5817 var3
= 1; /* easy <var:Int> isa OTHER*/
5819 var_class_name
= type_kernel__Int
.name
;
5820 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5821 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
5824 var4
= var_cap
>= var
;
5830 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5831 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 856);
5835 { /* Inline kernel#Int#+ (var_cap,var5) */
5836 var8
= var_cap
+ var5
;
5841 var9
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__StringCapable__calloc_string
]))(self
, var6
) /* calloc_string on <self:Buffer>*/;
5842 self
->attrs
[COLOR_string__AbstractString___items
].str
= var9
; /* _items on <self:Buffer> */
5843 self
->attrs
[COLOR_string__Buffer___capacity
].l
= var_cap
; /* _capacity on <self:Buffer> */
5845 self
->attrs
[COLOR_array__AbstractArrayRead___length
].l
= var10
; /* _length on <self:Buffer> */
5848 /* method string#Buffer#with_capacity for (self: Object, Int) */
5849 void VIRTUAL_string__Buffer__with_capacity(val
* self
, long p0
) {
5850 string__Buffer__with_capacity(self
, p0
);
5853 /* method string#Buffer#== for (self: Buffer, nullable Object): Bool */
5854 short int string__Buffer___61d_61d(val
* self
, val
* p0
) {
5855 short int var
/* : Bool */;
5856 val
* var_o
/* var o: nullable Object */;
5857 short int var1
/* : Bool */;
5860 short int var2
/* : Bool */;
5861 short int var3
/* : Bool */;
5862 long var4
/* : Int */;
5863 long var_l
/* var l: Int */;
5864 long var5
/* : Int */;
5865 short int var6
/* : Bool */;
5866 short int var8
/* : Bool */;
5867 short int var9
/* : Bool */;
5868 short int var10
/* : Bool */;
5869 long var11
/* : Int */;
5870 long var_i
/* var i: Int */;
5871 char* var12
/* : NativeString */;
5872 char* var_it
/* var it: NativeString */;
5873 char* var13
/* : NativeString */;
5874 char* var_oit
/* var oit: NativeString */;
5875 short int var14
/* : Bool */;
5876 short int var16
/* : Bool */;
5879 const char* var_class_name
;
5880 short int var19
/* : Bool */;
5881 char var20
/* : Char */;
5882 char var22
/* : Char */;
5883 char var23
/* : Char */;
5884 char var25
/* : Char */;
5885 short int var26
/* : Bool */;
5886 short int var28
/* : Bool */;
5887 short int var29
/* : Bool */;
5888 short int var30
/* : Bool */;
5889 long var31
/* : Int */;
5890 long var32
/* : Int */;
5891 long var34
/* : Int */;
5892 short int var35
/* : Bool */;
5894 /* <var_o:nullable Object> isa Buffer */
5895 cltype
= type_string__Buffer
.color
;
5896 idtype
= type_string__Buffer
.id
;
5900 if(cltype
>= var_o
->type
->table_size
) {
5903 var1
= var_o
->type
->type_table
[cltype
] == idtype
;
5913 var4
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Buffer>*/;
5915 var5
= ((long (*)(val
*))(var_o
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_o
) /* length on <var_o:nullable Object(Buffer)>*/;
5916 { /* Inline kernel#Int#!= (var5,var_l) */
5917 var8
= var5
== var_l
;
5931 var12
= self
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <self:Buffer> */
5933 var13
= var_o
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var_o:nullable Object(Buffer)> */
5936 { /* Inline kernel#Int#< (var_i,var_l) */
5937 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
5938 /* <var_l:Int> isa OTHER */
5939 var16
= 1; /* easy <var_l:Int> isa OTHER*/
5941 var_class_name
= type_kernel__Int
.name
;
5942 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5943 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
5946 var19
= var_i
< var_l
;
5949 RET_LABEL15
:(void)0;
5952 { /* Inline string#NativeString#[] (var_it,var_i) */
5953 var22
= var_it
[var_i
];
5956 RET_LABEL21
:(void)0;
5958 { /* Inline string#NativeString#[] (var_oit,var_i) */
5959 var25
= var_oit
[var_i
];
5962 RET_LABEL24
:(void)0;
5964 { /* Inline kernel#Char#!= (var20,var23) */
5965 var28
= var20
== var23
;
5969 RET_LABEL27
:(void)0;
5978 { /* Inline kernel#Int#+ (var_i,var31) */
5979 var34
= var_i
+ var31
;
5982 RET_LABEL33
:(void)0;
5985 CONTINUE_label
: (void)0;
5987 BREAK_label
: (void)0;
5994 /* method string#Buffer#== for (self: Object, nullable Object): Bool */
5995 short int VIRTUAL_string__Buffer___61d_61d(val
* self
, val
* p0
) {
5996 short int var
/* : Bool */;
5997 short int var1
/* : Bool */;
5998 var1
= string__Buffer___61d_61d(self
, p0
);
6003 /* method string#Buffer#capacity for (self: Buffer): Int */
6004 long string__Buffer__capacity(val
* self
) {
6005 long var
/* : Int */;
6006 long var1
/* : Int */;
6007 var1
= self
->attrs
[COLOR_string__Buffer___capacity
].l
; /* _capacity on <self:Buffer> */
6012 /* method string#Buffer#capacity for (self: Object): Int */
6013 long VIRTUAL_string__Buffer__capacity(val
* self
) {
6014 long var
/* : Int */;
6015 long var1
/* : Int */;
6016 var1
= string__Buffer__capacity(self
);
6021 /* method string#FlatBufferCharView#[] for (self: FlatBufferCharView, Int): Char */
6022 char string__FlatBufferCharView___91d_93d(val
* self
, long p0
) {
6023 char var
/* : Char */;
6024 long var_index
/* var index: Int */;
6025 val
* var1
/* : AbstractString */;
6026 char* var2
/* : NativeString */;
6027 char var3
/* : Char */;
6028 char var5
/* : Char */;
6030 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatBufferCharView>*/;
6031 var2
= var1
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var1:AbstractString(Buffer)> */
6032 { /* Inline string#NativeString#[] (var2,var_index) */
6033 var5
= var2
[var_index
];
6043 /* method string#FlatBufferCharView#[] for (self: Object, Int): nullable Object */
6044 val
* VIRTUAL_string__FlatBufferCharView___91d_93d(val
* self
, long p0
) {
6045 val
* var
/* : nullable Object */;
6046 char var1
/* : Char */;
6047 val
* var2
/* : nullable Object */;
6048 var1
= string__FlatBufferCharView___91d_93d(self
, p0
);
6049 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
6054 /* method string#FlatBufferCharView#[]= for (self: FlatBufferCharView, Int, Char) */
6055 void string__FlatBufferCharView___91d_93d_61d(val
* self
, long p0
, char p1
) {
6056 short int var
/* : Bool */;
6059 const char* var_class_name
;
6060 long var_index
/* var index: Int */;
6061 char var_item
/* var item: Char */;
6062 short int var1
/* : Bool */;
6063 long var2
/* : Int */;
6064 short int var3
/* : Bool */;
6065 short int var5
/* : Bool */;
6068 const char* var_class_name8
;
6069 short int var9
/* : Bool */;
6070 short int var_
/* var : Bool */;
6071 long var10
/* : Int */;
6072 short int var11
/* : Bool */;
6073 short int var13
/* : Bool */;
6076 const char* var_class_name16
;
6077 short int var17
/* : Bool */;
6078 long var18
/* : Int */;
6079 short int var19
/* : Bool */;
6080 short int var21
/* : Bool */;
6081 val
* var22
/* : nullable Object */;
6082 val
* var23
/* : AbstractString */;
6083 char* var24
/* : NativeString */;
6084 /* Covariant cast for argument 1 (item) <p1:Char> isa Sequence#0 */
6085 /* <p1:Char> isa Sequence#0 */
6086 var
= 1; /* easy <p1:Char> isa Sequence#0*/
6088 var_class_name
= type_kernel__Char
.name
;
6089 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
6090 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 889);
6096 { /* Inline kernel#Int#>= (var_index,var2) */
6097 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
6098 /* <var2:Int> isa OTHER */
6099 var5
= 1; /* easy <var2:Int> isa OTHER*/
6101 var_class_name8
= type_kernel__Int
.name
;
6102 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
6103 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
6106 var9
= var_index
>= var2
;
6113 var10
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:FlatBufferCharView>*/;
6114 { /* Inline kernel#Int#<= (var_index,var10) */
6115 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
6116 /* <var10:Int> isa OTHER */
6117 var13
= 1; /* easy <var10:Int> isa OTHER*/
6119 var_class_name16
= type_kernel__Int
.name
;
6120 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
6121 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 264);
6124 var17
= var_index
<= var10
;
6127 RET_LABEL12
:(void)0;
6134 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6135 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 891);
6138 var18
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:FlatBufferCharView>*/;
6139 { /* Inline kernel#Int#== (var_index,var18) */
6140 var21
= var_index
== var18
;
6143 RET_LABEL20
:(void)0;
6146 var22
= BOX_kernel__Char(var_item
); /* autobox from Char to nullable Object */
6147 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(self
, var22
) /* add on <self:FlatBufferCharView>*/;
6151 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatBufferCharView>*/;
6152 var24
= var23
->attrs
[COLOR_string__AbstractString___items
].str
; /* _items on <var23:AbstractString(Buffer)> */
6153 { /* Inline string#NativeString#[]= (var24,var_index,var_item) */
6154 var24
[var_index
]=var_item
;
6155 RET_LABEL25
:(void)0;
6159 /* method string#FlatBufferCharView#[]= for (self: Object, Int, nullable Object) */
6160 void VIRTUAL_string__FlatBufferCharView___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
6161 char var
/* : Char */;
6162 var
= ((struct instance_kernel__Char
*)p1
)->value
; /* autounbox from nullable Object to Char */;
6163 string__FlatBufferCharView___91d_93d_61d(self
, p0
, var
);
6166 /* method string#FlatBufferCharView#push for (self: FlatBufferCharView, Char) */
6167 void string__FlatBufferCharView__push(val
* self
, char p0
) {
6168 short int var
/* : Bool */;
6171 const char* var_class_name
;
6172 char var_c
/* var c: Char */;
6173 val
* var1
/* : AbstractString */;
6174 val
* var2
/* : nullable Object */;
6175 /* Covariant cast for argument 0 (c) <p0:Char> isa Sequence#0 */
6176 /* <p0:Char> isa Sequence#0 */
6177 var
= 1; /* easy <p0:Char> isa Sequence#0*/
6179 var_class_name
= type_kernel__Char
.name
;
6180 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
6181 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 899);
6185 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatBufferCharView>*/;
6186 var2
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
6187 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var2
) /* add on <var1:AbstractString(Buffer)>*/;
6190 /* method string#FlatBufferCharView#push for (self: Object, nullable Object) */
6191 void VIRTUAL_string__FlatBufferCharView__push(val
* self
, val
* p0
) {
6192 char var
/* : Char */;
6193 var
= ((struct instance_kernel__Char
*)p0
)->value
; /* autounbox from nullable Object to Char */;
6194 string__FlatBufferCharView__push(self
, var
);
6197 /* method string#FlatBufferCharView#add for (self: FlatBufferCharView, Char) */
6198 void string__FlatBufferCharView__add(val
* self
, char p0
) {
6199 short int var
/* : Bool */;
6202 const char* var_class_name
;
6203 char var_c
/* var c: Char */;
6204 val
* var1
/* : AbstractString */;
6205 val
* var2
/* : nullable Object */;
6206 /* Covariant cast for argument 0 (c) <p0:Char> isa SimpleCollection#0 */
6207 /* <p0:Char> isa SimpleCollection#0 */
6208 var
= 1; /* easy <p0:Char> isa SimpleCollection#0*/
6210 var_class_name
= type_kernel__Char
.name
;
6211 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name
);
6212 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 904);
6216 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatBufferCharView>*/;
6217 var2
= BOX_kernel__Char(var_c
); /* autobox from Char to nullable Object */
6218 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var2
) /* add on <var1:AbstractString(Buffer)>*/;
6221 /* method string#FlatBufferCharView#add for (self: Object, nullable Object) */
6222 void VIRTUAL_string__FlatBufferCharView__add(val
* self
, val
* p0
) {
6223 char var
/* : Char */;
6224 var
= ((struct instance_kernel__Char
*)p0
)->value
; /* autounbox from nullable Object to Char */;
6225 string__FlatBufferCharView__add(self
, var
);
6228 /* method string#FlatBufferCharView#enlarge for (self: FlatBufferCharView, Int) */
6229 void string__FlatBufferCharView__enlarge(val
* self
, long p0
) {
6230 long var_cap
/* var cap: Int */;
6231 val
* var
/* : AbstractString */;
6233 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatBufferCharView>*/;
6234 ((void (*)(val
*, long))(var
->class->vft
[COLOR_array__AbstractArray__enlarge
]))(var
, var_cap
) /* enlarge on <var:AbstractString(Buffer)>*/;
6237 /* method string#FlatBufferCharView#enlarge for (self: Object, Int) */
6238 void VIRTUAL_string__FlatBufferCharView__enlarge(val
* self
, long p0
) {
6239 string__FlatBufferCharView__enlarge(self
, p0
);
6242 /* method string#FlatBufferCharView#append for (self: FlatBufferCharView, Collection[Char]) */
6243 void string__FlatBufferCharView__append(val
* self
, val
* p0
) {
6244 short int var
/* : Bool */;
6247 const char* var_class_name
;
6248 val
* var_s
/* var s: Collection[Char] */;
6249 val
* var1
/* : AbstractString */;
6250 char* var2
/* : NativeString */;
6251 char* var_my_items
/* var my_items: NativeString */;
6252 long var3
/* : Int */;
6253 long var_s_length
/* var s_length: Int */;
6254 val
* var4
/* : AbstractString */;
6255 long var5
/* : Int */;
6256 long var6
/* : Int */;
6257 short int var7
/* : Bool */;
6258 short int var9
/* : Bool */;
6261 const char* var_class_name12
;
6262 short int var13
/* : Bool */;
6263 val
* var14
/* : AbstractString */;
6264 long var15
/* : Int */;
6265 long var16
/* : Int */;
6266 long var18
/* : Int */;
6267 /* Covariant cast for argument 0 (s) <p0:Collection[Char]> isa Collection[Sequence#0] */
6268 /* <p0:Collection[Char]> isa Collection[Sequence#0] */
6269 var
= 1; /* easy <p0:Collection[Char]> isa Collection[Sequence#0]*/
6271 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6272 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[Sequence#0]", var_class_name
);
6273 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 914);
6277 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatBufferCharView>*/;
6278 var2
= ((char* (*)(val
*))(var1
->class->vft
[COLOR_string__AbstractString__items
]))(var1
) /* items on <var1:AbstractString(Buffer)>*/;
6279 var_my_items
= var2
;
6280 var3
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:Collection[Char]>*/;
6281 var_s_length
= var3
;
6282 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatBufferCharView>*/;
6283 var5
= ((long (*)(val
*))(var4
->class->vft
[COLOR_string__Buffer__capacity
]))(var4
) /* capacity on <var4:AbstractString(Buffer)>*/;
6284 var6
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:Collection[Char]>*/;
6285 { /* Inline kernel#Int#< (var5,var6) */
6286 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
6287 /* <var6:Int> isa OTHER */
6288 var9
= 1; /* easy <var6:Int> isa OTHER*/
6290 var_class_name12
= type_kernel__Int
.name
;
6291 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
6292 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
6295 var13
= var5
< var6
;
6301 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatBufferCharView>*/;
6302 var15
= ((long (*)(val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var14
) /* length on <var14:AbstractString(Buffer)>*/;
6303 { /* Inline kernel#Int#+ (var_s_length,var15) */
6304 var18
= var_s_length
+ var15
;
6307 RET_LABEL17
:(void)0;
6309 ((void (*)(val
*, long))(self
->class->vft
[COLOR_string__FlatBufferCharView__enlarge
]))(self
, var16
) /* enlarge on <self:FlatBufferCharView>*/;
6314 /* method string#FlatBufferCharView#append for (self: Object, Collection[nullable Object]) */
6315 void VIRTUAL_string__FlatBufferCharView__append(val
* self
, val
* p0
) {
6316 string__FlatBufferCharView__append(self
, p0
);
6319 /* method string#FlatBufferCharView#iterator for (self: FlatBufferCharView): IndexedIterator[Char] */
6320 val
* string__FlatBufferCharView__iterator(val
* self
) {
6321 val
* var
/* : IndexedIterator[Char] */;
6322 val
* var1
/* : FlatBufferIterator */;
6323 val
* var2
/* : AbstractString */;
6324 long var3
/* : Int */;
6325 var1
= NEW_string__FlatBufferIterator(&type_string__FlatBufferIterator
);
6326 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__StringCharView__target
]))(self
) /* target on <self:FlatBufferCharView>*/;
6328 ((void (*)(val
*, val
*, long))(var1
->class->vft
[COLOR_string__FlatBufferIterator__with_pos
]))(var1
, var2
, var3
) /* with_pos on <var1:FlatBufferIterator>*/;
6334 /* method string#FlatBufferCharView#iterator for (self: Object): Iterator[nullable Object] */
6335 val
* VIRTUAL_string__FlatBufferCharView__iterator(val
* self
) {
6336 val
* var
/* : Iterator[nullable Object] */;
6337 val
* var1
/* : IndexedIterator[Char] */;
6338 var1
= string__FlatBufferCharView__iterator(self
);
6343 /* method string#FlatBufferIterator#target for (self: FlatBufferIterator): Buffer */
6344 val
* string__FlatBufferIterator__target(val
* self
) {
6345 val
* var
/* : Buffer */;
6346 val
* var1
/* : Buffer */;
6347 var1
= self
->attrs
[COLOR_string__FlatBufferIterator___64dtarget
].val
; /* @target on <self:FlatBufferIterator> */
6349 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @target");
6350 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 928);
6357 /* method string#FlatBufferIterator#target for (self: Object): Buffer */
6358 val
* VIRTUAL_string__FlatBufferIterator__target(val
* self
) {
6359 val
* var
/* : Buffer */;
6360 val
* var1
/* : Buffer */;
6361 var1
= string__FlatBufferIterator__target(self
);
6366 /* method string#FlatBufferIterator#target= for (self: FlatBufferIterator, Buffer) */
6367 void string__FlatBufferIterator__target_61d(val
* self
, val
* p0
) {
6368 self
->attrs
[COLOR_string__FlatBufferIterator___64dtarget
].val
= p0
; /* @target on <self:FlatBufferIterator> */
6371 /* method string#FlatBufferIterator#target= for (self: Object, Buffer) */
6372 void VIRTUAL_string__FlatBufferIterator__target_61d(val
* self
, val
* p0
) {
6373 string__FlatBufferIterator__target_61d(self
, p0
);
6376 /* method string#FlatBufferIterator#target_items for (self: FlatBufferIterator): NativeString */
6377 char* string__FlatBufferIterator__target_items(val
* self
) {
6378 char* var
/* : NativeString */;
6379 char* var1
/* : NativeString */;
6380 var1
= self
->attrs
[COLOR_string__FlatBufferIterator___64dtarget_items
].str
; /* @target_items on <self:FlatBufferIterator> */
6385 /* method string#FlatBufferIterator#target_items for (self: Object): NativeString */
6386 char* VIRTUAL_string__FlatBufferIterator__target_items(val
* self
) {
6387 char* var
/* : NativeString */;
6388 char* var1
/* : NativeString */;
6389 var1
= string__FlatBufferIterator__target_items(self
);
6394 /* method string#FlatBufferIterator#target_items= for (self: FlatBufferIterator, NativeString) */
6395 void string__FlatBufferIterator__target_items_61d(val
* self
, char* p0
) {
6396 self
->attrs
[COLOR_string__FlatBufferIterator___64dtarget_items
].str
= p0
; /* @target_items on <self:FlatBufferIterator> */
6399 /* method string#FlatBufferIterator#target_items= for (self: Object, NativeString) */
6400 void VIRTUAL_string__FlatBufferIterator__target_items_61d(val
* self
, char* p0
) {
6401 string__FlatBufferIterator__target_items_61d(self
, p0
);
6404 /* method string#FlatBufferIterator#curr_pos for (self: FlatBufferIterator): Int */
6405 long string__FlatBufferIterator__curr_pos(val
* self
) {
6406 long var
/* : Int */;
6407 long var1
/* : Int */;
6408 var1
= self
->attrs
[COLOR_string__FlatBufferIterator___64dcurr_pos
].l
; /* @curr_pos on <self:FlatBufferIterator> */
6413 /* method string#FlatBufferIterator#curr_pos for (self: Object): Int */
6414 long VIRTUAL_string__FlatBufferIterator__curr_pos(val
* self
) {
6415 long var
/* : Int */;
6416 long var1
/* : Int */;
6417 var1
= string__FlatBufferIterator__curr_pos(self
);
6422 /* method string#FlatBufferIterator#curr_pos= for (self: FlatBufferIterator, Int) */
6423 void string__FlatBufferIterator__curr_pos_61d(val
* self
, long p0
) {
6424 self
->attrs
[COLOR_string__FlatBufferIterator___64dcurr_pos
].l
= p0
; /* @curr_pos on <self:FlatBufferIterator> */
6427 /* method string#FlatBufferIterator#curr_pos= for (self: Object, Int) */
6428 void VIRTUAL_string__FlatBufferIterator__curr_pos_61d(val
* self
, long p0
) {
6429 string__FlatBufferIterator__curr_pos_61d(self
, p0
);
6432 /* method string#FlatBufferIterator#with_pos for (self: FlatBufferIterator, Buffer, Int) */
6433 void string__FlatBufferIterator__with_pos(val
* self
, val
* p0
, long p1
) {
6434 val
* var_tgt
/* var tgt: Buffer */;
6435 long var_pos
/* var pos: Int */;
6436 char* var
/* : NativeString */;
6439 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_string__FlatBufferIterator__target_61d
]))(self
, var_tgt
) /* target= on <self:FlatBufferIterator>*/;
6440 var
= ((char* (*)(val
*))(var_tgt
->class->vft
[COLOR_string__AbstractString__items
]))(var_tgt
) /* items on <var_tgt:Buffer>*/;
6441 ((void (*)(val
*, char*))(self
->class->vft
[COLOR_string__FlatBufferIterator__target_items_61d
]))(self
, var
) /* target_items= on <self:FlatBufferIterator>*/;
6442 ((void (*)(val
*, long))(self
->class->vft
[COLOR_string__FlatBufferIterator__curr_pos_61d
]))(self
, var_pos
) /* curr_pos= on <self:FlatBufferIterator>*/;
6445 /* method string#FlatBufferIterator#with_pos for (self: Object, Buffer, Int) */
6446 void VIRTUAL_string__FlatBufferIterator__with_pos(val
* self
, val
* p0
, long p1
) {
6447 string__FlatBufferIterator__with_pos(self
, p0
, p1
);
6450 /* method string#FlatBufferIterator#index for (self: FlatBufferIterator): Int */
6451 long string__FlatBufferIterator__index(val
* self
) {
6452 long var
/* : Int */;
6453 long var1
/* : Int */;
6454 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__FlatBufferIterator__curr_pos
]))(self
) /* curr_pos on <self:FlatBufferIterator>*/;
6460 /* method string#FlatBufferIterator#index for (self: Object): Int */
6461 long VIRTUAL_string__FlatBufferIterator__index(val
* self
) {
6462 long var
/* : Int */;
6463 long var1
/* : Int */;
6464 var1
= string__FlatBufferIterator__index(self
);
6469 /* method string#FlatBufferIterator#is_ok for (self: FlatBufferIterator): Bool */
6470 short int string__FlatBufferIterator__is_ok(val
* self
) {
6471 short int var
/* : Bool */;
6472 long var1
/* : Int */;
6473 val
* var2
/* : Buffer */;
6474 long var3
/* : Int */;
6475 short int var4
/* : Bool */;
6476 short int var6
/* : Bool */;
6479 const char* var_class_name
;
6480 short int var7
/* : Bool */;
6481 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__FlatBufferIterator__curr_pos
]))(self
) /* curr_pos on <self:FlatBufferIterator>*/;
6482 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__FlatBufferIterator__target
]))(self
) /* target on <self:FlatBufferIterator>*/;
6483 var3
= ((long (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var2
) /* length on <var2:Buffer>*/;
6484 { /* Inline kernel#Int#< (var1,var3) */
6485 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
6486 /* <var3:Int> isa OTHER */
6487 var6
= 1; /* easy <var3:Int> isa OTHER*/
6489 var_class_name
= type_kernel__Int
.name
;
6490 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6491 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
6504 /* method string#FlatBufferIterator#is_ok for (self: Object): Bool */
6505 short int VIRTUAL_string__FlatBufferIterator__is_ok(val
* self
) {
6506 short int var
/* : Bool */;
6507 short int var1
/* : Bool */;
6508 var1
= string__FlatBufferIterator__is_ok(self
);
6513 /* method string#FlatBufferIterator#item for (self: FlatBufferIterator): Char */
6514 char string__FlatBufferIterator__item(val
* self
) {
6515 char var
/* : Char */;
6516 char* var1
/* : NativeString */;
6517 long var2
/* : Int */;
6518 char var3
/* : Char */;
6519 char var5
/* : Char */;
6520 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__FlatBufferIterator__target_items
]))(self
) /* target_items on <self:FlatBufferIterator>*/;
6521 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__FlatBufferIterator__curr_pos
]))(self
) /* curr_pos on <self:FlatBufferIterator>*/;
6522 { /* Inline string#NativeString#[] (var1,var2) */
6533 /* method string#FlatBufferIterator#item for (self: Object): nullable Object */
6534 val
* VIRTUAL_string__FlatBufferIterator__item(val
* self
) {
6535 val
* var
/* : nullable Object */;
6536 char var1
/* : Char */;
6537 val
* var2
/* : nullable Object */;
6538 var1
= string__FlatBufferIterator__item(self
);
6539 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
6544 /* method string#FlatBufferIterator#next for (self: FlatBufferIterator) */
6545 void string__FlatBufferIterator__next(val
* self
) {
6546 val
* var_
/* var : FlatBufferIterator */;
6547 long var
/* : Int */;
6548 long var1
/* : Int */;
6549 long var2
/* : Int */;
6550 long var4
/* : Int */;
6552 var
= ((long (*)(val
*))(var_
->class->vft
[COLOR_string__FlatBufferIterator__curr_pos
]))(var_
) /* curr_pos on <var_:FlatBufferIterator>*/;
6554 { /* Inline kernel#Int#+ (var,var1) */
6560 ((void (*)(val
*, long))(var_
->class->vft
[COLOR_string__FlatBufferIterator__curr_pos_61d
]))(var_
, var2
) /* curr_pos= on <var_:FlatBufferIterator>*/;
6563 /* method string#FlatBufferIterator#next for (self: Object) */
6564 void VIRTUAL_string__FlatBufferIterator__next(val
* self
) {
6565 string__FlatBufferIterator__next(self
);
6568 /* method string#Object#to_s for (self: Object): String */
6569 val
* string__Object__to_s(val
* self
) {
6570 val
* var
/* : String */;
6571 val
* var1
/* : String */;
6572 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__inspect
]))(self
) /* inspect on <self:Object>*/;
6578 /* method string#Object#to_s for (self: Object): String */
6579 val
* VIRTUAL_string__Object__to_s(val
* self
) {
6580 val
* var
/* : String */;
6581 val
* var1
/* : String */;
6582 var1
= string__Object__to_s(self
);
6587 /* method string#Object#native_class_name for (self: Object): NativeString */
6588 char* string__Object__native_class_name(val
* self
) {
6589 char* var
/* : NativeString */;
6590 const char* var_class_name
;
6591 char* var1
/* : NativeString */;
6592 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
6593 var1
= (char*)var_class_name
;
6599 /* method string#Object#native_class_name for (self: Object): NativeString */
6600 char* VIRTUAL_string__Object__native_class_name(val
* self
) {
6601 char* var
/* : NativeString */;
6602 char* var1
/* : NativeString */;
6603 const char* var_class_name
;
6604 char* var3
/* : NativeString */;
6605 { /* Inline string#Object#native_class_name (self) */
6606 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
6607 var3
= (char*)var_class_name
;
6616 /* method string#Object#class_name for (self: Object): String */
6617 val
* string__Object__class_name(val
* self
) {
6618 val
* var
/* : String */;
6619 char* var1
/* : NativeString */;
6620 val
* var2
/* : String */;
6621 var1
= ((char* (*)(val
*))(self
->class->vft
[COLOR_string__Object__native_class_name
]))(self
) /* native_class_name on <self:Object>*/;
6622 var2
= string__NativeString__to_s(var1
);
6628 /* method string#Object#class_name for (self: Object): String */
6629 val
* VIRTUAL_string__Object__class_name(val
* self
) {
6630 val
* var
/* : String */;
6631 val
* var1
/* : String */;
6632 var1
= string__Object__class_name(self
);
6637 /* method string#Object#inspect for (self: Object): String */
6638 val
* string__Object__inspect(val
* self
) {
6639 val
* var
/* : String */;
6640 val
* var1
/* : Array[Object] */;
6641 long var2
/* : Int */;
6642 val
* var_
/* var : Array[Object] */;
6643 static val
* varonce
;
6644 val
* var3
/* : String */;
6645 char* var4
/* : NativeString */;
6646 long var5
/* : Int */;
6647 val
* var6
/* : String */;
6648 val
* var7
/* : String */;
6649 static val
* varonce8
;
6650 val
* var9
/* : String */;
6651 char* var10
/* : NativeString */;
6652 long var11
/* : Int */;
6653 val
* var12
/* : String */;
6654 val
* var13
/* : String */;
6655 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
6657 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
6664 var6
= string__NativeString__to_s_with_length(var4
, var5
);
6668 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
6669 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__inspect_head
]))(self
) /* inspect_head on <self:Object>*/;
6670 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
6676 var12
= string__NativeString__to_s_with_length(var10
, var11
);
6680 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
6681 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
6687 /* method string#Object#inspect for (self: Object): String */
6688 val
* VIRTUAL_string__Object__inspect(val
* self
) {
6689 val
* var
/* : String */;
6690 val
* var1
/* : String */;
6691 var1
= string__Object__inspect(self
);
6696 /* method string#Object#inspect_head for (self: Object): String */
6697 val
* string__Object__inspect_head(val
* self
) {
6698 val
* var
/* : String */;
6699 val
* var1
/* : Array[Object] */;
6700 long var2
/* : Int */;
6701 val
* var_
/* var : Array[Object] */;
6702 static val
* varonce
;
6703 val
* var3
/* : String */;
6704 char* var4
/* : NativeString */;
6705 long var5
/* : Int */;
6706 val
* var6
/* : String */;
6707 val
* var7
/* : String */;
6708 static val
* varonce8
;
6709 val
* var9
/* : String */;
6710 char* var10
/* : NativeString */;
6711 long var11
/* : Int */;
6712 val
* var12
/* : String */;
6713 long var13
/* : Int */;
6714 val
* var14
/* : String */;
6715 static val
* varonce15
;
6716 val
* var16
/* : String */;
6717 char* var17
/* : NativeString */;
6718 long var18
/* : Int */;
6719 val
* var19
/* : String */;
6720 val
* var20
/* : String */;
6721 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
6723 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
6730 var6
= string__NativeString__to_s_with_length(var4
, var5
);
6734 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
6735 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__class_name
]))(self
) /* class_name on <self:Object>*/;
6736 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
6742 var12
= string__NativeString__to_s_with_length(var10
, var11
);
6746 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
6747 var13
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:Object>*/;
6748 var14
= string__Int__to_hex(var13
);
6749 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
6755 var19
= string__NativeString__to_s_with_length(var17
, var18
);
6759 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var16
) /* add on <var_:Array[Object]>*/;
6760 var20
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
6766 /* method string#Object#inspect_head for (self: Object): String */
6767 val
* VIRTUAL_string__Object__inspect_head(val
* self
) {
6768 val
* var
/* : String */;
6769 val
* var1
/* : String */;
6770 var1
= string__Object__inspect_head(self
);
6775 /* method string#Object#args for (self: Object): Sequence[String] */
6776 val
* string__Object__args(val
* self
) {
6777 val
* var
/* : Sequence[String] */;
6778 val
* var1
/* : Sys */;
6779 val
* var2
/* : Sequence[String] */;
6780 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:Object>*/;
6781 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_string__Object__args
]))(var1
) /* args on <var1:Sys>*/;
6787 /* method string#Object#args for (self: Object): Sequence[String] */
6788 val
* VIRTUAL_string__Object__args(val
* self
) {
6789 val
* var
/* : Sequence[String] */;
6790 val
* var1
/* : Sequence[String] */;
6791 var1
= string__Object__args(self
);
6796 /* method string#Bool#to_s for (self: Bool): String */
6797 val
* string__Bool__to_s(short int self
) {
6798 val
* var
/* : String */;
6799 static val
* varonce
;
6800 static int varonce_guard
;
6801 val
* var1
/* : String */;
6802 static val
* varonce2
;
6803 val
* var3
/* : String */;
6804 char* var4
/* : NativeString */;
6805 long var5
/* : Int */;
6806 val
* var6
/* : String */;
6807 static val
* varonce7
;
6808 static int varonce7_guard
;
6809 val
* var8
/* : String */;
6810 static val
* varonce9
;
6811 val
* var10
/* : String */;
6812 char* var11
/* : NativeString */;
6813 long var12
/* : Int */;
6814 val
* var13
/* : String */;
6816 if (varonce_guard
) {
6824 var6
= string__NativeString__to_s_with_length(var4
, var5
);
6835 if (varonce7_guard
) {
6843 var13
= string__NativeString__to_s_with_length(var11
, var12
);
6857 /* method string#Bool#to_s for (self: Object): String */
6858 val
* VIRTUAL_string__Bool__to_s(val
* self
) {
6859 val
* var
/* : String */;
6860 val
* var1
/* : String */;
6861 short int var2
/* : Bool */;
6862 var2
= ((struct instance_kernel__Bool
*)self
)->value
; /* autounbox from Object to Bool */;
6863 var1
= string__Bool__to_s(var2
);
6868 /* method string#Int#fill_buffer for (self: Int, Buffer, Int, Bool) */
6869 void string__Int__fill_buffer(long self
, val
* p0
, long p1
, short int p2
) {
6870 val
* var_s
/* var s: Buffer */;
6871 long var_base
/* var base: Int */;
6872 short int var_signed
/* var signed: Bool */;
6873 long var
/* : Int */;
6874 short int var1
/* : Bool */;
6875 short int var3
/* : Bool */;
6878 const char* var_class_name
;
6879 short int var4
/* : Bool */;
6880 long var5
/* : Int */;
6881 long var7
/* : Int */;
6882 long var_n
/* var n: Int */;
6883 val
* var8
/* : StringCharView */;
6884 long var9
/* : Int */;
6885 char var10
/* : Char */;
6886 val
* var11
/* : nullable Object */;
6887 long var12
/* : Int */;
6888 short int var13
/* : Bool */;
6889 short int var15
/* : Bool */;
6890 val
* var16
/* : StringCharView */;
6891 long var17
/* : Int */;
6892 char var18
/* : Char */;
6893 val
* var19
/* : nullable Object */;
6894 long var20
/* : Int */;
6895 long var21
/* : Int */;
6896 long var22
/* : Int */;
6897 long var24
/* : Int */;
6898 long var_pos
/* var pos: Int */;
6899 short int var25
/* : Bool */;
6900 long var26
/* : Int */;
6901 short int var27
/* : Bool */;
6902 short int var29
/* : Bool */;
6905 const char* var_class_name32
;
6906 short int var33
/* : Bool */;
6907 short int var_
/* var : Bool */;
6908 long var34
/* : Int */;
6909 short int var35
/* : Bool */;
6910 short int var37
/* : Bool */;
6913 const char* var_class_name40
;
6914 short int var41
/* : Bool */;
6915 val
* var42
/* : StringCharView */;
6916 long var43
/* : Int */;
6917 long var45
/* : Int */;
6918 char var46
/* : Char */;
6919 val
* var47
/* : nullable Object */;
6920 long var48
/* : Int */;
6921 long var50
/* : Int */;
6922 long var51
/* : Int */;
6923 long var52
/* : Int */;
6924 long var54
/* : Int */;
6929 { /* Inline kernel#Int#< (self,var) */
6930 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
6931 /* <var:Int> isa OTHER */
6932 var3
= 1; /* easy <var:Int> isa OTHER*/
6934 var_class_name
= type_kernel__Int
.name
;
6935 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6936 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
6945 { /* Inline kernel#Int#unary - (self) */
6952 var8
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__chars
]))(var_s
) /* chars on <var_s:Buffer>*/;
6955 var11
= BOX_kernel__Char(var10
); /* autobox from Char to nullable Object */
6956 ((void (*)(val
*, long, val
*))(var8
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var8
, var9
, var11
) /* []= on <var8:StringCharView(BufferCharView)>*/;
6959 { /* Inline kernel#Int#== (self,var12) */
6960 var15
= self
== var12
;
6963 RET_LABEL14
:(void)0;
6966 var16
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__chars
]))(var_s
) /* chars on <var_s:Buffer>*/;
6969 var19
= BOX_kernel__Char(var18
); /* autobox from Char to nullable Object */
6970 ((void (*)(val
*, long, val
*))(var16
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var16
, var17
, var19
) /* []= on <var16:StringCharView(BufferCharView)>*/;
6976 var20
= kernel__Int__digit_count(self
, var_base
);
6978 { /* Inline kernel#Int#- (var20,var21) */
6979 var24
= var20
- var21
;
6982 RET_LABEL23
:(void)0;
6987 { /* Inline kernel#Int#>= (var_pos,var26) */
6988 /* Covariant cast for argument 0 (i) <var26:Int> isa OTHER */
6989 /* <var26:Int> isa OTHER */
6990 var29
= 1; /* easy <var26:Int> isa OTHER*/
6992 var_class_name32
= type_kernel__Int
.name
;
6993 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
6994 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
6997 var33
= var_pos
>= var26
;
7000 RET_LABEL28
:(void)0;
7005 { /* Inline kernel#Int#> (var_n,var34) */
7006 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
7007 /* <var34:Int> isa OTHER */
7008 var37
= 1; /* easy <var34:Int> isa OTHER*/
7010 var_class_name40
= type_kernel__Int
.name
;
7011 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
7012 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
7015 var41
= var_n
> var34
;
7018 RET_LABEL36
:(void)0;
7025 var42
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__chars
]))(var_s
) /* chars on <var_s:Buffer>*/;
7026 { /* Inline kernel#Int#% (var_n,var_base) */
7027 var45
= var_n
% var_base
;
7030 RET_LABEL44
:(void)0;
7032 var46
= kernel__Int__to_c(var43
);
7033 var47
= BOX_kernel__Char(var46
); /* autobox from Char to nullable Object */
7034 ((void (*)(val
*, long, val
*))(var42
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var42
, var_pos
, var47
) /* []= on <var42:StringCharView(BufferCharView)>*/;
7035 { /* Inline kernel#Int#/ (var_n,var_base) */
7036 var50
= var_n
/ var_base
;
7039 RET_LABEL49
:(void)0;
7043 { /* Inline kernel#Int#- (var_pos,var51) */
7044 var54
= var_pos
- var51
;
7047 RET_LABEL53
:(void)0;
7050 CONTINUE_label
: (void)0;
7052 BREAK_label
: (void)0;
7055 /* method string#Int#fill_buffer for (self: Object, Buffer, Int, Bool) */
7056 void VIRTUAL_string__Int__fill_buffer(val
* self
, val
* p0
, long p1
, short int p2
) {
7057 long var
/* : Int */;
7058 var
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
7059 string__Int__fill_buffer(var
, p0
, p1
, p2
);
7062 /* method string#Int#native_int_to_s for (self: Int, Int): NativeString */
7063 char* string__Int__native_int_to_s(long self
, long p0
) {
7064 char* var
/* : NativeString */;
7065 char* var1
/* : NativeString */;
7066 var1
= native_int_to_s(self
, p0
);
7072 /* method string#Int#native_int_to_s for (self: Object, Int): NativeString */
7073 char* VIRTUAL_string__Int__native_int_to_s(val
* self
, long p0
) {
7074 char* var
/* : NativeString */;
7075 char* var1
/* : NativeString */;
7076 long var2
/* : Int */;
7077 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
7078 var1
= string__Int__native_int_to_s(var2
, p0
);
7083 /* method string#Int#to_s for (self: Int): String */
7084 val
* string__Int__to_s(long self
) {
7085 val
* var
/* : String */;
7086 long var1
/* : Int */;
7087 long var2
/* : Int */;
7088 long var_len
/* var len: Int */;
7089 char* var3
/* : NativeString */;
7090 val
* var4
/* : String */;
7092 var2
= kernel__Int__digit_count(self
, var1
);
7094 var3
= string__Int__native_int_to_s(self
, var_len
);
7095 var4
= string__NativeString__to_s_with_length(var3
, var_len
);
7101 /* method string#Int#to_s for (self: Object): String */
7102 val
* VIRTUAL_string__Int__to_s(val
* self
) {
7103 val
* var
/* : String */;
7104 val
* var1
/* : String */;
7105 long var2
/* : Int */;
7106 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
7107 var1
= string__Int__to_s(var2
);
7112 /* method string#Int#to_hex for (self: Int): String */
7113 val
* string__Int__to_hex(long self
) {
7114 val
* var
/* : String */;
7115 long var1
/* : Int */;
7116 short int var2
/* : Bool */;
7117 val
* var3
/* : String */;
7120 var3
= string__Int__to_base(self
, var1
, var2
);
7126 /* method string#Int#to_hex for (self: Object): String */
7127 val
* VIRTUAL_string__Int__to_hex(val
* self
) {
7128 val
* var
/* : String */;
7129 val
* var1
/* : String */;
7130 long var2
/* : Int */;
7131 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
7132 var1
= string__Int__to_hex(var2
);
7137 /* method string#Int#to_base for (self: Int, Int, Bool): String */
7138 val
* string__Int__to_base(long self
, long p0
, short int p1
) {
7139 val
* var
/* : String */;
7140 long var_base
/* var base: Int */;
7141 short int var_signed
/* var signed: Bool */;
7142 long var1
/* : Int */;
7143 long var_l
/* var l: Int */;
7144 val
* var2
/* : Buffer */;
7145 static val
* varonce
;
7146 val
* var3
/* : String */;
7147 char* var4
/* : NativeString */;
7148 long var5
/* : Int */;
7149 val
* var6
/* : String */;
7150 val
* var7
/* : String */;
7151 val
* var_s
/* var s: Buffer */;
7152 val
* var8
/* : String */;
7155 var1
= kernel__Int__digit_count(self
, var_base
);
7157 var2
= NEW_string__Buffer(&type_string__Buffer
);
7163 var6
= string__NativeString__to_s_with_length(var4
, var5
);
7167 var7
= ((val
* (*)(val
*, long))(var3
->class->vft
[COLOR_string__String___42d
]))(var3
, var_l
) /* * on <var3:String>*/;
7168 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_string__Buffer__from
]))(var2
, var7
) /* from on <var2:Buffer>*/;
7170 string__Int__fill_buffer(self
, var_s
, var_base
, var_signed
);
7171 var8
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
7177 /* method string#Int#to_base for (self: Object, Int, Bool): String */
7178 val
* VIRTUAL_string__Int__to_base(val
* self
, long p0
, short int p1
) {
7179 val
* var
/* : String */;
7180 val
* var1
/* : String */;
7181 long var2
/* : Int */;
7182 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
7183 var1
= string__Int__to_base(var2
, p0
, p1
);
7188 /* method string#Float#to_s for (self: Float): String */
7189 val
* string__Float__to_s(double self
) {
7190 val
* var
/* : String */;
7191 long var1
/* : Int */;
7192 val
* var2
/* : String */;
7193 val
* var_str
/* var str: String */;
7194 short int var3
/* : Bool */;
7195 long var4
/* : Int */;
7196 long var5
/* : Int */;
7197 short int var6
/* : Bool */;
7198 short int var8
/* : Bool */;
7199 short int var9
/* : Bool */;
7200 short int var_
/* var : Bool */;
7201 short int var10
/* : Bool */;
7202 long var11
/* : Int */;
7203 long var_len
/* var len: Int */;
7204 val
* var12
/* : Range[Int] */;
7205 long var13
/* : Int */;
7206 long var14
/* : Int */;
7207 long var15
/* : Int */;
7208 long var17
/* : Int */;
7209 val
* var18
/* : Discrete */;
7210 val
* var19
/* : Discrete */;
7211 val
* var20
/* : Iterator[nullable Object] */;
7212 short int var21
/* : Bool */;
7213 val
* var22
/* : nullable Object */;
7214 long var_i
/* var i: Int */;
7215 long var23
/* : Int */;
7216 long var24
/* : Int */;
7217 long var25
/* : Int */;
7218 long var27
/* : Int */;
7219 long var28
/* : Int */;
7220 long var30
/* : Int */;
7221 long var_j
/* var j: Int */;
7222 val
* var31
/* : StringCharView */;
7223 val
* var32
/* : nullable Object */;
7224 char var33
/* : Char */;
7225 char var_c
/* var c: Char */;
7226 char var34
/* : Char */;
7227 short int var35
/* : Bool */;
7228 short int var37
/* : Bool */;
7229 char var38
/* : Char */;
7230 short int var39
/* : Bool */;
7231 short int var41
/* : Bool */;
7232 long var42
/* : Int */;
7233 long var43
/* : Int */;
7234 long var44
/* : Int */;
7235 long var46
/* : Int */;
7236 val
* var47
/* : String */;
7237 long var48
/* : Int */;
7238 long var49
/* : Int */;
7239 long var50
/* : Int */;
7240 long var52
/* : Int */;
7241 val
* var53
/* : String */;
7243 var2
= string__Float__to_precision(self
, var1
);
7245 var4
= math__Float__is_inf(self
);
7247 { /* Inline kernel#Int#!= (var4,var5) */
7248 var8
= var4
== var5
;
7258 var10
= math__Float__is_nan(self
);
7266 var11
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
7268 var12
= NEW_range__Range(&type_range__Rangekernel__Int
);
7271 { /* Inline kernel#Int#- (var_len,var14) */
7272 var17
= var_len
- var14
;
7275 RET_LABEL16
:(void)0;
7277 var18
= BOX_kernel__Int(var13
); /* autobox from Int to Discrete */
7278 var19
= BOX_kernel__Int(var15
); /* autobox from Int to Discrete */
7279 ((void (*)(val
*, val
*, val
*))(var12
->class->vft
[COLOR_range__Range__init
]))(var12
, var18
, var19
) /* init on <var12:Range[Int]>*/;
7280 var20
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var12
) /* iterator on <var12:Range[Int]>*/;
7282 var21
= ((short int (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var20
) /* is_ok on <var20:Iterator[nullable Object]>*/;
7284 var22
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var20
) /* item on <var20:Iterator[nullable Object]>*/;
7285 var23
= ((struct instance_kernel__Int
*)var22
)->value
; /* autounbox from nullable Object to Int */;
7288 { /* Inline kernel#Int#- (var_len,var24) */
7289 var27
= var_len
- var24
;
7292 RET_LABEL26
:(void)0;
7294 { /* Inline kernel#Int#- (var25,var_i) */
7295 var30
= var25
- var_i
;
7298 RET_LABEL29
:(void)0;
7301 var31
= ((val
* (*)(val
*))(var_str
->class->vft
[COLOR_string__AbstractString__chars
]))(var_str
) /* chars on <var_str:String>*/;
7302 var32
= ((val
* (*)(val
*, long))(var31
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var31
, var_j
) /* [] on <var31:StringCharView>*/;
7303 var33
= ((struct instance_kernel__Char
*)var32
)->value
; /* autounbox from nullable Object to Char */;
7306 { /* Inline kernel#Char#== (var_c,var34) */
7307 var37
= var_c
== var34
;
7310 RET_LABEL36
:(void)0;
7313 goto CONTINUE_label
;
7316 { /* Inline kernel#Char#== (var_c,var38) */
7317 var41
= var_c
== var38
;
7320 RET_LABEL40
:(void)0;
7325 { /* Inline kernel#Int#+ (var_j,var43) */
7326 var46
= var_j
+ var43
;
7329 RET_LABEL45
:(void)0;
7331 var47
= ((val
* (*)(val
*, long, long))(var_str
->class->vft
[COLOR_string__AbstractString__substring
]))(var_str
, var42
, var44
) /* substring on <var_str:String>*/;
7337 { /* Inline kernel#Int#+ (var_j,var49) */
7338 var52
= var_j
+ var49
;
7341 RET_LABEL51
:(void)0;
7343 var53
= ((val
* (*)(val
*, long, long))(var_str
->class->vft
[COLOR_string__AbstractString__substring
]))(var_str
, var48
, var50
) /* substring on <var_str:String>*/;
7348 CONTINUE_label
: (void)0;
7349 ((void (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var20
) /* next on <var20:Iterator[nullable Object]>*/;
7351 BREAK_label
: (void)0;
7357 /* method string#Float#to_s for (self: Object): String */
7358 val
* VIRTUAL_string__Float__to_s(val
* self
) {
7359 val
* var
/* : String */;
7360 val
* var1
/* : String */;
7361 double var2
/* : Float */;
7362 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
7363 var1
= string__Float__to_s(var2
);
7368 /* method string#Float#to_precision for (self: Float, Int): String */
7369 val
* string__Float__to_precision(double self
, long p0
) {
7370 val
* var
/* : String */;
7371 long var_nb
/* var nb: Int */;
7372 short int var1
/* : Bool */;
7373 static val
* varonce
;
7374 val
* var2
/* : String */;
7375 char* var3
/* : NativeString */;
7376 long var4
/* : Int */;
7377 val
* var5
/* : String */;
7378 long var6
/* : Int */;
7379 long var_isinf
/* var isinf: Int */;
7380 long var7
/* : Int */;
7381 short int var8
/* : Bool */;
7382 short int var10
/* : Bool */;
7383 static val
* varonce11
;
7384 val
* var12
/* : String */;
7385 char* var13
/* : NativeString */;
7386 long var14
/* : Int */;
7387 val
* var15
/* : String */;
7388 long var16
/* : Int */;
7389 long var17
/* : Int */;
7390 long var19
/* : Int */;
7391 short int var20
/* : Bool */;
7392 short int var22
/* : Bool */;
7393 static val
* varonce23
;
7394 val
* var24
/* : String */;
7395 char* var25
/* : NativeString */;
7396 long var26
/* : Int */;
7397 val
* var27
/* : String */;
7398 long var28
/* : Int */;
7399 short int var29
/* : Bool */;
7400 short int var31
/* : Bool */;
7401 long var32
/* : Int */;
7402 long var34
/* : Int */;
7403 val
* var35
/* : String */;
7404 double var_f
/* var f: Float */;
7405 val
* var36
/* : Range[Int] */;
7406 long var37
/* : Int */;
7407 val
* var38
/* : Discrete */;
7408 val
* var39
/* : Discrete */;
7409 val
* var40
/* : Iterator[nullable Object] */;
7410 short int var41
/* : Bool */;
7411 val
* var42
/* : nullable Object */;
7412 long var_i
/* var i: Int */;
7413 long var43
/* : Int */;
7414 double var44
/* : Float */;
7415 double var45
/* : Float */;
7416 double var47
/* : Float */;
7417 double var48
/* : Float */;
7418 short int var49
/* : Bool */;
7419 short int var51
/* : Bool */;
7422 const char* var_class_name
;
7423 short int var52
/* : Bool */;
7424 double var53
/* : Float */;
7425 double var54
/* : Float */;
7426 double var56
/* : Float */;
7427 double var57
/* : Float */;
7428 double var58
/* : Float */;
7429 double var60
/* : Float */;
7430 long var61
/* : Int */;
7431 long var63
/* : Int */;
7432 long var_i64
/* var i: Int */;
7433 long var65
/* : Int */;
7434 short int var66
/* : Bool */;
7435 short int var68
/* : Bool */;
7436 static val
* varonce69
;
7437 val
* var70
/* : String */;
7438 char* var71
/* : NativeString */;
7439 long var72
/* : Int */;
7440 val
* var73
/* : String */;
7441 val
* var74
/* : String */;
7442 val
* var_s
/* var s: String */;
7443 long var75
/* : Int */;
7444 long var_sl
/* var sl: Int */;
7445 short int var76
/* : Bool */;
7446 short int var78
/* : Bool */;
7449 const char* var_class_name81
;
7450 short int var82
/* : Bool */;
7451 long var83
/* : Int */;
7452 long var84
/* : Int */;
7453 long var85
/* : Int */;
7454 long var87
/* : Int */;
7455 val
* var88
/* : String */;
7456 val
* var_p1
/* var p1: String */;
7457 long var89
/* : Int */;
7458 long var90
/* : Int */;
7459 long var92
/* : Int */;
7460 val
* var93
/* : String */;
7461 val
* var_p2
/* var p2: String */;
7462 static val
* varonce94
;
7463 val
* var95
/* : String */;
7464 char* var96
/* : NativeString */;
7465 long var97
/* : Int */;
7466 val
* var98
/* : String */;
7467 val
* var99
/* : String */;
7468 val
* var100
/* : String */;
7469 static val
* varonce101
;
7470 val
* var102
/* : String */;
7471 char* var103
/* : NativeString */;
7472 long var104
/* : Int */;
7473 val
* var105
/* : String */;
7474 static val
* varonce106
;
7475 val
* var107
/* : String */;
7476 char* var108
/* : NativeString */;
7477 long var109
/* : Int */;
7478 val
* var110
/* : String */;
7479 long var111
/* : Int */;
7480 long var113
/* : Int */;
7481 val
* var114
/* : String */;
7482 val
* var115
/* : String */;
7483 val
* var116
/* : String */;
7485 var1
= math__Float__is_nan(self
);
7492 var5
= string__NativeString__to_s_with_length(var3
, var4
);
7500 var6
= math__Float__is_inf(self
);
7503 { /* Inline kernel#Int#== (var_isinf,var7) */
7504 var10
= var_isinf
== var7
;
7515 var15
= string__NativeString__to_s_with_length(var13
, var14
);
7523 { /* Inline kernel#Int#unary - (var16) */
7527 RET_LABEL18
:(void)0;
7529 { /* Inline kernel#Int#== (var_isinf,var17) */
7530 var22
= var_isinf
== var17
;
7533 RET_LABEL21
:(void)0;
7541 var27
= string__NativeString__to_s_with_length(var25
, var26
);
7551 { /* Inline kernel#Int#== (var_nb,var28) */
7552 var31
= var_nb
== var28
;
7555 RET_LABEL30
:(void)0;
7558 { /* Inline kernel#Float#to_i (self) */
7562 RET_LABEL33
:(void)0;
7564 var35
= string__Int__to_s(var32
);
7570 var36
= NEW_range__Range(&type_range__Rangekernel__Int
);
7572 var38
= BOX_kernel__Int(var37
); /* autobox from Int to Discrete */
7573 var39
= BOX_kernel__Int(var_nb
); /* autobox from Int to Discrete */
7574 ((void (*)(val
*, val
*, val
*))(var36
->class->vft
[COLOR_range__Range__without_last
]))(var36
, var38
, var39
) /* without_last on <var36:Range[Int]>*/;
7575 var40
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var36
) /* iterator on <var36:Range[Int]>*/;
7577 var41
= ((short int (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var40
) /* is_ok on <var40:Iterator[nullable Object]>*/;
7579 var42
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var40
) /* item on <var40:Iterator[nullable Object]>*/;
7580 var43
= ((struct instance_kernel__Int
*)var42
)->value
; /* autounbox from nullable Object to Int */;
7583 { /* Inline kernel#Float#* (var_f,var44) */
7584 var47
= var_f
* var44
;
7587 RET_LABEL46
:(void)0;
7590 CONTINUE_label
: (void)0;
7591 ((void (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var40
) /* next on <var40:Iterator[nullable Object]>*/;
7593 BREAK_label
: (void)0;
7595 { /* Inline kernel#Float#> (self,var48) */
7596 /* Covariant cast for argument 0 (i) <var48:Float> isa OTHER */
7597 /* <var48:Float> isa OTHER */
7598 var51
= 1; /* easy <var48:Float> isa OTHER*/
7600 var_class_name
= type_kernel__Float
.name
;
7601 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7602 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 235);
7605 var52
= self
> var48
;
7608 RET_LABEL50
:(void)0;
7612 { /* Inline kernel#Float#+ (var_f,var53) */
7613 var56
= var_f
+ var53
;
7616 RET_LABEL55
:(void)0;
7621 { /* Inline kernel#Float#- (var_f,var57) */
7622 var60
= var_f
- var57
;
7625 RET_LABEL59
:(void)0;
7629 { /* Inline kernel#Float#to_i (var_f) */
7630 var63
= (long)var_f
;
7633 RET_LABEL62
:(void)0;
7637 { /* Inline kernel#Int#== (var_i64,var65) */
7638 var68
= var_i64
== var65
;
7641 RET_LABEL67
:(void)0;
7649 var73
= string__NativeString__to_s_with_length(var71
, var72
);
7657 var74
= string__Int__to_s(var_i64
);
7659 var75
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
7661 { /* Inline kernel#Int#> (var_sl,var_nb) */
7662 /* Covariant cast for argument 0 (i) <var_nb:Int> isa OTHER */
7663 /* <var_nb:Int> isa OTHER */
7664 var78
= 1; /* easy <var_nb:Int> isa OTHER*/
7666 var_class_name81
= type_kernel__Int
.name
;
7667 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81
);
7668 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
7671 var82
= var_sl
> var_nb
;
7674 RET_LABEL77
:(void)0;
7678 var84
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
7679 { /* Inline kernel#Int#- (var84,var_nb) */
7680 var87
= var84
- var_nb
;
7683 RET_LABEL86
:(void)0;
7685 var88
= ((val
* (*)(val
*, long, long))(var_s
->class->vft
[COLOR_string__AbstractString__substring
]))(var_s
, var83
, var85
) /* substring on <var_s:String>*/;
7687 var89
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:String>*/;
7688 { /* Inline kernel#Int#- (var89,var_nb) */
7689 var92
= var89
- var_nb
;
7692 RET_LABEL91
:(void)0;
7694 var93
= ((val
* (*)(val
*, long, long))(var_s
->class->vft
[COLOR_string__AbstractString__substring
]))(var_s
, var90
, var_nb
) /* substring on <var_s:String>*/;
7701 var98
= string__NativeString__to_s_with_length(var96
, var97
);
7705 var99
= ((val
* (*)(val
*, val
*))(var_p1
->class->vft
[COLOR_string__String___43d
]))(var_p1
, var95
) /* + on <var_p1:String>*/;
7706 var100
= ((val
* (*)(val
*, val
*))(var99
->class->vft
[COLOR_string__String___43d
]))(var99
, var_p2
) /* + on <var99:String>*/;
7711 var102
= varonce101
;
7715 var105
= string__NativeString__to_s_with_length(var103
, var104
);
7717 varonce101
= var102
;
7720 var107
= varonce106
;
7724 var110
= string__NativeString__to_s_with_length(var108
, var109
);
7726 varonce106
= var107
;
7728 { /* Inline kernel#Int#- (var_nb,var_sl) */
7729 var113
= var_nb
- var_sl
;
7732 RET_LABEL112
:(void)0;
7734 var114
= ((val
* (*)(val
*, long))(var107
->class->vft
[COLOR_string__String___42d
]))(var107
, var111
) /* * on <var107:String>*/;
7735 var115
= ((val
* (*)(val
*, val
*))(var102
->class->vft
[COLOR_string__String___43d
]))(var102
, var114
) /* + on <var102:String>*/;
7736 var116
= ((val
* (*)(val
*, val
*))(var115
->class->vft
[COLOR_string__String___43d
]))(var115
, var_s
) /* + on <var115:String>*/;
7743 /* method string#Float#to_precision for (self: Object, Int): String */
7744 val
* VIRTUAL_string__Float__to_precision(val
* self
, long p0
) {
7745 val
* var
/* : String */;
7746 val
* var1
/* : String */;
7747 double var2
/* : Float */;
7748 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
7749 var1
= string__Float__to_precision(var2
, p0
);
7754 /* method string#Float#to_precision_native for (self: Float, Int): String */
7755 val
* string__Float__to_precision_native(double self
, long p0
) {
7756 val
* var
/* : String */;
7757 val
* var1
/* : String */;
7758 struct nitni_instance
* ret_var
;
7759 ret_var
= string___Float_to_precision_native___impl(self
, p0
);
7760 var1
= ret_var
->value
;
7766 /* nitni callback for standard::string::Object::to_s */
7767 struct nitni_instance
* string___NativeString_to_s( char* recv
) {
7768 val
* var
/* : String */;
7769 var
= string__NativeString__to_s(recv
);
7770 struct nitni_instance
* ret_for_c
;
7771 ret_for_c
= malloc(sizeof(struct nitni_instance
));
7772 ret_for_c
->value
= var
;
7775 /* method string#Float#to_precision_native for (self: Object, Int): String */
7776 val
* VIRTUAL_string__Float__to_precision_native(val
* self
, long p0
) {
7777 val
* var
/* : String */;
7778 val
* var1
/* : String */;
7779 double var2
/* : Float */;
7780 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
7781 var1
= string__Float__to_precision_native(var2
, p0
);
7786 /* method string#Char#to_s for (self: Char): String */
7787 val
* string__Char__to_s(char self
) {
7788 val
* var
/* : String */;
7789 val
* var1
/* : Buffer */;
7790 long var2
/* : Int */;
7791 val
* var_s
/* var s: Buffer */;
7792 val
* var3
/* : StringCharView */;
7793 long var4
/* : Int */;
7794 val
* var5
/* : nullable Object */;
7795 val
* var6
/* : String */;
7796 var1
= NEW_string__Buffer(&type_string__Buffer
);
7798 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_string__Buffer__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Buffer>*/;
7800 var3
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__AbstractString__chars
]))(var_s
) /* chars on <var_s:Buffer>*/;
7802 var5
= BOX_kernel__Char(self
); /* autobox from Char to nullable Object */
7803 ((void (*)(val
*, long, val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var3
, var4
, var5
) /* []= on <var3:StringCharView(BufferCharView)>*/;
7804 var6
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
7810 /* method string#Char#to_s for (self: Object): String */
7811 val
* VIRTUAL_string__Char__to_s(val
* self
) {
7812 val
* var
/* : String */;
7813 val
* var1
/* : String */;
7814 char var2
/* : Char */;
7815 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
7816 var1
= string__Char__to_s(var2
);
7821 /* method string#Char#is_numeric for (self: Char): Bool */
7822 short int string__Char__is_numeric(char self
) {
7823 short int var
/* : Bool */;
7824 short int var1
/* : Bool */;
7825 char var2
/* : Char */;
7826 short int var3
/* : Bool */;
7827 short int var5
/* : Bool */;
7830 const char* var_class_name
;
7831 short int var6
/* : Bool */;
7832 short int var_
/* var : Bool */;
7833 char var7
/* : Char */;
7834 short int var8
/* : Bool */;
7835 short int var10
/* : Bool */;
7838 const char* var_class_name13
;
7839 short int var14
/* : Bool */;
7840 short int var15
/* : Bool */;
7841 short int var16
/* : Bool */;
7843 { /* Inline kernel#Char#>= (self,var2) */
7844 /* Covariant cast for argument 0 (i) <var2:Char> isa OTHER */
7845 /* <var2:Char> isa OTHER */
7846 var5
= 1; /* easy <var2:Char> isa OTHER*/
7848 var_class_name
= type_kernel__Char
.name
;
7849 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7850 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 442);
7853 var6
= self
>= var2
;
7861 { /* Inline kernel#Char#<= (self,var7) */
7862 /* Covariant cast for argument 0 (i) <var7:Char> isa OTHER */
7863 /* <var7:Char> isa OTHER */
7864 var10
= 1; /* easy <var7:Char> isa OTHER*/
7866 var_class_name13
= type_kernel__Char
.name
;
7867 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
7868 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 440);
7871 var14
= self
<= var7
;
7892 /* method string#Char#is_numeric for (self: Object): Bool */
7893 short int VIRTUAL_string__Char__is_numeric(val
* self
) {
7894 short int var
/* : Bool */;
7895 short int var1
/* : Bool */;
7896 char var2
/* : Char */;
7897 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
7898 var1
= string__Char__is_numeric(var2
);
7903 /* method string#Char#is_alpha for (self: Char): Bool */
7904 short int string__Char__is_alpha(char self
) {
7905 short int var
/* : Bool */;
7906 short int var1
/* : Bool */;
7907 short int var2
/* : Bool */;
7908 char var3
/* : Char */;
7909 short int var4
/* : Bool */;
7910 short int var6
/* : Bool */;
7913 const char* var_class_name
;
7914 short int var7
/* : Bool */;
7915 short int var_
/* var : Bool */;
7916 char var8
/* : Char */;
7917 short int var9
/* : Bool */;
7918 short int var11
/* : Bool */;
7921 const char* var_class_name14
;
7922 short int var15
/* : Bool */;
7923 short int var_16
/* var : Bool */;
7924 short int var17
/* : Bool */;
7925 char var18
/* : Char */;
7926 short int var19
/* : Bool */;
7927 short int var21
/* : Bool */;
7930 const char* var_class_name24
;
7931 short int var25
/* : Bool */;
7932 short int var_26
/* var : Bool */;
7933 char var27
/* : Char */;
7934 short int var28
/* : Bool */;
7935 short int var30
/* : Bool */;
7938 const char* var_class_name33
;
7939 short int var34
/* : Bool */;
7940 short int var35
/* : Bool */;
7941 short int var36
/* : Bool */;
7943 { /* Inline kernel#Char#>= (self,var3) */
7944 /* Covariant cast for argument 0 (i) <var3:Char> isa OTHER */
7945 /* <var3:Char> isa OTHER */
7946 var6
= 1; /* easy <var3:Char> isa OTHER*/
7948 var_class_name
= type_kernel__Char
.name
;
7949 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7950 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 442);
7953 var7
= self
>= var3
;
7961 { /* Inline kernel#Char#<= (self,var8) */
7962 /* Covariant cast for argument 0 (i) <var8:Char> isa OTHER */
7963 /* <var8:Char> isa OTHER */
7964 var11
= 1; /* easy <var8:Char> isa OTHER*/
7966 var_class_name14
= type_kernel__Char
.name
;
7967 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
7968 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 440);
7971 var15
= self
<= var8
;
7974 RET_LABEL10
:(void)0;
7985 { /* Inline kernel#Char#>= (self,var18) */
7986 /* Covariant cast for argument 0 (i) <var18:Char> isa OTHER */
7987 /* <var18:Char> isa OTHER */
7988 var21
= 1; /* easy <var18:Char> isa OTHER*/
7990 var_class_name24
= type_kernel__Char
.name
;
7991 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
7992 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 442);
7995 var25
= self
>= var18
;
7998 RET_LABEL20
:(void)0;
8003 { /* Inline kernel#Char#<= (self,var27) */
8004 /* Covariant cast for argument 0 (i) <var27:Char> isa OTHER */
8005 /* <var27:Char> isa OTHER */
8006 var30
= 1; /* easy <var27:Char> isa OTHER*/
8008 var_class_name33
= type_kernel__Char
.name
;
8009 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
8010 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 440);
8013 var34
= self
<= var27
;
8016 RET_LABEL29
:(void)0;
8036 /* method string#Char#is_alpha for (self: Object): Bool */
8037 short int VIRTUAL_string__Char__is_alpha(val
* self
) {
8038 short int var
/* : Bool */;
8039 short int var1
/* : Bool */;
8040 char var2
/* : Char */;
8041 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
8042 var1
= string__Char__is_alpha(var2
);
8047 /* method string#Char#is_alphanumeric for (self: Char): Bool */
8048 short int string__Char__is_alphanumeric(char self
) {
8049 short int var
/* : Bool */;
8050 short int var1
/* : Bool */;
8051 short int var2
/* : Bool */;
8052 short int var_
/* var : Bool */;
8053 short int var3
/* : Bool */;
8054 short int var4
/* : Bool */;
8055 short int var5
/* : Bool */;
8056 var2
= string__Char__is_numeric(self
);
8061 var3
= string__Char__is_alpha(self
);
8076 /* method string#Char#is_alphanumeric for (self: Object): Bool */
8077 short int VIRTUAL_string__Char__is_alphanumeric(val
* self
) {
8078 short int var
/* : Bool */;
8079 short int var1
/* : Bool */;
8080 char var2
/* : Char */;
8081 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
8082 var1
= string__Char__is_alphanumeric(var2
);
8087 /* method string#Collection#to_s for (self: Collection[nullable Object]): String */
8088 val
* string__Collection__to_s(val
* self
) {
8089 val
* var
/* : String */;
8090 val
* var1
/* : Buffer */;
8091 val
* var_s
/* var s: Buffer */;
8092 val
* var2
/* : Iterator[nullable Object] */;
8093 short int var3
/* : Bool */;
8094 val
* var4
/* : nullable Object */;
8095 val
* var_e
/* var e: nullable Object */;
8096 val
* var5
/* : null */;
8097 short int var6
/* : Bool */;
8098 val
* var7
/* : String */;
8099 val
* var8
/* : String */;
8100 var1
= NEW_string__Buffer(&type_string__Buffer
);
8101 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
8103 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
8105 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
8107 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
8110 if (var_e
== NULL
) {
8111 var6
= 0; /* is null */
8113 var6
= 1; /* arg is null and recv is not */
8116 if (var_e
== NULL
) {
8117 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
8118 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1154);
8121 var7
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
8123 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var7
) /* append on <var_s:Buffer>*/;
8126 CONTINUE_label
: (void)0;
8127 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
8129 BREAK_label
: (void)0;
8130 var8
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
8136 /* method string#Collection#to_s for (self: Object): String */
8137 val
* VIRTUAL_string__Collection__to_s(val
* self
) {
8138 val
* var
/* : String */;
8139 val
* var1
/* : String */;
8140 var1
= string__Collection__to_s(self
);
8145 /* method string#Collection#join for (self: Collection[nullable Object], String): String */
8146 val
* string__Collection__join(val
* self
, val
* p0
) {
8147 val
* var
/* : String */;
8148 val
* var_sep
/* var sep: String */;
8149 short int var1
/* : Bool */;
8150 static val
* varonce
;
8151 val
* var2
/* : String */;
8152 char* var3
/* : NativeString */;
8153 long var4
/* : Int */;
8154 val
* var5
/* : String */;
8155 val
* var6
/* : Buffer */;
8156 val
* var_s
/* var s: Buffer */;
8157 val
* var7
/* : Iterator[nullable Object] */;
8158 val
* var_i
/* var i: Iterator[nullable Object] */;
8159 val
* var8
/* : nullable Object */;
8160 val
* var_e
/* var e: nullable Object */;
8161 val
* var9
/* : null */;
8162 short int var10
/* : Bool */;
8163 val
* var11
/* : String */;
8164 short int var12
/* : Bool */;
8165 val
* var13
/* : nullable Object */;
8166 val
* var14
/* : null */;
8167 short int var15
/* : Bool */;
8168 val
* var16
/* : String */;
8169 val
* var17
/* : String */;
8171 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:Collection[nullable Object]>*/;
8178 var5
= string__NativeString__to_s_with_length(var3
, var4
);
8186 var6
= NEW_string__Buffer(&type_string__Buffer
);
8187 ((void (*)(val
*))(var6
->class->vft
[COLOR_string__Buffer__init
]))(var6
) /* init on <var6:Buffer>*/;
8189 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
8191 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_i
) /* item on <var_i:Iterator[nullable Object]>*/;
8194 if (var_e
== NULL
) {
8195 var10
= 0; /* is null */
8197 var10
= 1; /* arg is null and recv is not */
8200 if (var_e
== NULL
) {
8201 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
8202 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1171);
8205 var11
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
8207 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var11
) /* append on <var_s:Buffer>*/;
8210 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_i
) /* next on <var_i:Iterator[nullable Object]>*/;
8212 var12
= ((short int (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_i
) /* is_ok on <var_i:Iterator[nullable Object]>*/;
8214 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var_sep
) /* append on <var_s:Buffer>*/;
8215 var13
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_i
) /* item on <var_i:Iterator[nullable Object]>*/;
8218 if (var_e
== NULL
) {
8219 var15
= 0; /* is null */
8221 var15
= 1; /* arg is null and recv is not */
8224 if (var_e
== NULL
) {
8225 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
8226 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1178);
8229 var16
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
8231 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var16
) /* append on <var_s:Buffer>*/;
8234 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_i
) /* next on <var_i:Iterator[nullable Object]>*/;
8235 CONTINUE_label
: (void)0;
8237 BREAK_label
: (void)0;
8238 var17
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
8244 /* method string#Collection#join for (self: Object, String): String */
8245 val
* VIRTUAL_string__Collection__join(val
* self
, val
* p0
) {
8246 val
* var
/* : String */;
8247 val
* var1
/* : String */;
8248 var1
= string__Collection__join(self
, p0
);
8253 /* method string#Array#to_s for (self: Array[nullable Object]): String */
8254 val
* string__Array__to_s(val
* self
) {
8255 val
* var
/* : String */;
8256 val
* var1
/* : Buffer */;
8257 val
* var_s
/* var s: Buffer */;
8258 long var2
/* : Int */;
8259 long var_i
/* var i: Int */;
8260 long var3
/* : Int */;
8261 long var_l
/* var l: Int */;
8262 short int var4
/* : Bool */;
8263 short int var6
/* : Bool */;
8266 const char* var_class_name
;
8267 short int var7
/* : Bool */;
8268 val
* var8
/* : nullable Object */;
8269 val
* var_e
/* var e: nullable Object */;
8270 val
* var9
/* : null */;
8271 short int var10
/* : Bool */;
8272 val
* var11
/* : String */;
8273 long var12
/* : Int */;
8274 long var13
/* : Int */;
8275 long var15
/* : Int */;
8276 val
* var16
/* : String */;
8277 var1
= NEW_string__Buffer(&type_string__Buffer
);
8278 ((void (*)(val
*))(var1
->class->vft
[COLOR_string__Buffer__init
]))(var1
) /* init on <var1:Buffer>*/;
8282 var3
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__length
]))(self
) /* length on <self:Array[nullable Object]>*/;
8285 { /* Inline kernel#Int#< (var_i,var_l) */
8286 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
8287 /* <var_l:Int> isa OTHER */
8288 var6
= 1; /* easy <var_l:Int> isa OTHER*/
8290 var_class_name
= type_kernel__Int
.name
;
8291 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8292 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
8295 var7
= var_i
< var_l
;
8301 var8
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(self
, var_i
) /* [] on <self:Array[nullable Object]>*/;
8304 if (var_e
== NULL
) {
8305 var10
= 0; /* is null */
8307 var10
= 1; /* arg is null and recv is not */
8310 if (var_e
== NULL
) {
8311 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
8312 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1194);
8315 var11
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
8317 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var11
) /* append on <var_s:Buffer>*/;
8321 { /* Inline kernel#Int#+ (var_i,var12) */
8322 var15
= var_i
+ var12
;
8325 RET_LABEL14
:(void)0;
8328 CONTINUE_label
: (void)0;
8330 BREAK_label
: (void)0;
8331 var16
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
8337 /* method string#Array#to_s for (self: Object): String */
8338 val
* VIRTUAL_string__Array__to_s(val
* self
) {
8339 val
* var
/* : String */;
8340 val
* var1
/* : String */;
8341 var1
= string__Array__to_s(self
);
8346 /* method string#Map#join for (self: Map[Object, nullable Object], String, String): String */
8347 val
* string__Map__join(val
* self
, val
* p0
, val
* p1
) {
8348 val
* var
/* : String */;
8349 val
* var_sep
/* var sep: String */;
8350 val
* var_couple_sep
/* var couple_sep: String */;
8351 short int var1
/* : Bool */;
8352 static val
* varonce
;
8353 val
* var2
/* : String */;
8354 char* var3
/* : NativeString */;
8355 long var4
/* : Int */;
8356 val
* var5
/* : String */;
8357 val
* var6
/* : Buffer */;
8358 val
* var_s
/* var s: Buffer */;
8359 val
* var7
/* : MapIterator[Object, nullable Object] */;
8360 val
* var_i
/* var i: MapIterator[Object, nullable Object] */;
8361 val
* var8
/* : Object */;
8362 val
* var_k
/* var k: Object */;
8363 val
* var9
/* : nullable Object */;
8364 val
* var_e
/* var e: nullable Object */;
8365 val
* var10
/* : Object */;
8366 static val
* varonce11
;
8367 val
* var12
/* : String */;
8368 char* var13
/* : NativeString */;
8369 long var14
/* : Int */;
8370 val
* var15
/* : String */;
8371 val
* var16
/* : Array[Object] */;
8372 long var17
/* : Int */;
8373 val
* var18
/* : NativeArray[Object] */;
8374 val
* var19
/* : String */;
8375 short int var20
/* : Bool */;
8376 val
* var21
/* : Object */;
8377 val
* var22
/* : nullable Object */;
8378 val
* var23
/* : Object */;
8379 static val
* varonce24
;
8380 val
* var25
/* : String */;
8381 char* var26
/* : NativeString */;
8382 long var27
/* : Int */;
8383 val
* var28
/* : String */;
8384 val
* var29
/* : Array[Object] */;
8385 long var30
/* : Int */;
8386 val
* var31
/* : NativeArray[Object] */;
8387 val
* var32
/* : String */;
8388 val
* var33
/* : String */;
8390 var_couple_sep
= p1
;
8391 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__MapRead__is_empty
]))(self
) /* is_empty on <self:Map[Object, nullable Object]>*/;
8398 var5
= string__NativeString__to_s_with_length(var3
, var4
);
8406 var6
= NEW_string__Buffer(&type_string__Buffer
);
8407 ((void (*)(val
*))(var6
->class->vft
[COLOR_string__Buffer__init
]))(var6
) /* init on <var6:Buffer>*/;
8409 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__MapRead__iterator
]))(self
) /* iterator on <self:Map[Object, nullable Object]>*/;
8411 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_i
) /* key on <var_i:MapIterator[Object, nullable Object]>*/;
8413 var9
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_i
) /* item on <var_i:MapIterator[Object, nullable Object]>*/;
8423 var15
= string__NativeString__to_s_with_length(var13
, var14
);
8429 var16
= NEW_array__Array(&type_array__Arraykernel__Object
);
8430 { /* var16 = array_instance Array[Object] */
8432 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArraykernel__Object
);
8433 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var_k
;
8434 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var_couple_sep
;
8435 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var10
;
8436 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Object]>*/;
8438 var19
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__Object__to_s
]))(var16
) /* to_s on <var16:Array[Object]>*/;
8439 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var19
) /* append on <var_s:Buffer>*/;
8440 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_i
) /* next on <var_i:MapIterator[Object, nullable Object]>*/;
8442 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]>*/;
8444 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var_sep
) /* append on <var_s:Buffer>*/;
8445 var21
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__key
]))(var_i
) /* key on <var_i:MapIterator[Object, nullable Object]>*/;
8447 var22
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__item
]))(var_i
) /* item on <var_i:MapIterator[Object, nullable Object]>*/;
8457 var28
= string__NativeString__to_s_with_length(var26
, var27
);
8463 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
8464 { /* var29 = array_instance Array[Object] */
8466 var31
= NEW_array__NativeArray(var30
, &type_array__NativeArraykernel__Object
);
8467 ((struct instance_array__NativeArray
*)var31
)->values
[0] = (val
*) var_k
;
8468 ((struct instance_array__NativeArray
*)var31
)->values
[1] = (val
*) var_couple_sep
;
8469 ((struct instance_array__NativeArray
*)var31
)->values
[2] = (val
*) var23
;
8470 ((void (*)(val
*, val
*, long))(var29
->class->vft
[COLOR_array__Array__with_native
]))(var29
, var31
, var30
) /* with_native on <var29:Array[Object]>*/;
8472 var32
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_string__Object__to_s
]))(var29
) /* to_s on <var29:Array[Object]>*/;
8473 ((void (*)(val
*, val
*))(var_s
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_s
, var32
) /* append on <var_s:Buffer>*/;
8474 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__MapIterator__next
]))(var_i
) /* next on <var_i:MapIterator[Object, nullable Object]>*/;
8475 CONTINUE_label
: (void)0;
8477 BREAK_label
: (void)0;
8478 var33
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Object__to_s
]))(var_s
) /* to_s on <var_s:Buffer>*/;
8484 /* method string#Map#join for (self: Object, String, String): String */
8485 val
* VIRTUAL_string__Map__join(val
* self
, val
* p0
, val
* p1
) {
8486 val
* var
/* : String */;
8487 val
* var1
/* : String */;
8488 var1
= string__Map__join(self
, p0
, p1
);
8493 /* method string#NativeString#[] for (self: NativeString, Int): Char */
8494 char string__NativeString___91d_93d(char* self
, long p0
) {
8495 char var
/* : Char */;
8496 char var1
/* : Char */;
8503 /* method string#NativeString#[] for (self: Object, Int): Char */
8504 char VIRTUAL_string__NativeString___91d_93d(val
* self
, long p0
) {
8505 char var
/* : Char */;
8506 char var1
/* : Char */;
8507 char* var3
/* : NativeString */;
8508 char var4
/* : Char */;
8509 { /* Inline string#NativeString#[] (self,p0) */
8510 var3
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
8520 /* method string#NativeString#[]= for (self: NativeString, Int, Char) */
8521 void string__NativeString___91d_93d_61d(char* self
, long p0
, char p1
) {
8525 /* method string#NativeString#[]= for (self: Object, Int, Char) */
8526 void VIRTUAL_string__NativeString___91d_93d_61d(val
* self
, long p0
, char p1
) {
8527 char* var
/* : NativeString */;
8528 { /* Inline string#NativeString#[]= (self,p0,p1) */
8529 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
8535 /* method string#NativeString#copy_to for (self: NativeString, NativeString, Int, Int, Int) */
8536 void string__NativeString__copy_to(char* self
, char* p0
, long p1
, long p2
, long p3
) {
8537 memcpy(p0
+p3
,self
+p2
,p1
);
8540 /* method string#NativeString#copy_to for (self: Object, NativeString, Int, Int, Int) */
8541 void VIRTUAL_string__NativeString__copy_to(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
8542 char* var
/* : NativeString */;
8543 { /* Inline string#NativeString#copy_to (self,p0,p1,p2,p3) */
8544 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
8545 memcpy(p0
+p3
,var
+p2
,p1
);
8550 /* method string#NativeString#cstring_length for (self: NativeString): Int */
8551 long string__NativeString__cstring_length(char* self
) {
8552 long var
/* : Int */;
8553 long var1
/* : Int */;
8554 long var_l
/* var l: Int */;
8555 char var2
/* : Char */;
8556 char var4
/* : Char */;
8557 char var5
/* : Char */;
8558 short int var6
/* : Bool */;
8559 short int var8
/* : Bool */;
8560 short int var9
/* : Bool */;
8561 long var10
/* : Int */;
8562 long var11
/* : Int */;
8563 long var13
/* : Int */;
8567 { /* Inline string#NativeString#[] (self,var_l) */
8574 { /* Inline kernel#Char#!= (var2,var5) */
8575 var8
= var2
== var5
;
8583 { /* Inline kernel#Int#+ (var_l,var10) */
8584 var13
= var_l
+ var10
;
8587 RET_LABEL12
:(void)0;
8590 CONTINUE_label
: (void)0;
8592 BREAK_label
: (void)0;
8598 /* method string#NativeString#cstring_length for (self: Object): Int */
8599 long VIRTUAL_string__NativeString__cstring_length(val
* self
) {
8600 long var
/* : Int */;
8601 long var1
/* : Int */;
8602 char* var2
/* : NativeString */;
8603 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
8604 var1
= string__NativeString__cstring_length(var2
);
8609 /* method string#NativeString#atoi for (self: NativeString): Int */
8610 long string__NativeString__atoi(char* self
) {
8611 long var
/* : Int */;
8612 long var1
/* : Int */;
8619 /* method string#NativeString#atoi for (self: Object): Int */
8620 long VIRTUAL_string__NativeString__atoi(val
* self
) {
8621 long var
/* : Int */;
8622 long var1
/* : Int */;
8623 char* var3
/* : NativeString */;
8624 long var4
/* : Int */;
8625 { /* Inline string#NativeString#atoi (self) */
8626 var3
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
8636 /* method string#NativeString#atof for (self: NativeString): Float */
8637 double string__NativeString__atof(char* self
) {
8638 double var
/* : Float */;
8639 double var1
/* : Float */;
8646 /* method string#NativeString#atof for (self: Object): Float */
8647 double VIRTUAL_string__NativeString__atof(val
* self
) {
8648 double var
/* : Float */;
8649 double var1
/* : Float */;
8650 char* var2
/* : NativeString */;
8651 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
8652 var1
= string__NativeString__atof(var2
);
8657 /* method string#NativeString#to_s for (self: NativeString): String */
8658 val
* string__NativeString__to_s(char* self
) {
8659 val
* var
/* : String */;
8660 long var1
/* : Int */;
8661 val
* var2
/* : String */;
8662 var1
= string__NativeString__cstring_length(self
);
8663 var2
= string__NativeString__to_s_with_length(self
, var1
);
8669 /* method string#NativeString#to_s for (self: Object): String */
8670 val
* VIRTUAL_string__NativeString__to_s(val
* self
) {
8671 val
* var
/* : String */;
8672 val
* var1
/* : String */;
8673 char* var2
/* : NativeString */;
8674 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
8675 var1
= string__NativeString__to_s(var2
);
8680 /* method string#NativeString#to_s_with_length for (self: NativeString, Int): String */
8681 val
* string__NativeString__to_s_with_length(char* self
, long p0
) {
8682 val
* var
/* : String */;
8683 long var_length
/* var length: Int */;
8684 long var1
/* : Int */;
8685 short int var2
/* : Bool */;
8686 short int var4
/* : Bool */;
8689 const char* var_class_name
;
8690 short int var5
/* : Bool */;
8691 val
* var6
/* : String */;
8692 long var7
/* : Int */;
8693 long var8
/* : Int */;
8694 long var9
/* : Int */;
8695 long var11
/* : Int */;
8698 { /* Inline kernel#Int#>= (var_length,var1) */
8699 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
8700 /* <var1:Int> isa OTHER */
8701 var4
= 1; /* easy <var1:Int> isa OTHER*/
8703 var_class_name
= type_kernel__Int
.name
;
8704 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8705 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
8708 var5
= var_length
>= var1
;
8714 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8715 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1264);
8718 var6
= NEW_string__String(&type_string__String
);
8721 { /* Inline kernel#Int#- (var_length,var8) */
8722 var11
= var_length
- var8
;
8725 RET_LABEL10
:(void)0;
8727 ((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>*/;
8733 /* method string#NativeString#to_s_with_length for (self: Object, Int): String */
8734 val
* VIRTUAL_string__NativeString__to_s_with_length(val
* self
, long p0
) {
8735 val
* var
/* : String */;
8736 val
* var1
/* : String */;
8737 char* var2
/* : NativeString */;
8738 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
8739 var1
= string__NativeString__to_s_with_length(var2
, p0
);
8744 /* method string#NativeString#to_s_with_copy for (self: NativeString): String */
8745 val
* string__NativeString__to_s_with_copy(char* self
) {
8746 val
* var
/* : String */;
8747 long var1
/* : Int */;
8748 long var_length
/* var length: Int */;
8749 long var2
/* : Int */;
8750 long var3
/* : Int */;
8751 long var5
/* : Int */;
8752 char* var6
/* : NativeString */;
8753 val
* var8
/* : StringCapable */;
8754 char* var9
/* : NativeString */;
8755 char* var_new_self
/* var new_self: NativeString */;
8756 long var10
/* : Int */;
8757 long var11
/* : Int */;
8758 val
* var13
/* : String */;
8759 long var14
/* : Int */;
8760 long var15
/* : Int */;
8761 long var16
/* : Int */;
8762 long var18
/* : Int */;
8763 var1
= string__NativeString__cstring_length(self
);
8766 { /* Inline kernel#Int#+ (var_length,var2) */
8767 var5
= var_length
+ var2
;
8772 { /* Inline string#StringCapable#calloc_string (self,var3) */
8773 var8
= BOX_string__NativeString(self
); /* autobox from NativeString to StringCapable */
8774 var9
= (char*)nit_alloc(var3
);
8779 var_new_self
= var6
;
8782 { /* Inline string#NativeString#copy_to (self,var_new_self,var_length,var10,var11) */
8783 memcpy(var_new_self
+var11
,self
+var10
,var_length
);
8784 RET_LABEL12
:(void)0;
8786 var13
= NEW_string__String(&type_string__String
);
8789 { /* Inline kernel#Int#- (var_length,var15) */
8790 var18
= var_length
- var15
;
8793 RET_LABEL17
:(void)0;
8795 ((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>*/;
8801 /* method string#NativeString#to_s_with_copy for (self: Object): String */
8802 val
* VIRTUAL_string__NativeString__to_s_with_copy(val
* self
) {
8803 val
* var
/* : String */;
8804 val
* var1
/* : String */;
8805 char* var2
/* : NativeString */;
8806 var2
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
8807 var1
= string__NativeString__to_s_with_copy(var2
);
8812 /* method string#NativeString#init for (self: NativeString) */
8813 void string__NativeString__init(char* self
) {
8816 /* method string#NativeString#init for (self: Object) */
8817 void VIRTUAL_string__NativeString__init(val
* self
) {
8818 char* var
/* : NativeString */;
8819 var
= ((struct instance_string__NativeString
*)self
)->value
; /* autounbox from Object to NativeString */;
8820 string__NativeString__init(var
);
8823 /* method string#StringCapable#calloc_string for (self: StringCapable, Int): NativeString */
8824 char* string__StringCapable__calloc_string(val
* self
, long p0
) {
8825 char* var
/* : NativeString */;
8826 char* var1
/* : NativeString */;
8827 var1
= (char*)nit_alloc(p0
);
8833 /* method string#StringCapable#calloc_string for (self: Object, Int): NativeString */
8834 char* VIRTUAL_string__StringCapable__calloc_string(val
* self
, long p0
) {
8835 char* var
/* : NativeString */;
8836 char* var1
/* : NativeString */;
8837 char* var3
/* : NativeString */;
8838 { /* Inline string#StringCapable#calloc_string (self,p0) */
8839 var3
= (char*)nit_alloc(p0
);
8848 /* method string#Sys#args for (self: Sys): Sequence[String] */
8849 val
* string__Sys__args(val
* self
) {
8850 val
* var
/* : Sequence[String] */;
8851 val
* var1
/* : nullable Sequence[String] */;
8852 val
* var2
/* : null */;
8853 short int var3
/* : Bool */;
8854 val
* var4
/* : nullable Sequence[String] */;
8855 var1
= self
->attrs
[COLOR_string__Sys___args_cache
].val
; /* _args_cache on <self:Sys> */
8858 var3
= 1; /* is null */
8860 var3
= 0; /* arg is null but recv is not */
8863 ((void (*)(val
*))(self
->class->vft
[COLOR_string__Sys__init_args
]))(self
) /* init_args on <self:Sys>*/;
8866 var4
= self
->attrs
[COLOR_string__Sys___args_cache
].val
; /* _args_cache on <self:Sys> */
8868 fprintf(stderr
, "Runtime error: %s", "Cast failed");
8869 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1289);
8877 /* method string#Sys#args for (self: Object): Sequence[String] */
8878 val
* VIRTUAL_string__Sys__args(val
* self
) {
8879 val
* var
/* : Sequence[String] */;
8880 val
* var1
/* : Sequence[String] */;
8881 var1
= string__Sys__args(self
);
8886 /* method string#Sys#program_name for (self: Sys): String */
8887 val
* string__Sys__program_name(val
* self
) {
8888 val
* var
/* : String */;
8889 long var1
/* : Int */;
8890 char* var2
/* : NativeString */;
8891 val
* var3
/* : String */;
8893 var2
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__Sys__native_argv
]))(self
, var1
) /* native_argv on <self:Sys>*/;
8894 var3
= string__NativeString__to_s(var2
);
8900 /* method string#Sys#program_name for (self: Object): String */
8901 val
* VIRTUAL_string__Sys__program_name(val
* self
) {
8902 val
* var
/* : String */;
8903 val
* var1
/* : String */;
8904 var1
= string__Sys__program_name(self
);
8909 /* method string#Sys#init_args for (self: Sys) */
8910 void string__Sys__init_args(val
* self
) {
8911 long var
/* : Int */;
8912 long var_argc
/* var argc: Int */;
8913 val
* var1
/* : Array[String] */;
8914 long var2
/* : Int */;
8915 val
* var_args
/* var args: Array[String] */;
8916 long var3
/* : Int */;
8917 long var_i
/* var i: Int */;
8918 short int var4
/* : Bool */;
8919 short int var6
/* : Bool */;
8922 const char* var_class_name
;
8923 short int var7
/* : Bool */;
8924 long var8
/* : Int */;
8925 long var9
/* : Int */;
8926 long var11
/* : Int */;
8927 char* var12
/* : NativeString */;
8928 val
* var13
/* : String */;
8929 long var14
/* : Int */;
8930 long var15
/* : Int */;
8931 long var17
/* : Int */;
8932 var
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__Sys__native_argc
]))(self
) /* native_argc on <self:Sys>*/;
8934 var1
= NEW_array__Array(&type_array__Arraystring__String
);
8936 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[String]>*/;
8941 { /* Inline kernel#Int#< (var_i,var_argc) */
8942 /* Covariant cast for argument 0 (i) <var_argc:Int> isa OTHER */
8943 /* <var_argc:Int> isa OTHER */
8944 var6
= 1; /* easy <var_argc:Int> isa OTHER*/
8946 var_class_name
= type_kernel__Int
.name
;
8947 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8948 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
8951 var7
= var_i
< var_argc
;
8958 { /* Inline kernel#Int#- (var_i,var8) */
8959 var11
= var_i
- var8
;
8962 RET_LABEL10
:(void)0;
8964 var12
= ((char* (*)(val
*, long))(self
->class->vft
[COLOR_string__Sys__native_argv
]))(self
, var_i
) /* native_argv on <self:Sys>*/;
8965 var13
= string__NativeString__to_s(var12
);
8966 ((void (*)(val
*, long, val
*))(var_args
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var_args
, var9
, var13
) /* []= on <var_args:Array[String]>*/;
8968 { /* Inline kernel#Int#+ (var_i,var14) */
8969 var17
= var_i
+ var14
;
8972 RET_LABEL16
:(void)0;
8975 CONTINUE_label
: (void)0;
8977 BREAK_label
: (void)0;
8978 self
->attrs
[COLOR_string__Sys___args_cache
].val
= var_args
; /* _args_cache on <self:Sys> */
8981 /* method string#Sys#init_args for (self: Object) */
8982 void VIRTUAL_string__Sys__init_args(val
* self
) {
8983 string__Sys__init_args(self
);
8986 /* method string#Sys#native_argc for (self: Sys): Int */
8987 long string__Sys__native_argc(val
* self
) {
8988 long var
/* : Int */;
8989 long var1
/* : Int */;
8996 /* method string#Sys#native_argc for (self: Object): Int */
8997 long VIRTUAL_string__Sys__native_argc(val
* self
) {
8998 long var
/* : Int */;
8999 long var1
/* : Int */;
9000 long var3
/* : Int */;
9001 { /* Inline string#Sys#native_argc (self) */
9011 /* method string#Sys#native_argv for (self: Sys, Int): NativeString */
9012 char* string__Sys__native_argv(val
* self
, long p0
) {
9013 char* var
/* : NativeString */;
9014 char* var1
/* : NativeString */;
9015 var1
= glob_argv
[p0
];
9021 /* method string#Sys#native_argv for (self: Object, Int): NativeString */
9022 char* VIRTUAL_string__Sys__native_argv(val
* self
, long p0
) {
9023 char* var
/* : NativeString */;
9024 char* var1
/* : NativeString */;
9025 char* var3
/* : NativeString */;
9026 { /* Inline string#Sys#native_argv (self,p0) */
9027 var3
= glob_argv
[p0
];
9036 /* method string#CachedAlphaComparator#cache for (self: CachedAlphaComparator): HashMap[Object, String] */
9037 val
* string__CachedAlphaComparator__cache(val
* self
) {
9038 val
* var
/* : HashMap[Object, String] */;
9039 val
* var1
/* : HashMap[Object, String] */;
9040 var1
= self
->attrs
[COLOR_string__CachedAlphaComparator___64dcache
].val
; /* @cache on <self:CachedAlphaComparator> */
9042 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @cache");
9043 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1333);
9050 /* method string#CachedAlphaComparator#cache for (self: Object): HashMap[Object, String] */
9051 val
* VIRTUAL_string__CachedAlphaComparator__cache(val
* self
) {
9052 val
* var
/* : HashMap[Object, String] */;
9053 val
* var1
/* : HashMap[Object, String] */;
9054 var1
= string__CachedAlphaComparator__cache(self
);
9059 /* method string#CachedAlphaComparator#cache= for (self: CachedAlphaComparator, HashMap[Object, String]) */
9060 void string__CachedAlphaComparator__cache_61d(val
* self
, val
* p0
) {
9061 self
->attrs
[COLOR_string__CachedAlphaComparator___64dcache
].val
= p0
; /* @cache on <self:CachedAlphaComparator> */
9064 /* method string#CachedAlphaComparator#cache= for (self: Object, HashMap[Object, String]) */
9065 void VIRTUAL_string__CachedAlphaComparator__cache_61d(val
* self
, val
* p0
) {
9066 string__CachedAlphaComparator__cache_61d(self
, p0
);
9069 /* method string#CachedAlphaComparator#do_to_s for (self: CachedAlphaComparator, Object): String */
9070 val
* string__CachedAlphaComparator__do_to_s(val
* self
, val
* p0
) {
9071 val
* var
/* : String */;
9072 val
* var_a
/* var a: Object */;
9073 val
* var1
/* : HashMap[Object, String] */;
9074 short int var2
/* : Bool */;
9075 val
* var3
/* : HashMap[Object, String] */;
9076 val
* var4
/* : nullable Object */;
9077 val
* var5
/* : String */;
9078 val
* var_res
/* var res: String */;
9079 val
* var6
/* : HashMap[Object, String] */;
9081 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__CachedAlphaComparator__cache
]))(self
) /* cache on <self:CachedAlphaComparator>*/;
9082 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_a
) /* has_key on <var1:HashMap[Object, String]>*/;
9084 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__CachedAlphaComparator__cache
]))(self
) /* cache on <self:CachedAlphaComparator>*/;
9085 var4
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var3
, var_a
) /* [] on <var3:HashMap[Object, String]>*/;
9090 var5
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_string__Object__to_s
]))(var_a
) /* to_s on <var_a:Object>*/;
9092 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__CachedAlphaComparator__cache
]))(self
) /* cache on <self:CachedAlphaComparator>*/;
9093 ((void (*)(val
*, val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var6
, var_a
, var_res
) /* []= on <var6:HashMap[Object, String]>*/;
9099 /* method string#CachedAlphaComparator#do_to_s for (self: Object, Object): String */
9100 val
* VIRTUAL_string__CachedAlphaComparator__do_to_s(val
* self
, val
* p0
) {
9101 val
* var
/* : String */;
9102 val
* var1
/* : String */;
9103 var1
= string__CachedAlphaComparator__do_to_s(self
, p0
);
9108 /* method string#CachedAlphaComparator#compare for (self: CachedAlphaComparator, Object, Object): Int */
9109 long string__CachedAlphaComparator__compare(val
* self
, val
* p0
, val
* p1
) {
9110 long var
/* : Int */;
9111 short int var1
/* : Bool */;
9114 const char* var_class_name
;
9115 short int var2
/* : Bool */;
9118 const char* var_class_name5
;
9119 val
* var_a
/* var a: Object */;
9120 val
* var_b
/* var b: Object */;
9121 val
* var6
/* : String */;
9122 val
* var7
/* : String */;
9123 long var8
/* : Int */;
9124 /* Covariant cast for argument 0 (a) <p0:Object> isa AbstractSorter#0 */
9125 /* <p0:Object> isa AbstractSorter#0 */
9126 var1
= 1; /* easy <p0:Object> isa AbstractSorter#0*/
9128 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
9129 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractSorter#0", var_class_name
);
9130 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1342);
9133 /* Covariant cast for argument 1 (b) <p1:Object> isa AbstractSorter#0 */
9134 /* <p1:Object> isa AbstractSorter#0 */
9135 var2
= 1; /* easy <p1:Object> isa AbstractSorter#0*/
9137 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
9138 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractSorter#0", var_class_name5
);
9139 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1342);
9144 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_string__CachedAlphaComparator__do_to_s
]))(self
, var_a
) /* do_to_s on <self:CachedAlphaComparator>*/;
9145 var7
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_string__CachedAlphaComparator__do_to_s
]))(self
, var_b
) /* do_to_s on <self:CachedAlphaComparator>*/;
9146 var8
= ((long (*)(val
*, val
*))(var6
->class->vft
[COLOR_kernel__Comparable___60d_61d_62d
]))(var6
, var7
) /* <=> on <var6:String>*/;
9152 /* method string#CachedAlphaComparator#compare for (self: Object, nullable Object, nullable Object): Int */
9153 long VIRTUAL_string__CachedAlphaComparator__compare(val
* self
, val
* p0
, val
* p1
) {
9154 long var
/* : Int */;
9155 long var1
/* : Int */;
9156 var1
= string__CachedAlphaComparator__compare(self
, p0
, p1
);
9161 /* method string#CachedAlphaComparator#init for (self: CachedAlphaComparator) */
9162 void string__CachedAlphaComparator__init(val
* self
) {
9165 /* method string#CachedAlphaComparator#init for (self: Object) */
9166 void VIRTUAL_string__CachedAlphaComparator__init(val
* self
) {
9167 string__CachedAlphaComparator__init(self
);
9170 /* method string#AlphaComparator#compare for (self: AlphaComparator, Object, Object): Int */
9171 long string__AlphaComparator__compare(val
* self
, val
* p0
, val
* p1
) {
9172 long var
/* : Int */;
9173 short int var1
/* : Bool */;
9176 const char* var_class_name
;
9177 short int var2
/* : Bool */;
9180 const char* var_class_name5
;
9181 val
* var_a
/* var a: Object */;
9182 val
* var_b
/* var b: Object */;
9183 val
* var6
/* : String */;
9184 val
* var7
/* : String */;
9185 long var8
/* : Int */;
9186 /* Covariant cast for argument 0 (a) <p0:Object> isa AbstractSorter#0 */
9187 /* <p0:Object> isa AbstractSorter#0 */
9188 var1
= 1; /* easy <p0:Object> isa AbstractSorter#0*/
9190 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
9191 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractSorter#0", var_class_name
);
9192 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1350);
9195 /* Covariant cast for argument 1 (b) <p1:Object> isa AbstractSorter#0 */
9196 /* <p1:Object> isa AbstractSorter#0 */
9197 var2
= 1; /* easy <p1:Object> isa AbstractSorter#0*/
9199 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
9200 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AbstractSorter#0", var_class_name5
);
9201 fprintf(stderr
, " (%s:%d)\n", "lib/standard/string.nit", 1350);
9206 var6
= ((val
* (*)(val
*))(var_a
->class->vft
[COLOR_string__Object__to_s
]))(var_a
) /* to_s on <var_a:Object>*/;
9207 var7
= ((val
* (*)(val
*))(var_b
->class->vft
[COLOR_string__Object__to_s
]))(var_b
) /* to_s on <var_b:Object>*/;
9208 var8
= ((long (*)(val
*, val
*))(var6
->class->vft
[COLOR_kernel__Comparable___60d_61d_62d
]))(var6
, var7
) /* <=> on <var6:String>*/;
9214 /* method string#AlphaComparator#compare for (self: Object, nullable Object, nullable Object): Int */
9215 long VIRTUAL_string__AlphaComparator__compare(val
* self
, val
* p0
, val
* p1
) {
9216 long var
/* : Int */;
9217 long var1
/* : Int */;
9218 var1
= string__AlphaComparator__compare(self
, p0
, p1
);
9223 /* method string#AlphaComparator#init for (self: AlphaComparator) */
9224 void string__AlphaComparator__init(val
* self
) {
9227 /* method string#AlphaComparator#init for (self: Object) */
9228 void VIRTUAL_string__AlphaComparator__init(val
* self
) {
9229 string__AlphaComparator__init(self
);
9232 /* method string#Object#alpha_comparator for (self: Object): AbstractSorter[Object] */
9233 val
* string__Object__alpha_comparator(val
* self
) {
9234 val
* var
/* : AbstractSorter[Object] */;
9235 static val
* varonce
;
9236 static int varonce_guard
;
9237 val
* var1
/* : AlphaComparator */;
9238 val
* var2
/* : AlphaComparator */;
9239 if (varonce_guard
) {
9242 var2
= NEW_string__AlphaComparator(&type_string__AlphaComparator
);
9243 ((void (*)(val
*))(var2
->class->vft
[COLOR_string__AlphaComparator__init
]))(var2
) /* init on <var2:AlphaComparator>*/;
9253 /* method string#Object#alpha_comparator for (self: Object): AbstractSorter[Object] */
9254 val
* VIRTUAL_string__Object__alpha_comparator(val
* self
) {
9255 val
* var
/* : AbstractSorter[Object] */;
9256 val
* var1
/* : AbstractSorter[Object] */;
9257 var1
= string__Object__alpha_comparator(self
);