1 #include "string.sep.0.h"
2 /* method string#Float#to_s for (self: Float): String */
3 val
* string__Float__to_s(double self
) {
4 val
* var
/* : String */;
6 val
* var2
/* : String */;
7 val
* var_str
/* var str: String */;
8 short int var3
/* : Bool */;
10 long var5
/* : Int */;
11 short int var6
/* : Bool */;
12 short int var7
/* : Bool */;
13 short int var9
/* : Bool */;
14 short int var10
/* : Bool */;
15 short int var_
/* var : Bool */;
16 short int var11
/* : Bool */;
17 short int var13
/* : Bool */;
18 long var14
/* : Int */;
19 long var16
/* : Int */;
20 long var_len
/* var len: Int */;
21 val
* var17
/* : Range[Int] */;
22 long var18
/* : Int */;
23 long var19
/* : Int */;
24 long var20
/* : Int */;
25 short int var22
/* : Bool */;
28 const char* var_class_name
;
29 long var23
/* : Int */;
30 val
* var24
/* : Discrete */;
31 val
* var25
/* : Discrete */;
32 val
* var26
/* : Iterator[Discrete] */;
33 short int var27
/* : Bool */;
34 val
* var28
/* : nullable Object */;
35 long var_i
/* var i: Int */;
36 long var29
/* : Int */;
37 long var30
/* : Int */;
38 long var31
/* : Int */;
39 short int var33
/* : Bool */;
42 const char* var_class_name36
;
43 long var37
/* : Int */;
44 long var38
/* : Int */;
45 short int var40
/* : Bool */;
48 const char* var_class_name43
;
49 long var44
/* : Int */;
50 long var_j
/* var j: Int */;
51 val
* var45
/* : SequenceRead[Char] */;
52 val
* var47
/* : SequenceRead[Char] */;
53 val
* var48
/* : nullable Object */;
54 char var49
/* : Char */;
55 char var_c
/* var c: Char */;
56 char var50
/* : Char */;
57 short int var51
/* : Bool */;
58 short int var52
/* : Bool */;
59 short int var54
/* : Bool */;
60 char var55
/* : Char */;
61 short int var56
/* : Bool */;
62 short int var57
/* : Bool */;
63 short int var59
/* : Bool */;
64 long var60
/* : Int */;
65 long var61
/* : Int */;
66 long var62
/* : Int */;
67 short int var64
/* : Bool */;
70 const char* var_class_name67
;
71 long var68
/* : Int */;
72 val
* var69
/* : String */;
73 long var70
/* : Int */;
74 long var71
/* : Int */;
75 long var72
/* : Int */;
76 short int var74
/* : Bool */;
79 const char* var_class_name77
;
80 long var78
/* : Int */;
81 val
* var79
/* : String */;
84 var2
= string__Float__to_precision(self
, var1
);
88 var4
= math__Float__is_inf(self
);
92 { /* Inline kernel#Int#!= (var4,var5) on <var4:Int> */
106 { /* Inline math#Float#is_nan (self) on <self:Float> */
121 { /* Inline string#FlatText#length (var_str) on <var_str:String> */
122 var16
= var_str
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_str:String> */
128 var17
= NEW_range__Range(&type_range__Rangekernel__Int
);
132 { /* Inline kernel#Int#- (var_len,var19) on <var_len:Int> */
133 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
134 /* <var19:Int> isa OTHER */
135 var22
= 1; /* easy <var19:Int> isa OTHER*/
136 if (unlikely(!var22
)) {
137 var_class_name
= type_kernel__Int
.name
;
138 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
139 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
142 var23
= var_len
- var19
;
149 var24
= BOX_kernel__Int(var18
); /* autobox from Int to Discrete */
150 var25
= BOX_kernel__Int(var20
); /* autobox from Int to Discrete */
151 range__Range__init(var17
, var24
, var25
); /* Direct call range#Range#init on <var17:Range[Int]>*/
154 var26
= range__Range__iterator(var17
);
158 var27
= ((short int (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var26
) /* is_ok on <var26:Iterator[Discrete]>*/;
162 var28
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var26
) /* item on <var26:Iterator[Discrete]>*/;
164 var29
= ((struct instance_kernel__Int
*)var28
)->value
; /* autounbox from nullable Object to Int */;
168 { /* Inline kernel#Int#- (var_len,var30) on <var_len:Int> */
169 /* Covariant cast for argument 0 (i) <var30:Int> isa OTHER */
170 /* <var30:Int> isa OTHER */
171 var33
= 1; /* easy <var30:Int> isa OTHER*/
172 if (unlikely(!var33
)) {
173 var_class_name36
= type_kernel__Int
.name
;
174 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36
);
175 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
178 var37
= var_len
- var30
;
185 { /* Inline kernel#Int#- (var31,var_i) on <var31:Int> */
186 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
187 /* <var_i:Int> isa OTHER */
188 var40
= 1; /* easy <var_i:Int> isa OTHER*/
189 if (unlikely(!var40
)) {
190 var_class_name43
= type_kernel__Int
.name
;
191 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43
);
192 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
195 var44
= var31
- var_i
;
203 { /* Inline string#FlatString#chars (var_str) on <var_str:String> */
204 var47
= var_str
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <var_str:String> */
205 if (unlikely(var47
== NULL
)) {
206 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
207 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
215 var48
= ((val
* (*)(val
*, long))(var45
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var45
, var_j
) /* [] on <var45:SequenceRead[Char]>*/;
217 var49
= ((struct instance_kernel__Char
*)var48
)->value
; /* autounbox from nullable Object to Char */;
221 { /* Inline kernel#Char#== (var_c,var50) on <var_c:Char> */
222 var54
= var_c
== var50
;
234 { /* Inline kernel#Char#== (var_c,var55) on <var_c:Char> */
235 var59
= var_c
== var55
;
246 { /* Inline kernel#Int#+ (var_j,var61) on <var_j:Int> */
247 /* Covariant cast for argument 0 (i) <var61:Int> isa OTHER */
248 /* <var61:Int> isa OTHER */
249 var64
= 1; /* easy <var61:Int> isa OTHER*/
250 if (unlikely(!var64
)) {
251 var_class_name67
= type_kernel__Int
.name
;
252 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name67
);
253 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
256 var68
= var_j
+ var61
;
263 var69
= string__FlatString__substring(var_str
, var60
, var62
);
271 { /* Inline kernel#Int#+ (var_j,var71) on <var_j:Int> */
272 /* Covariant cast for argument 0 (i) <var71:Int> isa OTHER */
273 /* <var71:Int> isa OTHER */
274 var74
= 1; /* easy <var71:Int> isa OTHER*/
275 if (unlikely(!var74
)) {
276 var_class_name77
= type_kernel__Int
.name
;
277 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name77
);
278 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
281 var78
= var_j
+ var71
;
288 var79
= string__FlatString__substring(var_str
, var70
, var72
);
294 CONTINUE_label
: (void)0;
296 ((void (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var26
) /* next on <var26:Iterator[Discrete]>*/;
299 BREAK_label
: (void)0;
305 /* method string#Float#to_s for (self: Object): String */
306 val
* VIRTUAL_string__Float__to_s(val
* self
) {
307 val
* var
/* : String */;
308 val
* var1
/* : String */;
309 double var2
/* : Float */;
310 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
311 var1
= string__Float__to_s(var2
);
316 /* method string#Float#to_precision for (self: Float, Int): String */
317 val
* string__Float__to_precision(double self
, long p0
) {
318 val
* var
/* : String */;
319 long var_nb
/* var nb: Int */;
320 short int var1
/* : Bool */;
321 short int var3
/* : Bool */;
323 val
* var4
/* : String */;
324 char* var5
/* : NativeString */;
325 long var6
/* : Int */;
326 val
* var7
/* : FlatString */;
327 long var8
/* : Int */;
328 long var_isinf
/* var isinf: Int */;
329 long var9
/* : Int */;
330 short int var10
/* : Bool */;
331 short int var11
/* : Bool */;
332 short int var13
/* : Bool */;
333 static val
* varonce14
;
334 val
* var15
/* : String */;
335 char* var16
/* : NativeString */;
336 long var17
/* : Int */;
337 val
* var18
/* : FlatString */;
338 long var19
/* : Int */;
339 long var20
/* : Int */;
340 long var22
/* : Int */;
341 short int var23
/* : Bool */;
342 short int var24
/* : Bool */;
343 short int var26
/* : Bool */;
344 static val
* varonce27
;
345 val
* var28
/* : String */;
346 char* var29
/* : NativeString */;
347 long var30
/* : Int */;
348 val
* var31
/* : FlatString */;
349 long var32
/* : Int */;
350 short int var33
/* : Bool */;
351 short int var34
/* : Bool */;
352 short int var36
/* : Bool */;
353 long var37
/* : Int */;
354 long var39
/* : Int */;
355 val
* var40
/* : String */;
356 double var_f
/* var f: Float */;
357 val
* var41
/* : Range[Int] */;
358 long var42
/* : Int */;
359 val
* var43
/* : Discrete */;
360 val
* var44
/* : Discrete */;
361 val
* var45
/* : Iterator[Discrete] */;
362 short int var46
/* : Bool */;
363 val
* var47
/* : nullable Object */;
364 long var_i
/* var i: Int */;
365 long var48
/* : Int */;
366 double var49
/* : Float */;
367 double var50
/* : Float */;
368 short int var52
/* : Bool */;
371 const char* var_class_name
;
372 double var53
/* : Float */;
373 double var54
/* : Float */;
374 short int var55
/* : Bool */;
375 short int var57
/* : Bool */;
378 const char* var_class_name60
;
379 short int var61
/* : Bool */;
380 double var62
/* : Float */;
381 double var63
/* : Float */;
382 short int var65
/* : Bool */;
385 const char* var_class_name68
;
386 double var69
/* : Float */;
387 double var70
/* : Float */;
388 double var71
/* : Float */;
389 short int var73
/* : Bool */;
392 const char* var_class_name76
;
393 double var77
/* : Float */;
394 long var78
/* : Int */;
395 long var80
/* : Int */;
396 long var_i81
/* var i: Int */;
397 long var82
/* : Int */;
398 short int var83
/* : Bool */;
399 short int var84
/* : Bool */;
400 short int var86
/* : Bool */;
401 static val
* varonce87
;
402 val
* var88
/* : String */;
403 char* var89
/* : NativeString */;
404 long var90
/* : Int */;
405 val
* var91
/* : FlatString */;
406 val
* var92
/* : String */;
407 val
* var_s
/* var s: String */;
408 long var93
/* : Int */;
409 long var95
/* : Int */;
410 long var_sl
/* var sl: Int */;
411 short int var96
/* : Bool */;
412 short int var98
/* : Bool */;
415 const char* var_class_name101
;
416 short int var102
/* : Bool */;
417 long var103
/* : Int */;
418 long var104
/* : Int */;
419 long var106
/* : Int */;
420 long var107
/* : Int */;
421 short int var109
/* : Bool */;
424 const char* var_class_name112
;
425 long var113
/* : Int */;
426 val
* var114
/* : String */;
427 val
* var_p1
/* var p1: String */;
428 long var115
/* : Int */;
429 long var117
/* : Int */;
430 long var118
/* : Int */;
431 short int var120
/* : Bool */;
434 const char* var_class_name123
;
435 long var124
/* : Int */;
436 val
* var125
/* : String */;
437 val
* var_p2
/* var p2: String */;
438 static val
* varonce126
;
439 val
* var127
/* : String */;
440 char* var128
/* : NativeString */;
441 long var129
/* : Int */;
442 val
* var130
/* : FlatString */;
443 val
* var131
/* : String */;
444 val
* var132
/* : String */;
445 static val
* varonce133
;
446 val
* var134
/* : String */;
447 char* var135
/* : NativeString */;
448 long var136
/* : Int */;
449 val
* var137
/* : FlatString */;
450 static val
* varonce138
;
451 val
* var139
/* : String */;
452 char* var140
/* : NativeString */;
453 long var141
/* : Int */;
454 val
* var142
/* : FlatString */;
455 long var143
/* : Int */;
456 short int var145
/* : Bool */;
459 const char* var_class_name148
;
460 long var149
/* : Int */;
461 val
* var150
/* : String */;
462 val
* var151
/* : String */;
463 val
* var152
/* : String */;
466 { /* Inline math#Float#is_nan (self) on <self:Float> */
479 var7
= string__NativeString__to_s_with_length(var5
, var6
);
488 var8
= math__Float__is_inf(self
);
493 { /* Inline kernel#Int#== (var_isinf,var9) on <var_isinf:Int> */
494 var13
= var_isinf
== var9
;
507 var18
= string__NativeString__to_s_with_length(var16
, var17
);
516 { /* Inline kernel#Int#unary - (var19) on <var19:Int> */
524 { /* Inline kernel#Int#== (var_isinf,var20) on <var_isinf:Int> */
525 var26
= var_isinf
== var20
;
538 var31
= string__NativeString__to_s_with_length(var29
, var30
);
549 { /* Inline kernel#Int#== (var_nb,var32) on <var_nb:Int> */
550 var36
= var_nb
== var32
;
559 { /* Inline kernel#Float#to_i (self) on <self:Float> */
567 var40
= string__Int__to_s(var37
);
574 var41
= NEW_range__Range(&type_range__Rangekernel__Int
);
577 var43
= BOX_kernel__Int(var42
); /* autobox from Int to Discrete */
578 var44
= BOX_kernel__Int(var_nb
); /* autobox from Int to Discrete */
579 range__Range__without_last(var41
, var43
, var44
); /* Direct call range#Range#without_last on <var41:Range[Int]>*/
582 var45
= range__Range__iterator(var41
);
586 var46
= ((short int (*)(val
*))(var45
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var45
) /* is_ok on <var45:Iterator[Discrete]>*/;
590 var47
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var45
) /* item on <var45:Iterator[Discrete]>*/;
592 var48
= ((struct instance_kernel__Int
*)var47
)->value
; /* autounbox from nullable Object to Int */;
596 { /* Inline kernel#Float#* (var_f,var49) on <var_f:Float> */
597 /* Covariant cast for argument 0 (i) <var49:Float> isa OTHER */
598 /* <var49:Float> isa OTHER */
599 var52
= 1; /* easy <var49:Float> isa OTHER*/
600 if (unlikely(!var52
)) {
601 var_class_name
= type_kernel__Float
.name
;
602 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
603 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 297);
606 var53
= var_f
* var49
;
613 CONTINUE_label
: (void)0;
615 ((void (*)(val
*))(var45
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var45
) /* next on <var45:Iterator[Discrete]>*/;
618 BREAK_label
: (void)0;
621 { /* Inline kernel#Float#> (self,var54) on <self:Float> */
622 /* Covariant cast for argument 0 (i) <var54:Float> isa OTHER */
623 /* <var54:Float> isa OTHER */
624 var57
= 1; /* easy <var54:Float> isa OTHER*/
625 if (unlikely(!var57
)) {
626 var_class_name60
= type_kernel__Float
.name
;
627 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name60
);
628 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 292);
631 var61
= self
> var54
;
640 { /* Inline kernel#Float#+ (var_f,var62) on <var_f:Float> */
641 /* Covariant cast for argument 0 (i) <var62:Float> isa OTHER */
642 /* <var62:Float> isa OTHER */
643 var65
= 1; /* easy <var62:Float> isa OTHER*/
644 if (unlikely(!var65
)) {
645 var_class_name68
= type_kernel__Float
.name
;
646 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68
);
647 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 294);
650 var69
= var_f
+ var62
;
660 { /* Inline kernel#Float#- (var_f,var70) on <var_f:Float> */
661 /* Covariant cast for argument 0 (i) <var70:Float> isa OTHER */
662 /* <var70:Float> isa OTHER */
663 var73
= 1; /* easy <var70:Float> isa OTHER*/
664 if (unlikely(!var73
)) {
665 var_class_name76
= type_kernel__Float
.name
;
666 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76
);
667 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 296);
670 var77
= var_f
- var70
;
679 { /* Inline kernel#Float#to_i (var_f) on <var_f:Float> */
689 { /* Inline kernel#Int#== (var_i81,var82) on <var_i81:Int> */
690 var86
= var_i81
== var82
;
703 var91
= string__NativeString__to_s_with_length(var89
, var90
);
712 var92
= string__Int__to_s(var_i81
);
716 { /* Inline string#FlatText#length (var_s) on <var_s:String> */
717 var95
= var_s
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_s:String> */
724 { /* Inline kernel#Int#> (var_sl,var_nb) on <var_sl:Int> */
725 /* Covariant cast for argument 0 (i) <var_nb:Int> isa OTHER */
726 /* <var_nb:Int> isa OTHER */
727 var98
= 1; /* easy <var_nb:Int> isa OTHER*/
728 if (unlikely(!var98
)) {
729 var_class_name101
= type_kernel__Int
.name
;
730 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name101
);
731 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
734 var102
= var_sl
> var_nb
;
743 { /* Inline string#FlatText#length (var_s) on <var_s:String> */
744 var106
= var_s
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_s:String> */
746 RET_LABEL105
:(void)0;
750 { /* Inline kernel#Int#- (var104,var_nb) on <var104:Int> */
751 /* Covariant cast for argument 0 (i) <var_nb:Int> isa OTHER */
752 /* <var_nb:Int> isa OTHER */
753 var109
= 1; /* easy <var_nb:Int> isa OTHER*/
754 if (unlikely(!var109
)) {
755 var_class_name112
= type_kernel__Int
.name
;
756 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name112
);
757 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
760 var113
= var104
- var_nb
;
763 RET_LABEL108
:(void)0;
767 var114
= string__FlatString__substring(var_s
, var103
, var107
);
771 { /* Inline string#FlatText#length (var_s) on <var_s:String> */
772 var117
= var_s
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_s:String> */
774 RET_LABEL116
:(void)0;
778 { /* Inline kernel#Int#- (var115,var_nb) on <var115:Int> */
779 /* Covariant cast for argument 0 (i) <var_nb:Int> isa OTHER */
780 /* <var_nb:Int> isa OTHER */
781 var120
= 1; /* easy <var_nb:Int> isa OTHER*/
782 if (unlikely(!var120
)) {
783 var_class_name123
= type_kernel__Int
.name
;
784 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name123
);
785 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
788 var124
= var115
- var_nb
;
791 RET_LABEL119
:(void)0;
795 var125
= string__FlatString__substring(var_s
, var118
, var_nb
);
803 var130
= string__NativeString__to_s_with_length(var128
, var129
);
808 var131
= string__FlatString___43d(var_p1
, var127
);
811 var132
= string__FlatString___43d(var131
, var_p2
);
821 var137
= string__NativeString__to_s_with_length(var135
, var136
);
830 var142
= string__NativeString__to_s_with_length(var140
, var141
);
835 { /* Inline kernel#Int#- (var_nb,var_sl) on <var_nb:Int> */
836 /* Covariant cast for argument 0 (i) <var_sl:Int> isa OTHER */
837 /* <var_sl:Int> isa OTHER */
838 var145
= 1; /* easy <var_sl:Int> isa OTHER*/
839 if (unlikely(!var145
)) {
840 var_class_name148
= type_kernel__Int
.name
;
841 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name148
);
842 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
845 var149
= var_nb
- var_sl
;
848 RET_LABEL144
:(void)0;
852 var150
= string__FlatString___42d(var139
, var143
);
855 var151
= string__FlatString___43d(var134
, var150
);
858 var152
= string__FlatString___43d(var151
, var_s
);
866 /* method string#Float#to_precision for (self: Object, Int): String */
867 val
* VIRTUAL_string__Float__to_precision(val
* self
, long p0
) {
868 val
* var
/* : String */;
869 val
* var1
/* : String */;
870 double var2
/* : Float */;
871 var2
= ((struct instance_kernel__Float
*)self
)->value
; /* autounbox from Object to Float */;
872 var1
= string__Float__to_precision(var2
, p0
);
877 /* method string#Char#to_s for (self: Char): String */
878 val
* string__Char__to_s(char self
) {
879 val
* var
/* : String */;
880 val
* var1
/* : FlatBuffer */;
881 long var2
/* : Int */;
882 val
* var_s
/* var s: FlatBuffer */;
883 val
* var3
/* : Sequence[Char] */;
884 val
* var5
/* : Sequence[Char] */;
885 long var6
/* : Int */;
886 val
* var7
/* : nullable Object */;
887 val
* var8
/* : String */;
888 var1
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
891 string__FlatBuffer__with_capacity(var1
, var2
); /* Direct call string#FlatBuffer#with_capacity on <var1:FlatBuffer>*/
895 { /* Inline string#FlatBuffer#chars (var_s) on <var_s:FlatBuffer> */
896 var5
= var_s
->attrs
[COLOR_string__FlatBuffer___chars
].val
; /* _chars on <var_s:FlatBuffer> */
897 if (unlikely(var5
== NULL
)) {
898 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
899 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
908 var7
= BOX_kernel__Char(self
); /* autobox from Char to nullable Object */
909 ((void (*)(val
*, long, val
*))(var3
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var3
, var6
, var7
) /* []= on <var3:Sequence[Char]>*/;
912 var8
= string__FlatBuffer__to_s(var_s
);
919 /* method string#Char#to_s for (self: Object): String */
920 val
* VIRTUAL_string__Char__to_s(val
* self
) {
921 val
* var
/* : String */;
922 val
* var1
/* : String */;
923 char var2
/* : Char */;
924 var2
= ((struct instance_kernel__Char
*)self
)->value
; /* autounbox from Object to Char */;
925 var1
= string__Char__to_s(var2
);
930 /* method string#Collection#to_s for (self: Collection[nullable Object]): String */
931 val
* string__Collection__to_s(val
* self
) {
932 val
* var
/* : String */;
933 val
* var1
/* : FlatBuffer */;
934 val
* var_s
/* var s: FlatBuffer */;
935 val
* var2
/* : Iterator[nullable Object] */;
936 short int var3
/* : Bool */;
937 val
* var4
/* : nullable Object */;
938 val
* var_e
/* var e: nullable Object */;
939 val
* var5
/* : null */;
940 short int var6
/* : Bool */;
941 short int var7
/* : Bool */;
942 val
* var8
/* : String */;
943 val
* var9
/* : String */;
944 var1
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
946 string__FlatBuffer__init(var1
); /* Direct call string#FlatBuffer#init on <var1:FlatBuffer>*/
950 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
954 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
958 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
963 var6
= 0; /* is null */
965 var6
= 1; /* arg is null and recv is not */
968 var7
= ((short int (*)(val
*, val
*))(var_e
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_e
, var5
) /* != on <var_e:nullable Object>*/;
973 PRINT_ERROR("Runtime error: %s", "Receiver is null");
974 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1678);
977 var8
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
980 string__FlatBuffer__append(var_s
, var8
); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
984 CONTINUE_label
: (void)0;
986 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
989 BREAK_label
: (void)0;
991 var9
= string__FlatBuffer__to_s(var_s
);
998 /* method string#Collection#to_s for (self: Object): String */
999 val
* VIRTUAL_string__Collection__to_s(val
* self
) {
1000 val
* var
/* : String */;
1001 val
* var1
/* : String */;
1002 var1
= string__Collection__to_s(self
);
1007 /* method string#Collection#join for (self: Collection[nullable Object], Text): String */
1008 val
* string__Collection__join(val
* self
, val
* p0
) {
1009 val
* var
/* : String */;
1010 val
* var_sep
/* var sep: Text */;
1011 short int var1
/* : Bool */;
1012 static val
* varonce
;
1013 val
* var2
/* : String */;
1014 char* var3
/* : NativeString */;
1015 long var4
/* : Int */;
1016 val
* var5
/* : FlatString */;
1017 val
* var6
/* : FlatBuffer */;
1018 val
* var_s
/* var s: FlatBuffer */;
1019 val
* var7
/* : Iterator[nullable Object] */;
1020 val
* var_i
/* var i: Iterator[nullable Object] */;
1021 val
* var8
/* : nullable Object */;
1022 val
* var_e
/* var e: nullable Object */;
1023 val
* var9
/* : null */;
1024 short int var10
/* : Bool */;
1025 short int var11
/* : Bool */;
1026 val
* var12
/* : String */;
1027 short int var13
/* : Bool */;
1028 val
* var14
/* : nullable Object */;
1029 val
* var15
/* : null */;
1030 short int var16
/* : Bool */;
1031 short int var17
/* : Bool */;
1032 val
* var18
/* : String */;
1033 val
* var19
/* : String */;
1036 var1
= ((short int (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(self
) /* is_empty on <self:Collection[nullable Object]>*/;
1044 var5
= string__NativeString__to_s_with_length(var3
, var4
);
1052 var6
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
1054 string__FlatBuffer__init(var6
); /* Direct call string#FlatBuffer#init on <var6:FlatBuffer>*/
1058 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(self
) /* iterator on <self:Collection[nullable Object]>*/;
1062 var8
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_i
) /* item on <var_i:Iterator[nullable Object]>*/;
1066 if (var_e
== NULL
) {
1067 var10
= 0; /* is null */
1069 var10
= 1; /* arg is null and recv is not */
1072 var11
= ((short int (*)(val
*, val
*))(var_e
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_e
, var9
) /* != on <var_e:nullable Object>*/;
1076 if (var_e
== NULL
) {
1077 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1078 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1695);
1081 var12
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
1084 string__FlatBuffer__append(var_s
, var12
); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
1089 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_i
) /* next on <var_i:Iterator[nullable Object]>*/;
1093 var13
= ((short int (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_i
) /* is_ok on <var_i:Iterator[nullable Object]>*/;
1097 string__FlatBuffer__append(var_s
, var_sep
); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
1100 var14
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_i
) /* item on <var_i:Iterator[nullable Object]>*/;
1104 if (var_e
== NULL
) {
1105 var16
= 0; /* is null */
1107 var16
= 1; /* arg is null and recv is not */
1110 var17
= ((short int (*)(val
*, val
*))(var_e
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_e
, var15
) /* != on <var_e:nullable Object>*/;
1114 if (var_e
== NULL
) {
1115 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1116 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1702);
1119 var18
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
1122 string__FlatBuffer__append(var_s
, var18
); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
1127 ((void (*)(val
*))(var_i
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_i
) /* next on <var_i:Iterator[nullable Object]>*/;
1129 CONTINUE_label
: (void)0;
1131 BREAK_label
: (void)0;
1133 var19
= string__FlatBuffer__to_s(var_s
);
1140 /* method string#Collection#join for (self: Object, Text): String */
1141 val
* VIRTUAL_string__Collection__join(val
* self
, val
* p0
) {
1142 val
* var
/* : String */;
1143 val
* var1
/* : String */;
1144 var1
= string__Collection__join(self
, p0
);
1149 /* method string#Array#to_s for (self: Array[nullable Object]): String */
1150 val
* string__Array__to_s(val
* self
) {
1151 val
* var
/* : String */;
1152 val
* var1
/* : FlatBuffer */;
1153 val
* var_s
/* var s: FlatBuffer */;
1154 long var2
/* : Int */;
1155 long var_i
/* var i: Int */;
1156 long var3
/* : Int */;
1157 long var_l
/* var l: Int */;
1158 short int var4
/* : Bool */;
1159 short int var6
/* : Bool */;
1162 const char* var_class_name
;
1163 short int var7
/* : Bool */;
1164 val
* var8
/* : nullable Object */;
1165 val
* var_e
/* var e: nullable Object */;
1166 val
* var9
/* : null */;
1167 short int var10
/* : Bool */;
1168 short int var11
/* : Bool */;
1169 val
* var12
/* : String */;
1170 long var13
/* : Int */;
1171 long var14
/* : Int */;
1172 short int var16
/* : Bool */;
1175 const char* var_class_name19
;
1176 long var20
/* : Int */;
1177 val
* var21
/* : String */;
1178 var1
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
1180 string__FlatBuffer__init(var1
); /* Direct call string#FlatBuffer#init on <var1:FlatBuffer>*/
1186 var3
= array__AbstractArrayRead__length(self
);
1191 { /* Inline kernel#Int#< (var_i,var_l) on <var_i:Int> */
1192 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1193 /* <var_l:Int> isa OTHER */
1194 var6
= 1; /* easy <var_l:Int> isa OTHER*/
1195 if (unlikely(!var6
)) {
1196 var_class_name
= type_kernel__Int
.name
;
1197 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1198 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
1201 var7
= var_i
< var_l
;
1209 var8
= array__Array___91d_93d(self
, var_i
);
1213 if (var_e
== NULL
) {
1214 var10
= 0; /* is null */
1216 var10
= 1; /* arg is null and recv is not */
1219 var11
= ((short int (*)(val
*, val
*))(var_e
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_e
, var9
) /* != on <var_e:nullable Object>*/;
1223 if (var_e
== NULL
) {
1224 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1225 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1718);
1228 var12
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_string__Object__to_s
]))(var_e
) /* to_s on <var_e:nullable Object>*/;
1231 string__FlatBuffer__append(var_s
, var12
); /* Direct call string#FlatBuffer#append on <var_s:FlatBuffer>*/
1237 { /* Inline kernel#Int#+ (var_i,var13) on <var_i:Int> */
1238 /* Covariant cast for argument 0 (i) <var13:Int> isa OTHER */
1239 /* <var13:Int> isa OTHER */
1240 var16
= 1; /* easy <var13:Int> isa OTHER*/
1241 if (unlikely(!var16
)) {
1242 var_class_name19
= type_kernel__Int
.name
;
1243 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
1244 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1247 var20
= var_i
+ var13
;
1250 RET_LABEL15
:(void)0;
1254 CONTINUE_label
: (void)0;
1256 BREAK_label
: (void)0;
1258 var21
= string__FlatBuffer__to_s(var_s
);
1265 /* method string#Array#to_s for (self: Object): String */
1266 val
* VIRTUAL_string__Array__to_s(val
* self
) {
1267 val
* var
/* : String */;
1268 val
* var1
/* : String */;
1269 var1
= string__Array__to_s(self
);
1274 /* method string#NativeString#[] for (self: NativeString, Int): Char */
1275 char string__NativeString___91d_93d(char* self
, long p0
) {
1276 char var
/* : Char */;
1277 char var1
/* : Char */;
1284 /* method string#NativeString#[] for (self: Object, Int): Char */
1285 char VIRTUAL_string__NativeString___91d_93d(val
* self
, long p0
) {
1286 char var
/* : Char */;
1287 char var1
/* : Char */;
1288 char* var3
/* : NativeString */;
1289 char var4
/* : Char */;
1290 { /* Inline string#NativeString#[] (self,p0) on <self:Object(NativeString)> */
1291 var3
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeString */;
1301 /* method string#NativeString#[]= for (self: NativeString, Int, Char) */
1302 void string__NativeString___91d_93d_61d(char* self
, long p0
, char p1
) {
1306 /* method string#NativeString#[]= for (self: Object, Int, Char) */
1307 void VIRTUAL_string__NativeString___91d_93d_61d(val
* self
, long p0
, char p1
) {
1308 char* var
/* : NativeString */;
1309 { /* Inline string#NativeString#[]= (self,p0,p1) on <self:Object(NativeString)> */
1310 var
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeString */;
1316 /* method string#NativeString#copy_to for (self: NativeString, NativeString, Int, Int, Int) */
1317 void string__NativeString__copy_to(char* self
, char* p0
, long p1
, long p2
, long p3
) {
1318 memcpy(p0
+p3
,self
+p2
,p1
);
1321 /* method string#NativeString#copy_to for (self: Object, NativeString, Int, Int, Int) */
1322 void VIRTUAL_string__NativeString__copy_to(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
1323 char* var
/* : NativeString */;
1324 { /* Inline string#NativeString#copy_to (self,p0,p1,p2,p3) on <self:Object(NativeString)> */
1325 var
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeString */;
1326 memcpy(p0
+p3
,var
+p2
,p1
);
1331 /* method string#NativeString#cstring_length for (self: NativeString): Int */
1332 long string__NativeString__cstring_length(char* self
) {
1333 long var
/* : Int */;
1334 long var1
/* : Int */;
1335 long var_l
/* var l: Int */;
1336 char var2
/* : Char */;
1337 char var4
/* : Char */;
1338 char var5
/* : Char */;
1339 short int var6
/* : Bool */;
1340 short int var7
/* : Bool */;
1341 short int var9
/* : Bool */;
1342 short int var10
/* : Bool */;
1343 long var11
/* : Int */;
1344 long var12
/* : Int */;
1345 short int var14
/* : Bool */;
1348 const char* var_class_name
;
1349 long var15
/* : Int */;
1354 { /* Inline string#NativeString#[] (self,var_l) on <self:NativeString> */
1363 { /* Inline kernel#Char#!= (var2,var5) on <var2:Char> */
1364 var9
= var2
== var5
;
1375 { /* Inline kernel#Int#+ (var_l,var11) on <var_l:Int> */
1376 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
1377 /* <var11:Int> isa OTHER */
1378 var14
= 1; /* easy <var11:Int> isa OTHER*/
1379 if (unlikely(!var14
)) {
1380 var_class_name
= type_kernel__Int
.name
;
1381 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1382 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1385 var15
= var_l
+ var11
;
1388 RET_LABEL13
:(void)0;
1392 CONTINUE_label
: (void)0;
1394 BREAK_label
: (void)0;
1400 /* method string#NativeString#cstring_length for (self: Object): Int */
1401 long VIRTUAL_string__NativeString__cstring_length(val
* self
) {
1402 long var
/* : Int */;
1403 long var1
/* : Int */;
1404 char* var2
/* : NativeString */;
1405 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeString */;
1406 var1
= string__NativeString__cstring_length(var2
);
1411 /* method string#NativeString#atoi for (self: NativeString): Int */
1412 long string__NativeString__atoi(char* self
) {
1413 long var
/* : Int */;
1414 long var1
/* : Int */;
1421 /* method string#NativeString#atoi for (self: Object): Int */
1422 long VIRTUAL_string__NativeString__atoi(val
* self
) {
1423 long var
/* : Int */;
1424 long var1
/* : Int */;
1425 char* var3
/* : NativeString */;
1426 long var4
/* : Int */;
1427 { /* Inline string#NativeString#atoi (self) on <self:Object(NativeString)> */
1428 var3
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeString */;
1438 /* method string#NativeString#atof for (self: NativeString): Float */
1439 double string__NativeString__atof(char* self
) {
1440 double var
/* : Float */;
1441 double var1
/* : Float */;
1448 /* method string#NativeString#atof for (self: Object): Float */
1449 double VIRTUAL_string__NativeString__atof(val
* self
) {
1450 double var
/* : Float */;
1451 double var1
/* : Float */;
1452 double var3
/* : Float */;
1453 char* var4
/* : NativeString */;
1454 { /* Inline string#NativeString#atof (self) on <self:Object(NativeString)> */
1455 var4
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeString */;
1465 /* method string#NativeString#to_s for (self: NativeString): String */
1466 val
* string__NativeString__to_s(char* self
) {
1467 val
* var
/* : String */;
1468 long var1
/* : Int */;
1469 val
* var2
/* : FlatString */;
1471 var1
= string__NativeString__cstring_length(self
);
1474 var2
= string__NativeString__to_s_with_length(self
, var1
);
1481 /* method string#NativeString#to_s for (self: Object): String */
1482 val
* VIRTUAL_string__NativeString__to_s(val
* self
) {
1483 val
* var
/* : String */;
1484 val
* var1
/* : String */;
1485 char* var2
/* : NativeString */;
1486 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeString */;
1487 var1
= string__NativeString__to_s(var2
);
1492 /* method string#NativeString#to_s_with_length for (self: NativeString, Int): FlatString */
1493 val
* string__NativeString__to_s_with_length(char* self
, long p0
) {
1494 val
* var
/* : FlatString */;
1495 long var_length
/* var length: Int */;
1496 long var1
/* : Int */;
1497 short int var2
/* : Bool */;
1498 short int var4
/* : Bool */;
1501 const char* var_class_name
;
1502 short int var5
/* : Bool */;
1503 val
* var6
/* : FlatString */;
1504 long var7
/* : Int */;
1505 long var8
/* : Int */;
1506 long var9
/* : Int */;
1507 short int var11
/* : Bool */;
1510 const char* var_class_name14
;
1511 long var15
/* : Int */;
1515 { /* Inline kernel#Int#>= (var_length,var1) on <var_length:Int> */
1516 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
1517 /* <var1:Int> isa OTHER */
1518 var4
= 1; /* easy <var1:Int> isa OTHER*/
1519 if (unlikely(!var4
)) {
1520 var_class_name
= type_kernel__Int
.name
;
1521 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1522 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
1525 var5
= var_length
>= var1
;
1531 if (unlikely(!var2
)) {
1532 PRINT_ERROR("Runtime error: %s", "Assert failed");
1533 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1788);
1536 var6
= NEW_string__FlatString(&type_string__FlatString
);
1540 { /* Inline kernel#Int#- (var_length,var8) on <var_length:Int> */
1541 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
1542 /* <var8:Int> isa OTHER */
1543 var11
= 1; /* easy <var8:Int> isa OTHER*/
1544 if (unlikely(!var11
)) {
1545 var_class_name14
= type_kernel__Int
.name
;
1546 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
1547 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
1550 var15
= var_length
- var8
;
1553 RET_LABEL10
:(void)0;
1557 string__FlatString__with_infos(var6
, self
, var_length
, var7
, var9
); /* Direct call string#FlatString#with_infos on <var6:FlatString>*/
1564 /* method string#NativeString#to_s_with_length for (self: Object, Int): FlatString */
1565 val
* VIRTUAL_string__NativeString__to_s_with_length(val
* self
, long p0
) {
1566 val
* var
/* : FlatString */;
1567 val
* var1
/* : FlatString */;
1568 char* var2
/* : NativeString */;
1569 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeString */;
1570 var1
= string__NativeString__to_s_with_length(var2
, p0
);
1575 /* method string#NativeString#to_s_with_copy for (self: NativeString): FlatString */
1576 val
* string__NativeString__to_s_with_copy(char* self
) {
1577 val
* var
/* : FlatString */;
1578 long var1
/* : Int */;
1579 long var_length
/* var length: Int */;
1580 long var2
/* : Int */;
1581 long var3
/* : Int */;
1582 short int var5
/* : Bool */;
1585 const char* var_class_name
;
1586 long var6
/* : Int */;
1587 char* var7
/* : NativeString */;
1588 val
* var9
/* : StringCapable */;
1589 char* var10
/* : NativeString */;
1590 char* var_new_self
/* var new_self: NativeString */;
1591 long var11
/* : Int */;
1592 long var12
/* : Int */;
1593 val
* var14
/* : FlatString */;
1594 long var15
/* : Int */;
1595 long var16
/* : Int */;
1596 long var17
/* : Int */;
1597 short int var19
/* : Bool */;
1600 const char* var_class_name22
;
1601 long var23
/* : Int */;
1603 var1
= string__NativeString__cstring_length(self
);
1608 { /* Inline kernel#Int#+ (var_length,var2) on <var_length:Int> */
1609 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1610 /* <var2:Int> isa OTHER */
1611 var5
= 1; /* easy <var2:Int> isa OTHER*/
1612 if (unlikely(!var5
)) {
1613 var_class_name
= type_kernel__Int
.name
;
1614 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1615 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1618 var6
= var_length
+ var2
;
1625 { /* Inline string#StringCapable#calloc_string (self,var3) on <self:NativeString> */
1626 var9
= BOX_string__NativeString(self
); /* autobox from NativeString to StringCapable */
1627 var10
= (char*)nit_alloc(var3
);
1633 var_new_self
= var7
;
1637 { /* Inline string#NativeString#copy_to (self,var_new_self,var_length,var11,var12) on <self:NativeString> */
1638 memcpy(var_new_self
+var12
,self
+var11
,var_length
);
1639 RET_LABEL13
:(void)0;
1642 var14
= NEW_string__FlatString(&type_string__FlatString
);
1646 { /* Inline kernel#Int#- (var_length,var16) on <var_length:Int> */
1647 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
1648 /* <var16:Int> isa OTHER */
1649 var19
= 1; /* easy <var16:Int> isa OTHER*/
1650 if (unlikely(!var19
)) {
1651 var_class_name22
= type_kernel__Int
.name
;
1652 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
1653 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
1656 var23
= var_length
- var16
;
1659 RET_LABEL18
:(void)0;
1663 string__FlatString__with_infos(var14
, var_new_self
, var_length
, var15
, var17
); /* Direct call string#FlatString#with_infos on <var14:FlatString>*/
1670 /* method string#NativeString#to_s_with_copy for (self: Object): FlatString */
1671 val
* VIRTUAL_string__NativeString__to_s_with_copy(val
* self
) {
1672 val
* var
/* : FlatString */;
1673 val
* var1
/* : FlatString */;
1674 char* var2
/* : NativeString */;
1675 var2
= ((struct instance_kernel__Pointer
*)self
)->value
; /* autounbox from Object to NativeString */;
1676 var1
= string__NativeString__to_s_with_copy(var2
);
1681 /* method string#StringCapable#calloc_string for (self: StringCapable, Int): NativeString */
1682 char* string__StringCapable__calloc_string(val
* self
, long p0
) {
1683 char* var
/* : NativeString */;
1684 char* var1
/* : NativeString */;
1685 var1
= (char*)nit_alloc(p0
);
1691 /* method string#StringCapable#calloc_string for (self: Object, Int): NativeString */
1692 char* VIRTUAL_string__StringCapable__calloc_string(val
* self
, long p0
) {
1693 char* var
/* : NativeString */;
1694 char* var1
/* : NativeString */;
1695 char* var3
/* : NativeString */;
1696 { /* Inline string#StringCapable#calloc_string (self,p0) on <self:Object(StringCapable)> */
1697 var3
= (char*)nit_alloc(p0
);
1706 /* method string#Sys#program_args for (self: Sys): Sequence[String] */
1707 val
* string__Sys__program_args(val
* self
) {
1708 val
* var
/* : Sequence[String] */;
1709 val
* var1
/* : nullable Sequence[String] */;
1710 val
* var2
/* : null */;
1711 short int var3
/* : Bool */;
1712 short int var4
/* : Bool */;
1713 val
* var5
/* : nullable Sequence[String] */;
1714 var1
= self
->attrs
[COLOR_string__Sys___args_cache
].val
; /* _args_cache on <self:Sys> */
1717 var3
= 1; /* is null */
1719 var3
= 0; /* arg is null but recv is not */
1722 var4
= abstract_collection__SequenceRead___61d_61d(var1
, var2
);
1727 string__Sys__init_args(self
); /* Direct call string#Sys#init_args on <self:Sys>*/
1731 var5
= self
->attrs
[COLOR_string__Sys___args_cache
].val
; /* _args_cache on <self:Sys> */
1732 if (unlikely(var5
== NULL
)) {
1733 PRINT_ERROR("Runtime error: %s", "Cast failed");
1734 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1813);
1742 /* method string#Sys#program_args for (self: Object): Sequence[String] */
1743 val
* VIRTUAL_string__Sys__program_args(val
* self
) {
1744 val
* var
/* : Sequence[String] */;
1745 val
* var1
/* : Sequence[String] */;
1746 var1
= string__Sys__program_args(self
);
1751 /* method string#Sys#program_name for (self: Sys): String */
1752 val
* string__Sys__program_name(val
* self
) {
1753 val
* var
/* : String */;
1754 long var1
/* : Int */;
1755 char* var2
/* : NativeString */;
1756 char* var4
/* : NativeString */;
1757 val
* var5
/* : String */;
1760 { /* Inline string#Sys#native_argv (self,var1) on <self:Sys> */
1761 var4
= glob_argv
[var1
];
1768 var5
= string__NativeString__to_s(var2
);
1775 /* method string#Sys#program_name for (self: Object): String */
1776 val
* VIRTUAL_string__Sys__program_name(val
* self
) {
1777 val
* var
/* : String */;
1778 val
* var1
/* : String */;
1779 var1
= string__Sys__program_name(self
);
1784 /* method string#Sys#init_args for (self: Sys) */
1785 void string__Sys__init_args(val
* self
) {
1786 long var
/* : Int */;
1787 long var2
/* : Int */;
1788 long var_argc
/* var argc: Int */;
1789 val
* var3
/* : Array[String] */;
1790 long var4
/* : Int */;
1791 val
* var_args
/* var args: Array[String] */;
1792 long var5
/* : Int */;
1793 long var_i
/* var i: Int */;
1794 short int var6
/* : Bool */;
1795 short int var8
/* : Bool */;
1798 const char* var_class_name
;
1799 short int var9
/* : Bool */;
1800 long var10
/* : Int */;
1801 long var11
/* : Int */;
1802 short int var13
/* : Bool */;
1805 const char* var_class_name16
;
1806 long var17
/* : Int */;
1807 char* var18
/* : NativeString */;
1808 char* var20
/* : NativeString */;
1809 val
* var21
/* : String */;
1810 long var22
/* : Int */;
1811 long var23
/* : Int */;
1812 short int var25
/* : Bool */;
1815 const char* var_class_name28
;
1816 long var29
/* : Int */;
1818 { /* Inline string#Sys#native_argc (self) on <self:Sys> */
1826 var3
= NEW_array__Array(&type_array__Arraystring__String
);
1829 array__Array__with_capacity(var3
, var4
); /* Direct call array#Array#with_capacity on <var3:Array[String]>*/
1836 { /* Inline kernel#Int#< (var_i,var_argc) on <var_i:Int> */
1837 /* Covariant cast for argument 0 (i) <var_argc:Int> isa OTHER */
1838 /* <var_argc:Int> isa OTHER */
1839 var8
= 1; /* easy <var_argc:Int> isa OTHER*/
1840 if (unlikely(!var8
)) {
1841 var_class_name
= type_kernel__Int
.name
;
1842 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1843 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
1846 var9
= var_i
< var_argc
;
1855 { /* Inline kernel#Int#- (var_i,var10) on <var_i:Int> */
1856 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
1857 /* <var10:Int> isa OTHER */
1858 var13
= 1; /* easy <var10:Int> isa OTHER*/
1859 if (unlikely(!var13
)) {
1860 var_class_name16
= type_kernel__Int
.name
;
1861 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
1862 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
1865 var17
= var_i
- var10
;
1868 RET_LABEL12
:(void)0;
1872 { /* Inline string#Sys#native_argv (self,var_i) on <self:Sys> */
1873 var20
= glob_argv
[var_i
];
1876 RET_LABEL19
:(void)0;
1880 var21
= string__NativeString__to_s(var18
);
1883 array__Array___91d_93d_61d(var_args
, var11
, var21
); /* Direct call array#Array#[]= on <var_args:Array[String]>*/
1887 { /* Inline kernel#Int#+ (var_i,var22) on <var_i:Int> */
1888 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
1889 /* <var22:Int> isa OTHER */
1890 var25
= 1; /* easy <var22:Int> isa OTHER*/
1891 if (unlikely(!var25
)) {
1892 var_class_name28
= type_kernel__Int
.name
;
1893 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
1894 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1897 var29
= var_i
+ var22
;
1900 RET_LABEL24
:(void)0;
1904 CONTINUE_label
: (void)0;
1906 BREAK_label
: (void)0;
1907 self
->attrs
[COLOR_string__Sys___args_cache
].val
= var_args
; /* _args_cache on <self:Sys> */
1910 /* method string#Sys#init_args for (self: Object) */
1911 void VIRTUAL_string__Sys__init_args(val
* self
) {
1912 string__Sys__init_args(self
); /* Direct call string#Sys#init_args on <self:Object(Sys)>*/
1915 /* method string#Sys#native_argc for (self: Sys): Int */
1916 long string__Sys__native_argc(val
* self
) {
1917 long var
/* : Int */;
1918 long var1
/* : Int */;
1925 /* method string#Sys#native_argc for (self: Object): Int */
1926 long VIRTUAL_string__Sys__native_argc(val
* self
) {
1927 long var
/* : Int */;
1928 long var1
/* : Int */;
1929 long var3
/* : Int */;
1930 { /* Inline string#Sys#native_argc (self) on <self:Object(Sys)> */
1940 /* method string#Sys#native_argv for (self: Sys, Int): NativeString */
1941 char* string__Sys__native_argv(val
* self
, long p0
) {
1942 char* var
/* : NativeString */;
1943 char* var1
/* : NativeString */;
1944 var1
= glob_argv
[p0
];
1950 /* method string#Sys#native_argv for (self: Object, Int): NativeString */
1951 char* VIRTUAL_string__Sys__native_argv(val
* self
, long p0
) {
1952 char* var
/* : NativeString */;
1953 char* var1
/* : NativeString */;
1954 char* var3
/* : NativeString */;
1955 { /* Inline string#Sys#native_argv (self,p0) on <self:Object(Sys)> */
1956 var3
= glob_argv
[p0
];