1 #include "string.sep.0.h"
2 /* method string#Text#is_empty for (self: Text): Bool */
3 short int string__Text__is_empty(val
* self
) {
4 short int var
/* : Bool */;
8 short int var5
/* : Bool */;
9 short int var6
/* : Bool */;
10 short int var8
/* : Bool */;
12 { /* Inline string#FlatText#length (self) on <self:Text> */
13 var3
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:Text> */
20 { /* Inline kernel#Int#== (var1,var4) on <var1:Int> */
33 /* method string#Text#is_empty for (self: Object): Bool */
34 short int VIRTUAL_string__Text__is_empty(val
* self
) {
35 short int var
/* : Bool */;
36 short int var1
/* : Bool */;
37 var1
= string__Text__is_empty(self
);
42 /* method string#Text#substring_from for (self: Text, Int): Text */
43 val
* string__Text__substring_from(val
* self
, long p0
) {
44 val
* var
/* : Text */;
45 long var_from
/* var from: Int */;
46 long var1
/* : Int */;
47 long var3
/* : Int */;
48 short int var4
/* : Bool */;
49 short int var6
/* : Bool */;
52 const char* var_class_name
;
53 short int var7
/* : Bool */;
54 val
* var8
/* : Text */;
55 long var9
/* : Int */;
56 short int var10
/* : Bool */;
57 short int var12
/* : Bool */;
60 const char* var_class_name15
;
61 short int var16
/* : Bool */;
62 long var17
/* : Int */;
63 long var18
/* : Int */;
64 long var20
/* : Int */;
65 long var21
/* : Int */;
66 short int var23
/* : Bool */;
69 const char* var_class_name26
;
70 long var27
/* : Int */;
71 val
* var28
/* : Text */;
74 { /* Inline string#FlatText#length (self) on <self:Text> */
75 var3
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:Text> */
81 { /* Inline kernel#Int#> (var_from,var1) on <var_from:Int> */
82 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
83 /* <var1:Int> isa OTHER */
84 var6
= 1; /* easy <var1:Int> isa OTHER*/
85 if (unlikely(!var6
)) {
86 var_class_name
= type_kernel__Int
.name
;
87 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
88 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
91 var7
= var_from
> var1
;
99 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Text__empty
]))(self
) /* empty on <self:Text>*/;
107 { /* Inline kernel#Int#< (var_from,var9) on <var_from:Int> */
108 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
109 /* <var9:Int> isa OTHER */
110 var12
= 1; /* easy <var9:Int> isa OTHER*/
111 if (unlikely(!var12
)) {
112 var_class_name15
= type_kernel__Int
.name
;
113 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
114 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
117 var16
= var_from
< var9
;
129 { /* Inline string#FlatText#length (self) on <self:Text> */
130 var20
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:Text> */
136 { /* Inline kernel#Int#- (var18,var_from) on <var18:Int> */
137 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
138 /* <var_from:Int> isa OTHER */
139 var23
= 1; /* easy <var_from:Int> isa OTHER*/
140 if (unlikely(!var23
)) {
141 var_class_name26
= type_kernel__Int
.name
;
142 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
143 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
146 var27
= var18
- var_from
;
153 var28
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_string__Text__substring
]))(self
, var_from
, var21
) /* substring on <self:Text>*/;
160 /* method string#Text#substring_from for (self: Object, Int): Text */
161 val
* VIRTUAL_string__Text__substring_from(val
* self
, long p0
) {
162 val
* var
/* : Text */;
163 val
* var1
/* : Text */;
164 var1
= string__Text__substring_from(self
, p0
);
169 /* method string#Text#has_substring for (self: Text, String, Int): Bool */
170 short int string__Text__has_substring(val
* self
, val
* p0
, long p1
) {
171 short int var
/* : Bool */;
172 val
* var_str
/* var str: String */;
173 long var_pos
/* var pos: Int */;
174 val
* var1
/* : SequenceRead[Char] */;
175 val
* var2
/* : IndexedIterator[nullable Object] */;
176 val
* var_myiter
/* var myiter: IndexedIterator[Char] */;
177 val
* var3
/* : SequenceRead[Char] */;
178 val
* var5
/* : SequenceRead[Char] */;
179 val
* var6
/* : Iterator[nullable Object] */;
180 val
* var_itsiter
/* var itsiter: IndexedIterator[Char] */;
181 short int var7
/* : Bool */;
182 short int var8
/* : Bool */;
183 short int var_
/* var : Bool */;
184 short int var9
/* : Bool */;
185 val
* var10
/* : nullable Object */;
186 val
* var11
/* : nullable Object */;
187 short int var12
/* : Bool */;
188 short int var13
/* : Bool */;
189 short int var15
/* : Bool */;
190 short int var16
/* : Bool */;
191 short int var17
/* : Bool */;
192 short int var18
/* : Bool */;
193 short int var19
/* : Bool */;
194 short int var20
/* : Bool */;
198 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Text__chars
]))(self
) /* chars on <self:Text>*/;
201 var2
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__iterator_from
]))(var1
, var_pos
) /* iterator_from on <var1:SequenceRead[Char]>*/;
205 { /* Inline string#FlatString#chars (var_str) on <var_str:String> */
206 var5
= var_str
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <var_str:String> */
207 if (unlikely(var5
== NULL
)) {
208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
209 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
217 var6
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:SequenceRead[Char]>*/;
222 var8
= ((short int (*)(val
*))(var_myiter
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_myiter
) /* is_ok on <var_myiter:IndexedIterator[Char]>*/;
227 var9
= ((short int (*)(val
*))(var_itsiter
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_itsiter
) /* is_ok on <var_itsiter:IndexedIterator[Char]>*/;
235 var10
= ((val
* (*)(val
*))(var_myiter
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_myiter
) /* item on <var_myiter:IndexedIterator[Char]>*/;
238 var11
= ((val
* (*)(val
*))(var_itsiter
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_itsiter
) /* item on <var_itsiter:IndexedIterator[Char]>*/;
241 { /* Inline kernel#Char#!= (var10,var11) on <var10:nullable Object(Char)> */
242 var15
= var10
== var11
|| (((struct instance_kernel__Char
*)var10
)->value
== ((struct instance_kernel__Char
*)var11
)->value
);
257 ((void (*)(val
*))(var_myiter
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_myiter
) /* next on <var_myiter:IndexedIterator[Char]>*/;
260 ((void (*)(val
*))(var_itsiter
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_itsiter
) /* next on <var_itsiter:IndexedIterator[Char]>*/;
262 CONTINUE_label
: (void)0;
264 BREAK_label
: (void)0;
266 var18
= ((short int (*)(val
*))(var_itsiter
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_itsiter
) /* is_ok on <var_itsiter:IndexedIterator[Char]>*/;
280 /* method string#Text#has_substring for (self: Object, String, Int): Bool */
281 short int VIRTUAL_string__Text__has_substring(val
* self
, val
* p0
, long p1
) {
282 short int var
/* : Bool */;
283 short int var1
/* : Bool */;
284 var1
= string__Text__has_substring(self
, p0
, p1
);
289 /* method string#Text#has_prefix for (self: Text, String): Bool */
290 short int string__Text__has_prefix(val
* self
, val
* p0
) {
291 short int var
/* : Bool */;
292 val
* var_prefix
/* var prefix: String */;
293 long var1
/* : Int */;
294 short int var2
/* : Bool */;
298 var2
= string__Text__has_substring(self
, var_prefix
, var1
);
305 /* method string#Text#has_prefix for (self: Object, String): Bool */
306 short int VIRTUAL_string__Text__has_prefix(val
* self
, val
* p0
) {
307 short int var
/* : Bool */;
308 short int var1
/* : Bool */;
309 var1
= string__Text__has_prefix(self
, p0
);
314 /* method string#Text#has_suffix for (self: Text, String): Bool */
315 short int string__Text__has_suffix(val
* self
, val
* p0
) {
316 short int var
/* : Bool */;
317 val
* var_suffix
/* var suffix: String */;
318 long var1
/* : Int */;
319 long var3
/* : Int */;
320 long var4
/* : Int */;
321 long var6
/* : Int */;
322 long var7
/* : Int */;
323 short int var9
/* : Bool */;
326 const char* var_class_name
;
327 long var10
/* : Int */;
328 short int var11
/* : Bool */;
331 { /* Inline string#FlatText#length (self) on <self:Text> */
332 var3
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:Text> */
338 { /* Inline string#FlatText#length (var_suffix) on <var_suffix:String> */
339 var6
= var_suffix
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_suffix:String> */
345 { /* Inline kernel#Int#- (var1,var4) on <var1:Int> */
346 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
347 /* <var4:Int> isa OTHER */
348 var9
= 1; /* easy <var4:Int> isa OTHER*/
349 if (unlikely(!var9
)) {
350 var_class_name
= type_kernel__Int
.name
;
351 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
352 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
362 var11
= string__Text__has_substring(self
, var_suffix
, var7
);
369 /* method string#Text#has_suffix for (self: Object, String): Bool */
370 short int VIRTUAL_string__Text__has_suffix(val
* self
, val
* p0
) {
371 short int var
/* : Bool */;
372 short int var1
/* : Bool */;
373 var1
= string__Text__has_suffix(self
, p0
);
378 /* method string#Text#to_i for (self: Text): Int */
379 long string__Text__to_i(val
* self
) {
380 long var
/* : Int */;
381 val
* var1
/* : String */;
382 char* var2
/* : NativeString */;
383 long var3
/* : Int */;
384 long var5
/* : Int */;
386 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:Text>*/;
389 var2
= string__FlatString__to_cstring(var1
);
392 { /* Inline string#NativeString#atoi (var2) on <var2:NativeString> */
404 /* method string#Text#to_i for (self: Object): Int */
405 long VIRTUAL_string__Text__to_i(val
* self
) {
406 long var
/* : Int */;
407 long var1
/* : Int */;
408 var1
= string__Text__to_i(self
);
413 /* method string#Text#to_f for (self: Text): Float */
414 double string__Text__to_f(val
* self
) {
415 double var
/* : Float */;
416 val
* var1
/* : String */;
417 char* var2
/* : NativeString */;
418 double var3
/* : Float */;
419 double var5
/* : Float */;
421 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:Text>*/;
424 var2
= string__FlatString__to_cstring(var1
);
427 { /* Inline string#NativeString#atof (var2) on <var2:NativeString> */
439 /* method string#Text#to_f for (self: Object): Float */
440 double VIRTUAL_string__Text__to_f(val
* self
) {
441 double var
/* : Float */;
442 double var1
/* : Float */;
443 var1
= string__Text__to_f(self
);
448 /* method string#Text#to_hex for (self: Text): Int */
449 long string__Text__to_hex(val
* self
) {
450 long var
/* : Int */;
451 long var1
/* : Int */;
452 long var2
/* : Int */;
455 var2
= string__Text__a_to(self
, var1
);
462 /* method string#Text#to_hex for (self: Object): Int */
463 long VIRTUAL_string__Text__to_hex(val
* self
) {
464 long var
/* : Int */;
465 long var1
/* : Int */;
466 var1
= string__Text__to_hex(self
);
471 /* method string#Text#a_to for (self: Text, Int): Int */
472 long string__Text__a_to(val
* self
, long p0
) {
473 long var
/* : Int */;
474 long var_base
/* var base: Int */;
475 long var1
/* : Int */;
476 long var_i
/* var i: Int */;
477 short int var2
/* : Bool */;
478 short int var_neg
/* var neg: Bool */;
479 val
* var3
/* : SequenceRead[Char] */;
480 val
* var4
/* : Iterator[nullable Object] */;
481 short int var5
/* : Bool */;
482 val
* var6
/* : nullable Object */;
483 char var_c
/* var c: Char */;
484 char var7
/* : Char */;
485 long var8
/* : Int */;
486 long var_v
/* var v: Int */;
487 short int var9
/* : Bool */;
488 short int var11
/* : Bool */;
491 const char* var_class_name
;
492 short int var12
/* : Bool */;
493 long var13
/* : Int */;
494 long var15
/* : Int */;
495 long var16
/* : Int */;
496 short int var17
/* : Bool */;
497 short int var19
/* : Bool */;
500 const char* var_class_name22
;
501 short int var23
/* : Bool */;
502 short int var24
/* : Bool */;
503 long var25
/* : Int */;
504 short int var27
/* : Bool */;
507 const char* var_class_name30
;
508 long var31
/* : Int */;
509 long var32
/* : Int */;
510 short int var34
/* : Bool */;
513 const char* var_class_name37
;
514 long var38
/* : Int */;
515 long var39
/* : Int */;
516 long var41
/* : Int */;
523 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Text__chars
]))(self
) /* chars on <self:Text>*/;
526 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:SequenceRead[Char]>*/;
530 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
534 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
536 var7
= ((struct instance_kernel__Char
*)var6
)->value
; /* autounbox from nullable Object to Char */;
539 var8
= kernel__Char__to_i(var_c
);
543 { /* Inline kernel#Int#> (var_v,var_base) on <var_v:Int> */
544 /* Covariant cast for argument 0 (i) <var_base:Int> isa OTHER */
545 /* <var_base:Int> isa OTHER */
546 var11
= 1; /* easy <var_base:Int> isa OTHER*/
547 if (unlikely(!var11
)) {
548 var_class_name
= type_kernel__Int
.name
;
549 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
550 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
553 var12
= var_v
> var_base
;
562 { /* Inline kernel#Int#unary - (var_i) on <var_i:Int> */
578 { /* Inline kernel#Int#< (var_v,var16) on <var_v:Int> */
579 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
580 /* <var16:Int> isa OTHER */
581 var19
= 1; /* easy <var16:Int> isa OTHER*/
582 if (unlikely(!var19
)) {
583 var_class_name22
= type_kernel__Int
.name
;
584 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22
);
585 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
588 var23
= var_v
< var16
;
599 { /* Inline kernel#Int#* (var_i,var_base) on <var_i:Int> */
600 /* Covariant cast for argument 0 (i) <var_base:Int> isa OTHER */
601 /* <var_base:Int> isa OTHER */
602 var27
= 1; /* easy <var_base:Int> isa OTHER*/
603 if (unlikely(!var27
)) {
604 var_class_name30
= type_kernel__Int
.name
;
605 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
606 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 332);
609 var31
= var_i
* var_base
;
616 { /* Inline kernel#Int#+ (var25,var_v) on <var25:Int> */
617 /* Covariant cast for argument 0 (i) <var_v:Int> isa OTHER */
618 /* <var_v:Int> isa OTHER */
619 var34
= 1; /* easy <var_v:Int> isa OTHER*/
620 if (unlikely(!var34
)) {
621 var_class_name37
= type_kernel__Int
.name
;
622 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37
);
623 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
626 var38
= var25
+ var_v
;
635 CONTINUE_label
: (void)0;
637 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
640 BREAK_label
: (void)0;
643 { /* Inline kernel#Int#unary - (var_i) on <var_i:Int> */
659 /* method string#Text#a_to for (self: Object, Int): Int */
660 long VIRTUAL_string__Text__a_to(val
* self
, long p0
) {
661 long var
/* : Int */;
662 long var1
/* : Int */;
663 var1
= string__Text__a_to(self
, p0
);
668 /* method string#Text#to_cmangle for (self: Text): String */
669 val
* string__Text__to_cmangle(val
* self
) {
670 val
* var
/* : String */;
671 val
* var1
/* : FlatBuffer */;
672 val
* var_res
/* var res: FlatBuffer */;
673 short int var2
/* : Bool */;
674 short int var_underscore
/* var underscore: Bool */;
675 val
* var3
/* : SequenceRead[Char] */;
676 val
* var4
/* : Iterator[nullable Object] */;
677 short int var5
/* : Bool */;
678 val
* var6
/* : nullable Object */;
679 char var_c
/* var c: Char */;
680 char var7
/* : Char */;
681 short int var8
/* : Bool */;
682 short int var9
/* : Bool */;
683 char var10
/* : Char */;
684 short int var11
/* : Bool */;
685 short int var13
/* : Bool */;
688 const char* var_class_name
;
689 short int var14
/* : Bool */;
690 short int var_
/* var : Bool */;
691 char var15
/* : Char */;
692 short int var16
/* : Bool */;
693 short int var18
/* : Bool */;
696 const char* var_class_name21
;
697 short int var22
/* : Bool */;
698 short int var_23
/* var : Bool */;
699 short int var24
/* : Bool */;
700 char var25
/* : Char */;
701 short int var26
/* : Bool */;
702 short int var28
/* : Bool */;
705 const char* var_class_name31
;
706 short int var32
/* : Bool */;
707 short int var_33
/* var : Bool */;
708 char var34
/* : Char */;
709 short int var35
/* : Bool */;
710 short int var37
/* : Bool */;
713 const char* var_class_name40
;
714 short int var41
/* : Bool */;
715 short int var42
/* : Bool */;
716 char var43
/* : Char */;
717 long var44
/* : Int */;
718 long var46
/* : Int */;
719 val
* var47
/* : String */;
720 char var48
/* : Char */;
721 short int var49
/* : Bool */;
722 char var50
/* : Char */;
723 short int var51
/* : Bool */;
724 short int var53
/* : Bool */;
727 const char* var_class_name56
;
728 short int var57
/* : Bool */;
729 short int var_58
/* var : Bool */;
730 char var59
/* : Char */;
731 short int var60
/* : Bool */;
732 short int var62
/* : Bool */;
735 const char* var_class_name65
;
736 short int var66
/* : Bool */;
737 short int var67
/* : Bool */;
738 char var68
/* : Char */;
739 short int var69
/* : Bool */;
740 short int var70
/* : Bool */;
741 short int var72
/* : Bool */;
742 short int var73
/* : Bool */;
743 char var74
/* : Char */;
744 long var75
/* : Int */;
745 long var77
/* : Int */;
746 val
* var78
/* : String */;
747 char var79
/* : Char */;
748 short int var80
/* : Bool */;
749 val
* var81
/* : String */;
750 var1
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
752 string__FlatBuffer__init(var1
); /* Direct call string#FlatBuffer#init on <var1:FlatBuffer>*/
756 var_underscore
= var2
;
758 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Text__chars
]))(self
) /* chars on <self:Text>*/;
761 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:SequenceRead[Char]>*/;
765 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
769 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
771 var7
= ((struct instance_kernel__Char
*)var6
)->value
; /* autounbox from nullable Object to Char */;
775 { /* Inline kernel#Char#>= (var_c,var10) on <var_c:Char> */
776 /* Covariant cast for argument 0 (i) <var10:Char> isa OTHER */
777 /* <var10:Char> isa OTHER */
778 var13
= 1; /* easy <var10:Char> isa OTHER*/
779 if (unlikely(!var13
)) {
780 var_class_name
= type_kernel__Char
.name
;
781 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
782 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 501);
785 var14
= var_c
>= var10
;
795 { /* Inline kernel#Char#<= (var_c,var15) on <var_c:Char> */
796 /* Covariant cast for argument 0 (i) <var15:Char> isa OTHER */
797 /* <var15:Char> isa OTHER */
798 var18
= 1; /* easy <var15:Char> isa OTHER*/
799 if (unlikely(!var18
)) {
800 var_class_name21
= type_kernel__Char
.name
;
801 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
802 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 499);
805 var22
= var_c
<= var15
;
821 { /* Inline kernel#Char#>= (var_c,var25) on <var_c:Char> */
822 /* Covariant cast for argument 0 (i) <var25:Char> isa OTHER */
823 /* <var25:Char> isa OTHER */
824 var28
= 1; /* easy <var25:Char> isa OTHER*/
825 if (unlikely(!var28
)) {
826 var_class_name31
= type_kernel__Char
.name
;
827 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
828 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 501);
831 var32
= var_c
>= var25
;
841 { /* Inline kernel#Char#<= (var_c,var34) on <var_c:Char> */
842 /* Covariant cast for argument 0 (i) <var34:Char> isa OTHER */
843 /* <var34:Char> isa OTHER */
844 var37
= 1; /* easy <var34:Char> isa OTHER*/
845 if (unlikely(!var37
)) {
846 var_class_name40
= type_kernel__Char
.name
;
847 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
848 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 499);
851 var41
= var_c
<= var34
;
865 string__FlatBuffer__add(var_res
, var_c
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
868 var_underscore
= var42
;
875 { /* Inline kernel#Char#ascii (var43) on <var43:Char> */
876 var46
= (unsigned char)var43
;
883 var47
= string__Int__to_s(var44
);
886 string__FlatBuffer__append(var_res
, var47
); /* Direct call string#FlatBuffer#append on <var_res:FlatBuffer>*/
890 string__FlatBuffer__add(var_res
, var48
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
896 { /* Inline kernel#Char#>= (var_c,var50) on <var_c:Char> */
897 /* Covariant cast for argument 0 (i) <var50:Char> isa OTHER */
898 /* <var50:Char> isa OTHER */
899 var53
= 1; /* easy <var50:Char> isa OTHER*/
900 if (unlikely(!var53
)) {
901 var_class_name56
= type_kernel__Char
.name
;
902 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56
);
903 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 501);
906 var57
= var_c
>= var50
;
916 { /* Inline kernel#Char#<= (var_c,var59) on <var_c:Char> */
917 /* Covariant cast for argument 0 (i) <var59:Char> isa OTHER */
918 /* <var59:Char> isa OTHER */
919 var62
= 1; /* easy <var59:Char> isa OTHER*/
920 if (unlikely(!var62
)) {
921 var_class_name65
= type_kernel__Char
.name
;
922 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65
);
923 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 499);
926 var66
= var_c
<= var59
;
938 string__FlatBuffer__add(var_res
, var_c
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
941 var_underscore
= var67
;
945 { /* Inline kernel#Char#== (var_c,var68) on <var_c:Char> */
946 var72
= var_c
== var68
;
955 string__FlatBuffer__add(var_res
, var_c
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
958 var_underscore
= var73
;
962 string__FlatBuffer__add(var_res
, var74
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
965 { /* Inline kernel#Char#ascii (var_c) on <var_c:Char> */
966 var77
= (unsigned char)var_c
;
973 var78
= string__Int__to_s(var75
);
976 string__FlatBuffer__append(var_res
, var78
); /* Direct call string#FlatBuffer#append on <var_res:FlatBuffer>*/
980 string__FlatBuffer__add(var_res
, var79
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
983 var_underscore
= var80
;
986 CONTINUE_label
: (void)0;
988 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
991 BREAK_label
: (void)0;
993 var81
= string__FlatBuffer__to_s(var_res
);
1000 /* method string#Text#to_cmangle for (self: Object): String */
1001 val
* VIRTUAL_string__Text__to_cmangle(val
* self
) {
1002 val
* var
/* : String */;
1003 val
* var1
/* : String */;
1004 var1
= string__Text__to_cmangle(self
);
1009 /* method string#Text#escape_to_c for (self: Text): String */
1010 val
* string__Text__escape_to_c(val
* self
) {
1011 val
* var
/* : String */;
1012 val
* var1
/* : FlatBuffer */;
1013 val
* var_b
/* var b: FlatBuffer */;
1014 val
* var2
/* : SequenceRead[Char] */;
1015 val
* var3
/* : Iterator[nullable Object] */;
1016 short int var4
/* : Bool */;
1017 val
* var5
/* : nullable Object */;
1018 char var_c
/* var c: Char */;
1019 char var6
/* : Char */;
1020 char var7
/* : Char */;
1021 short int var8
/* : Bool */;
1022 short int var9
/* : Bool */;
1023 short int var11
/* : Bool */;
1024 static val
* varonce
;
1025 val
* var12
/* : String */;
1026 char* var13
/* : NativeString */;
1027 long var14
/* : Int */;
1028 val
* var15
/* : FlatString */;
1029 char var16
/* : Char */;
1030 short int var17
/* : Bool */;
1031 short int var18
/* : Bool */;
1032 short int var20
/* : Bool */;
1033 static val
* varonce21
;
1034 val
* var22
/* : String */;
1035 char* var23
/* : NativeString */;
1036 long var24
/* : Int */;
1037 val
* var25
/* : FlatString */;
1038 char var26
/* : Char */;
1039 short int var27
/* : Bool */;
1040 short int var28
/* : Bool */;
1041 short int var30
/* : Bool */;
1042 static val
* varonce31
;
1043 val
* var32
/* : String */;
1044 char* var33
/* : NativeString */;
1045 long var34
/* : Int */;
1046 val
* var35
/* : FlatString */;
1047 char var36
/* : Char */;
1048 short int var37
/* : Bool */;
1049 short int var38
/* : Bool */;
1050 short int var40
/* : Bool */;
1051 static val
* varonce41
;
1052 val
* var42
/* : String */;
1053 char* var43
/* : NativeString */;
1054 long var44
/* : Int */;
1055 val
* var45
/* : FlatString */;
1056 char var46
/* : Char */;
1057 short int var47
/* : Bool */;
1058 short int var48
/* : Bool */;
1059 short int var50
/* : Bool */;
1060 static val
* varonce51
;
1061 val
* var52
/* : String */;
1062 char* var53
/* : NativeString */;
1063 long var54
/* : Int */;
1064 val
* var55
/* : FlatString */;
1065 long var56
/* : Int */;
1066 long var58
/* : Int */;
1067 long var59
/* : Int */;
1068 short int var60
/* : Bool */;
1069 short int var62
/* : Bool */;
1072 const char* var_class_name
;
1073 short int var63
/* : Bool */;
1074 static val
* varonce64
;
1075 val
* var65
/* : String */;
1076 char* var66
/* : NativeString */;
1077 long var67
/* : Int */;
1078 val
* var68
/* : FlatString */;
1079 long var69
/* : Int */;
1080 long var71
/* : Int */;
1081 long var72
/* : Int */;
1082 short int var73
/* : Bool */;
1083 val
* var74
/* : String */;
1084 val
* var75
/* : Array[Object] */;
1085 long var76
/* : Int */;
1086 val
* var77
/* : NativeArray[Object] */;
1087 val
* var78
/* : String */;
1088 val
* var79
/* : String */;
1089 var1
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
1091 string__FlatBuffer__init(var1
); /* Direct call string#FlatBuffer#init on <var1:FlatBuffer>*/
1095 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Text__chars
]))(self
) /* chars on <self:Text>*/;
1098 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:SequenceRead[Char]>*/;
1102 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
1106 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
1108 var6
= ((struct instance_kernel__Char
*)var5
)->value
; /* autounbox from nullable Object to Char */;
1112 { /* Inline kernel#Char#== (var_c,var7) on <var_c:Char> */
1113 var11
= var_c
== var7
;
1116 RET_LABEL10
:(void)0;
1126 var15
= string__NativeString__to_s_with_length(var13
, var14
);
1131 string__FlatBuffer__append(var_b
, var12
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1136 { /* Inline kernel#Char#== (var_c,var16) on <var_c:Char> */
1137 var20
= var_c
== var16
;
1140 RET_LABEL19
:(void)0;
1150 var25
= string__NativeString__to_s_with_length(var23
, var24
);
1155 string__FlatBuffer__append(var_b
, var22
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1160 { /* Inline kernel#Char#== (var_c,var26) on <var_c:Char> */
1161 var30
= var_c
== var26
;
1164 RET_LABEL29
:(void)0;
1174 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1179 string__FlatBuffer__append(var_b
, var32
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1184 { /* Inline kernel#Char#== (var_c,var36) on <var_c:Char> */
1185 var40
= var_c
== var36
;
1188 RET_LABEL39
:(void)0;
1198 var45
= string__NativeString__to_s_with_length(var43
, var44
);
1203 string__FlatBuffer__append(var_b
, var42
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1208 { /* Inline kernel#Char#== (var_c,var46) on <var_c:Char> */
1209 var50
= var_c
== var46
;
1212 RET_LABEL49
:(void)0;
1222 var55
= string__NativeString__to_s_with_length(var53
, var54
);
1227 string__FlatBuffer__append(var_b
, var52
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1231 { /* Inline kernel#Char#ascii (var_c) on <var_c:Char> */
1232 var58
= (unsigned char)var_c
;
1235 RET_LABEL57
:(void)0;
1240 { /* Inline kernel#Int#< (var56,var59) on <var56:Int> */
1241 /* Covariant cast for argument 0 (i) <var59:Int> isa OTHER */
1242 /* <var59:Int> isa OTHER */
1243 var62
= 1; /* easy <var59:Int> isa OTHER*/
1244 if (unlikely(!var62
)) {
1245 var_class_name
= type_kernel__Int
.name
;
1246 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1247 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
1250 var63
= var56
< var59
;
1253 RET_LABEL61
:(void)0;
1262 var68
= string__NativeString__to_s_with_length(var66
, var67
);
1267 { /* Inline kernel#Char#ascii (var_c) on <var_c:Char> */
1268 var71
= (unsigned char)var_c
;
1271 RET_LABEL70
:(void)0;
1277 var74
= string__Int__to_base(var69
, var72
, var73
);
1279 var75
= NEW_array__Array(&type_array__Arraykernel__Object
);
1280 { /* var75 = array_instance Array[Object] */
1282 var77
= NEW_array__NativeArray(var76
, &type_array__NativeArraykernel__Object
);
1283 ((struct instance_array__NativeArray
*)var77
)->values
[0] = (val
*) var65
;
1284 ((struct instance_array__NativeArray
*)var77
)->values
[1] = (val
*) var74
;
1286 ((void (*)(val
*, val
*, long))(var75
->class->vft
[COLOR_array__Array__with_native
]))(var75
, var77
, var76
) /* with_native on <var75:Array[Object]>*/;
1290 var78
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_string__Object__to_s
]))(var75
) /* to_s on <var75:Array[Object]>*/;
1293 string__FlatBuffer__append(var_b
, var78
); /* Direct call string#FlatBuffer#append on <var_b:FlatBuffer>*/
1297 string__FlatBuffer__add(var_b
, var_c
); /* Direct call string#FlatBuffer#add on <var_b:FlatBuffer>*/
1305 CONTINUE_label
: (void)0;
1307 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
1310 BREAK_label
: (void)0;
1312 var79
= string__FlatBuffer__to_s(var_b
);
1319 /* method string#Text#escape_to_c for (self: Object): String */
1320 val
* VIRTUAL_string__Text__escape_to_c(val
* self
) {
1321 val
* var
/* : String */;
1322 val
* var1
/* : String */;
1323 var1
= string__Text__escape_to_c(self
);
1328 /* method string#Text#unescape_nit for (self: Text): String */
1329 val
* string__Text__unescape_nit(val
* self
) {
1330 val
* var
/* : String */;
1331 val
* var1
/* : FlatBuffer */;
1332 long var2
/* : Int */;
1333 long var4
/* : Int */;
1334 val
* var_res
/* var res: FlatBuffer */;
1335 short int var5
/* : Bool */;
1336 short int var_was_slash
/* var was_slash: Bool */;
1337 val
* var6
/* : SequenceRead[Char] */;
1338 val
* var7
/* : Iterator[nullable Object] */;
1339 short int var8
/* : Bool */;
1340 val
* var9
/* : nullable Object */;
1341 char var_c
/* var c: Char */;
1342 char var10
/* : Char */;
1343 short int var11
/* : Bool */;
1344 char var12
/* : Char */;
1345 short int var13
/* : Bool */;
1346 short int var14
/* : Bool */;
1347 short int var16
/* : Bool */;
1348 short int var17
/* : Bool */;
1349 short int var18
/* : Bool */;
1350 char var19
/* : Char */;
1351 short int var20
/* : Bool */;
1352 short int var21
/* : Bool */;
1353 short int var23
/* : Bool */;
1354 char var24
/* : Char */;
1355 char var25
/* : Char */;
1356 short int var26
/* : Bool */;
1357 short int var27
/* : Bool */;
1358 short int var29
/* : Bool */;
1359 char var30
/* : Char */;
1360 char var31
/* : Char */;
1361 short int var32
/* : Bool */;
1362 short int var33
/* : Bool */;
1363 short int var35
/* : Bool */;
1364 char var36
/* : Char */;
1365 char var37
/* : Char */;
1366 short int var38
/* : Bool */;
1367 short int var39
/* : Bool */;
1368 short int var41
/* : Bool */;
1369 char var42
/* : Char */;
1370 val
* var43
/* : String */;
1371 var1
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
1373 { /* Inline string#FlatText#length (self) on <self:Text> */
1374 var4
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:Text> */
1380 string__FlatBuffer__with_capacity(var1
, var2
); /* Direct call string#FlatBuffer#with_capacity on <var1:FlatBuffer>*/
1384 var_was_slash
= var5
;
1386 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Text__chars
]))(self
) /* chars on <self:Text>*/;
1389 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var6
) /* iterator on <var6:SequenceRead[Char]>*/;
1393 var8
= ((short int (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var7
) /* is_ok on <var7:Iterator[nullable Object]>*/;
1397 var9
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var7
) /* item on <var7:Iterator[nullable Object]>*/;
1399 var10
= ((struct instance_kernel__Char
*)var9
)->value
; /* autounbox from nullable Object to Char */;
1401 var11
= !var_was_slash
;
1405 { /* Inline kernel#Char#== (var_c,var12) on <var_c:Char> */
1406 var16
= var_c
== var12
;
1409 RET_LABEL15
:(void)0;
1415 var_was_slash
= var17
;
1418 string__FlatBuffer__add(var_res
, var_c
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
1421 goto CONTINUE_label
;
1425 var_was_slash
= var18
;
1428 { /* Inline kernel#Char#== (var_c,var19) on <var_c:Char> */
1429 var23
= var_c
== var19
;
1432 RET_LABEL22
:(void)0;
1439 string__FlatBuffer__add(var_res
, var24
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
1444 { /* Inline kernel#Char#== (var_c,var25) on <var_c:Char> */
1445 var29
= var_c
== var25
;
1448 RET_LABEL28
:(void)0;
1455 string__FlatBuffer__add(var_res
, var30
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
1460 { /* Inline kernel#Char#== (var_c,var31) on <var_c:Char> */
1461 var35
= var_c
== var31
;
1464 RET_LABEL34
:(void)0;
1471 string__FlatBuffer__add(var_res
, var36
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
1476 { /* Inline kernel#Char#== (var_c,var37) on <var_c:Char> */
1477 var41
= var_c
== var37
;
1480 RET_LABEL40
:(void)0;
1487 string__FlatBuffer__add(var_res
, var42
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
1491 string__FlatBuffer__add(var_res
, var_c
); /* Direct call string#FlatBuffer#add on <var_res:FlatBuffer>*/
1497 CONTINUE_label
: (void)0;
1499 ((void (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var7
) /* next on <var7:Iterator[nullable Object]>*/;
1502 BREAK_label
: (void)0;
1504 var43
= string__FlatBuffer__to_s(var_res
);
1511 /* method string#Text#unescape_nit for (self: Object): String */
1512 val
* VIRTUAL_string__Text__unescape_nit(val
* self
) {
1513 val
* var
/* : String */;
1514 val
* var1
/* : String */;
1515 var1
= string__Text__unescape_nit(self
);
1520 /* method string#Text#== for (self: Text, nullable Object): Bool */
1521 short int string__Text___61d_61d(val
* self
, val
* p0
) {
1522 short int var
/* : Bool */;
1523 val
* var_o
/* var o: nullable Object */;
1524 val
* var1
/* : null */;
1525 short int var2
/* : Bool */;
1526 short int var3
/* : Bool */;
1527 short int var4
/* : Bool */;
1528 short int var5
/* : Bool */;
1531 short int var6
/* : Bool */;
1532 short int var7
/* : Bool */;
1533 short int var8
/* : Bool */;
1534 short int var10
/* : Bool */;
1535 short int var11
/* : Bool */;
1536 long var12
/* : Int */;
1537 long var14
/* : Int */;
1538 long var15
/* : Int */;
1539 long var17
/* : Int */;
1540 short int var18
/* : Bool */;
1541 short int var19
/* : Bool */;
1542 short int var21
/* : Bool */;
1543 short int var22
/* : Bool */;
1544 short int var23
/* : Bool */;
1545 val
* var24
/* : SequenceRead[Char] */;
1546 val
* var25
/* : SequenceRead[Char] */;
1547 short int var26
/* : Bool */;
1548 short int var27
/* : Bool */;
1551 if (var_o
== NULL
) {
1552 var2
= 1; /* is null */
1554 var2
= 0; /* arg is null but recv is not */
1557 var3
= ((short int (*)(val
*, val
*))(var_o
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_o
, var1
) /* == on <var_o:nullable Object>*/;
1566 /* <var_o:nullable Object(Object)> isa Text */
1567 cltype
= type_string__Text
.color
;
1568 idtype
= type_string__Text
.id
;
1569 if(cltype
>= var_o
->type
->table_size
) {
1572 var5
= var_o
->type
->type_table
[cltype
] == idtype
;
1582 { /* Inline kernel#Object#is_same_instance (self,var_o) on <self:Text> */
1583 var10
= self
== var_o
;
1596 { /* Inline string#FlatText#length (self) on <self:Text> */
1597 var14
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:Text> */
1599 RET_LABEL13
:(void)0;
1603 { /* Inline string#FlatText#length (var_o) on <var_o:nullable Object(Text)> */
1604 var17
= var_o
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_o:nullable Object(Text)> */
1606 RET_LABEL16
:(void)0;
1610 { /* Inline kernel#Int#!= (var12,var15) on <var12:Int> */
1611 var21
= var12
== var15
;
1615 RET_LABEL20
:(void)0;
1626 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Text__chars
]))(self
) /* chars on <self:Text>*/;
1629 var25
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_string__Text__chars
]))(var_o
) /* chars on <var_o:nullable Object(Text)>*/;
1632 var27
= abstract_collection__SequenceRead___61d_61d(var24
, var25
);
1640 /* method string#Text#== for (self: Object, nullable Object): Bool */
1641 short int VIRTUAL_string__Text___61d_61d(val
* self
, val
* p0
) {
1642 short int var
/* : Bool */;
1643 short int var1
/* : Bool */;
1644 var1
= string__Text___61d_61d(self
, p0
);
1649 /* method string#Text#< for (self: Text, Text): Bool */
1650 short int string__Text___60d(val
* self
, val
* p0
) {
1651 short int var
/* : Bool */;
1652 short int var1
/* : Bool */;
1655 const struct type
* type_struct
;
1656 const char* var_class_name
;
1657 val
* var_other
/* var other: Text */;
1658 val
* var2
/* : SequenceRead[Char] */;
1659 val
* var3
/* : Iterator[nullable Object] */;
1660 val
* var_self_chars
/* var self_chars: IndexedIterator[Char] */;
1661 val
* var4
/* : SequenceRead[Char] */;
1662 val
* var5
/* : Iterator[nullable Object] */;
1663 val
* var_other_chars
/* var other_chars: IndexedIterator[Char] */;
1664 short int var6
/* : Bool */;
1665 short int var7
/* : Bool */;
1666 short int var_
/* var : Bool */;
1667 short int var8
/* : Bool */;
1668 val
* var9
/* : nullable Object */;
1669 val
* var10
/* : nullable Object */;
1670 short int var11
/* : Bool */;
1671 short int var13
/* : Bool */;
1674 const char* var_class_name16
;
1675 char var17
/* : Char */;
1676 char var18
/* : Char */;
1677 short int var19
/* : Bool */;
1678 short int var20
/* : Bool */;
1679 val
* var21
/* : nullable Object */;
1680 val
* var22
/* : nullable Object */;
1681 short int var23
/* : Bool */;
1682 short int var25
/* : Bool */;
1685 const char* var_class_name28
;
1686 char var29
/* : Char */;
1687 char var30
/* : Char */;
1688 short int var31
/* : Bool */;
1689 short int var32
/* : Bool */;
1690 short int var33
/* : Bool */;
1691 short int var34
/* : Bool */;
1692 short int var35
/* : Bool */;
1693 /* Covariant cast for argument 0 (other) <p0:Text> isa OTHER */
1694 /* <p0:Text> isa OTHER */
1695 type_struct
= self
->type
->resolution_table
->types
[COLOR_kernel__Comparable_VTOTHER
];
1696 cltype
= type_struct
->color
;
1697 idtype
= type_struct
->id
;
1698 if(cltype
>= p0
->type
->table_size
) {
1701 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1703 if (unlikely(!var1
)) {
1704 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1705 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1706 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 502);
1711 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Text__chars
]))(self
) /* chars on <self:Text>*/;
1714 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:SequenceRead[Char]>*/;
1716 var_self_chars
= var3
;
1718 var4
= ((val
* (*)(val
*))(var_other
->class->vft
[COLOR_string__Text__chars
]))(var_other
) /* chars on <var_other:Text>*/;
1721 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:SequenceRead[Char]>*/;
1723 var_other_chars
= var5
;
1726 var7
= ((short int (*)(val
*))(var_self_chars
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_self_chars
) /* is_ok on <var_self_chars:IndexedIterator[Char]>*/;
1731 var8
= ((short int (*)(val
*))(var_other_chars
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_other_chars
) /* is_ok on <var_other_chars:IndexedIterator[Char]>*/;
1739 var9
= ((val
* (*)(val
*))(var_self_chars
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_self_chars
) /* item on <var_self_chars:IndexedIterator[Char]>*/;
1742 var10
= ((val
* (*)(val
*))(var_other_chars
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_other_chars
) /* item on <var_other_chars:IndexedIterator[Char]>*/;
1745 { /* Inline kernel#Char#< (var9,var10) on <var9:nullable Object(Char)> */
1746 /* Covariant cast for argument 0 (i) <var10:nullable Object(Char)> isa OTHER */
1747 /* <var10:nullable Object(Char)> isa OTHER */
1748 var13
= 1; /* easy <var10:nullable Object(Char)> isa OTHER*/
1749 if (unlikely(!var13
)) {
1750 var_class_name16
= var10
== NULL ?
"null" : var10
->type
->name
;
1751 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
1752 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 500);
1755 var17
= ((struct instance_kernel__Char
*)var9
)->value
; /* autounbox from nullable Object to Char */;
1756 var18
= ((struct instance_kernel__Char
*)var10
)->value
; /* autounbox from nullable Object to Char */;
1757 var19
= var17
< var18
;
1760 RET_LABEL12
:(void)0;
1770 var21
= ((val
* (*)(val
*))(var_self_chars
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_self_chars
) /* item on <var_self_chars:IndexedIterator[Char]>*/;
1773 var22
= ((val
* (*)(val
*))(var_other_chars
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_other_chars
) /* item on <var_other_chars:IndexedIterator[Char]>*/;
1776 { /* Inline kernel#Char#> (var21,var22) on <var21:nullable Object(Char)> */
1777 /* Covariant cast for argument 0 (i) <var22:nullable Object(Char)> isa OTHER */
1778 /* <var22:nullable Object(Char)> isa OTHER */
1779 var25
= 1; /* easy <var22:nullable Object(Char)> isa OTHER*/
1780 if (unlikely(!var25
)) {
1781 var_class_name28
= var22
== NULL ?
"null" : var22
->type
->name
;
1782 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
1783 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 502);
1786 var29
= ((struct instance_kernel__Char
*)var21
)->value
; /* autounbox from nullable Object to Char */;
1787 var30
= ((struct instance_kernel__Char
*)var22
)->value
; /* autounbox from nullable Object to Char */;
1788 var31
= var29
> var30
;
1791 RET_LABEL24
:(void)0;
1801 ((void (*)(val
*))(var_self_chars
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_self_chars
) /* next on <var_self_chars:IndexedIterator[Char]>*/;
1804 ((void (*)(val
*))(var_other_chars
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_other_chars
) /* next on <var_other_chars:IndexedIterator[Char]>*/;
1806 CONTINUE_label
: (void)0;
1808 BREAK_label
: (void)0;
1810 var33
= ((short int (*)(val
*))(var_self_chars
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_self_chars
) /* is_ok on <var_self_chars:IndexedIterator[Char]>*/;
1824 /* method string#Text#< for (self: Object, Comparable): Bool */
1825 short int VIRTUAL_string__Text___60d(val
* self
, val
* p0
) {
1826 short int var
/* : Bool */;
1827 short int var1
/* : Bool */;
1828 var1
= string__Text___60d(self
, p0
);
1833 /* method string#Text#hash_cache for (self: Text): nullable Int */
1834 val
* string__Text__hash_cache(val
* self
) {
1835 val
* var
/* : nullable Int */;
1836 val
* var1
/* : nullable Int */;
1837 var1
= self
->attrs
[COLOR_string__Text___hash_cache
].val
; /* _hash_cache on <self:Text> */
1842 /* method string#Text#hash_cache for (self: Object): nullable Int */
1843 val
* VIRTUAL_string__Text__hash_cache(val
* self
) {
1844 val
* var
/* : nullable Int */;
1845 val
* var1
/* : nullable Int */;
1846 val
* var3
/* : nullable Int */;
1847 { /* Inline string#Text#hash_cache (self) on <self:Object(Text)> */
1848 var3
= self
->attrs
[COLOR_string__Text___hash_cache
].val
; /* _hash_cache on <self:Object(Text)> */
1856 /* method string#Text#hash_cache= for (self: Text, nullable Int) */
1857 void string__Text__hash_cache_61d(val
* self
, val
* p0
) {
1858 self
->attrs
[COLOR_string__Text___hash_cache
].val
= p0
; /* _hash_cache on <self:Text> */
1861 /* method string#Text#hash_cache= for (self: Object, nullable Int) */
1862 void VIRTUAL_string__Text__hash_cache_61d(val
* self
, val
* p0
) {
1863 { /* Inline string#Text#hash_cache= (self,p0) on <self:Object(Text)> */
1864 self
->attrs
[COLOR_string__Text___hash_cache
].val
= p0
; /* _hash_cache on <self:Object(Text)> */
1869 /* method string#Text#hash for (self: Text): Int */
1870 long string__Text__hash(val
* self
) {
1871 long var
/* : Int */;
1872 val
* var1
/* : nullable Int */;
1873 val
* var3
/* : nullable Int */;
1874 val
* var4
/* : null */;
1875 short int var5
/* : Bool */;
1876 short int var6
/* : Bool */;
1877 short int var8
/* : Bool */;
1878 long var9
/* : Int */;
1879 long var_h
/* var h: Int */;
1880 val
* var10
/* : SequenceRead[Char] */;
1881 val
* var11
/* : Iterator[nullable Object] */;
1882 short int var12
/* : Bool */;
1883 val
* var13
/* : nullable Object */;
1884 char var_char
/* var char: Char */;
1885 char var14
/* : Char */;
1886 long var15
/* : Int */;
1887 long var16
/* : Int */;
1888 long var18
/* : Int */;
1889 long var19
/* : Int */;
1890 short int var21
/* : Bool */;
1893 const char* var_class_name
;
1894 long var22
/* : Int */;
1895 long var23
/* : Int */;
1896 long var25
/* : Int */;
1897 long var26
/* : Int */;
1898 short int var28
/* : Bool */;
1901 const char* var_class_name31
;
1902 long var32
/* : Int */;
1903 val
* var34
/* : nullable Int */;
1904 val
* var35
/* : nullable Int */;
1905 val
* var37
/* : nullable Int */;
1906 long var38
/* : Int */;
1908 { /* Inline string#Text#hash_cache (self) on <self:Text> */
1909 var3
= self
->attrs
[COLOR_string__Text___hash_cache
].val
; /* _hash_cache on <self:Text> */
1916 var5
= 1; /* is null */
1918 var5
= 0; /* arg is null but recv is not */
1921 { /* Inline kernel#Int#== (var1,var4) on <var1:nullable Int> */
1922 var8
= 0; /* incompatible types Int vs. null; cannot be NULL */
1933 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Text__chars
]))(self
) /* chars on <self:Text>*/;
1936 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var10
) /* iterator on <var10:SequenceRead[Char]>*/;
1940 var12
= ((short int (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var11
) /* is_ok on <var11:Iterator[nullable Object]>*/;
1944 var13
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var11
) /* item on <var11:Iterator[nullable Object]>*/;
1946 var14
= ((struct instance_kernel__Char
*)var13
)->value
; /* autounbox from nullable Object to Char */;
1950 { /* Inline kernel#Int#lshift (var_h,var15) on <var_h:Int> */
1951 var18
= var_h
<< var15
;
1954 RET_LABEL17
:(void)0;
1958 { /* Inline kernel#Int#+ (var16,var_h) on <var16:Int> */
1959 /* Covariant cast for argument 0 (i) <var_h:Int> isa OTHER */
1960 /* <var_h:Int> isa OTHER */
1961 var21
= 1; /* easy <var_h:Int> isa OTHER*/
1962 if (unlikely(!var21
)) {
1963 var_class_name
= type_kernel__Int
.name
;
1964 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1965 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1968 var22
= var16
+ var_h
;
1971 RET_LABEL20
:(void)0;
1975 { /* Inline kernel#Char#ascii (var_char) on <var_char:Char> */
1976 var25
= (unsigned char)var_char
;
1979 RET_LABEL24
:(void)0;
1983 { /* Inline kernel#Int#+ (var19,var23) on <var19:Int> */
1984 /* Covariant cast for argument 0 (i) <var23:Int> isa OTHER */
1985 /* <var23:Int> isa OTHER */
1986 var28
= 1; /* easy <var23:Int> isa OTHER*/
1987 if (unlikely(!var28
)) {
1988 var_class_name31
= type_kernel__Int
.name
;
1989 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
1990 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1993 var32
= var19
+ var23
;
1996 RET_LABEL27
:(void)0;
2000 CONTINUE_label
: (void)0;
2002 ((void (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var11
) /* next on <var11:Iterator[nullable Object]>*/;
2005 BREAK_label
: (void)0;
2007 { /* Inline string#Text#hash_cache= (self,var_h) on <self:Text> */
2008 var34
= BOX_kernel__Int(var_h
); /* autobox from Int to nullable Int */
2009 self
->attrs
[COLOR_string__Text___hash_cache
].val
= var34
; /* _hash_cache on <self:Text> */
2010 RET_LABEL33
:(void)0;
2016 { /* Inline string#Text#hash_cache (self) on <self:Text> */
2017 var37
= self
->attrs
[COLOR_string__Text___hash_cache
].val
; /* _hash_cache on <self:Text> */
2019 RET_LABEL36
:(void)0;
2022 if (unlikely(var35
== NULL
)) {
2023 PRINT_ERROR("Runtime error: %s", "Cast failed");
2024 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 542);
2027 var38
= ((struct instance_kernel__Int
*)var35
)->value
; /* autounbox from nullable Int to Int */;
2033 /* method string#Text#hash for (self: Object): Int */
2034 long VIRTUAL_string__Text__hash(val
* self
) {
2035 long var
/* : Int */;
2036 long var1
/* : Int */;
2037 var1
= string__Text__hash(self
);
2042 /* method string#Text#init for (self: Text) */
2043 void string__Text__init(val
* self
) {
2046 /* method string#Text#init for (self: Object) */
2047 void VIRTUAL_string__Text__init(val
* self
) {
2048 { /* Inline string#Text#init (self) on <self:Object(Text)> */
2053 /* method string#FlatText#items for (self: FlatText): NativeString */
2054 char* string__FlatText__items(val
* self
) {
2055 char* var
/* : NativeString */;
2056 char* var1
/* : NativeString */;
2057 var1
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatText> */
2062 /* method string#FlatText#items for (self: Object): NativeString */
2063 char* VIRTUAL_string__FlatText__items(val
* self
) {
2064 char* var
/* : NativeString */;
2065 char* var1
/* : NativeString */;
2066 char* var3
/* : NativeString */;
2067 { /* Inline string#FlatText#items (self) on <self:Object(FlatText)> */
2068 var3
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:Object(FlatText)> */
2076 /* method string#FlatText#items= for (self: FlatText, NativeString) */
2077 void string__FlatText__items_61d(val
* self
, char* p0
) {
2078 self
->attrs
[COLOR_string__FlatText___items
].str
= p0
; /* _items on <self:FlatText> */
2081 /* method string#FlatText#items= for (self: Object, NativeString) */
2082 void VIRTUAL_string__FlatText__items_61d(val
* self
, char* p0
) {
2083 { /* Inline string#FlatText#items= (self,p0) on <self:Object(FlatText)> */
2084 self
->attrs
[COLOR_string__FlatText___items
].str
= p0
; /* _items on <self:Object(FlatText)> */
2089 /* method string#FlatText#real_items for (self: FlatText): nullable NativeString */
2090 val
* string__FlatText__real_items(val
* self
) {
2091 val
* var
/* : nullable NativeString */;
2092 val
* var1
/* : nullable NativeString */;
2093 var1
= self
->attrs
[COLOR_string__FlatText___real_items
].val
; /* _real_items on <self:FlatText> */
2098 /* method string#FlatText#real_items for (self: Object): nullable NativeString */
2099 val
* VIRTUAL_string__FlatText__real_items(val
* self
) {
2100 val
* var
/* : nullable NativeString */;
2101 val
* var1
/* : nullable NativeString */;
2102 val
* var3
/* : nullable NativeString */;
2103 { /* Inline string#FlatText#real_items (self) on <self:Object(FlatText)> */
2104 var3
= self
->attrs
[COLOR_string__FlatText___real_items
].val
; /* _real_items on <self:Object(FlatText)> */
2112 /* method string#FlatText#real_items= for (self: FlatText, nullable NativeString) */
2113 void string__FlatText__real_items_61d(val
* self
, val
* p0
) {
2114 self
->attrs
[COLOR_string__FlatText___real_items
].val
= p0
; /* _real_items on <self:FlatText> */
2117 /* method string#FlatText#real_items= for (self: Object, nullable NativeString) */
2118 void VIRTUAL_string__FlatText__real_items_61d(val
* self
, val
* p0
) {
2119 { /* Inline string#FlatText#real_items= (self,p0) on <self:Object(FlatText)> */
2120 self
->attrs
[COLOR_string__FlatText___real_items
].val
= p0
; /* _real_items on <self:Object(FlatText)> */
2125 /* method string#FlatText#length for (self: FlatText): Int */
2126 long string__FlatText__length(val
* self
) {
2127 long var
/* : Int */;
2128 long var1
/* : Int */;
2129 var1
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatText> */
2134 /* method string#FlatText#length for (self: Object): Int */
2135 long VIRTUAL_string__FlatText__length(val
* self
) {
2136 long var
/* : Int */;
2137 long var1
/* : Int */;
2138 long var3
/* : Int */;
2139 { /* Inline string#FlatText#length (self) on <self:Object(FlatText)> */
2140 var3
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:Object(FlatText)> */
2148 /* method string#FlatText#length= for (self: FlatText, Int) */
2149 void string__FlatText__length_61d(val
* self
, long p0
) {
2150 self
->attrs
[COLOR_string__FlatText___length
].l
= p0
; /* _length on <self:FlatText> */
2153 /* method string#FlatText#length= for (self: Object, Int) */
2154 void VIRTUAL_string__FlatText__length_61d(val
* self
, long p0
) {
2155 { /* Inline string#FlatText#length= (self,p0) on <self:Object(FlatText)> */
2156 self
->attrs
[COLOR_string__FlatText___length
].l
= p0
; /* _length on <self:Object(FlatText)> */
2161 /* method string#FlatText#init for (self: FlatText) */
2162 void string__FlatText__init(val
* self
) {
2164 { /* Inline string#Text#init (self) on <self:FlatText> */
2170 /* method string#FlatText#init for (self: Object) */
2171 void VIRTUAL_string__FlatText__init(val
* self
) {
2172 string__FlatText__init(self
); /* Direct call string#FlatText#init on <self:Object(FlatText)>*/
2175 /* method string#StringCharView#target for (self: StringCharView): Text */
2176 val
* string__StringCharView__target(val
* self
) {
2177 val
* var
/* : Text */;
2178 val
* var1
/* : Text */;
2179 var1
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:StringCharView> */
2180 if (unlikely(var1
== NULL
)) {
2181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
2182 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
2189 /* method string#StringCharView#target for (self: Object): Text */
2190 val
* VIRTUAL_string__StringCharView__target(val
* self
) {
2191 val
* var
/* : Text */;
2192 val
* var1
/* : Text */;
2193 val
* var3
/* : Text */;
2194 { /* Inline string#StringCharView#target (self) on <self:Object(StringCharView)> */
2195 var3
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:Object(StringCharView)> */
2196 if (unlikely(var3
== NULL
)) {
2197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
2198 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
2208 /* method string#StringCharView#target= for (self: StringCharView, Text) */
2209 void string__StringCharView__target_61d(val
* self
, val
* p0
) {
2210 short int var
/* : Bool */;
2213 const struct type
* type_struct
;
2214 const char* var_class_name
;
2215 /* Covariant cast for argument 0 (target) <p0:Text> isa SELFTYPE */
2216 /* <p0:Text> isa SELFTYPE */
2217 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__StringCharView_VTSELFTYPE
];
2218 cltype
= type_struct
->color
;
2219 idtype
= type_struct
->id
;
2220 if(cltype
>= p0
->type
->table_size
) {
2223 var
= p0
->type
->type_table
[cltype
] == idtype
;
2225 if (unlikely(!var
)) {
2226 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2227 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
2228 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
2231 self
->attrs
[COLOR_string__StringCharView___target
].val
= p0
; /* _target on <self:StringCharView> */
2234 /* method string#StringCharView#target= for (self: Object, Text) */
2235 void VIRTUAL_string__StringCharView__target_61d(val
* self
, val
* p0
) {
2236 short int var
/* : Bool */;
2239 const struct type
* type_struct
;
2240 const char* var_class_name
;
2241 { /* Inline string#StringCharView#target= (self,p0) on <self:Object(StringCharView)> */
2242 /* Covariant cast for argument 0 (target) <p0:Text> isa SELFTYPE */
2243 /* <p0:Text> isa SELFTYPE */
2244 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__StringCharView_VTSELFTYPE
];
2245 cltype
= type_struct
->color
;
2246 idtype
= type_struct
->id
;
2247 if(cltype
>= p0
->type
->table_size
) {
2250 var
= p0
->type
->type_table
[cltype
] == idtype
;
2252 if (unlikely(!var
)) {
2253 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2254 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
2255 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
2258 self
->attrs
[COLOR_string__StringCharView___target
].val
= p0
; /* _target on <self:Object(StringCharView)> */
2263 /* method string#StringCharView#init for (self: StringCharView, Text) */
2264 void string__StringCharView__init(val
* self
, val
* p0
) {
2265 short int var
/* : Bool */;
2268 const struct type
* type_struct
;
2269 const char* var_class_name
;
2270 val
* var_tgt
/* var tgt: Text */;
2271 short int var2
/* : Bool */;
2274 const struct type
* type_struct5
;
2275 const char* var_class_name6
;
2276 /* Covariant cast for argument 0 (tgt) <p0:Text> isa SELFTYPE */
2277 /* <p0:Text> isa SELFTYPE */
2278 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__StringCharView_VTSELFTYPE
];
2279 cltype
= type_struct
->color
;
2280 idtype
= type_struct
->id
;
2281 if(cltype
>= p0
->type
->table_size
) {
2284 var
= p0
->type
->type_table
[cltype
] == idtype
;
2286 if (unlikely(!var
)) {
2287 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2288 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
2289 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 581);
2294 { /* Inline string#StringCharView#target= (self,var_tgt) on <self:StringCharView> */
2295 /* Covariant cast for argument 0 (target) <var_tgt:Text> isa SELFTYPE */
2296 /* <var_tgt:Text> isa SELFTYPE */
2297 type_struct5
= self
->type
->resolution_table
->types
[COLOR_string__StringCharView_VTSELFTYPE
];
2298 cltype3
= type_struct5
->color
;
2299 idtype4
= type_struct5
->id
;
2300 if(cltype3
>= var_tgt
->type
->table_size
) {
2303 var2
= var_tgt
->type
->type_table
[cltype3
] == idtype4
;
2305 if (unlikely(!var2
)) {
2306 var_class_name6
= var_tgt
== NULL ?
"null" : var_tgt
->type
->name
;
2307 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name6
);
2308 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
2311 self
->attrs
[COLOR_string__StringCharView___target
].val
= var_tgt
; /* _target on <self:StringCharView> */
2317 /* method string#StringCharView#init for (self: Object, Text) */
2318 void VIRTUAL_string__StringCharView__init(val
* self
, val
* p0
) {
2319 string__StringCharView__init(self
, p0
); /* Direct call string#StringCharView#init on <self:Object(StringCharView)>*/
2322 /* method string#StringCharView#is_empty for (self: StringCharView): Bool */
2323 short int string__StringCharView__is_empty(val
* self
) {
2324 short int var
/* : Bool */;
2325 val
* var1
/* : Text */;
2326 val
* var3
/* : Text */;
2327 short int var4
/* : Bool */;
2329 { /* Inline string#StringCharView#target (self) on <self:StringCharView> */
2330 var3
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:StringCharView> */
2331 if (unlikely(var3
== NULL
)) {
2332 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
2333 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
2341 var4
= string__Text__is_empty(var1
);
2348 /* method string#StringCharView#is_empty for (self: Object): Bool */
2349 short int VIRTUAL_string__StringCharView__is_empty(val
* self
) {
2350 short int var
/* : Bool */;
2351 short int var1
/* : Bool */;
2352 var1
= string__StringCharView__is_empty(self
);
2357 /* method string#StringCharView#length for (self: StringCharView): Int */
2358 long string__StringCharView__length(val
* self
) {
2359 long var
/* : Int */;
2360 val
* var1
/* : Text */;
2361 val
* var3
/* : Text */;
2362 long var4
/* : Int */;
2363 long var6
/* : Int */;
2365 { /* Inline string#StringCharView#target (self) on <self:StringCharView> */
2366 var3
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:StringCharView> */
2367 if (unlikely(var3
== NULL
)) {
2368 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
2369 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
2377 { /* Inline string#FlatText#length (var1) on <var1:Text> */
2378 var6
= var1
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var1:Text> */
2388 /* method string#StringCharView#length for (self: Object): Int */
2389 long VIRTUAL_string__StringCharView__length(val
* self
) {
2390 long var
/* : Int */;
2391 long var1
/* : Int */;
2392 var1
= string__StringCharView__length(self
);
2397 /* method string#StringCharView#iterator for (self: StringCharView): IndexedIterator[Char] */
2398 val
* string__StringCharView__iterator(val
* self
) {
2399 val
* var
/* : IndexedIterator[Char] */;
2400 long var1
/* : Int */;
2401 val
* var2
/* : IndexedIterator[nullable Object] */;
2404 var2
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_collection__SequenceRead__iterator_from
]))(self
, var1
) /* iterator_from on <self:StringCharView>*/;
2411 /* method string#StringCharView#iterator for (self: Object): Iterator[nullable Object] */
2412 val
* VIRTUAL_string__StringCharView__iterator(val
* self
) {
2413 val
* var
/* : Iterator[nullable Object] */;
2414 val
* var1
/* : IndexedIterator[Char] */;
2415 var1
= string__StringCharView__iterator(self
);
2420 /* method string#String#to_s for (self: String): String */
2421 val
* string__String__to_s(val
* self
) {
2422 val
* var
/* : String */;
2428 /* method string#String#to_s for (self: Object): String */
2429 val
* VIRTUAL_string__String__to_s(val
* self
) {
2430 val
* var
/* : String */;
2431 val
* var1
/* : String */;
2432 var1
= string__String__to_s(self
);
2437 /* method string#FlatSubstringsIter#tgt for (self: FlatSubstringsIter): nullable FlatText */
2438 val
* string__FlatSubstringsIter__tgt(val
* self
) {
2439 val
* var
/* : nullable FlatText */;
2440 val
* var1
/* : nullable FlatText */;
2441 var1
= self
->attrs
[COLOR_string__FlatSubstringsIter___tgt
].val
; /* _tgt on <self:FlatSubstringsIter> */
2446 /* method string#FlatSubstringsIter#tgt for (self: Object): nullable FlatText */
2447 val
* VIRTUAL_string__FlatSubstringsIter__tgt(val
* self
) {
2448 val
* var
/* : nullable FlatText */;
2449 val
* var1
/* : nullable FlatText */;
2450 val
* var3
/* : nullable FlatText */;
2451 { /* Inline string#FlatSubstringsIter#tgt (self) on <self:Object(FlatSubstringsIter)> */
2452 var3
= self
->attrs
[COLOR_string__FlatSubstringsIter___tgt
].val
; /* _tgt on <self:Object(FlatSubstringsIter)> */
2460 /* method string#FlatSubstringsIter#tgt= for (self: FlatSubstringsIter, nullable FlatText) */
2461 void string__FlatSubstringsIter__tgt_61d(val
* self
, val
* p0
) {
2462 self
->attrs
[COLOR_string__FlatSubstringsIter___tgt
].val
= p0
; /* _tgt on <self:FlatSubstringsIter> */
2465 /* method string#FlatSubstringsIter#tgt= for (self: Object, nullable FlatText) */
2466 void VIRTUAL_string__FlatSubstringsIter__tgt_61d(val
* self
, val
* p0
) {
2467 { /* Inline string#FlatSubstringsIter#tgt= (self,p0) on <self:Object(FlatSubstringsIter)> */
2468 self
->attrs
[COLOR_string__FlatSubstringsIter___tgt
].val
= p0
; /* _tgt on <self:Object(FlatSubstringsIter)> */
2473 /* method string#FlatSubstringsIter#init for (self: FlatSubstringsIter, FlatText) */
2474 void string__FlatSubstringsIter__init(val
* self
, val
* p0
) {
2475 val
* var_tgt
/* var tgt: FlatText */;
2478 { /* Inline string#FlatSubstringsIter#tgt= (self,var_tgt) on <self:FlatSubstringsIter> */
2479 self
->attrs
[COLOR_string__FlatSubstringsIter___tgt
].val
= var_tgt
; /* _tgt on <self:FlatSubstringsIter> */
2485 /* method string#FlatSubstringsIter#init for (self: Object, FlatText) */
2486 void VIRTUAL_string__FlatSubstringsIter__init(val
* self
, val
* p0
) {
2487 string__FlatSubstringsIter__init(self
, p0
); /* Direct call string#FlatSubstringsIter#init on <self:Object(FlatSubstringsIter)>*/
2490 /* method string#FlatSubstringsIter#item for (self: FlatSubstringsIter): FlatText */
2491 val
* string__FlatSubstringsIter__item(val
* self
) {
2492 val
* var
/* : FlatText */;
2493 short int var1
/* : Bool */;
2494 val
* var2
/* : nullable FlatText */;
2495 val
* var4
/* : nullable FlatText */;
2497 var1
= string__FlatSubstringsIter__is_ok(self
);
2499 if (unlikely(!var1
)) {
2500 PRINT_ERROR("Runtime error: %s", "Assert failed");
2501 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 726);
2505 { /* Inline string#FlatSubstringsIter#tgt (self) on <self:FlatSubstringsIter> */
2506 var4
= self
->attrs
[COLOR_string__FlatSubstringsIter___tgt
].val
; /* _tgt on <self:FlatSubstringsIter> */
2511 if (unlikely(var2
== NULL
)) {
2512 PRINT_ERROR("Runtime error: %s", "Cast failed");
2513 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 727);
2521 /* method string#FlatSubstringsIter#item for (self: Object): nullable Object */
2522 val
* VIRTUAL_string__FlatSubstringsIter__item(val
* self
) {
2523 val
* var
/* : nullable Object */;
2524 val
* var1
/* : FlatText */;
2525 var1
= string__FlatSubstringsIter__item(self
);
2530 /* method string#FlatSubstringsIter#is_ok for (self: FlatSubstringsIter): Bool */
2531 short int string__FlatSubstringsIter__is_ok(val
* self
) {
2532 short int var
/* : Bool */;
2533 val
* var1
/* : nullable FlatText */;
2534 val
* var3
/* : nullable FlatText */;
2535 val
* var4
/* : null */;
2536 short int var5
/* : Bool */;
2537 short int var6
/* : Bool */;
2538 val
* var_other
/* var other: nullable Object */;
2539 short int var8
/* : Bool */;
2540 short int var9
/* : Bool */;
2541 short int var10
/* : Bool */;
2543 { /* Inline string#FlatSubstringsIter#tgt (self) on <self:FlatSubstringsIter> */
2544 var3
= self
->attrs
[COLOR_string__FlatSubstringsIter___tgt
].val
; /* _tgt on <self:FlatSubstringsIter> */
2551 var5
= 0; /* is null */
2553 var5
= 1; /* arg is null and recv is not */
2556 { /* Inline kernel#Object#!= (var1,var4) on <var1:nullable FlatText> */
2559 var9
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var1
, var_other
) /* == on <var1:nullable FlatText(FlatText)>*/;
2574 /* method string#FlatSubstringsIter#is_ok for (self: Object): Bool */
2575 short int VIRTUAL_string__FlatSubstringsIter__is_ok(val
* self
) {
2576 short int var
/* : Bool */;
2577 short int var1
/* : Bool */;
2578 var1
= string__FlatSubstringsIter__is_ok(self
);
2583 /* method string#FlatSubstringsIter#next for (self: FlatSubstringsIter) */
2584 void string__FlatSubstringsIter__next(val
* self
) {
2585 val
* var
/* : null */;
2588 { /* Inline string#FlatSubstringsIter#tgt= (self,var) on <self:FlatSubstringsIter> */
2589 self
->attrs
[COLOR_string__FlatSubstringsIter___tgt
].val
= var
; /* _tgt on <self:FlatSubstringsIter> */
2595 /* method string#FlatSubstringsIter#next for (self: Object) */
2596 void VIRTUAL_string__FlatSubstringsIter__next(val
* self
) {
2597 string__FlatSubstringsIter__next(self
); /* Direct call string#FlatSubstringsIter#next on <self:Object(FlatSubstringsIter)>*/
2600 /* method string#FlatString#index_from for (self: FlatString): Int */
2601 long string__FlatString__index_from(val
* self
) {
2602 long var
/* : Int */;
2603 long var1
/* : Int */;
2604 var1
= self
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <self:FlatString> */
2609 /* method string#FlatString#index_from for (self: Object): Int */
2610 long VIRTUAL_string__FlatString__index_from(val
* self
) {
2611 long var
/* : Int */;
2612 long var1
/* : Int */;
2613 long var3
/* : Int */;
2614 { /* Inline string#FlatString#index_from (self) on <self:Object(FlatString)> */
2615 var3
= self
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <self:Object(FlatString)> */
2623 /* method string#FlatString#index_from= for (self: FlatString, Int) */
2624 void string__FlatString__index_from_61d(val
* self
, long p0
) {
2625 self
->attrs
[COLOR_string__FlatString___index_from
].l
= p0
; /* _index_from on <self:FlatString> */
2628 /* method string#FlatString#index_from= for (self: Object, Int) */
2629 void VIRTUAL_string__FlatString__index_from_61d(val
* self
, long p0
) {
2630 { /* Inline string#FlatString#index_from= (self,p0) on <self:Object(FlatString)> */
2631 self
->attrs
[COLOR_string__FlatString___index_from
].l
= p0
; /* _index_from on <self:Object(FlatString)> */
2636 /* method string#FlatString#index_to for (self: FlatString): Int */
2637 long string__FlatString__index_to(val
* self
) {
2638 long var
/* : Int */;
2639 long var1
/* : Int */;
2640 var1
= self
->attrs
[COLOR_string__FlatString___index_to
].l
; /* _index_to on <self:FlatString> */
2645 /* method string#FlatString#index_to for (self: Object): Int */
2646 long VIRTUAL_string__FlatString__index_to(val
* self
) {
2647 long var
/* : Int */;
2648 long var1
/* : Int */;
2649 long var3
/* : Int */;
2650 { /* Inline string#FlatString#index_to (self) on <self:Object(FlatString)> */
2651 var3
= self
->attrs
[COLOR_string__FlatString___index_to
].l
; /* _index_to on <self:Object(FlatString)> */
2659 /* method string#FlatString#index_to= for (self: FlatString, Int) */
2660 void string__FlatString__index_to_61d(val
* self
, long p0
) {
2661 self
->attrs
[COLOR_string__FlatString___index_to
].l
= p0
; /* _index_to on <self:FlatString> */
2664 /* method string#FlatString#index_to= for (self: Object, Int) */
2665 void VIRTUAL_string__FlatString__index_to_61d(val
* self
, long p0
) {
2666 { /* Inline string#FlatString#index_to= (self,p0) on <self:Object(FlatString)> */
2667 self
->attrs
[COLOR_string__FlatString___index_to
].l
= p0
; /* _index_to on <self:Object(FlatString)> */
2672 /* method string#FlatString#chars for (self: FlatString): SequenceRead[Char] */
2673 val
* string__FlatString__chars(val
* self
) {
2674 val
* var
/* : SequenceRead[Char] */;
2675 val
* var1
/* : SequenceRead[Char] */;
2676 var1
= self
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <self:FlatString> */
2677 if (unlikely(var1
== NULL
)) {
2678 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
2679 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
2686 /* method string#FlatString#chars for (self: Object): SequenceRead[Char] */
2687 val
* VIRTUAL_string__FlatString__chars(val
* self
) {
2688 val
* var
/* : SequenceRead[Char] */;
2689 val
* var1
/* : SequenceRead[Char] */;
2690 val
* var3
/* : SequenceRead[Char] */;
2691 { /* Inline string#FlatString#chars (self) on <self:Object(FlatString)> */
2692 var3
= self
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <self:Object(FlatString)> */
2693 if (unlikely(var3
== NULL
)) {
2694 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
2695 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
2705 /* method string#FlatString#substring for (self: FlatString, Int, Int): String */
2706 val
* string__FlatString__substring(val
* self
, long p0
, long p1
) {
2707 val
* var
/* : String */;
2708 long var_from
/* var from: Int */;
2709 long var_count
/* var count: Int */;
2710 long var1
/* : Int */;
2711 short int var2
/* : Bool */;
2712 short int var4
/* : Bool */;
2715 const char* var_class_name
;
2716 short int var5
/* : Bool */;
2717 long var6
/* : Int */;
2718 short int var7
/* : Bool */;
2719 short int var9
/* : Bool */;
2722 const char* var_class_name12
;
2723 short int var13
/* : Bool */;
2724 long var14
/* : Int */;
2725 short int var16
/* : Bool */;
2728 const char* var_class_name19
;
2729 long var20
/* : Int */;
2730 long var21
/* : Int */;
2731 short int var22
/* : Bool */;
2732 short int var24
/* : Bool */;
2735 const char* var_class_name27
;
2736 short int var28
/* : Bool */;
2737 long var29
/* : Int */;
2738 long var30
/* : Int */;
2739 long var31
/* : Int */;
2740 long var33
/* : Int */;
2741 long var34
/* : Int */;
2742 short int var36
/* : Bool */;
2745 const char* var_class_name39
;
2746 long var40
/* : Int */;
2747 long var_realFrom
/* var realFrom: Int */;
2748 long var41
/* : Int */;
2749 short int var43
/* : Bool */;
2752 const char* var_class_name46
;
2753 long var47
/* : Int */;
2754 long var48
/* : Int */;
2755 long var50
/* : Int */;
2756 short int var51
/* : Bool */;
2757 short int var53
/* : Bool */;
2760 const char* var_class_name56
;
2761 short int var57
/* : Bool */;
2762 val
* var58
/* : FlatString */;
2763 char* var59
/* : NativeString */;
2764 char* var61
/* : NativeString */;
2765 long var62
/* : Int */;
2766 long var64
/* : Int */;
2767 long var65
/* : Int */;
2768 short int var67
/* : Bool */;
2771 const char* var_class_name70
;
2772 long var71
/* : Int */;
2773 long var72
/* : Int */;
2774 long var73
/* : Int */;
2775 short int var75
/* : Bool */;
2778 const char* var_class_name78
;
2779 long var79
/* : Int */;
2780 long var80
/* : Int */;
2781 long var82
/* : Int */;
2782 short int var83
/* : Bool */;
2785 const struct type
* type_struct
;
2786 const char* var_class_name86
;
2787 long var87
/* : Int */;
2788 short int var88
/* : Bool */;
2789 short int var89
/* : Bool */;
2790 short int var91
/* : Bool */;
2791 val
* var92
/* : String */;
2792 long var93
/* : Int */;
2793 short int var95
/* : Bool */;
2796 const char* var_class_name98
;
2797 long var99
/* : Int */;
2798 long var100
/* : Int */;
2799 long var101
/* : Int */;
2800 short int var103
/* : Bool */;
2803 const char* var_class_name106
;
2804 long var107
/* : Int */;
2805 long var_to
/* var to: Int */;
2806 val
* var108
/* : FlatString */;
2807 char* var109
/* : NativeString */;
2808 char* var111
/* : NativeString */;
2809 long var112
/* : Int */;
2810 short int var114
/* : Bool */;
2813 const char* var_class_name117
;
2814 long var118
/* : Int */;
2815 long var119
/* : Int */;
2816 long var120
/* : Int */;
2817 short int var122
/* : Bool */;
2820 const char* var_class_name125
;
2821 long var126
/* : Int */;
2822 short int var127
/* : Bool */;
2825 const struct type
* type_struct130
;
2826 const char* var_class_name131
;
2831 { /* Inline kernel#Int#>= (var_count,var1) on <var_count:Int> */
2832 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
2833 /* <var1:Int> isa OTHER */
2834 var4
= 1; /* easy <var1:Int> isa OTHER*/
2835 if (unlikely(!var4
)) {
2836 var_class_name
= type_kernel__Int
.name
;
2837 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2838 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
2841 var5
= var_count
>= var1
;
2847 if (unlikely(!var2
)) {
2848 PRINT_ERROR("Runtime error: %s", "Assert failed");
2849 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 769);
2854 { /* Inline kernel#Int#< (var_from,var6) on <var_from:Int> */
2855 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
2856 /* <var6:Int> isa OTHER */
2857 var9
= 1; /* easy <var6:Int> isa OTHER*/
2858 if (unlikely(!var9
)) {
2859 var_class_name12
= type_kernel__Int
.name
;
2860 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
2861 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
2864 var13
= var_from
< var6
;
2872 { /* Inline kernel#Int#+ (var_count,var_from) on <var_count:Int> */
2873 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
2874 /* <var_from:Int> isa OTHER */
2875 var16
= 1; /* easy <var_from:Int> isa OTHER*/
2876 if (unlikely(!var16
)) {
2877 var_class_name19
= type_kernel__Int
.name
;
2878 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
2879 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
2882 var20
= var_count
+ var_from
;
2885 RET_LABEL15
:(void)0;
2891 { /* Inline kernel#Int#< (var_count,var21) on <var_count:Int> */
2892 /* Covariant cast for argument 0 (i) <var21:Int> isa OTHER */
2893 /* <var21:Int> isa OTHER */
2894 var24
= 1; /* easy <var21:Int> isa OTHER*/
2895 if (unlikely(!var24
)) {
2896 var_class_name27
= type_kernel__Int
.name
;
2897 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
2898 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
2901 var28
= var_count
< var21
;
2904 RET_LABEL23
:(void)0;
2917 { /* Inline string#FlatString#index_from (self) on <self:FlatString> */
2918 var33
= self
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <self:FlatString> */
2920 RET_LABEL32
:(void)0;
2924 { /* Inline kernel#Int#+ (var31,var_from) on <var31:Int> */
2925 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
2926 /* <var_from:Int> isa OTHER */
2927 var36
= 1; /* easy <var_from:Int> isa OTHER*/
2928 if (unlikely(!var36
)) {
2929 var_class_name39
= type_kernel__Int
.name
;
2930 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
2931 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
2934 var40
= var31
+ var_from
;
2937 RET_LABEL35
:(void)0;
2940 var_realFrom
= var34
;
2942 { /* Inline kernel#Int#+ (var_realFrom,var_count) on <var_realFrom:Int> */
2943 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
2944 /* <var_count:Int> isa OTHER */
2945 var43
= 1; /* easy <var_count:Int> isa OTHER*/
2946 if (unlikely(!var43
)) {
2947 var_class_name46
= type_kernel__Int
.name
;
2948 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46
);
2949 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
2952 var47
= var_realFrom
+ var_count
;
2955 RET_LABEL42
:(void)0;
2959 { /* Inline string#FlatString#index_to (self) on <self:FlatString> */
2960 var50
= self
->attrs
[COLOR_string__FlatString___index_to
].l
; /* _index_to on <self:FlatString> */
2962 RET_LABEL49
:(void)0;
2966 { /* Inline kernel#Int#> (var41,var48) on <var41:Int> */
2967 /* Covariant cast for argument 0 (i) <var48:Int> isa OTHER */
2968 /* <var48:Int> isa OTHER */
2969 var53
= 1; /* easy <var48:Int> isa OTHER*/
2970 if (unlikely(!var53
)) {
2971 var_class_name56
= type_kernel__Int
.name
;
2972 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56
);
2973 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
2976 var57
= var41
> var48
;
2979 RET_LABEL52
:(void)0;
2983 var58
= NEW_string__FlatString(&type_string__FlatString
);
2985 { /* Inline string#FlatText#items (self) on <self:FlatString> */
2986 var61
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatString> */
2988 RET_LABEL60
:(void)0;
2992 { /* Inline string#FlatString#index_to (self) on <self:FlatString> */
2993 var64
= self
->attrs
[COLOR_string__FlatString___index_to
].l
; /* _index_to on <self:FlatString> */
2995 RET_LABEL63
:(void)0;
2999 { /* Inline kernel#Int#- (var62,var_realFrom) on <var62:Int> */
3000 /* Covariant cast for argument 0 (i) <var_realFrom:Int> isa OTHER */
3001 /* <var_realFrom:Int> isa OTHER */
3002 var67
= 1; /* easy <var_realFrom:Int> isa OTHER*/
3003 if (unlikely(!var67
)) {
3004 var_class_name70
= type_kernel__Int
.name
;
3005 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70
);
3006 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
3009 var71
= var62
- var_realFrom
;
3012 RET_LABEL66
:(void)0;
3017 { /* Inline kernel#Int#+ (var65,var72) on <var65:Int> */
3018 /* Covariant cast for argument 0 (i) <var72:Int> isa OTHER */
3019 /* <var72:Int> isa OTHER */
3020 var75
= 1; /* easy <var72:Int> isa OTHER*/
3021 if (unlikely(!var75
)) {
3022 var_class_name78
= type_kernel__Int
.name
;
3023 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name78
);
3024 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3027 var79
= var65
+ var72
;
3030 RET_LABEL74
:(void)0;
3034 { /* Inline string#FlatString#index_to (self) on <self:FlatString> */
3035 var82
= self
->attrs
[COLOR_string__FlatString___index_to
].l
; /* _index_to on <self:FlatString> */
3037 RET_LABEL81
:(void)0;
3041 string__FlatString__with_infos(var58
, var59
, var73
, var_realFrom
, var80
); /* Direct call string#FlatString#with_infos on <var58:FlatString>*/
3043 /* <var58:FlatString> isa SELFTYPE */
3044 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__Text_VTSELFTYPE
];
3045 cltype84
= type_struct
->color
;
3046 idtype85
= type_struct
->id
;
3047 if(cltype84
>= var58
->type
->table_size
) {
3050 var83
= var58
->type
->type_table
[cltype84
] == idtype85
;
3052 if (unlikely(!var83
)) {
3053 var_class_name86
= var58
== NULL ?
"null" : var58
->type
->name
;
3054 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name86
);
3055 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 779);
3064 { /* Inline kernel#Int#== (var_count,var87) on <var_count:Int> */
3065 var91
= var_count
== var87
;
3068 RET_LABEL90
:(void)0;
3074 var92
= string__FlatString__empty(self
);
3081 { /* Inline kernel#Int#+ (var_realFrom,var_count) on <var_realFrom:Int> */
3082 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
3083 /* <var_count:Int> isa OTHER */
3084 var95
= 1; /* easy <var_count:Int> isa OTHER*/
3085 if (unlikely(!var95
)) {
3086 var_class_name98
= type_kernel__Int
.name
;
3087 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name98
);
3088 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3091 var99
= var_realFrom
+ var_count
;
3094 RET_LABEL94
:(void)0;
3099 { /* Inline kernel#Int#- (var93,var100) on <var93:Int> */
3100 /* Covariant cast for argument 0 (i) <var100:Int> isa OTHER */
3101 /* <var100:Int> isa OTHER */
3102 var103
= 1; /* easy <var100:Int> isa OTHER*/
3103 if (unlikely(!var103
)) {
3104 var_class_name106
= type_kernel__Int
.name
;
3105 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name106
);
3106 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
3109 var107
= var93
- var100
;
3112 RET_LABEL102
:(void)0;
3116 var108
= NEW_string__FlatString(&type_string__FlatString
);
3118 { /* Inline string#FlatText#items (self) on <self:FlatString> */
3119 var111
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatString> */
3121 RET_LABEL110
:(void)0;
3125 { /* Inline kernel#Int#- (var_to,var_realFrom) on <var_to:Int> */
3126 /* Covariant cast for argument 0 (i) <var_realFrom:Int> isa OTHER */
3127 /* <var_realFrom:Int> isa OTHER */
3128 var114
= 1; /* easy <var_realFrom:Int> isa OTHER*/
3129 if (unlikely(!var114
)) {
3130 var_class_name117
= type_kernel__Int
.name
;
3131 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name117
);
3132 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
3135 var118
= var_to
- var_realFrom
;
3138 RET_LABEL113
:(void)0;
3143 { /* Inline kernel#Int#+ (var112,var119) on <var112:Int> */
3144 /* Covariant cast for argument 0 (i) <var119:Int> isa OTHER */
3145 /* <var119:Int> isa OTHER */
3146 var122
= 1; /* easy <var119:Int> isa OTHER*/
3147 if (unlikely(!var122
)) {
3148 var_class_name125
= type_kernel__Int
.name
;
3149 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name125
);
3150 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3153 var126
= var112
+ var119
;
3156 RET_LABEL121
:(void)0;
3160 string__FlatString__with_infos(var108
, var109
, var120
, var_realFrom
, var_to
); /* Direct call string#FlatString#with_infos on <var108:FlatString>*/
3162 /* <var108:FlatString> isa SELFTYPE */
3163 type_struct130
= self
->type
->resolution_table
->types
[COLOR_string__Text_VTSELFTYPE
];
3164 cltype128
= type_struct130
->color
;
3165 idtype129
= type_struct130
->id
;
3166 if(cltype128
>= var108
->type
->table_size
) {
3169 var127
= var108
->type
->type_table
[cltype128
] == idtype129
;
3171 if (unlikely(!var127
)) {
3172 var_class_name131
= var108
== NULL ?
"null" : var108
->type
->name
;
3173 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name131
);
3174 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 785);
3182 /* method string#FlatString#substring for (self: Object, Int, Int): Text */
3183 val
* VIRTUAL_string__FlatString__substring(val
* self
, long p0
, long p1
) {
3184 val
* var
/* : Text */;
3185 val
* var1
/* : String */;
3186 var1
= string__FlatString__substring(self
, p0
, p1
);
3191 /* method string#FlatString#empty for (self: FlatString): String */
3192 val
* string__FlatString__empty(val
* self
) {
3193 val
* var
/* : String */;
3194 static val
* varonce
;
3195 val
* var1
/* : String */;
3196 char* var2
/* : NativeString */;
3197 long var3
/* : Int */;
3198 val
* var4
/* : FlatString */;
3199 short int var5
/* : Bool */;
3202 const char* var_class_name
;
3203 short int var6
/* : Bool */;
3206 const struct type
* type_struct
;
3207 const char* var_class_name9
;
3213 var4
= string__NativeString__to_s_with_length(var2
, var3
);
3217 /* <var1:String> isa FlatString */
3218 cltype
= type_string__FlatString
.color
;
3219 idtype
= type_string__FlatString
.id
;
3220 if(cltype
>= var1
->type
->table_size
) {
3223 var5
= var1
->type
->type_table
[cltype
] == idtype
;
3225 if (unlikely(!var5
)) {
3226 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
3227 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "FlatString", var_class_name
);
3228 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 788);
3231 /* <var1:String(FlatString)> isa SELFTYPE */
3232 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__Text_VTSELFTYPE
];
3233 cltype7
= type_struct
->color
;
3234 idtype8
= type_struct
->id
;
3235 if(cltype7
>= var1
->type
->table_size
) {
3238 var6
= var1
->type
->type_table
[cltype7
] == idtype8
;
3240 if (unlikely(!var6
)) {
3241 var_class_name9
= var1
== NULL ?
"null" : var1
->type
->name
;
3242 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name9
);
3243 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 788);
3251 /* method string#FlatString#empty for (self: Object): Text */
3252 val
* VIRTUAL_string__FlatString__empty(val
* self
) {
3253 val
* var
/* : Text */;
3254 val
* var1
/* : String */;
3255 var1
= string__FlatString__empty(self
);
3260 /* method string#FlatString#to_lower for (self: FlatString): String */
3261 val
* string__FlatString__to_lower(val
* self
) {
3262 val
* var
/* : String */;
3263 long var1
/* : Int */;
3264 long var3
/* : Int */;
3265 long var4
/* : Int */;
3266 long var5
/* : Int */;
3267 short int var7
/* : Bool */;
3270 const char* var_class_name
;
3271 long var8
/* : Int */;
3272 char* var9
/* : NativeString */;
3273 char* var11
/* : NativeString */;
3274 char* var_outstr
/* var outstr: NativeString */;
3275 long var12
/* : Int */;
3276 long var_out_index
/* var out_index: Int */;
3277 char* var13
/* : NativeString */;
3278 char* var15
/* : NativeString */;
3279 char* var_myitems
/* var myitems: NativeString */;
3280 long var16
/* : Int */;
3281 long var18
/* : Int */;
3282 long var_index_from
/* var index_from: Int */;
3283 long var19
/* : Int */;
3284 long var21
/* : Int */;
3285 long var_max
/* var max: Int */;
3286 short int var22
/* : Bool */;
3287 short int var24
/* : Bool */;
3290 const char* var_class_name27
;
3291 short int var28
/* : Bool */;
3292 char var29
/* : Char */;
3293 char var31
/* : Char */;
3294 char var32
/* : Char */;
3295 long var34
/* : Int */;
3296 long var35
/* : Int */;
3297 short int var37
/* : Bool */;
3300 const char* var_class_name40
;
3301 long var41
/* : Int */;
3302 long var42
/* : Int */;
3303 long var43
/* : Int */;
3304 short int var45
/* : Bool */;
3307 const char* var_class_name48
;
3308 long var49
/* : Int */;
3309 long var50
/* : Int */;
3310 long var52
/* : Int */;
3311 char var53
/* : Char */;
3312 long var55
/* : Int */;
3313 long var57
/* : Int */;
3314 val
* var58
/* : FlatString */;
3315 short int var59
/* : Bool */;
3318 const struct type
* type_struct
;
3319 const char* var_class_name62
;
3321 { /* Inline string#FlatText#length (self) on <self:FlatString> */
3322 var3
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatString> */
3329 { /* Inline kernel#Int#+ (var1,var4) on <var1:Int> */
3330 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
3331 /* <var4:Int> isa OTHER */
3332 var7
= 1; /* easy <var4:Int> isa OTHER*/
3333 if (unlikely(!var7
)) {
3334 var_class_name
= type_kernel__Int
.name
;
3335 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3336 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3346 { /* Inline string#StringCapable#calloc_string (self,var5) on <self:FlatString> */
3347 var11
= (char*)nit_alloc(var5
);
3350 RET_LABEL10
:(void)0;
3355 var_out_index
= var12
;
3357 { /* Inline string#FlatText#items (self) on <self:FlatString> */
3358 var15
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatString> */
3360 RET_LABEL14
:(void)0;
3363 var_myitems
= var13
;
3365 { /* Inline string#FlatString#index_from (self) on <self:FlatString> */
3366 var18
= self
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <self:FlatString> */
3368 RET_LABEL17
:(void)0;
3371 var_index_from
= var16
;
3373 { /* Inline string#FlatString#index_to (self) on <self:FlatString> */
3374 var21
= self
->attrs
[COLOR_string__FlatString___index_to
].l
; /* _index_to on <self:FlatString> */
3376 RET_LABEL20
:(void)0;
3382 { /* Inline kernel#Int#<= (var_index_from,var_max) on <var_index_from:Int> */
3383 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
3384 /* <var_max:Int> isa OTHER */
3385 var24
= 1; /* easy <var_max:Int> isa OTHER*/
3386 if (unlikely(!var24
)) {
3387 var_class_name27
= type_kernel__Int
.name
;
3388 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
3389 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
3392 var28
= var_index_from
<= var_max
;
3395 RET_LABEL23
:(void)0;
3400 { /* Inline string#NativeString#[] (var_myitems,var_index_from) on <var_myitems:NativeString> */
3401 var31
= var_myitems
[var_index_from
];
3404 RET_LABEL30
:(void)0;
3408 var32
= kernel__Char__to_lower(var29
);
3411 { /* Inline string#NativeString#[]= (var_outstr,var_out_index,var32) on <var_outstr:NativeString> */
3412 var_outstr
[var_out_index
]=var32
;
3413 RET_LABEL33
:(void)0;
3418 { /* Inline kernel#Int#+ (var_out_index,var34) on <var_out_index:Int> */
3419 /* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
3420 /* <var34:Int> isa OTHER */
3421 var37
= 1; /* easy <var34:Int> isa OTHER*/
3422 if (unlikely(!var37
)) {
3423 var_class_name40
= type_kernel__Int
.name
;
3424 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
3425 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3428 var41
= var_out_index
+ var34
;
3431 RET_LABEL36
:(void)0;
3434 var_out_index
= var35
;
3437 { /* Inline kernel#Int#+ (var_index_from,var42) on <var_index_from:Int> */
3438 /* Covariant cast for argument 0 (i) <var42:Int> isa OTHER */
3439 /* <var42:Int> isa OTHER */
3440 var45
= 1; /* easy <var42:Int> isa OTHER*/
3441 if (unlikely(!var45
)) {
3442 var_class_name48
= type_kernel__Int
.name
;
3443 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
3444 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3447 var49
= var_index_from
+ var42
;
3450 RET_LABEL44
:(void)0;
3453 var_index_from
= var43
;
3454 CONTINUE_label
: (void)0;
3456 BREAK_label
: (void)0;
3458 { /* Inline string#FlatText#length (self) on <self:FlatString> */
3459 var52
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatString> */
3461 RET_LABEL51
:(void)0;
3466 { /* Inline string#NativeString#[]= (var_outstr,var50,var53) on <var_outstr:NativeString> */
3467 var_outstr
[var50
]=var53
;
3468 RET_LABEL54
:(void)0;
3472 { /* Inline string#FlatText#length (self) on <self:FlatString> */
3473 var57
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatString> */
3475 RET_LABEL56
:(void)0;
3479 var58
= string__NativeString__to_s_with_length(var_outstr
, var55
);
3481 /* <var58:FlatString> isa SELFTYPE */
3482 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__Text_VTSELFTYPE
];
3483 cltype60
= type_struct
->color
;
3484 idtype61
= type_struct
->id
;
3485 if(cltype60
>= var58
->type
->table_size
) {
3488 var59
= var58
->type
->type_table
[cltype60
] == idtype61
;
3490 if (unlikely(!var59
)) {
3491 var_class_name62
= var58
== NULL ?
"null" : var58
->type
->name
;
3492 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name62
);
3493 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 827);
3501 /* method string#FlatString#to_lower for (self: Object): String */
3502 val
* VIRTUAL_string__FlatString__to_lower(val
* self
) {
3503 val
* var
/* : String */;
3504 val
* var1
/* : String */;
3505 var1
= string__FlatString__to_lower(self
);
3510 /* method string#FlatString#with_infos for (self: FlatString, NativeString, Int, Int, Int) */
3511 void string__FlatString__with_infos(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
3512 char* var_items
/* var items: NativeString */;
3513 long var_len
/* var len: Int */;
3514 long var_from
/* var from: Int */;
3515 long var_to
/* var to: Int */;
3517 string__FlatText__init(self
); /* Direct call string#FlatText#init on <self:FlatString>*/
3520 { /* Inline string#Text#init (self) on <self:FlatString> */
3529 { /* Inline string#FlatText#items= (self,var_items) on <self:FlatString> */
3530 self
->attrs
[COLOR_string__FlatText___items
].str
= var_items
; /* _items on <self:FlatString> */
3535 { /* Inline string#FlatText#length= (self,var_len) on <self:FlatString> */
3536 self
->attrs
[COLOR_string__FlatText___length
].l
= var_len
; /* _length on <self:FlatString> */
3541 { /* Inline string#FlatString#index_from= (self,var_from) on <self:FlatString> */
3542 self
->attrs
[COLOR_string__FlatString___index_from
].l
= var_from
; /* _index_from on <self:FlatString> */
3547 { /* Inline string#FlatString#index_to= (self,var_to) on <self:FlatString> */
3548 self
->attrs
[COLOR_string__FlatString___index_to
].l
= var_to
; /* _index_to on <self:FlatString> */
3554 /* method string#FlatString#with_infos for (self: Object, NativeString, Int, Int, Int) */
3555 void VIRTUAL_string__FlatString__with_infos(val
* self
, char* p0
, long p1
, long p2
, long p3
) {
3556 string__FlatString__with_infos(self
, p0
, p1
, p2
, p3
); /* Direct call string#FlatString#with_infos on <self:Object(FlatString)>*/
3559 /* method string#FlatString#to_cstring for (self: FlatString): NativeString */
3560 char* string__FlatString__to_cstring(val
* self
) {
3561 char* var
/* : NativeString */;
3562 val
* var1
/* : nullable NativeString */;
3563 val
* var3
/* : nullable NativeString */;
3564 val
* var4
/* : null */;
3565 short int var5
/* : Bool */;
3566 short int var6
/* : Bool */;
3567 val
* var_other
/* var other: nullable Object */;
3568 short int var8
/* : Bool */;
3569 val
* var_other10
/* var other: nullable Object */;
3570 short int var11
/* : Bool */;
3571 short int var13
/* : Bool */;
3572 short int var14
/* : Bool */;
3573 val
* var15
/* : nullable NativeString */;
3574 val
* var17
/* : nullable NativeString */;
3575 char* var18
/* : NativeString */;
3576 short int var19
/* : Bool */;
3577 long var20
/* : Int */;
3578 long var22
/* : Int */;
3579 long var23
/* : Int */;
3580 short int var24
/* : Bool */;
3581 short int var26
/* : Bool */;
3584 const char* var_class_name
;
3585 short int var27
/* : Bool */;
3586 short int var_
/* var : Bool */;
3587 long var28
/* : Int */;
3588 long var30
/* : Int */;
3589 char* var31
/* : NativeString */;
3590 char* var33
/* : NativeString */;
3591 long var34
/* : Int */;
3592 long var35
/* : Int */;
3593 long var36
/* : Int */;
3594 short int var38
/* : Bool */;
3597 const char* var_class_name41
;
3598 long var42
/* : Int */;
3599 short int var43
/* : Bool */;
3600 short int var44
/* : Bool */;
3601 short int var46
/* : Bool */;
3602 short int var47
/* : Bool */;
3603 long var48
/* : Int */;
3604 long var50
/* : Int */;
3605 long var51
/* : Int */;
3606 long var52
/* : Int */;
3607 short int var54
/* : Bool */;
3610 const char* var_class_name57
;
3611 long var58
/* : Int */;
3612 char* var59
/* : NativeString */;
3613 char* var61
/* : NativeString */;
3614 char* var_newItems
/* var newItems: NativeString */;
3615 char* var62
/* : NativeString */;
3616 char* var64
/* : NativeString */;
3617 long var65
/* : Int */;
3618 long var67
/* : Int */;
3619 long var68
/* : Int */;
3620 long var70
/* : Int */;
3621 long var71
/* : Int */;
3622 long var73
/* : Int */;
3623 long var75
/* : Int */;
3624 char var76
/* : Char */;
3625 val
* var79
/* : nullable NativeString */;
3626 char* var80
/* : NativeString */;
3627 char* var82
/* : NativeString */;
3629 { /* Inline string#FlatText#real_items (self) on <self:FlatString> */
3630 var3
= self
->attrs
[COLOR_string__FlatText___real_items
].val
; /* _real_items on <self:FlatString> */
3637 var5
= 0; /* is null */
3639 var5
= 1; /* arg is null and recv is not */
3642 { /* Inline kernel#Object#!= (var1,var4) on <var1:nullable NativeString> */
3644 { /* Inline kernel#Object#== (var1,var_other) on <var1:nullable NativeString(NativeString)> */
3645 var_other10
= var_other
;
3647 { /* Inline kernel#Object#is_same_instance (var1,var_other10) on <var1:nullable NativeString(NativeString)> */
3648 var13
= var1
== var_other10
|| (var_other10
!= NULL
&& var1
->class == var_other10
->class && ((struct instance_kernel__Pointer
*)var1
)->value
== ((struct instance_kernel__Pointer
*)var_other10
)->value
);
3651 RET_LABEL12
:(void)0;
3667 { /* Inline string#FlatText#real_items (self) on <self:FlatString> */
3668 var17
= self
->attrs
[COLOR_string__FlatText___real_items
].val
; /* _real_items on <self:FlatString> */
3670 RET_LABEL16
:(void)0;
3673 if (unlikely(var15
== NULL
)) {
3674 PRINT_ERROR("Runtime error: %s", "Cast failed");
3675 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 854);
3678 var18
= ((struct instance_kernel__Pointer
*)var15
)->value
; /* autounbox from nullable NativeString to NativeString */;
3684 { /* Inline string#FlatString#index_from (self) on <self:FlatString> */
3685 var22
= self
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <self:FlatString> */
3687 RET_LABEL21
:(void)0;
3692 { /* Inline kernel#Int#> (var20,var23) on <var20:Int> */
3693 /* Covariant cast for argument 0 (i) <var23:Int> isa OTHER */
3694 /* <var23:Int> isa OTHER */
3695 var26
= 1; /* easy <var23:Int> isa OTHER*/
3696 if (unlikely(!var26
)) {
3697 var_class_name
= type_kernel__Int
.name
;
3698 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3699 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
3702 var27
= var20
> var23
;
3705 RET_LABEL25
:(void)0;
3713 { /* Inline string#FlatString#index_to (self) on <self:FlatString> */
3714 var30
= self
->attrs
[COLOR_string__FlatString___index_to
].l
; /* _index_to on <self:FlatString> */
3716 RET_LABEL29
:(void)0;
3720 { /* Inline string#FlatText#items (self) on <self:FlatString> */
3721 var33
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatString> */
3723 RET_LABEL32
:(void)0;
3727 var34
= string__NativeString__cstring_length(var31
);
3731 { /* Inline kernel#Int#- (var34,var35) on <var34:Int> */
3732 /* Covariant cast for argument 0 (i) <var35:Int> isa OTHER */
3733 /* <var35:Int> isa OTHER */
3734 var38
= 1; /* easy <var35:Int> isa OTHER*/
3735 if (unlikely(!var38
)) {
3736 var_class_name41
= type_kernel__Int
.name
;
3737 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
3738 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
3741 var42
= var34
- var35
;
3744 RET_LABEL37
:(void)0;
3748 { /* Inline kernel#Int#!= (var28,var36) on <var28:Int> */
3749 var46
= var28
== var36
;
3753 RET_LABEL45
:(void)0;
3761 { /* Inline string#FlatText#length (self) on <self:FlatString> */
3762 var50
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatString> */
3764 RET_LABEL49
:(void)0;
3769 { /* Inline kernel#Int#+ (var48,var51) on <var48:Int> */
3770 /* Covariant cast for argument 0 (i) <var51:Int> isa OTHER */
3771 /* <var51:Int> isa OTHER */
3772 var54
= 1; /* easy <var51:Int> isa OTHER*/
3773 if (unlikely(!var54
)) {
3774 var_class_name57
= type_kernel__Int
.name
;
3775 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57
);
3776 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3779 var58
= var48
+ var51
;
3782 RET_LABEL53
:(void)0;
3786 { /* Inline string#StringCapable#calloc_string (self,var52) on <self:FlatString> */
3787 var61
= (char*)nit_alloc(var52
);
3790 RET_LABEL60
:(void)0;
3793 var_newItems
= var59
;
3795 { /* Inline string#FlatText#items (self) on <self:FlatString> */
3796 var64
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatString> */
3798 RET_LABEL63
:(void)0;
3802 { /* Inline string#FlatText#length (self) on <self:FlatString> */
3803 var67
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatString> */
3805 RET_LABEL66
:(void)0;
3809 { /* Inline string#FlatString#index_from (self) on <self:FlatString> */
3810 var70
= self
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <self:FlatString> */
3812 RET_LABEL69
:(void)0;
3817 { /* Inline string#NativeString#copy_to (var62,var_newItems,var65,var68,var71) on <var62:NativeString> */
3818 memcpy(var_newItems
+var71
,var62
+var68
,var65
);
3819 RET_LABEL72
:(void)0;
3823 { /* Inline string#FlatText#length (self) on <self:FlatString> */
3824 var75
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatString> */
3826 RET_LABEL74
:(void)0;
3831 { /* Inline string#NativeString#[]= (var_newItems,var73,var76) on <var_newItems:NativeString> */
3832 var_newItems
[var73
]=var76
;
3833 RET_LABEL77
:(void)0;
3837 { /* Inline string#FlatText#real_items= (self,var_newItems) on <self:FlatString> */
3838 var79
= BOX_string__NativeString(var_newItems
); /* autobox from NativeString to nullable NativeString */
3839 self
->attrs
[COLOR_string__FlatText___real_items
].val
= var79
; /* _real_items on <self:FlatString> */
3840 RET_LABEL78
:(void)0;
3848 { /* Inline string#FlatText#items (self) on <self:FlatString> */
3849 var82
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatString> */
3851 RET_LABEL81
:(void)0;
3859 /* method string#FlatString#to_cstring for (self: Object): NativeString */
3860 char* VIRTUAL_string__FlatString__to_cstring(val
* self
) {
3861 char* var
/* : NativeString */;
3862 char* var1
/* : NativeString */;
3863 var1
= string__FlatString__to_cstring(self
);
3868 /* method string#FlatString#== for (self: FlatString, nullable Object): Bool */
3869 short int string__FlatString___61d_61d(val
* self
, val
* p0
) {
3870 short int var
/* : Bool */;
3871 val
* var_other
/* var other: nullable Object */;
3872 short int var1
/* : Bool */;
3875 short int var2
/* : Bool */;
3876 short int var3
/* : Bool */;
3877 short int var4
/* : Bool */;
3878 long var5
/* : Int */;
3879 long var7
/* : Int */;
3880 long var8
/* : Int */;
3881 long var10
/* : Int */;
3882 short int var11
/* : Bool */;
3883 short int var12
/* : Bool */;
3884 short int var14
/* : Bool */;
3885 short int var15
/* : Bool */;
3886 long var16
/* : Int */;
3887 long var18
/* : Int */;
3888 long var_my_length
/* var my_length: Int */;
3889 long var19
/* : Int */;
3890 long var21
/* : Int */;
3891 short int var22
/* : Bool */;
3892 short int var23
/* : Bool */;
3893 short int var25
/* : Bool */;
3894 short int var26
/* : Bool */;
3895 short int var27
/* : Bool */;
3896 long var28
/* : Int */;
3897 long var30
/* : Int */;
3898 long var_my_index
/* var my_index: Int */;
3899 long var31
/* : Int */;
3900 long var33
/* : Int */;
3901 long var_its_index
/* var its_index: Int */;
3902 long var34
/* : Int */;
3903 short int var36
/* : Bool */;
3906 const char* var_class_name
;
3907 long var39
/* : Int */;
3908 long var_last_iteration
/* var last_iteration: Int */;
3909 char* var40
/* : NativeString */;
3910 char* var42
/* : NativeString */;
3911 char* var_itsitems
/* var itsitems: NativeString */;
3912 char* var43
/* : NativeString */;
3913 char* var45
/* : NativeString */;
3914 char* var_myitems
/* var myitems: NativeString */;
3915 short int var46
/* : Bool */;
3916 short int var48
/* : Bool */;
3919 const char* var_class_name51
;
3920 short int var52
/* : Bool */;
3921 char var53
/* : Char */;
3922 char var55
/* : Char */;
3923 char var56
/* : Char */;
3924 char var58
/* : Char */;
3925 short int var59
/* : Bool */;
3926 short int var60
/* : Bool */;
3927 short int var62
/* : Bool */;
3928 short int var63
/* : Bool */;
3929 short int var64
/* : Bool */;
3930 long var65
/* : Int */;
3931 long var66
/* : Int */;
3932 short int var68
/* : Bool */;
3935 const char* var_class_name71
;
3936 long var72
/* : Int */;
3937 long var73
/* : Int */;
3938 long var74
/* : Int */;
3939 short int var76
/* : Bool */;
3942 const char* var_class_name79
;
3943 long var80
/* : Int */;
3944 short int var81
/* : Bool */;
3946 /* <var_other:nullable Object> isa FlatString */
3947 cltype
= type_string__FlatString
.color
;
3948 idtype
= type_string__FlatString
.id
;
3949 if(var_other
== NULL
) {
3952 if(cltype
>= var_other
->type
->table_size
) {
3955 var1
= var_other
->type
->type_table
[cltype
] == idtype
;
3961 var4
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_string__FlatString___61d_61d
]))(self
, p0
) /* == on <self:FlatString>*/;
3969 { /* Inline kernel#Object#object_id (self) on <self:FlatString> */
3977 { /* Inline kernel#Object#object_id (var_other) on <var_other:nullable Object(FlatString)> */
3978 var10
= (long)var_other
;
3985 { /* Inline kernel#Int#== (var5,var8) on <var5:Int> */
3986 var14
= var5
== var8
;
3989 RET_LABEL13
:(void)0;
4000 { /* Inline string#FlatText#length (self) on <self:FlatString> */
4001 var18
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatString> */
4003 RET_LABEL17
:(void)0;
4006 var_my_length
= var16
;
4008 { /* Inline string#FlatText#length (var_other) on <var_other:nullable Object(FlatString)> */
4009 var21
= var_other
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_other:nullable Object(FlatString)> */
4011 RET_LABEL20
:(void)0;
4015 { /* Inline kernel#Int#!= (var19,var_my_length) on <var19:Int> */
4016 var25
= var19
== var_my_length
;
4020 RET_LABEL24
:(void)0;
4031 { /* Inline string#FlatString#index_from (self) on <self:FlatString> */
4032 var30
= self
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <self:FlatString> */
4034 RET_LABEL29
:(void)0;
4037 var_my_index
= var28
;
4039 { /* Inline string#FlatString#index_from (var_other) on <var_other:nullable Object(FlatString)> */
4040 var33
= var_other
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <var_other:nullable Object(FlatString)> */
4042 RET_LABEL32
:(void)0;
4045 var_its_index
= var31
;
4047 { /* Inline kernel#Int#+ (var_my_index,var_my_length) on <var_my_index:Int> */
4048 /* Covariant cast for argument 0 (i) <var_my_length:Int> isa OTHER */
4049 /* <var_my_length:Int> isa OTHER */
4050 var36
= 1; /* easy <var_my_length:Int> isa OTHER*/
4051 if (unlikely(!var36
)) {
4052 var_class_name
= type_kernel__Int
.name
;
4053 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4054 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4057 var39
= var_my_index
+ var_my_length
;
4060 RET_LABEL35
:(void)0;
4063 var_last_iteration
= var34
;
4065 { /* Inline string#FlatText#items (var_other) on <var_other:nullable Object(FlatString)> */
4066 var42
= var_other
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var_other:nullable Object(FlatString)> */
4068 RET_LABEL41
:(void)0;
4071 var_itsitems
= var40
;
4073 { /* Inline string#FlatText#items (self) on <self:FlatString> */
4074 var45
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatString> */
4076 RET_LABEL44
:(void)0;
4079 var_myitems
= var43
;
4082 { /* Inline kernel#Int#< (var_my_index,var_last_iteration) on <var_my_index:Int> */
4083 /* Covariant cast for argument 0 (i) <var_last_iteration:Int> isa OTHER */
4084 /* <var_last_iteration:Int> isa OTHER */
4085 var48
= 1; /* easy <var_last_iteration:Int> isa OTHER*/
4086 if (unlikely(!var48
)) {
4087 var_class_name51
= type_kernel__Int
.name
;
4088 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name51
);
4089 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
4092 var52
= var_my_index
< var_last_iteration
;
4095 RET_LABEL47
:(void)0;
4100 { /* Inline string#NativeString#[] (var_myitems,var_my_index) on <var_myitems:NativeString> */
4101 var55
= var_myitems
[var_my_index
];
4104 RET_LABEL54
:(void)0;
4108 { /* Inline string#NativeString#[] (var_itsitems,var_its_index) on <var_itsitems:NativeString> */
4109 var58
= var_itsitems
[var_its_index
];
4112 RET_LABEL57
:(void)0;
4116 { /* Inline kernel#Char#!= (var53,var56) on <var53:Char> */
4117 var62
= var53
== var56
;
4121 RET_LABEL61
:(void)0;
4133 { /* Inline kernel#Int#+ (var_my_index,var65) on <var_my_index:Int> */
4134 /* Covariant cast for argument 0 (i) <var65:Int> isa OTHER */
4135 /* <var65:Int> isa OTHER */
4136 var68
= 1; /* easy <var65:Int> isa OTHER*/
4137 if (unlikely(!var68
)) {
4138 var_class_name71
= type_kernel__Int
.name
;
4139 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name71
);
4140 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4143 var72
= var_my_index
+ var65
;
4146 RET_LABEL67
:(void)0;
4149 var_my_index
= var66
;
4152 { /* Inline kernel#Int#+ (var_its_index,var73) on <var_its_index:Int> */
4153 /* Covariant cast for argument 0 (i) <var73:Int> isa OTHER */
4154 /* <var73:Int> isa OTHER */
4155 var76
= 1; /* easy <var73:Int> isa OTHER*/
4156 if (unlikely(!var76
)) {
4157 var_class_name79
= type_kernel__Int
.name
;
4158 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79
);
4159 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4162 var80
= var_its_index
+ var73
;
4165 RET_LABEL75
:(void)0;
4168 var_its_index
= var74
;
4169 CONTINUE_label
: (void)0;
4171 BREAK_label
: (void)0;
4178 /* method string#FlatString#== for (self: Object, nullable Object): Bool */
4179 short int VIRTUAL_string__FlatString___61d_61d(val
* self
, val
* p0
) {
4180 short int var
/* : Bool */;
4181 short int var1
/* : Bool */;
4182 var1
= string__FlatString___61d_61d(self
, p0
);
4187 /* method string#FlatString#< for (self: FlatString, Text): Bool */
4188 short int string__FlatString___60d(val
* self
, val
* p0
) {
4189 short int var
/* : Bool */;
4190 short int var1
/* : Bool */;
4193 const struct type
* type_struct
;
4194 const char* var_class_name
;
4195 val
* var_other
/* var other: Text */;
4196 short int var2
/* : Bool */;
4199 short int var5
/* : Bool */;
4200 short int var6
/* : Bool */;
4201 long var7
/* : Int */;
4202 long var9
/* : Int */;
4203 long var10
/* : Int */;
4204 long var12
/* : Int */;
4205 short int var13
/* : Bool */;
4206 short int var14
/* : Bool */;
4207 short int var16
/* : Bool */;
4208 short int var17
/* : Bool */;
4209 long var18
/* : Int */;
4210 long var20
/* : Int */;
4211 long var_curr_id_self
/* var curr_id_self: Int */;
4212 long var21
/* : Int */;
4213 long var23
/* : Int */;
4214 long var_curr_id_other
/* var curr_id_other: Int */;
4215 char* var24
/* : NativeString */;
4216 char* var26
/* : NativeString */;
4217 char* var_my_items
/* var my_items: NativeString */;
4218 char* var27
/* : NativeString */;
4219 char* var29
/* : NativeString */;
4220 char* var_its_items
/* var its_items: NativeString */;
4221 long var30
/* : Int */;
4222 long var32
/* : Int */;
4223 long var_my_length
/* var my_length: Int */;
4224 long var33
/* : Int */;
4225 long var35
/* : Int */;
4226 long var_its_length
/* var its_length: Int */;
4227 long var36
/* : Int */;
4228 short int var38
/* : Bool */;
4231 const char* var_class_name41
;
4232 long var42
/* : Int */;
4233 long var_max_iterations
/* var max_iterations: Int */;
4234 short int var43
/* : Bool */;
4235 short int var45
/* : Bool */;
4238 const char* var_class_name48
;
4239 short int var49
/* : Bool */;
4240 char var50
/* : Char */;
4241 char var52
/* : Char */;
4242 char var_my_curr_char
/* var my_curr_char: Char */;
4243 char var53
/* : Char */;
4244 char var55
/* : Char */;
4245 char var_its_curr_char
/* var its_curr_char: Char */;
4246 short int var56
/* : Bool */;
4247 short int var57
/* : Bool */;
4248 short int var59
/* : Bool */;
4249 short int var60
/* : Bool */;
4250 short int var61
/* : Bool */;
4251 short int var63
/* : Bool */;
4254 const char* var_class_name66
;
4255 short int var67
/* : Bool */;
4256 short int var68
/* : Bool */;
4257 short int var69
/* : Bool */;
4258 long var70
/* : Int */;
4259 long var71
/* : Int */;
4260 short int var73
/* : Bool */;
4263 const char* var_class_name76
;
4264 long var77
/* : Int */;
4265 long var78
/* : Int */;
4266 long var79
/* : Int */;
4267 short int var81
/* : Bool */;
4270 const char* var_class_name84
;
4271 long var85
/* : Int */;
4272 short int var86
/* : Bool */;
4273 short int var88
/* : Bool */;
4276 const char* var_class_name91
;
4277 short int var92
/* : Bool */;
4278 /* Covariant cast for argument 0 (other) <p0:Text> isa OTHER */
4279 /* <p0:Text> isa OTHER */
4280 type_struct
= self
->type
->resolution_table
->types
[COLOR_kernel__Comparable_VTOTHER
];
4281 cltype
= type_struct
->color
;
4282 idtype
= type_struct
->id
;
4283 if(cltype
>= p0
->type
->table_size
) {
4286 var1
= p0
->type
->type_table
[cltype
] == idtype
;
4288 if (unlikely(!var1
)) {
4289 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4290 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4291 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 892);
4295 /* <var_other:Text> isa FlatString */
4296 cltype3
= type_string__FlatString
.color
;
4297 idtype4
= type_string__FlatString
.id
;
4298 if(cltype3
>= var_other
->type
->table_size
) {
4301 var2
= var_other
->type
->type_table
[cltype3
] == idtype4
;
4306 var6
= ((short int (*)(val
*, val
*))(self
->class->vft
[COLOR_string__FlatString___60d
]))(self
, p0
) /* < on <self:FlatString>*/;
4313 { /* Inline kernel#Object#object_id (self) on <self:FlatString> */
4321 { /* Inline kernel#Object#object_id (var_other) on <var_other:Text(FlatString)> */
4322 var12
= (long)var_other
;
4325 RET_LABEL11
:(void)0;
4329 { /* Inline kernel#Int#== (var7,var10) on <var7:Int> */
4330 var16
= var7
== var10
;
4333 RET_LABEL15
:(void)0;
4344 { /* Inline string#FlatString#index_from (self) on <self:FlatString> */
4345 var20
= self
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <self:FlatString> */
4347 RET_LABEL19
:(void)0;
4350 var_curr_id_self
= var18
;
4352 { /* Inline string#FlatString#index_from (var_other) on <var_other:Text(FlatString)> */
4353 var23
= var_other
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <var_other:Text(FlatString)> */
4355 RET_LABEL22
:(void)0;
4358 var_curr_id_other
= var21
;
4360 { /* Inline string#FlatText#items (self) on <self:FlatString> */
4361 var26
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatString> */
4363 RET_LABEL25
:(void)0;
4366 var_my_items
= var24
;
4368 { /* Inline string#FlatText#items (var_other) on <var_other:Text(FlatString)> */
4369 var29
= var_other
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var_other:Text(FlatString)> */
4371 RET_LABEL28
:(void)0;
4374 var_its_items
= var27
;
4376 { /* Inline string#FlatText#length (self) on <self:FlatString> */
4377 var32
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatString> */
4379 RET_LABEL31
:(void)0;
4382 var_my_length
= var30
;
4384 { /* Inline string#FlatText#length (var_other) on <var_other:Text(FlatString)> */
4385 var35
= var_other
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_other:Text(FlatString)> */
4387 RET_LABEL34
:(void)0;
4390 var_its_length
= var33
;
4392 { /* Inline kernel#Int#+ (var_curr_id_self,var_my_length) on <var_curr_id_self:Int> */
4393 /* Covariant cast for argument 0 (i) <var_my_length:Int> isa OTHER */
4394 /* <var_my_length:Int> isa OTHER */
4395 var38
= 1; /* easy <var_my_length:Int> isa OTHER*/
4396 if (unlikely(!var38
)) {
4397 var_class_name41
= type_kernel__Int
.name
;
4398 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
4399 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4402 var42
= var_curr_id_self
+ var_my_length
;
4405 RET_LABEL37
:(void)0;
4408 var_max_iterations
= var36
;
4411 { /* Inline kernel#Int#< (var_curr_id_self,var_max_iterations) on <var_curr_id_self:Int> */
4412 /* Covariant cast for argument 0 (i) <var_max_iterations:Int> isa OTHER */
4413 /* <var_max_iterations:Int> isa OTHER */
4414 var45
= 1; /* easy <var_max_iterations:Int> isa OTHER*/
4415 if (unlikely(!var45
)) {
4416 var_class_name48
= type_kernel__Int
.name
;
4417 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
4418 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
4421 var49
= var_curr_id_self
< var_max_iterations
;
4424 RET_LABEL44
:(void)0;
4429 { /* Inline string#NativeString#[] (var_my_items,var_curr_id_self) on <var_my_items:NativeString> */
4430 var52
= var_my_items
[var_curr_id_self
];
4433 RET_LABEL51
:(void)0;
4436 var_my_curr_char
= var50
;
4438 { /* Inline string#NativeString#[] (var_its_items,var_curr_id_other) on <var_its_items:NativeString> */
4439 var55
= var_its_items
[var_curr_id_other
];
4442 RET_LABEL54
:(void)0;
4445 var_its_curr_char
= var53
;
4447 { /* Inline kernel#Char#!= (var_my_curr_char,var_its_curr_char) on <var_my_curr_char:Char> */
4448 var59
= var_my_curr_char
== var_its_curr_char
;
4452 RET_LABEL58
:(void)0;
4458 { /* Inline kernel#Char#< (var_my_curr_char,var_its_curr_char) on <var_my_curr_char:Char> */
4459 /* Covariant cast for argument 0 (i) <var_its_curr_char:Char> isa OTHER */
4460 /* <var_its_curr_char:Char> isa OTHER */
4461 var63
= 1; /* easy <var_its_curr_char:Char> isa OTHER*/
4462 if (unlikely(!var63
)) {
4463 var_class_name66
= type_kernel__Char
.name
;
4464 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name66
);
4465 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 500);
4468 var67
= var_my_curr_char
< var_its_curr_char
;
4471 RET_LABEL62
:(void)0;
4487 { /* Inline kernel#Int#+ (var_curr_id_self,var70) on <var_curr_id_self:Int> */
4488 /* Covariant cast for argument 0 (i) <var70:Int> isa OTHER */
4489 /* <var70:Int> isa OTHER */
4490 var73
= 1; /* easy <var70:Int> isa OTHER*/
4491 if (unlikely(!var73
)) {
4492 var_class_name76
= type_kernel__Int
.name
;
4493 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76
);
4494 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4497 var77
= var_curr_id_self
+ var70
;
4500 RET_LABEL72
:(void)0;
4503 var_curr_id_self
= var71
;
4506 { /* Inline kernel#Int#+ (var_curr_id_other,var78) on <var_curr_id_other:Int> */
4507 /* Covariant cast for argument 0 (i) <var78:Int> isa OTHER */
4508 /* <var78:Int> isa OTHER */
4509 var81
= 1; /* easy <var78:Int> isa OTHER*/
4510 if (unlikely(!var81
)) {
4511 var_class_name84
= type_kernel__Int
.name
;
4512 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84
);
4513 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4516 var85
= var_curr_id_other
+ var78
;
4519 RET_LABEL80
:(void)0;
4522 var_curr_id_other
= var79
;
4523 CONTINUE_label
: (void)0;
4525 BREAK_label
: (void)0;
4527 { /* Inline kernel#Int#< (var_my_length,var_its_length) on <var_my_length:Int> */
4528 /* Covariant cast for argument 0 (i) <var_its_length:Int> isa OTHER */
4529 /* <var_its_length:Int> isa OTHER */
4530 var88
= 1; /* easy <var_its_length:Int> isa OTHER*/
4531 if (unlikely(!var88
)) {
4532 var_class_name91
= type_kernel__Int
.name
;
4533 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name91
);
4534 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
4537 var92
= var_my_length
< var_its_length
;
4540 RET_LABEL87
:(void)0;
4548 /* method string#FlatString#< for (self: Object, Comparable): Bool */
4549 short int VIRTUAL_string__FlatString___60d(val
* self
, val
* p0
) {
4550 short int var
/* : Bool */;
4551 short int var1
/* : Bool */;
4552 var1
= string__FlatString___60d(self
, p0
);
4557 /* method string#FlatString#+ for (self: FlatString, Text): String */
4558 val
* string__FlatString___43d(val
* self
, val
* p0
) {
4559 val
* var
/* : String */;
4560 val
* var_s
/* var s: Text */;
4561 long var1
/* : Int */;
4562 long var3
/* : Int */;
4563 long var_my_length
/* var my_length: Int */;
4564 long var4
/* : Int */;
4565 long var6
/* : Int */;
4566 long var_its_length
/* var its_length: Int */;
4567 long var7
/* : Int */;
4568 short int var9
/* : Bool */;
4571 const char* var_class_name
;
4572 long var10
/* : Int */;
4573 long var_total_length
/* var total_length: Int */;
4574 long var11
/* : Int */;
4575 short int var13
/* : Bool */;
4578 const char* var_class_name16
;
4579 long var17
/* : Int */;
4580 long var18
/* : Int */;
4581 long var19
/* : Int */;
4582 short int var21
/* : Bool */;
4585 const char* var_class_name24
;
4586 long var25
/* : Int */;
4587 char* var26
/* : NativeString */;
4588 char* var28
/* : NativeString */;
4589 char* var_target_string
/* var target_string: NativeString */;
4590 char* var29
/* : NativeString */;
4591 char* var31
/* : NativeString */;
4592 long var32
/* : Int */;
4593 long var34
/* : Int */;
4594 long var35
/* : Int */;
4595 short int var37
/* : Bool */;
4598 char* var40
/* : NativeString */;
4599 char* var42
/* : NativeString */;
4600 long var43
/* : Int */;
4601 long var45
/* : Int */;
4602 short int var47
/* : Bool */;
4605 char* var50
/* : NativeString */;
4606 char* var52
/* : NativeString */;
4607 long var53
/* : Int */;
4608 long var_curr_pos
/* var curr_pos: Int */;
4609 val
* var55
/* : SequenceRead[Char] */;
4610 val
* var56
/* : Iterator[nullable Object] */;
4611 short int var57
/* : Bool */;
4612 val
* var58
/* : nullable Object */;
4613 char var_i
/* var i: Char */;
4614 char var59
/* : Char */;
4615 long var61
/* : Int */;
4616 long var62
/* : Int */;
4617 short int var64
/* : Bool */;
4620 const char* var_class_name67
;
4621 long var68
/* : Int */;
4622 char var69
/* : Char */;
4623 val
* var71
/* : FlatString */;
4624 short int var72
/* : Bool */;
4627 const struct type
* type_struct
;
4628 const char* var_class_name75
;
4631 { /* Inline string#FlatText#length (self) on <self:FlatString> */
4632 var3
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatString> */
4637 var_my_length
= var1
;
4639 { /* Inline string#FlatText#length (var_s) on <var_s:Text> */
4640 var6
= var_s
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_s:Text> */
4645 var_its_length
= var4
;
4647 { /* Inline kernel#Int#+ (var_my_length,var_its_length) on <var_my_length:Int> */
4648 /* Covariant cast for argument 0 (i) <var_its_length:Int> isa OTHER */
4649 /* <var_its_length:Int> isa OTHER */
4650 var9
= 1; /* easy <var_its_length:Int> isa OTHER*/
4651 if (unlikely(!var9
)) {
4652 var_class_name
= type_kernel__Int
.name
;
4653 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4654 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4657 var10
= var_my_length
+ var_its_length
;
4663 var_total_length
= var7
;
4665 { /* Inline kernel#Int#+ (var_my_length,var_its_length) on <var_my_length:Int> */
4666 /* Covariant cast for argument 0 (i) <var_its_length:Int> isa OTHER */
4667 /* <var_its_length:Int> isa OTHER */
4668 var13
= 1; /* easy <var_its_length:Int> isa OTHER*/
4669 if (unlikely(!var13
)) {
4670 var_class_name16
= type_kernel__Int
.name
;
4671 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
4672 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4675 var17
= var_my_length
+ var_its_length
;
4678 RET_LABEL12
:(void)0;
4683 { /* Inline kernel#Int#+ (var11,var18) on <var11:Int> */
4684 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
4685 /* <var18:Int> isa OTHER */
4686 var21
= 1; /* easy <var18:Int> isa OTHER*/
4687 if (unlikely(!var21
)) {
4688 var_class_name24
= type_kernel__Int
.name
;
4689 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24
);
4690 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4693 var25
= var11
+ var18
;
4696 RET_LABEL20
:(void)0;
4700 { /* Inline string#StringCapable#calloc_string (self,var19) on <self:FlatString> */
4701 var28
= (char*)nit_alloc(var19
);
4704 RET_LABEL27
:(void)0;
4707 var_target_string
= var26
;
4709 { /* Inline string#FlatText#items (self) on <self:FlatString> */
4710 var31
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatString> */
4712 RET_LABEL30
:(void)0;
4716 { /* Inline string#FlatString#index_from (self) on <self:FlatString> */
4717 var34
= self
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <self:FlatString> */
4719 RET_LABEL33
:(void)0;
4724 { /* Inline string#NativeString#copy_to (var29,var_target_string,var_my_length,var32,var35) on <var29:NativeString> */
4725 memcpy(var_target_string
+var35
,var29
+var32
,var_my_length
);
4726 RET_LABEL36
:(void)0;
4729 /* <var_s:Text> isa FlatString */
4730 cltype38
= type_string__FlatString
.color
;
4731 idtype39
= type_string__FlatString
.id
;
4732 if(cltype38
>= var_s
->type
->table_size
) {
4735 var37
= var_s
->type
->type_table
[cltype38
] == idtype39
;
4739 { /* Inline string#FlatText#items (var_s) on <var_s:Text(FlatString)> */
4740 var42
= var_s
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var_s:Text(FlatString)> */
4742 RET_LABEL41
:(void)0;
4746 { /* Inline string#FlatString#index_from (var_s) on <var_s:Text(FlatString)> */
4747 var45
= var_s
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <var_s:Text(FlatString)> */
4749 RET_LABEL44
:(void)0;
4753 { /* Inline string#NativeString#copy_to (var40,var_target_string,var_its_length,var43,var_my_length) on <var40:NativeString> */
4754 memcpy(var_target_string
+var_my_length
,var40
+var43
,var_its_length
);
4755 RET_LABEL46
:(void)0;
4759 /* <var_s:Text> isa FlatBuffer */
4760 cltype48
= type_string__FlatBuffer
.color
;
4761 idtype49
= type_string__FlatBuffer
.id
;
4762 if(cltype48
>= var_s
->type
->table_size
) {
4765 var47
= var_s
->type
->type_table
[cltype48
] == idtype49
;
4769 { /* Inline string#FlatText#items (var_s) on <var_s:Text(FlatBuffer)> */
4770 var52
= var_s
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var_s:Text(FlatBuffer)> */
4772 RET_LABEL51
:(void)0;
4777 { /* Inline string#NativeString#copy_to (var50,var_target_string,var_its_length,var53,var_my_length) on <var50:NativeString> */
4778 memcpy(var_target_string
+var_my_length
,var50
+var53
,var_its_length
);
4779 RET_LABEL54
:(void)0;
4783 var_curr_pos
= var_my_length
;
4785 var55
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Text__chars
]))(var_s
) /* chars on <var_s:Text>*/;
4788 var56
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var55
) /* iterator on <var55:SequenceRead[Char]>*/;
4792 var57
= ((short int (*)(val
*))(var56
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var56
) /* is_ok on <var56:Iterator[nullable Object]>*/;
4796 var58
= ((val
* (*)(val
*))(var56
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var56
) /* item on <var56:Iterator[nullable Object]>*/;
4798 var59
= ((struct instance_kernel__Char
*)var58
)->value
; /* autounbox from nullable Object to Char */;
4801 { /* Inline string#NativeString#[]= (var_target_string,var_curr_pos,var_i) on <var_target_string:NativeString> */
4802 var_target_string
[var_curr_pos
]=var_i
;
4803 RET_LABEL60
:(void)0;
4808 { /* Inline kernel#Int#+ (var_curr_pos,var61) on <var_curr_pos:Int> */
4809 /* Covariant cast for argument 0 (i) <var61:Int> isa OTHER */
4810 /* <var61:Int> isa OTHER */
4811 var64
= 1; /* easy <var61:Int> isa OTHER*/
4812 if (unlikely(!var64
)) {
4813 var_class_name67
= type_kernel__Int
.name
;
4814 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name67
);
4815 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
4818 var68
= var_curr_pos
+ var61
;
4821 RET_LABEL63
:(void)0;
4824 var_curr_pos
= var62
;
4825 CONTINUE_label
: (void)0;
4827 ((void (*)(val
*))(var56
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var56
) /* next on <var56:Iterator[nullable Object]>*/;
4830 BREAK_label
: (void)0;
4835 { /* Inline string#NativeString#[]= (var_target_string,var_total_length,var69) on <var_target_string:NativeString> */
4836 var_target_string
[var_total_length
]=var69
;
4837 RET_LABEL70
:(void)0;
4841 var71
= string__NativeString__to_s_with_length(var_target_string
, var_total_length
);
4843 /* <var71:FlatString> isa SELFTYPE */
4844 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__Text_VTSELFTYPE
];
4845 cltype73
= type_struct
->color
;
4846 idtype74
= type_struct
->id
;
4847 if(cltype73
>= var71
->type
->table_size
) {
4850 var72
= var71
->type
->type_table
[cltype73
] == idtype74
;
4852 if (unlikely(!var72
)) {
4853 var_class_name75
= var71
== NULL ?
"null" : var71
->type
->name
;
4854 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name75
);
4855 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 952);
4863 /* method string#FlatString#+ for (self: Object, Text): String */
4864 val
* VIRTUAL_string__FlatString___43d(val
* self
, val
* p0
) {
4865 val
* var
/* : String */;
4866 val
* var1
/* : String */;
4867 var1
= string__FlatString___43d(self
, p0
);
4872 /* method string#FlatString#* for (self: FlatString, Int): String */
4873 val
* string__FlatString___42d(val
* self
, long p0
) {
4874 val
* var
/* : String */;
4875 long var_i
/* var i: Int */;
4876 long var1
/* : Int */;
4877 short int var2
/* : Bool */;
4878 short int var4
/* : Bool */;
4881 const char* var_class_name
;
4882 short int var5
/* : Bool */;
4883 long var6
/* : Int */;
4884 long var8
/* : Int */;
4885 long var_my_length
/* var my_length: Int */;
4886 long var9
/* : Int */;
4887 short int var11
/* : Bool */;
4890 const char* var_class_name14
;
4891 long var15
/* : Int */;
4892 long var_final_length
/* var final_length: Int */;
4893 char* var16
/* : NativeString */;
4894 char* var18
/* : NativeString */;
4895 char* var_my_items
/* var my_items: NativeString */;
4896 long var19
/* : Int */;
4897 long var20
/* : Int */;
4898 short int var22
/* : Bool */;
4901 const char* var_class_name25
;
4902 long var26
/* : Int */;
4903 char* var27
/* : NativeString */;
4904 char* var29
/* : NativeString */;
4905 char* var_target_string
/* var target_string: NativeString */;
4906 char var30
/* : Char */;
4907 long var32
/* : Int */;
4908 long var_current_last
/* var current_last: Int */;
4909 val
* var33
/* : Range[Int] */;
4910 long var34
/* : Int */;
4911 val
* var35
/* : Discrete */;
4912 val
* var36
/* : Discrete */;
4913 val
* var37
/* : Iterator[Discrete] */;
4914 short int var38
/* : Bool */;
4915 val
* var39
/* : nullable Object */;
4916 long var_iteration
/* var iteration: Int */;
4917 long var40
/* : Int */;
4918 long var41
/* : Int */;
4919 long var43
/* : Int */;
4920 short int var45
/* : Bool */;
4923 const char* var_class_name48
;
4924 long var49
/* : Int */;
4925 val
* var50
/* : FlatString */;
4926 short int var51
/* : Bool */;
4929 const struct type
* type_struct
;
4930 const char* var_class_name54
;
4934 { /* Inline kernel#Int#>= (var_i,var1) on <var_i:Int> */
4935 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
4936 /* <var1:Int> isa OTHER */
4937 var4
= 1; /* easy <var1:Int> isa OTHER*/
4938 if (unlikely(!var4
)) {
4939 var_class_name
= type_kernel__Int
.name
;
4940 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
4941 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
4944 var5
= var_i
>= var1
;
4950 if (unlikely(!var2
)) {
4951 PRINT_ERROR("Runtime error: %s", "Assert failed");
4952 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 957);
4956 { /* Inline string#FlatText#length (self) on <self:FlatString> */
4957 var8
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatString> */
4962 var_my_length
= var6
;
4964 { /* Inline kernel#Int#* (var_my_length,var_i) on <var_my_length:Int> */
4965 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
4966 /* <var_i:Int> isa OTHER */
4967 var11
= 1; /* easy <var_i:Int> isa OTHER*/
4968 if (unlikely(!var11
)) {
4969 var_class_name14
= type_kernel__Int
.name
;
4970 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14
);
4971 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 332);
4974 var15
= var_my_length
* var_i
;
4977 RET_LABEL10
:(void)0;
4980 var_final_length
= var9
;
4982 { /* Inline string#FlatText#items (self) on <self:FlatString> */
4983 var18
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatString> */
4985 RET_LABEL17
:(void)0;
4988 var_my_items
= var16
;
4991 { /* Inline kernel#Int#+ (var_final_length,var19) on <var_final_length:Int> */
4992 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
4993 /* <var19:Int> isa OTHER */
4994 var22
= 1; /* easy <var19:Int> isa OTHER*/
4995 if (unlikely(!var22
)) {
4996 var_class_name25
= type_kernel__Int
.name
;
4997 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
4998 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
5001 var26
= var_final_length
+ var19
;
5004 RET_LABEL21
:(void)0;
5008 { /* Inline string#StringCapable#calloc_string (self,var20) on <self:FlatString> */
5009 var29
= (char*)nit_alloc(var20
);
5012 RET_LABEL28
:(void)0;
5015 var_target_string
= var27
;
5018 { /* Inline string#NativeString#[]= (var_target_string,var_final_length,var30) on <var_target_string:NativeString> */
5019 var_target_string
[var_final_length
]=var30
;
5020 RET_LABEL31
:(void)0;
5024 var_current_last
= var32
;
5025 var33
= NEW_range__Range(&type_range__Rangekernel__Int
);
5028 var35
= BOX_kernel__Int(var34
); /* autobox from Int to Discrete */
5029 var36
= BOX_kernel__Int(var_i
); /* autobox from Int to Discrete */
5030 range__Range__init(var33
, var35
, var36
); /* Direct call range#Range#init on <var33:Range[Int]>*/
5033 var37
= range__Range__iterator(var33
);
5037 var38
= ((short int (*)(val
*))(var37
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var37
) /* is_ok on <var37:Iterator[Discrete]>*/;
5041 var39
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var37
) /* item on <var37:Iterator[Discrete]>*/;
5043 var40
= ((struct instance_kernel__Int
*)var39
)->value
; /* autounbox from nullable Object to Int */;
5044 var_iteration
= var40
;
5047 { /* Inline string#NativeString#copy_to (var_my_items,var_target_string,var_my_length,var41,var_current_last) on <var_my_items:NativeString> */
5048 memcpy(var_target_string
+var_current_last
,var_my_items
+var41
,var_my_length
);
5049 RET_LABEL42
:(void)0;
5053 { /* Inline kernel#Int#+ (var_current_last,var_my_length) on <var_current_last:Int> */
5054 /* Covariant cast for argument 0 (i) <var_my_length:Int> isa OTHER */
5055 /* <var_my_length:Int> isa OTHER */
5056 var45
= 1; /* easy <var_my_length:Int> isa OTHER*/
5057 if (unlikely(!var45
)) {
5058 var_class_name48
= type_kernel__Int
.name
;
5059 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
5060 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
5063 var49
= var_current_last
+ var_my_length
;
5066 RET_LABEL44
:(void)0;
5069 var_current_last
= var43
;
5070 CONTINUE_label
: (void)0;
5072 ((void (*)(val
*))(var37
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var37
) /* next on <var37:Iterator[Discrete]>*/;
5075 BREAK_label
: (void)0;
5077 var50
= string__NativeString__to_s_with_length(var_target_string
, var_final_length
);
5079 /* <var50:FlatString> isa SELFTYPE */
5080 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__Text_VTSELFTYPE
];
5081 cltype52
= type_struct
->color
;
5082 idtype53
= type_struct
->id
;
5083 if(cltype52
>= var50
->type
->table_size
) {
5086 var51
= var50
->type
->type_table
[cltype52
] == idtype53
;
5088 if (unlikely(!var51
)) {
5089 var_class_name54
= var50
== NULL ?
"null" : var50
->type
->name
;
5090 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name54
);
5091 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 976);
5099 /* method string#FlatString#* for (self: Object, Int): String */
5100 val
* VIRTUAL_string__FlatString___42d(val
* self
, long p0
) {
5101 val
* var
/* : String */;
5102 val
* var1
/* : String */;
5103 var1
= string__FlatString___42d(self
, p0
);
5108 /* method string#FlatString#hash for (self: FlatString): Int */
5109 long string__FlatString__hash(val
* self
) {
5110 long var
/* : Int */;
5111 val
* var1
/* : nullable Int */;
5112 val
* var3
/* : nullable Int */;
5113 val
* var4
/* : null */;
5114 short int var5
/* : Bool */;
5115 short int var6
/* : Bool */;
5116 short int var8
/* : Bool */;
5117 long var9
/* : Int */;
5118 long var_h
/* var h: Int */;
5119 long var10
/* : Int */;
5120 long var12
/* : Int */;
5121 long var_i
/* var i: Int */;
5122 char* var13
/* : NativeString */;
5123 char* var15
/* : NativeString */;
5124 char* var_myitems
/* var myitems: NativeString */;
5125 long var16
/* : Int */;
5126 long var18
/* : Int */;
5127 short int var19
/* : Bool */;
5128 short int var21
/* : Bool */;
5131 const char* var_class_name
;
5132 short int var22
/* : Bool */;
5133 long var23
/* : Int */;
5134 long var24
/* : Int */;
5135 long var26
/* : Int */;
5136 long var27
/* : Int */;
5137 short int var29
/* : Bool */;
5140 const char* var_class_name32
;
5141 long var33
/* : Int */;
5142 char var34
/* : Char */;
5143 char var36
/* : Char */;
5144 long var37
/* : Int */;
5145 long var39
/* : Int */;
5146 long var40
/* : Int */;
5147 short int var42
/* : Bool */;
5150 const char* var_class_name45
;
5151 long var46
/* : Int */;
5152 long var47
/* : Int */;
5153 long var48
/* : Int */;
5154 short int var50
/* : Bool */;
5157 const char* var_class_name53
;
5158 long var54
/* : Int */;
5159 val
* var56
/* : nullable Int */;
5160 val
* var57
/* : nullable Int */;
5161 val
* var59
/* : nullable Int */;
5162 long var60
/* : Int */;
5164 { /* Inline string#Text#hash_cache (self) on <self:FlatString> */
5165 var3
= self
->attrs
[COLOR_string__Text___hash_cache
].val
; /* _hash_cache on <self:FlatString> */
5172 var5
= 1; /* is null */
5174 var5
= 0; /* arg is null but recv is not */
5177 { /* Inline kernel#Int#== (var1,var4) on <var1:nullable Int> */
5178 var8
= 0; /* incompatible types Int vs. null; cannot be NULL */
5189 { /* Inline string#FlatString#index_from (self) on <self:FlatString> */
5190 var12
= self
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <self:FlatString> */
5192 RET_LABEL11
:(void)0;
5197 { /* Inline string#FlatText#items (self) on <self:FlatString> */
5198 var15
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatString> */
5200 RET_LABEL14
:(void)0;
5203 var_myitems
= var13
;
5206 { /* Inline string#FlatString#index_to (self) on <self:FlatString> */
5207 var18
= self
->attrs
[COLOR_string__FlatString___index_to
].l
; /* _index_to on <self:FlatString> */
5209 RET_LABEL17
:(void)0;
5213 { /* Inline kernel#Int#<= (var_i,var16) on <var_i:Int> */
5214 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
5215 /* <var16:Int> isa OTHER */
5216 var21
= 1; /* easy <var16:Int> isa OTHER*/
5217 if (unlikely(!var21
)) {
5218 var_class_name
= type_kernel__Int
.name
;
5219 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5220 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
5223 var22
= var_i
<= var16
;
5226 RET_LABEL20
:(void)0;
5232 { /* Inline kernel#Int#lshift (var_h,var23) on <var_h:Int> */
5233 var26
= var_h
<< var23
;
5236 RET_LABEL25
:(void)0;
5240 { /* Inline kernel#Int#+ (var24,var_h) on <var24:Int> */
5241 /* Covariant cast for argument 0 (i) <var_h:Int> isa OTHER */
5242 /* <var_h:Int> isa OTHER */
5243 var29
= 1; /* easy <var_h:Int> isa OTHER*/
5244 if (unlikely(!var29
)) {
5245 var_class_name32
= type_kernel__Int
.name
;
5246 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
5247 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
5250 var33
= var24
+ var_h
;
5253 RET_LABEL28
:(void)0;
5257 { /* Inline string#NativeString#[] (var_myitems,var_i) on <var_myitems:NativeString> */
5258 var36
= var_myitems
[var_i
];
5261 RET_LABEL35
:(void)0;
5265 { /* Inline kernel#Char#ascii (var34) on <var34:Char> */
5266 var39
= (unsigned char)var34
;
5269 RET_LABEL38
:(void)0;
5273 { /* Inline kernel#Int#+ (var27,var37) on <var27:Int> */
5274 /* Covariant cast for argument 0 (i) <var37:Int> isa OTHER */
5275 /* <var37:Int> isa OTHER */
5276 var42
= 1; /* easy <var37:Int> isa OTHER*/
5277 if (unlikely(!var42
)) {
5278 var_class_name45
= type_kernel__Int
.name
;
5279 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45
);
5280 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
5283 var46
= var27
+ var37
;
5286 RET_LABEL41
:(void)0;
5292 { /* Inline kernel#Int#+ (var_i,var47) on <var_i:Int> */
5293 /* Covariant cast for argument 0 (i) <var47:Int> isa OTHER */
5294 /* <var47:Int> isa OTHER */
5295 var50
= 1; /* easy <var47:Int> isa OTHER*/
5296 if (unlikely(!var50
)) {
5297 var_class_name53
= type_kernel__Int
.name
;
5298 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53
);
5299 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
5302 var54
= var_i
+ var47
;
5305 RET_LABEL49
:(void)0;
5309 CONTINUE_label
: (void)0;
5311 BREAK_label
: (void)0;
5313 { /* Inline string#Text#hash_cache= (self,var_h) on <self:FlatString> */
5314 var56
= BOX_kernel__Int(var_h
); /* autobox from Int to nullable Int */
5315 self
->attrs
[COLOR_string__Text___hash_cache
].val
= var56
; /* _hash_cache on <self:FlatString> */
5316 RET_LABEL55
:(void)0;
5322 { /* Inline string#Text#hash_cache (self) on <self:FlatString> */
5323 var59
= self
->attrs
[COLOR_string__Text___hash_cache
].val
; /* _hash_cache on <self:FlatString> */
5325 RET_LABEL58
:(void)0;
5328 if (unlikely(var57
== NULL
)) {
5329 PRINT_ERROR("Runtime error: %s", "Cast failed");
5330 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 996);
5333 var60
= ((struct instance_kernel__Int
*)var57
)->value
; /* autounbox from nullable Int to Int */;
5339 /* method string#FlatString#hash for (self: Object): Int */
5340 long VIRTUAL_string__FlatString__hash(val
* self
) {
5341 long var
/* : Int */;
5342 long var1
/* : Int */;
5343 var1
= string__FlatString__hash(self
);
5348 /* method string#FlatString#substrings for (self: FlatString): Iterator[Text] */
5349 val
* string__FlatString__substrings(val
* self
) {
5350 val
* var
/* : Iterator[Text] */;
5351 val
* var1
/* : FlatSubstringsIter */;
5352 var1
= NEW_string__FlatSubstringsIter(&type_string__FlatSubstringsIter
);
5354 string__FlatSubstringsIter__init(var1
, self
); /* Direct call string#FlatSubstringsIter#init on <var1:FlatSubstringsIter>*/
5361 /* method string#FlatString#substrings for (self: Object): Iterator[Text] */
5362 val
* VIRTUAL_string__FlatString__substrings(val
* self
) {
5363 val
* var
/* : Iterator[Text] */;
5364 val
* var1
/* : Iterator[Text] */;
5365 var1
= string__FlatString__substrings(self
);
5370 /* method string#FlatStringIterator#target for (self: FlatStringIterator): FlatString */
5371 val
* string__FlatStringIterator__target(val
* self
) {
5372 val
* var
/* : FlatString */;
5373 val
* var1
/* : FlatString */;
5374 var1
= self
->attrs
[COLOR_string__FlatStringIterator___target
].val
; /* _target on <self:FlatStringIterator> */
5375 if (unlikely(var1
== NULL
)) {
5376 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
5377 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1031);
5384 /* method string#FlatStringIterator#target for (self: Object): FlatString */
5385 val
* VIRTUAL_string__FlatStringIterator__target(val
* self
) {
5386 val
* var
/* : FlatString */;
5387 val
* var1
/* : FlatString */;
5388 val
* var3
/* : FlatString */;
5389 { /* Inline string#FlatStringIterator#target (self) on <self:Object(FlatStringIterator)> */
5390 var3
= self
->attrs
[COLOR_string__FlatStringIterator___target
].val
; /* _target on <self:Object(FlatStringIterator)> */
5391 if (unlikely(var3
== NULL
)) {
5392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
5393 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1031);
5403 /* method string#FlatStringIterator#target= for (self: FlatStringIterator, FlatString) */
5404 void string__FlatStringIterator__target_61d(val
* self
, val
* p0
) {
5405 self
->attrs
[COLOR_string__FlatStringIterator___target
].val
= p0
; /* _target on <self:FlatStringIterator> */
5408 /* method string#FlatStringIterator#target= for (self: Object, FlatString) */
5409 void VIRTUAL_string__FlatStringIterator__target_61d(val
* self
, val
* p0
) {
5410 { /* Inline string#FlatStringIterator#target= (self,p0) on <self:Object(FlatStringIterator)> */
5411 self
->attrs
[COLOR_string__FlatStringIterator___target
].val
= p0
; /* _target on <self:Object(FlatStringIterator)> */
5416 /* method string#FlatStringIterator#target_items for (self: FlatStringIterator): NativeString */
5417 char* string__FlatStringIterator__target_items(val
* self
) {
5418 char* var
/* : NativeString */;
5419 char* var1
/* : NativeString */;
5420 var1
= self
->attrs
[COLOR_string__FlatStringIterator___target_items
].str
; /* _target_items on <self:FlatStringIterator> */
5425 /* method string#FlatStringIterator#target_items for (self: Object): NativeString */
5426 char* VIRTUAL_string__FlatStringIterator__target_items(val
* self
) {
5427 char* var
/* : NativeString */;
5428 char* var1
/* : NativeString */;
5429 char* var3
/* : NativeString */;
5430 { /* Inline string#FlatStringIterator#target_items (self) on <self:Object(FlatStringIterator)> */
5431 var3
= self
->attrs
[COLOR_string__FlatStringIterator___target_items
].str
; /* _target_items on <self:Object(FlatStringIterator)> */
5439 /* method string#FlatStringIterator#target_items= for (self: FlatStringIterator, NativeString) */
5440 void string__FlatStringIterator__target_items_61d(val
* self
, char* p0
) {
5441 self
->attrs
[COLOR_string__FlatStringIterator___target_items
].str
= p0
; /* _target_items on <self:FlatStringIterator> */
5444 /* method string#FlatStringIterator#target_items= for (self: Object, NativeString) */
5445 void VIRTUAL_string__FlatStringIterator__target_items_61d(val
* self
, char* p0
) {
5446 { /* Inline string#FlatStringIterator#target_items= (self,p0) on <self:Object(FlatStringIterator)> */
5447 self
->attrs
[COLOR_string__FlatStringIterator___target_items
].str
= p0
; /* _target_items on <self:Object(FlatStringIterator)> */
5452 /* method string#FlatStringIterator#curr_pos for (self: FlatStringIterator): Int */
5453 long string__FlatStringIterator__curr_pos(val
* self
) {
5454 long var
/* : Int */;
5455 long var1
/* : Int */;
5456 var1
= self
->attrs
[COLOR_string__FlatStringIterator___curr_pos
].l
; /* _curr_pos on <self:FlatStringIterator> */
5461 /* method string#FlatStringIterator#curr_pos for (self: Object): Int */
5462 long VIRTUAL_string__FlatStringIterator__curr_pos(val
* self
) {
5463 long var
/* : Int */;
5464 long var1
/* : Int */;
5465 long var3
/* : Int */;
5466 { /* Inline string#FlatStringIterator#curr_pos (self) on <self:Object(FlatStringIterator)> */
5467 var3
= self
->attrs
[COLOR_string__FlatStringIterator___curr_pos
].l
; /* _curr_pos on <self:Object(FlatStringIterator)> */
5475 /* method string#FlatStringIterator#curr_pos= for (self: FlatStringIterator, Int) */
5476 void string__FlatStringIterator__curr_pos_61d(val
* self
, long p0
) {
5477 self
->attrs
[COLOR_string__FlatStringIterator___curr_pos
].l
= p0
; /* _curr_pos on <self:FlatStringIterator> */
5480 /* method string#FlatStringIterator#curr_pos= for (self: Object, Int) */
5481 void VIRTUAL_string__FlatStringIterator__curr_pos_61d(val
* self
, long p0
) {
5482 { /* Inline string#FlatStringIterator#curr_pos= (self,p0) on <self:Object(FlatStringIterator)> */
5483 self
->attrs
[COLOR_string__FlatStringIterator___curr_pos
].l
= p0
; /* _curr_pos on <self:Object(FlatStringIterator)> */
5488 /* method string#FlatStringIterator#with_pos for (self: FlatStringIterator, FlatString, Int) */
5489 void string__FlatStringIterator__with_pos(val
* self
, val
* p0
, long p1
) {
5490 val
* var_tgt
/* var tgt: FlatString */;
5491 long var_pos
/* var pos: Int */;
5492 char* var
/* : NativeString */;
5493 char* var3
/* : NativeString */;
5494 val
* var5
/* : FlatString */;
5495 val
* var7
/* : FlatString */;
5496 long var8
/* : Int */;
5497 long var10
/* : Int */;
5498 long var11
/* : Int */;
5499 short int var13
/* : Bool */;
5502 const char* var_class_name
;
5503 long var14
/* : Int */;
5507 { /* Inline string#FlatStringIterator#target= (self,var_tgt) on <self:FlatStringIterator> */
5508 self
->attrs
[COLOR_string__FlatStringIterator___target
].val
= var_tgt
; /* _target on <self:FlatStringIterator> */
5513 { /* Inline string#FlatText#items (var_tgt) on <var_tgt:FlatString> */
5514 var3
= var_tgt
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var_tgt:FlatString> */
5520 { /* Inline string#FlatStringIterator#target_items= (self,var) on <self:FlatStringIterator> */
5521 self
->attrs
[COLOR_string__FlatStringIterator___target_items
].str
= var
; /* _target_items on <self:FlatStringIterator> */
5526 { /* Inline string#FlatStringIterator#target (self) on <self:FlatStringIterator> */
5527 var7
= self
->attrs
[COLOR_string__FlatStringIterator___target
].val
; /* _target on <self:FlatStringIterator> */
5528 if (unlikely(var7
== NULL
)) {
5529 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
5530 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1031);
5538 { /* Inline string#FlatString#index_from (var5) on <var5:FlatString> */
5539 var10
= var5
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <var5:FlatString> */
5545 { /* Inline kernel#Int#+ (var_pos,var8) on <var_pos:Int> */
5546 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
5547 /* <var8:Int> isa OTHER */
5548 var13
= 1; /* easy <var8:Int> isa OTHER*/
5549 if (unlikely(!var13
)) {
5550 var_class_name
= type_kernel__Int
.name
;
5551 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5552 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
5555 var14
= var_pos
+ var8
;
5558 RET_LABEL12
:(void)0;
5562 { /* Inline string#FlatStringIterator#curr_pos= (self,var11) on <self:FlatStringIterator> */
5563 self
->attrs
[COLOR_string__FlatStringIterator___curr_pos
].l
= var11
; /* _curr_pos on <self:FlatStringIterator> */
5564 RET_LABEL15
:(void)0;
5569 /* method string#FlatStringIterator#with_pos for (self: Object, FlatString, Int) */
5570 void VIRTUAL_string__FlatStringIterator__with_pos(val
* self
, val
* p0
, long p1
) {
5571 string__FlatStringIterator__with_pos(self
, p0
, p1
); /* Direct call string#FlatStringIterator#with_pos on <self:Object(FlatStringIterator)>*/
5574 /* method string#FlatStringIterator#is_ok for (self: FlatStringIterator): Bool */
5575 short int string__FlatStringIterator__is_ok(val
* self
) {
5576 short int var
/* : Bool */;
5577 long var1
/* : Int */;
5578 long var3
/* : Int */;
5579 val
* var4
/* : FlatString */;
5580 val
* var6
/* : FlatString */;
5581 long var7
/* : Int */;
5582 long var9
/* : Int */;
5583 short int var10
/* : Bool */;
5584 short int var12
/* : Bool */;
5587 const char* var_class_name
;
5588 short int var13
/* : Bool */;
5590 { /* Inline string#FlatStringIterator#curr_pos (self) on <self:FlatStringIterator> */
5591 var3
= self
->attrs
[COLOR_string__FlatStringIterator___curr_pos
].l
; /* _curr_pos on <self:FlatStringIterator> */
5597 { /* Inline string#FlatStringIterator#target (self) on <self:FlatStringIterator> */
5598 var6
= self
->attrs
[COLOR_string__FlatStringIterator___target
].val
; /* _target on <self:FlatStringIterator> */
5599 if (unlikely(var6
== NULL
)) {
5600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
5601 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1031);
5609 { /* Inline string#FlatString#index_to (var4) on <var4:FlatString> */
5610 var9
= var4
->attrs
[COLOR_string__FlatString___index_to
].l
; /* _index_to on <var4:FlatString> */
5616 { /* Inline kernel#Int#<= (var1,var7) on <var1:Int> */
5617 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
5618 /* <var7:Int> isa OTHER */
5619 var12
= 1; /* easy <var7:Int> isa OTHER*/
5620 if (unlikely(!var12
)) {
5621 var_class_name
= type_kernel__Int
.name
;
5622 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5623 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
5626 var13
= var1
<= var7
;
5629 RET_LABEL11
:(void)0;
5637 /* method string#FlatStringIterator#is_ok for (self: Object): Bool */
5638 short int VIRTUAL_string__FlatStringIterator__is_ok(val
* self
) {
5639 short int var
/* : Bool */;
5640 short int var1
/* : Bool */;
5641 var1
= string__FlatStringIterator__is_ok(self
);
5646 /* method string#FlatStringIterator#item for (self: FlatStringIterator): Char */
5647 char string__FlatStringIterator__item(val
* self
) {
5648 char var
/* : Char */;
5649 char* var1
/* : NativeString */;
5650 char* var3
/* : NativeString */;
5651 long var4
/* : Int */;
5652 long var6
/* : Int */;
5653 char var7
/* : Char */;
5654 char var9
/* : Char */;
5656 { /* Inline string#FlatStringIterator#target_items (self) on <self:FlatStringIterator> */
5657 var3
= self
->attrs
[COLOR_string__FlatStringIterator___target_items
].str
; /* _target_items on <self:FlatStringIterator> */
5663 { /* Inline string#FlatStringIterator#curr_pos (self) on <self:FlatStringIterator> */
5664 var6
= self
->attrs
[COLOR_string__FlatStringIterator___curr_pos
].l
; /* _curr_pos on <self:FlatStringIterator> */
5670 { /* Inline string#NativeString#[] (var1,var4) on <var1:NativeString> */
5682 /* method string#FlatStringIterator#item for (self: Object): nullable Object */
5683 val
* VIRTUAL_string__FlatStringIterator__item(val
* self
) {
5684 val
* var
/* : nullable Object */;
5685 char var1
/* : Char */;
5686 val
* var2
/* : nullable Object */;
5687 var1
= string__FlatStringIterator__item(self
);
5688 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
5693 /* method string#FlatStringIterator#next for (self: FlatStringIterator) */
5694 void string__FlatStringIterator__next(val
* self
) {
5695 val
* var_
/* var : FlatStringIterator */;
5696 long var
/* : Int */;
5697 long var2
/* : Int */;
5698 long var3
/* : Int */;
5699 long var4
/* : Int */;
5700 short int var6
/* : Bool */;
5703 const char* var_class_name
;
5704 long var7
/* : Int */;
5707 { /* Inline string#FlatStringIterator#curr_pos (var_) on <var_:FlatStringIterator> */
5708 var2
= var_
->attrs
[COLOR_string__FlatStringIterator___curr_pos
].l
; /* _curr_pos on <var_:FlatStringIterator> */
5715 { /* Inline kernel#Int#+ (var,var3) on <var:Int> */
5716 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
5717 /* <var3:Int> isa OTHER */
5718 var6
= 1; /* easy <var3:Int> isa OTHER*/
5719 if (unlikely(!var6
)) {
5720 var_class_name
= type_kernel__Int
.name
;
5721 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5722 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
5732 { /* Inline string#FlatStringIterator#curr_pos= (var_,var4) on <var_:FlatStringIterator> */
5733 var_
->attrs
[COLOR_string__FlatStringIterator___curr_pos
].l
= var4
; /* _curr_pos on <var_:FlatStringIterator> */
5739 /* method string#FlatStringIterator#next for (self: Object) */
5740 void VIRTUAL_string__FlatStringIterator__next(val
* self
) {
5741 string__FlatStringIterator__next(self
); /* Direct call string#FlatStringIterator#next on <self:Object(FlatStringIterator)>*/
5744 /* method string#FlatStringIterator#index for (self: FlatStringIterator): Int */
5745 long string__FlatStringIterator__index(val
* self
) {
5746 long var
/* : Int */;
5747 long var1
/* : Int */;
5748 long var3
/* : Int */;
5749 val
* var4
/* : FlatString */;
5750 val
* var6
/* : FlatString */;
5751 long var7
/* : Int */;
5752 long var9
/* : Int */;
5753 long var10
/* : Int */;
5754 short int var12
/* : Bool */;
5757 const char* var_class_name
;
5758 long var13
/* : Int */;
5760 { /* Inline string#FlatStringIterator#curr_pos (self) on <self:FlatStringIterator> */
5761 var3
= self
->attrs
[COLOR_string__FlatStringIterator___curr_pos
].l
; /* _curr_pos on <self:FlatStringIterator> */
5767 { /* Inline string#FlatStringIterator#target (self) on <self:FlatStringIterator> */
5768 var6
= self
->attrs
[COLOR_string__FlatStringIterator___target
].val
; /* _target on <self:FlatStringIterator> */
5769 if (unlikely(var6
== NULL
)) {
5770 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
5771 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1031);
5779 { /* Inline string#FlatString#index_from (var4) on <var4:FlatString> */
5780 var9
= var4
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <var4:FlatString> */
5786 { /* Inline kernel#Int#- (var1,var7) on <var1:Int> */
5787 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
5788 /* <var7:Int> isa OTHER */
5789 var12
= 1; /* easy <var7:Int> isa OTHER*/
5790 if (unlikely(!var12
)) {
5791 var_class_name
= type_kernel__Int
.name
;
5792 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5793 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
5796 var13
= var1
- var7
;
5799 RET_LABEL11
:(void)0;
5807 /* method string#FlatStringIterator#index for (self: Object): Int */
5808 long VIRTUAL_string__FlatStringIterator__index(val
* self
) {
5809 long var
/* : Int */;
5810 long var1
/* : Int */;
5811 var1
= string__FlatStringIterator__index(self
);
5816 /* method string#FlatStringCharView#[] for (self: FlatStringCharView, Int): Char */
5817 char string__FlatStringCharView___91d_93d(val
* self
, long p0
) {
5818 char var
/* : Char */;
5819 long var_index
/* var index: Int */;
5820 long var1
/* : Int */;
5821 short int var2
/* : Bool */;
5822 short int var4
/* : Bool */;
5825 const char* var_class_name
;
5826 short int var5
/* : Bool */;
5827 val
* var6
/* : Text */;
5828 val
* var8
/* : Text */;
5829 val
* var_target
/* var target: FlatString */;
5830 long var9
/* : Int */;
5831 long var11
/* : Int */;
5832 long var12
/* : Int */;
5833 short int var14
/* : Bool */;
5836 const char* var_class_name17
;
5837 long var18
/* : Int */;
5838 long var19
/* : Int */;
5839 long var21
/* : Int */;
5840 short int var22
/* : Bool */;
5841 short int var24
/* : Bool */;
5844 const char* var_class_name27
;
5845 short int var28
/* : Bool */;
5846 char* var29
/* : NativeString */;
5847 char* var31
/* : NativeString */;
5848 long var32
/* : Int */;
5849 long var34
/* : Int */;
5850 long var35
/* : Int */;
5851 short int var37
/* : Bool */;
5854 const char* var_class_name40
;
5855 long var41
/* : Int */;
5856 char var42
/* : Char */;
5857 char var44
/* : Char */;
5861 { /* Inline kernel#Int#>= (var_index,var1) on <var_index:Int> */
5862 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
5863 /* <var1:Int> isa OTHER */
5864 var4
= 1; /* easy <var1:Int> isa OTHER*/
5865 if (unlikely(!var4
)) {
5866 var_class_name
= type_kernel__Int
.name
;
5867 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
5868 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
5871 var5
= var_index
>= var1
;
5877 if (unlikely(!var2
)) {
5878 PRINT_ERROR("Runtime error: %s", "Assert failed");
5879 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1063);
5883 { /* Inline string#StringCharView#target (self) on <self:FlatStringCharView> */
5884 var8
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:FlatStringCharView> */
5885 if (unlikely(var8
== NULL
)) {
5886 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
5887 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
5896 { /* Inline string#FlatString#index_from (var_target) on <var_target:FlatString> */
5897 var11
= var_target
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <var_target:FlatString> */
5899 RET_LABEL10
:(void)0;
5903 { /* Inline kernel#Int#+ (var_index,var9) on <var_index:Int> */
5904 /* Covariant cast for argument 0 (i) <var9:Int> isa OTHER */
5905 /* <var9:Int> isa OTHER */
5906 var14
= 1; /* easy <var9:Int> isa OTHER*/
5907 if (unlikely(!var14
)) {
5908 var_class_name17
= type_kernel__Int
.name
;
5909 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
5910 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
5913 var18
= var_index
+ var9
;
5916 RET_LABEL13
:(void)0;
5920 { /* Inline string#FlatString#index_to (var_target) on <var_target:FlatString> */
5921 var21
= var_target
->attrs
[COLOR_string__FlatString___index_to
].l
; /* _index_to on <var_target:FlatString> */
5923 RET_LABEL20
:(void)0;
5927 { /* Inline kernel#Int#<= (var12,var19) on <var12:Int> */
5928 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
5929 /* <var19:Int> isa OTHER */
5930 var24
= 1; /* easy <var19:Int> isa OTHER*/
5931 if (unlikely(!var24
)) {
5932 var_class_name27
= type_kernel__Int
.name
;
5933 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
5934 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
5937 var28
= var12
<= var19
;
5940 RET_LABEL23
:(void)0;
5943 if (unlikely(!var22
)) {
5944 PRINT_ERROR("Runtime error: %s", "Assert failed");
5945 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1065);
5949 { /* Inline string#FlatText#items (var_target) on <var_target:FlatString> */
5950 var31
= var_target
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var_target:FlatString> */
5952 RET_LABEL30
:(void)0;
5956 { /* Inline string#FlatString#index_from (var_target) on <var_target:FlatString> */
5957 var34
= var_target
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <var_target:FlatString> */
5959 RET_LABEL33
:(void)0;
5963 { /* Inline kernel#Int#+ (var_index,var32) on <var_index:Int> */
5964 /* Covariant cast for argument 0 (i) <var32:Int> isa OTHER */
5965 /* <var32:Int> isa OTHER */
5966 var37
= 1; /* easy <var32:Int> isa OTHER*/
5967 if (unlikely(!var37
)) {
5968 var_class_name40
= type_kernel__Int
.name
;
5969 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
5970 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
5973 var41
= var_index
+ var32
;
5976 RET_LABEL36
:(void)0;
5980 { /* Inline string#NativeString#[] (var29,var35) on <var29:NativeString> */
5981 var44
= var29
[var35
];
5984 RET_LABEL43
:(void)0;
5992 /* method string#FlatStringCharView#[] for (self: Object, Int): nullable Object */
5993 val
* VIRTUAL_string__FlatStringCharView___91d_93d(val
* self
, long p0
) {
5994 val
* var
/* : nullable Object */;
5995 char var1
/* : Char */;
5996 val
* var2
/* : nullable Object */;
5997 var1
= string__FlatStringCharView___91d_93d(self
, p0
);
5998 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
6003 /* method string#FlatStringCharView#iterator_from for (self: FlatStringCharView, Int): IndexedIterator[Char] */
6004 val
* string__FlatStringCharView__iterator_from(val
* self
, long p0
) {
6005 val
* var
/* : IndexedIterator[Char] */;
6006 long var_start
/* var start: Int */;
6007 val
* var1
/* : FlatStringIterator */;
6008 val
* var2
/* : Text */;
6009 val
* var4
/* : Text */;
6011 var1
= NEW_string__FlatStringIterator(&type_string__FlatStringIterator
);
6013 { /* Inline string#StringCharView#target (self) on <self:FlatStringCharView> */
6014 var4
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:FlatStringCharView> */
6015 if (unlikely(var4
== NULL
)) {
6016 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
6017 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
6025 string__FlatStringIterator__with_pos(var1
, var2
, var_start
); /* Direct call string#FlatStringIterator#with_pos on <var1:FlatStringIterator>*/
6032 /* method string#FlatStringCharView#iterator_from for (self: Object, Int): IndexedIterator[nullable Object] */
6033 val
* VIRTUAL_string__FlatStringCharView__iterator_from(val
* self
, long p0
) {
6034 val
* var
/* : IndexedIterator[nullable Object] */;
6035 val
* var1
/* : IndexedIterator[Char] */;
6036 var1
= string__FlatStringCharView__iterator_from(self
, p0
);
6041 /* method string#Buffer#is_dirty for (self: Buffer): Bool */
6042 short int string__Buffer__is_dirty(val
* self
) {
6043 short int var
/* : Bool */;
6044 short int var1
/* : Bool */;
6045 var1
= self
->attrs
[COLOR_string__Buffer___is_dirty
].s
; /* _is_dirty on <self:Buffer> */
6050 /* method string#Buffer#is_dirty for (self: Object): Bool */
6051 short int VIRTUAL_string__Buffer__is_dirty(val
* self
) {
6052 short int var
/* : Bool */;
6053 short int var1
/* : Bool */;
6054 short int var3
/* : Bool */;
6055 { /* Inline string#Buffer#is_dirty (self) on <self:Object(Buffer)> */
6056 var3
= self
->attrs
[COLOR_string__Buffer___is_dirty
].s
; /* _is_dirty on <self:Object(Buffer)> */
6064 /* method string#Buffer#is_dirty= for (self: Buffer, Bool) */
6065 void string__Buffer__is_dirty_61d(val
* self
, short int p0
) {
6066 self
->attrs
[COLOR_string__Buffer___is_dirty
].s
= p0
; /* _is_dirty on <self:Buffer> */
6069 /* method string#Buffer#is_dirty= for (self: Object, Bool) */
6070 void VIRTUAL_string__Buffer__is_dirty_61d(val
* self
, short int p0
) {
6071 { /* Inline string#Buffer#is_dirty= (self,p0) on <self:Object(Buffer)> */
6072 self
->attrs
[COLOR_string__Buffer___is_dirty
].s
= p0
; /* _is_dirty on <self:Object(Buffer)> */
6077 /* method string#Buffer#hash for (self: Buffer): Int */
6078 long string__Buffer__hash(val
* self
) {
6079 long var
/* : Int */;
6080 short int var1
/* : Bool */;
6081 short int var3
/* : Bool */;
6082 val
* var4
/* : null */;
6083 long var6
/* : Int */;
6085 { /* Inline string#Buffer#is_dirty (self) on <self:Buffer> */
6086 var3
= self
->attrs
[COLOR_string__Buffer___is_dirty
].s
; /* _is_dirty on <self:Buffer> */
6094 { /* Inline string#Text#hash_cache= (self,var4) on <self:Buffer> */
6095 self
->attrs
[COLOR_string__Text___hash_cache
].val
= var4
; /* _hash_cache on <self:Buffer> */
6102 var6
= ((long (*)(val
*))(self
->class->vft
[COLOR_string__Buffer__hash
]))(self
) /* hash on <self:Buffer>*/;
6109 /* method string#Buffer#hash for (self: Object): Int */
6110 long VIRTUAL_string__Buffer__hash(val
* self
) {
6111 long var
/* : Int */;
6112 long var1
/* : Int */;
6113 var1
= string__Buffer__hash(self
);
6118 /* method string#FlatBuffer#chars for (self: FlatBuffer): Sequence[Char] */
6119 val
* string__FlatBuffer__chars(val
* self
) {
6120 val
* var
/* : Sequence[Char] */;
6121 val
* var1
/* : Sequence[Char] */;
6122 var1
= self
->attrs
[COLOR_string__FlatBuffer___chars
].val
; /* _chars on <self:FlatBuffer> */
6123 if (unlikely(var1
== NULL
)) {
6124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
6125 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
6132 /* method string#FlatBuffer#chars for (self: Object): SequenceRead[Char] */
6133 val
* VIRTUAL_string__FlatBuffer__chars(val
* self
) {
6134 val
* var
/* : SequenceRead[Char] */;
6135 val
* var1
/* : Sequence[Char] */;
6136 val
* var3
/* : Sequence[Char] */;
6137 { /* Inline string#FlatBuffer#chars (self) on <self:Object(FlatBuffer)> */
6138 var3
= self
->attrs
[COLOR_string__FlatBuffer___chars
].val
; /* _chars on <self:Object(FlatBuffer)> */
6139 if (unlikely(var3
== NULL
)) {
6140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
6141 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
6151 /* method string#FlatBuffer#capacity for (self: FlatBuffer): Int */
6152 long string__FlatBuffer__capacity(val
* self
) {
6153 long var
/* : Int */;
6154 long var1
/* : Int */;
6155 var1
= self
->attrs
[COLOR_string__FlatBuffer___capacity
].l
; /* _capacity on <self:FlatBuffer> */
6160 /* method string#FlatBuffer#capacity for (self: Object): Int */
6161 long VIRTUAL_string__FlatBuffer__capacity(val
* self
) {
6162 long var
/* : Int */;
6163 long var1
/* : Int */;
6164 long var3
/* : Int */;
6165 { /* Inline string#FlatBuffer#capacity (self) on <self:Object(FlatBuffer)> */
6166 var3
= self
->attrs
[COLOR_string__FlatBuffer___capacity
].l
; /* _capacity on <self:Object(FlatBuffer)> */
6174 /* method string#FlatBuffer#capacity= for (self: FlatBuffer, Int) */
6175 void string__FlatBuffer__capacity_61d(val
* self
, long p0
) {
6176 self
->attrs
[COLOR_string__FlatBuffer___capacity
].l
= p0
; /* _capacity on <self:FlatBuffer> */
6179 /* method string#FlatBuffer#capacity= for (self: Object, Int) */
6180 void VIRTUAL_string__FlatBuffer__capacity_61d(val
* self
, long p0
) {
6181 { /* Inline string#FlatBuffer#capacity= (self,p0) on <self:Object(FlatBuffer)> */
6182 self
->attrs
[COLOR_string__FlatBuffer___capacity
].l
= p0
; /* _capacity on <self:Object(FlatBuffer)> */
6187 /* method string#FlatBuffer#substrings for (self: FlatBuffer): Iterator[Text] */
6188 val
* string__FlatBuffer__substrings(val
* self
) {
6189 val
* var
/* : Iterator[Text] */;
6190 val
* var1
/* : FlatSubstringsIter */;
6191 var1
= NEW_string__FlatSubstringsIter(&type_string__FlatSubstringsIter
);
6193 string__FlatSubstringsIter__init(var1
, self
); /* Direct call string#FlatSubstringsIter#init on <var1:FlatSubstringsIter>*/
6200 /* method string#FlatBuffer#substrings for (self: Object): Iterator[Text] */
6201 val
* VIRTUAL_string__FlatBuffer__substrings(val
* self
) {
6202 val
* var
/* : Iterator[Text] */;
6203 val
* var1
/* : Iterator[Text] */;
6204 var1
= string__FlatBuffer__substrings(self
);
6209 /* method string#FlatBuffer#add for (self: FlatBuffer, Char) */
6210 void string__FlatBuffer__add(val
* self
, char p0
) {
6211 char var_c
/* var c: Char */;
6212 short int var
/* : Bool */;
6213 long var2
/* : Int */;
6214 long var4
/* : Int */;
6215 long var5
/* : Int */;
6216 long var7
/* : Int */;
6217 short int var8
/* : Bool */;
6218 short int var10
/* : Bool */;
6221 const char* var_class_name
;
6222 short int var11
/* : Bool */;
6223 long var12
/* : Int */;
6224 long var14
/* : Int */;
6225 long var15
/* : Int */;
6226 long var16
/* : Int */;
6227 short int var18
/* : Bool */;
6230 const char* var_class_name21
;
6231 long var22
/* : Int */;
6232 char* var23
/* : NativeString */;
6233 char* var25
/* : NativeString */;
6234 long var26
/* : Int */;
6235 long var28
/* : Int */;
6236 val
* var_
/* var : FlatBuffer */;
6237 long var30
/* : Int */;
6238 long var32
/* : Int */;
6239 long var33
/* : Int */;
6240 long var34
/* : Int */;
6241 short int var36
/* : Bool */;
6244 const char* var_class_name39
;
6245 long var40
/* : Int */;
6249 { /* Inline string#Buffer#is_dirty= (self,var) on <self:FlatBuffer> */
6250 self
->attrs
[COLOR_string__Buffer___is_dirty
].s
= var
; /* _is_dirty on <self:FlatBuffer> */
6255 { /* Inline string#FlatBuffer#capacity (self) on <self:FlatBuffer> */
6256 var4
= self
->attrs
[COLOR_string__FlatBuffer___capacity
].l
; /* _capacity on <self:FlatBuffer> */
6262 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
6263 var7
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
6269 { /* Inline kernel#Int#<= (var2,var5) on <var2:Int> */
6270 /* Covariant cast for argument 0 (i) <var5:Int> isa OTHER */
6271 /* <var5:Int> isa OTHER */
6272 var10
= 1; /* easy <var5:Int> isa OTHER*/
6273 if (unlikely(!var10
)) {
6274 var_class_name
= type_kernel__Int
.name
;
6275 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6276 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
6279 var11
= var2
<= var5
;
6287 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
6288 var14
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
6290 RET_LABEL13
:(void)0;
6295 { /* Inline kernel#Int#+ (var12,var15) on <var12:Int> */
6296 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
6297 /* <var15:Int> isa OTHER */
6298 var18
= 1; /* easy <var15:Int> isa OTHER*/
6299 if (unlikely(!var18
)) {
6300 var_class_name21
= type_kernel__Int
.name
;
6301 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
6302 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6305 var22
= var12
+ var15
;
6308 RET_LABEL17
:(void)0;
6312 string__FlatBuffer__enlarge(self
, var16
); /* Direct call string#FlatBuffer#enlarge on <self:FlatBuffer>*/
6317 { /* Inline string#FlatText#items (self) on <self:FlatBuffer> */
6318 var25
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatBuffer> */
6320 RET_LABEL24
:(void)0;
6324 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
6325 var28
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
6327 RET_LABEL27
:(void)0;
6331 { /* Inline string#NativeString#[]= (var23,var26,var_c) on <var23:NativeString> */
6333 RET_LABEL29
:(void)0;
6338 { /* Inline string#FlatText#length (var_) on <var_:FlatBuffer> */
6339 var32
= var_
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_:FlatBuffer> */
6341 RET_LABEL31
:(void)0;
6346 { /* Inline kernel#Int#+ (var30,var33) on <var30:Int> */
6347 /* Covariant cast for argument 0 (i) <var33:Int> isa OTHER */
6348 /* <var33:Int> isa OTHER */
6349 var36
= 1; /* easy <var33:Int> isa OTHER*/
6350 if (unlikely(!var36
)) {
6351 var_class_name39
= type_kernel__Int
.name
;
6352 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
6353 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6356 var40
= var30
+ var33
;
6359 RET_LABEL35
:(void)0;
6363 { /* Inline string#FlatText#length= (var_,var34) on <var_:FlatBuffer> */
6364 var_
->attrs
[COLOR_string__FlatText___length
].l
= var34
; /* _length on <var_:FlatBuffer> */
6365 RET_LABEL41
:(void)0;
6370 /* method string#FlatBuffer#add for (self: Object, Char) */
6371 void VIRTUAL_string__FlatBuffer__add(val
* self
, char p0
) {
6372 string__FlatBuffer__add(self
, p0
); /* Direct call string#FlatBuffer#add on <self:Object(FlatBuffer)>*/
6375 /* method string#FlatBuffer#empty for (self: FlatBuffer): FlatBuffer */
6376 val
* string__FlatBuffer__empty(val
* self
) {
6377 val
* var
/* : FlatBuffer */;
6378 val
* var1
/* : FlatBuffer */;
6379 short int var2
/* : Bool */;
6382 const struct type
* type_struct
;
6383 const char* var_class_name
;
6384 var1
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
6386 string__FlatBuffer__init(var1
); /* Direct call string#FlatBuffer#init on <var1:FlatBuffer>*/
6388 /* <var1:FlatBuffer> isa SELFTYPE */
6389 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__Text_VTSELFTYPE
];
6390 cltype
= type_struct
->color
;
6391 idtype
= type_struct
->id
;
6392 if(cltype
>= var1
->type
->table_size
) {
6395 var2
= var1
->type
->type_table
[cltype
] == idtype
;
6397 if (unlikely(!var2
)) {
6398 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
6399 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
6400 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1193);
6408 /* method string#FlatBuffer#empty for (self: Object): Text */
6409 val
* VIRTUAL_string__FlatBuffer__empty(val
* self
) {
6410 val
* var
/* : Text */;
6411 val
* var1
/* : FlatBuffer */;
6412 var1
= string__FlatBuffer__empty(self
);
6417 /* method string#FlatBuffer#enlarge for (self: FlatBuffer, Int) */
6418 void string__FlatBuffer__enlarge(val
* self
, long p0
) {
6419 long var_cap
/* var cap: Int */;
6420 long var
/* : Int */;
6421 long var2
/* : Int */;
6422 long var_c
/* var c: Int */;
6423 short int var3
/* : Bool */;
6424 short int var5
/* : Bool */;
6427 const char* var_class_name
;
6428 short int var6
/* : Bool */;
6429 short int var7
/* : Bool */;
6430 short int var9
/* : Bool */;
6433 const char* var_class_name12
;
6434 short int var13
/* : Bool */;
6435 long var14
/* : Int */;
6436 long var15
/* : Int */;
6437 short int var17
/* : Bool */;
6440 const char* var_class_name20
;
6441 long var21
/* : Int */;
6442 long var22
/* : Int */;
6443 long var23
/* : Int */;
6444 short int var25
/* : Bool */;
6447 const char* var_class_name28
;
6448 long var29
/* : Int */;
6449 long var30
/* : Int */;
6450 long var31
/* : Int */;
6451 short int var33
/* : Bool */;
6454 const char* var_class_name36
;
6455 long var37
/* : Int */;
6456 char* var38
/* : NativeString */;
6457 char* var40
/* : NativeString */;
6458 char* var_a
/* var a: NativeString */;
6459 long var41
/* : Int */;
6460 long var43
/* : Int */;
6461 long var44
/* : Int */;
6462 short int var45
/* : Bool */;
6463 short int var47
/* : Bool */;
6466 const char* var_class_name50
;
6467 short int var51
/* : Bool */;
6468 char* var52
/* : NativeString */;
6469 char* var54
/* : NativeString */;
6470 long var55
/* : Int */;
6471 long var57
/* : Int */;
6472 long var58
/* : Int */;
6473 long var59
/* : Int */;
6476 { /* Inline string#FlatBuffer#capacity (self) on <self:FlatBuffer> */
6477 var2
= self
->attrs
[COLOR_string__FlatBuffer___capacity
].l
; /* _capacity on <self:FlatBuffer> */
6484 { /* Inline kernel#Int#<= (var_cap,var_c) on <var_cap:Int> */
6485 /* Covariant cast for argument 0 (i) <var_c:Int> isa OTHER */
6486 /* <var_c:Int> isa OTHER */
6487 var5
= 1; /* easy <var_c:Int> isa OTHER*/
6488 if (unlikely(!var5
)) {
6489 var_class_name
= type_kernel__Int
.name
;
6490 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6491 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
6494 var6
= var_cap
<= var_c
;
6506 { /* Inline kernel#Int#<= (var_c,var_cap) on <var_c:Int> */
6507 /* Covariant cast for argument 0 (i) <var_cap:Int> isa OTHER */
6508 /* <var_cap:Int> isa OTHER */
6509 var9
= 1; /* easy <var_cap:Int> isa OTHER*/
6510 if (unlikely(!var9
)) {
6511 var_class_name12
= type_kernel__Int
.name
;
6512 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
6513 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
6516 var13
= var_c
<= var_cap
;
6525 { /* Inline kernel#Int#* (var_c,var14) on <var_c:Int> */
6526 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
6527 /* <var14:Int> isa OTHER */
6528 var17
= 1; /* easy <var14:Int> isa OTHER*/
6529 if (unlikely(!var17
)) {
6530 var_class_name20
= type_kernel__Int
.name
;
6531 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
6532 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 332);
6535 var21
= var_c
* var14
;
6538 RET_LABEL16
:(void)0;
6543 { /* Inline kernel#Int#+ (var15,var22) on <var15:Int> */
6544 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
6545 /* <var22:Int> isa OTHER */
6546 var25
= 1; /* easy <var22:Int> isa OTHER*/
6547 if (unlikely(!var25
)) {
6548 var_class_name28
= type_kernel__Int
.name
;
6549 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
6550 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6553 var29
= var15
+ var22
;
6556 RET_LABEL24
:(void)0;
6560 CONTINUE_label
: (void)0;
6562 BREAK_label
: (void)0;
6565 { /* Inline kernel#Int#+ (var_c,var30) on <var_c:Int> */
6566 /* Covariant cast for argument 0 (i) <var30:Int> isa OTHER */
6567 /* <var30:Int> isa OTHER */
6568 var33
= 1; /* easy <var30:Int> isa OTHER*/
6569 if (unlikely(!var33
)) {
6570 var_class_name36
= type_kernel__Int
.name
;
6571 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36
);
6572 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6575 var37
= var_c
+ var30
;
6578 RET_LABEL32
:(void)0;
6582 { /* Inline string#StringCapable#calloc_string (self,var31) on <self:FlatBuffer> */
6583 var40
= (char*)nit_alloc(var31
);
6586 RET_LABEL39
:(void)0;
6591 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
6592 var43
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
6594 RET_LABEL42
:(void)0;
6599 { /* Inline kernel#Int#> (var41,var44) on <var41:Int> */
6600 /* Covariant cast for argument 0 (i) <var44:Int> isa OTHER */
6601 /* <var44:Int> isa OTHER */
6602 var47
= 1; /* easy <var44:Int> isa OTHER*/
6603 if (unlikely(!var47
)) {
6604 var_class_name50
= type_kernel__Int
.name
;
6605 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50
);
6606 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
6609 var51
= var41
> var44
;
6612 RET_LABEL46
:(void)0;
6617 { /* Inline string#FlatText#items (self) on <self:FlatBuffer> */
6618 var54
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatBuffer> */
6620 RET_LABEL53
:(void)0;
6624 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
6625 var57
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
6627 RET_LABEL56
:(void)0;
6633 { /* Inline string#NativeString#copy_to (var52,var_a,var55,var58,var59) on <var52:NativeString> */
6634 memcpy(var_a
+var59
,var52
+var58
,var55
);
6635 RET_LABEL60
:(void)0;
6641 { /* Inline string#FlatText#items= (self,var_a) on <self:FlatBuffer> */
6642 self
->attrs
[COLOR_string__FlatText___items
].str
= var_a
; /* _items on <self:FlatBuffer> */
6643 RET_LABEL61
:(void)0;
6647 { /* Inline string#FlatBuffer#capacity= (self,var_c) on <self:FlatBuffer> */
6648 self
->attrs
[COLOR_string__FlatBuffer___capacity
].l
= var_c
; /* _capacity on <self:FlatBuffer> */
6649 RET_LABEL62
:(void)0;
6654 /* method string#FlatBuffer#enlarge for (self: Object, Int) */
6655 void VIRTUAL_string__FlatBuffer__enlarge(val
* self
, long p0
) {
6656 string__FlatBuffer__enlarge(self
, p0
); /* Direct call string#FlatBuffer#enlarge on <self:Object(FlatBuffer)>*/
6659 /* method string#FlatBuffer#to_s for (self: FlatBuffer): String */
6660 val
* string__FlatBuffer__to_s(val
* self
) {
6661 val
* var
/* : String */;
6662 char* var1
/* : NativeString */;
6663 long var2
/* : Int */;
6664 long var4
/* : Int */;
6665 val
* var5
/* : FlatString */;
6667 var1
= string__FlatBuffer__to_cstring(self
);
6670 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
6671 var4
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
6677 var5
= string__NativeString__to_s_with_length(var1
, var2
);
6684 /* method string#FlatBuffer#to_s for (self: Object): String */
6685 val
* VIRTUAL_string__FlatBuffer__to_s(val
* self
) {
6686 val
* var
/* : String */;
6687 val
* var1
/* : String */;
6688 var1
= string__FlatBuffer__to_s(self
);
6693 /* method string#FlatBuffer#to_cstring for (self: FlatBuffer): NativeString */
6694 char* string__FlatBuffer__to_cstring(val
* self
) {
6695 char* var
/* : NativeString */;
6696 short int var1
/* : Bool */;
6697 short int var3
/* : Bool */;
6698 long var4
/* : Int */;
6699 long var6
/* : Int */;
6700 long var7
/* : Int */;
6701 long var8
/* : Int */;
6702 short int var10
/* : Bool */;
6705 const char* var_class_name
;
6706 long var11
/* : Int */;
6707 char* var12
/* : NativeString */;
6708 char* var14
/* : NativeString */;
6709 char* var_new_native
/* var new_native: NativeString */;
6710 long var15
/* : Int */;
6711 long var17
/* : Int */;
6712 char var18
/* : Char */;
6713 long var20
/* : Int */;
6714 long var22
/* : Int */;
6715 long var23
/* : Int */;
6716 short int var24
/* : Bool */;
6717 short int var26
/* : Bool */;
6720 const char* var_class_name29
;
6721 short int var30
/* : Bool */;
6722 char* var31
/* : NativeString */;
6723 char* var33
/* : NativeString */;
6724 long var34
/* : Int */;
6725 long var36
/* : Int */;
6726 long var37
/* : Int */;
6727 long var38
/* : Int */;
6728 val
* var41
/* : nullable NativeString */;
6729 short int var42
/* : Bool */;
6730 val
* var44
/* : nullable NativeString */;
6731 val
* var46
/* : nullable NativeString */;
6732 char* var47
/* : NativeString */;
6734 { /* Inline string#Buffer#is_dirty (self) on <self:FlatBuffer> */
6735 var3
= self
->attrs
[COLOR_string__Buffer___is_dirty
].s
; /* _is_dirty on <self:FlatBuffer> */
6742 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
6743 var6
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
6750 { /* Inline kernel#Int#+ (var4,var7) on <var4:Int> */
6751 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
6752 /* <var7:Int> isa OTHER */
6753 var10
= 1; /* easy <var7:Int> isa OTHER*/
6754 if (unlikely(!var10
)) {
6755 var_class_name
= type_kernel__Int
.name
;
6756 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6757 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6760 var11
= var4
+ var7
;
6767 { /* Inline string#StringCapable#calloc_string (self,var8) on <self:FlatBuffer> */
6768 var14
= (char*)nit_alloc(var8
);
6771 RET_LABEL13
:(void)0;
6774 var_new_native
= var12
;
6776 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
6777 var17
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
6779 RET_LABEL16
:(void)0;
6784 { /* Inline string#NativeString#[]= (var_new_native,var15,var18) on <var_new_native:NativeString> */
6785 var_new_native
[var15
]=var18
;
6786 RET_LABEL19
:(void)0;
6790 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
6791 var22
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
6793 RET_LABEL21
:(void)0;
6798 { /* Inline kernel#Int#> (var20,var23) on <var20:Int> */
6799 /* Covariant cast for argument 0 (i) <var23:Int> isa OTHER */
6800 /* <var23:Int> isa OTHER */
6801 var26
= 1; /* easy <var23:Int> isa OTHER*/
6802 if (unlikely(!var26
)) {
6803 var_class_name29
= type_kernel__Int
.name
;
6804 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29
);
6805 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
6808 var30
= var20
> var23
;
6811 RET_LABEL25
:(void)0;
6816 { /* Inline string#FlatText#items (self) on <self:FlatBuffer> */
6817 var33
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatBuffer> */
6819 RET_LABEL32
:(void)0;
6823 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
6824 var36
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
6826 RET_LABEL35
:(void)0;
6832 { /* Inline string#NativeString#copy_to (var31,var_new_native,var34,var37,var38) on <var31:NativeString> */
6833 memcpy(var_new_native
+var38
,var31
+var37
,var34
);
6834 RET_LABEL39
:(void)0;
6840 { /* Inline string#FlatText#real_items= (self,var_new_native) on <self:FlatBuffer> */
6841 var41
= BOX_string__NativeString(var_new_native
); /* autobox from NativeString to nullable NativeString */
6842 self
->attrs
[COLOR_string__FlatText___real_items
].val
= var41
; /* _real_items on <self:FlatBuffer> */
6843 RET_LABEL40
:(void)0;
6848 { /* Inline string#Buffer#is_dirty= (self,var42) on <self:FlatBuffer> */
6849 self
->attrs
[COLOR_string__Buffer___is_dirty
].s
= var42
; /* _is_dirty on <self:FlatBuffer> */
6850 RET_LABEL43
:(void)0;
6856 { /* Inline string#FlatText#real_items (self) on <self:FlatBuffer> */
6857 var46
= self
->attrs
[COLOR_string__FlatText___real_items
].val
; /* _real_items on <self:FlatBuffer> */
6859 RET_LABEL45
:(void)0;
6862 if (unlikely(var44
== NULL
)) {
6863 PRINT_ERROR("Runtime error: %s", "Cast failed");
6864 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1220);
6867 var47
= ((struct instance_kernel__Pointer
*)var44
)->value
; /* autounbox from nullable NativeString to NativeString */;
6873 /* method string#FlatBuffer#to_cstring for (self: Object): NativeString */
6874 char* VIRTUAL_string__FlatBuffer__to_cstring(val
* self
) {
6875 char* var
/* : NativeString */;
6876 char* var1
/* : NativeString */;
6877 var1
= string__FlatBuffer__to_cstring(self
);
6882 /* method string#FlatBuffer#init for (self: FlatBuffer) */
6883 void string__FlatBuffer__init(val
* self
) {
6885 string__FlatText__init(self
); /* Direct call string#FlatText#init on <self:FlatBuffer>*/
6888 { /* Inline string#Text#init (self) on <self:FlatBuffer> */
6894 /* method string#FlatBuffer#init for (self: Object) */
6895 void VIRTUAL_string__FlatBuffer__init(val
* self
) {
6896 string__FlatBuffer__init(self
); /* Direct call string#FlatBuffer#init on <self:Object(FlatBuffer)>*/
6899 /* method string#FlatBuffer#from for (self: FlatBuffer, Text) */
6900 void string__FlatBuffer__from(val
* self
, val
* p0
) {
6901 val
* var_s
/* var s: Text */;
6902 long var
/* : Int */;
6903 long var3
/* : Int */;
6904 long var4
/* : Int */;
6905 long var5
/* : Int */;
6906 short int var7
/* : Bool */;
6909 const char* var_class_name
;
6910 long var8
/* : Int */;
6911 long var10
/* : Int */;
6912 long var12
/* : Int */;
6913 long var14
/* : Int */;
6914 long var16
/* : Int */;
6915 char* var17
/* : NativeString */;
6916 char* var19
/* : NativeString */;
6917 short int var21
/* : Bool */;
6920 char* var24
/* : NativeString */;
6921 char* var26
/* : NativeString */;
6922 char* var27
/* : NativeString */;
6923 char* var29
/* : NativeString */;
6924 long var30
/* : Int */;
6925 long var32
/* : Int */;
6926 long var33
/* : Int */;
6927 long var35
/* : Int */;
6928 long var36
/* : Int */;
6929 short int var38
/* : Bool */;
6932 char* var41
/* : NativeString */;
6933 char* var43
/* : NativeString */;
6934 char* var44
/* : NativeString */;
6935 char* var46
/* : NativeString */;
6936 long var47
/* : Int */;
6937 long var49
/* : Int */;
6938 long var50
/* : Int */;
6939 long var51
/* : Int */;
6940 long var53
/* : Int */;
6941 long var_curr_pos
/* var curr_pos: Int */;
6942 val
* var54
/* : SequenceRead[Char] */;
6943 val
* var55
/* : Iterator[nullable Object] */;
6944 short int var56
/* : Bool */;
6945 val
* var57
/* : nullable Object */;
6946 char var_i
/* var i: Char */;
6947 char var58
/* : Char */;
6948 char* var59
/* : NativeString */;
6949 char* var61
/* : NativeString */;
6950 long var63
/* : Int */;
6951 long var64
/* : Int */;
6952 short int var66
/* : Bool */;
6955 const char* var_class_name69
;
6956 long var70
/* : Int */;
6958 string__FlatText__init(self
); /* Direct call string#FlatText#init on <self:FlatBuffer>*/
6961 { /* Inline string#Text#init (self) on <self:FlatBuffer> */
6967 { /* Inline string#FlatText#length (var_s) on <var_s:Text> */
6968 var3
= var_s
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_s:Text> */
6975 { /* Inline kernel#Int#+ (var,var4) on <var:Int> */
6976 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
6977 /* <var4:Int> isa OTHER */
6978 var7
= 1; /* easy <var4:Int> isa OTHER*/
6979 if (unlikely(!var7
)) {
6980 var_class_name
= type_kernel__Int
.name
;
6981 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6982 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
6992 { /* Inline string#FlatBuffer#capacity= (self,var5) on <self:FlatBuffer> */
6993 self
->attrs
[COLOR_string__FlatBuffer___capacity
].l
= var5
; /* _capacity on <self:FlatBuffer> */
6998 { /* Inline string#FlatText#length (var_s) on <var_s:Text> */
6999 var12
= var_s
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_s:Text> */
7001 RET_LABEL11
:(void)0;
7005 { /* Inline string#FlatText#length= (self,var10) on <self:FlatBuffer> */
7006 self
->attrs
[COLOR_string__FlatText___length
].l
= var10
; /* _length on <self:FlatBuffer> */
7007 RET_LABEL13
:(void)0;
7011 { /* Inline string#FlatBuffer#capacity (self) on <self:FlatBuffer> */
7012 var16
= self
->attrs
[COLOR_string__FlatBuffer___capacity
].l
; /* _capacity on <self:FlatBuffer> */
7014 RET_LABEL15
:(void)0;
7018 { /* Inline string#StringCapable#calloc_string (self,var14) on <self:FlatBuffer> */
7019 var19
= (char*)nit_alloc(var14
);
7022 RET_LABEL18
:(void)0;
7026 { /* Inline string#FlatText#items= (self,var17) on <self:FlatBuffer> */
7027 self
->attrs
[COLOR_string__FlatText___items
].str
= var17
; /* _items on <self:FlatBuffer> */
7028 RET_LABEL20
:(void)0;
7031 /* <var_s:Text> isa FlatString */
7032 cltype22
= type_string__FlatString
.color
;
7033 idtype23
= type_string__FlatString
.id
;
7034 if(cltype22
>= var_s
->type
->table_size
) {
7037 var21
= var_s
->type
->type_table
[cltype22
] == idtype23
;
7041 { /* Inline string#FlatText#items (var_s) on <var_s:Text(FlatString)> */
7042 var26
= var_s
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var_s:Text(FlatString)> */
7044 RET_LABEL25
:(void)0;
7048 { /* Inline string#FlatText#items (self) on <self:FlatBuffer> */
7049 var29
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatBuffer> */
7051 RET_LABEL28
:(void)0;
7055 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
7056 var32
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
7058 RET_LABEL31
:(void)0;
7062 { /* Inline string#FlatString#index_from (var_s) on <var_s:Text(FlatString)> */
7063 var35
= var_s
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <var_s:Text(FlatString)> */
7065 RET_LABEL34
:(void)0;
7070 { /* Inline string#NativeString#copy_to (var24,var27,var30,var33,var36) on <var24:NativeString> */
7071 memcpy(var27
+var36
,var24
+var33
,var30
);
7072 RET_LABEL37
:(void)0;
7076 /* <var_s:Text> isa FlatBuffer */
7077 cltype39
= type_string__FlatBuffer
.color
;
7078 idtype40
= type_string__FlatBuffer
.id
;
7079 if(cltype39
>= var_s
->type
->table_size
) {
7082 var38
= var_s
->type
->type_table
[cltype39
] == idtype40
;
7086 { /* Inline string#FlatText#items (var_s) on <var_s:Text(FlatBuffer)> */
7087 var43
= var_s
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var_s:Text(FlatBuffer)> */
7089 RET_LABEL42
:(void)0;
7093 { /* Inline string#FlatText#items (self) on <self:FlatBuffer> */
7094 var46
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatBuffer> */
7096 RET_LABEL45
:(void)0;
7100 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
7101 var49
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
7103 RET_LABEL48
:(void)0;
7109 { /* Inline string#NativeString#copy_to (var41,var44,var47,var50,var51) on <var41:NativeString> */
7110 memcpy(var44
+var51
,var41
+var50
,var47
);
7111 RET_LABEL52
:(void)0;
7116 var_curr_pos
= var53
;
7118 var54
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Text__chars
]))(var_s
) /* chars on <var_s:Text>*/;
7121 var55
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var54
) /* iterator on <var54:SequenceRead[Char]>*/;
7125 var56
= ((short int (*)(val
*))(var55
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var55
) /* is_ok on <var55:Iterator[nullable Object]>*/;
7129 var57
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var55
) /* item on <var55:Iterator[nullable Object]>*/;
7131 var58
= ((struct instance_kernel__Char
*)var57
)->value
; /* autounbox from nullable Object to Char */;
7134 { /* Inline string#FlatText#items (self) on <self:FlatBuffer> */
7135 var61
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatBuffer> */
7137 RET_LABEL60
:(void)0;
7141 { /* Inline string#NativeString#[]= (var59,var_curr_pos,var_i) on <var59:NativeString> */
7142 var59
[var_curr_pos
]=var_i
;
7143 RET_LABEL62
:(void)0;
7148 { /* Inline kernel#Int#+ (var_curr_pos,var63) on <var_curr_pos:Int> */
7149 /* Covariant cast for argument 0 (i) <var63:Int> isa OTHER */
7150 /* <var63:Int> isa OTHER */
7151 var66
= 1; /* easy <var63:Int> isa OTHER*/
7152 if (unlikely(!var66
)) {
7153 var_class_name69
= type_kernel__Int
.name
;
7154 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name69
);
7155 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
7158 var70
= var_curr_pos
+ var63
;
7161 RET_LABEL65
:(void)0;
7164 var_curr_pos
= var64
;
7165 CONTINUE_label
: (void)0;
7167 ((void (*)(val
*))(var55
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var55
) /* next on <var55:Iterator[nullable Object]>*/;
7170 BREAK_label
: (void)0;
7175 /* method string#FlatBuffer#from for (self: Object, Text) */
7176 void VIRTUAL_string__FlatBuffer__from(val
* self
, val
* p0
) {
7177 string__FlatBuffer__from(self
, p0
); /* Direct call string#FlatBuffer#from on <self:Object(FlatBuffer)>*/
7180 /* method string#FlatBuffer#with_capacity for (self: FlatBuffer, Int) */
7181 void string__FlatBuffer__with_capacity(val
* self
, long p0
) {
7182 long var_cap
/* var cap: Int */;
7183 long var
/* : Int */;
7184 short int var2
/* : Bool */;
7185 short int var4
/* : Bool */;
7188 const char* var_class_name
;
7189 short int var5
/* : Bool */;
7190 long var6
/* : Int */;
7191 long var7
/* : Int */;
7192 short int var9
/* : Bool */;
7195 const char* var_class_name12
;
7196 long var13
/* : Int */;
7197 char* var14
/* : NativeString */;
7198 char* var16
/* : NativeString */;
7199 long var19
/* : Int */;
7201 string__FlatText__init(self
); /* Direct call string#FlatText#init on <self:FlatBuffer>*/
7204 { /* Inline string#Text#init (self) on <self:FlatBuffer> */
7211 { /* Inline kernel#Int#>= (var_cap,var) on <var_cap:Int> */
7212 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
7213 /* <var:Int> isa OTHER */
7214 var4
= 1; /* easy <var:Int> isa OTHER*/
7215 if (unlikely(!var4
)) {
7216 var_class_name
= type_kernel__Int
.name
;
7217 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7218 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
7221 var5
= var_cap
>= var
;
7227 if (unlikely(!var2
)) {
7228 PRINT_ERROR("Runtime error: %s", "Assert failed");
7229 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1247);
7234 { /* Inline kernel#Int#+ (var_cap,var6) on <var_cap:Int> */
7235 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
7236 /* <var6:Int> isa OTHER */
7237 var9
= 1; /* easy <var6:Int> isa OTHER*/
7238 if (unlikely(!var9
)) {
7239 var_class_name12
= type_kernel__Int
.name
;
7240 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
7241 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
7244 var13
= var_cap
+ var6
;
7251 { /* Inline string#StringCapable#calloc_string (self,var7) on <self:FlatBuffer> */
7252 var16
= (char*)nit_alloc(var7
);
7255 RET_LABEL15
:(void)0;
7259 { /* Inline string#FlatText#items= (self,var14) on <self:FlatBuffer> */
7260 self
->attrs
[COLOR_string__FlatText___items
].str
= var14
; /* _items on <self:FlatBuffer> */
7261 RET_LABEL17
:(void)0;
7265 { /* Inline string#FlatBuffer#capacity= (self,var_cap) on <self:FlatBuffer> */
7266 self
->attrs
[COLOR_string__FlatBuffer___capacity
].l
= var_cap
; /* _capacity on <self:FlatBuffer> */
7267 RET_LABEL18
:(void)0;
7272 { /* Inline string#FlatText#length= (self,var19) on <self:FlatBuffer> */
7273 self
->attrs
[COLOR_string__FlatText___length
].l
= var19
; /* _length on <self:FlatBuffer> */
7274 RET_LABEL20
:(void)0;
7279 /* method string#FlatBuffer#with_capacity for (self: Object, Int) */
7280 void VIRTUAL_string__FlatBuffer__with_capacity(val
* self
, long p0
) {
7281 string__FlatBuffer__with_capacity(self
, p0
); /* Direct call string#FlatBuffer#with_capacity on <self:Object(FlatBuffer)>*/
7284 /* method string#FlatBuffer#append for (self: FlatBuffer, Text) */
7285 void string__FlatBuffer__append(val
* self
, val
* p0
) {
7286 val
* var_s
/* var s: Text */;
7287 short int var
/* : Bool */;
7288 short int var1
/* : Bool */;
7289 long var3
/* : Int */;
7290 long var5
/* : Int */;
7291 long var_sl
/* var sl: Int */;
7292 long var6
/* : Int */;
7293 long var8
/* : Int */;
7294 long var9
/* : Int */;
7295 long var11
/* : Int */;
7296 long var12
/* : Int */;
7297 short int var14
/* : Bool */;
7300 const char* var_class_name
;
7301 long var15
/* : Int */;
7302 short int var16
/* : Bool */;
7303 short int var18
/* : Bool */;
7306 const char* var_class_name21
;
7307 short int var22
/* : Bool */;
7308 long var23
/* : Int */;
7309 long var25
/* : Int */;
7310 long var26
/* : Int */;
7311 short int var28
/* : Bool */;
7314 const char* var_class_name31
;
7315 long var32
/* : Int */;
7316 short int var33
/* : Bool */;
7319 char* var36
/* : NativeString */;
7320 char* var38
/* : NativeString */;
7321 char* var39
/* : NativeString */;
7322 char* var41
/* : NativeString */;
7323 long var42
/* : Int */;
7324 long var44
/* : Int */;
7325 long var45
/* : Int */;
7326 long var47
/* : Int */;
7327 short int var49
/* : Bool */;
7330 char* var52
/* : NativeString */;
7331 char* var54
/* : NativeString */;
7332 char* var55
/* : NativeString */;
7333 char* var57
/* : NativeString */;
7334 long var58
/* : Int */;
7335 long var59
/* : Int */;
7336 long var61
/* : Int */;
7337 long var63
/* : Int */;
7338 long var65
/* : Int */;
7339 long var_curr_pos
/* var curr_pos: Int */;
7340 val
* var66
/* : SequenceRead[Char] */;
7341 val
* var67
/* : Iterator[nullable Object] */;
7342 short int var68
/* : Bool */;
7343 val
* var69
/* : nullable Object */;
7344 char var_i
/* var i: Char */;
7345 char var70
/* : Char */;
7346 char* var71
/* : NativeString */;
7347 char* var73
/* : NativeString */;
7348 long var75
/* : Int */;
7349 long var76
/* : Int */;
7350 short int var78
/* : Bool */;
7353 const char* var_class_name81
;
7354 long var82
/* : Int */;
7355 val
* var_
/* var : FlatBuffer */;
7356 long var83
/* : Int */;
7357 long var85
/* : Int */;
7358 long var86
/* : Int */;
7359 short int var88
/* : Bool */;
7362 const char* var_class_name91
;
7363 long var92
/* : Int */;
7366 var
= string__Text__is_empty(var_s
);
7374 { /* Inline string#Buffer#is_dirty= (self,var1) on <self:FlatBuffer> */
7375 self
->attrs
[COLOR_string__Buffer___is_dirty
].s
= var1
; /* _is_dirty on <self:FlatBuffer> */
7380 { /* Inline string#FlatText#length (var_s) on <var_s:Text> */
7381 var5
= var_s
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_s:Text> */
7388 { /* Inline string#FlatBuffer#capacity (self) on <self:FlatBuffer> */
7389 var8
= self
->attrs
[COLOR_string__FlatBuffer___capacity
].l
; /* _capacity on <self:FlatBuffer> */
7395 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
7396 var11
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
7398 RET_LABEL10
:(void)0;
7402 { /* Inline kernel#Int#+ (var9,var_sl) on <var9:Int> */
7403 /* Covariant cast for argument 0 (i) <var_sl:Int> isa OTHER */
7404 /* <var_sl:Int> isa OTHER */
7405 var14
= 1; /* easy <var_sl:Int> isa OTHER*/
7406 if (unlikely(!var14
)) {
7407 var_class_name
= type_kernel__Int
.name
;
7408 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7409 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
7412 var15
= var9
+ var_sl
;
7415 RET_LABEL13
:(void)0;
7419 { /* Inline kernel#Int#< (var6,var12) on <var6:Int> */
7420 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
7421 /* <var12:Int> isa OTHER */
7422 var18
= 1; /* easy <var12:Int> isa OTHER*/
7423 if (unlikely(!var18
)) {
7424 var_class_name21
= type_kernel__Int
.name
;
7425 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
7426 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
7429 var22
= var6
< var12
;
7432 RET_LABEL17
:(void)0;
7437 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
7438 var25
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
7440 RET_LABEL24
:(void)0;
7444 { /* Inline kernel#Int#+ (var23,var_sl) on <var23:Int> */
7445 /* Covariant cast for argument 0 (i) <var_sl:Int> isa OTHER */
7446 /* <var_sl:Int> isa OTHER */
7447 var28
= 1; /* easy <var_sl:Int> isa OTHER*/
7448 if (unlikely(!var28
)) {
7449 var_class_name31
= type_kernel__Int
.name
;
7450 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
7451 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
7454 var32
= var23
+ var_sl
;
7457 RET_LABEL27
:(void)0;
7461 string__FlatBuffer__enlarge(self
, var26
); /* Direct call string#FlatBuffer#enlarge on <self:FlatBuffer>*/
7465 /* <var_s:Text> isa FlatString */
7466 cltype34
= type_string__FlatString
.color
;
7467 idtype35
= type_string__FlatString
.id
;
7468 if(cltype34
>= var_s
->type
->table_size
) {
7471 var33
= var_s
->type
->type_table
[cltype34
] == idtype35
;
7475 { /* Inline string#FlatText#items (var_s) on <var_s:Text(FlatString)> */
7476 var38
= var_s
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var_s:Text(FlatString)> */
7478 RET_LABEL37
:(void)0;
7482 { /* Inline string#FlatText#items (self) on <self:FlatBuffer> */
7483 var41
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatBuffer> */
7485 RET_LABEL40
:(void)0;
7489 { /* Inline string#FlatString#index_from (var_s) on <var_s:Text(FlatString)> */
7490 var44
= var_s
->attrs
[COLOR_string__FlatString___index_from
].l
; /* _index_from on <var_s:Text(FlatString)> */
7492 RET_LABEL43
:(void)0;
7496 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
7497 var47
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
7499 RET_LABEL46
:(void)0;
7503 { /* Inline string#NativeString#copy_to (var36,var39,var_sl,var42,var45) on <var36:NativeString> */
7504 memcpy(var39
+var45
,var36
+var42
,var_sl
);
7505 RET_LABEL48
:(void)0;
7509 /* <var_s:Text> isa FlatBuffer */
7510 cltype50
= type_string__FlatBuffer
.color
;
7511 idtype51
= type_string__FlatBuffer
.id
;
7512 if(cltype50
>= var_s
->type
->table_size
) {
7515 var49
= var_s
->type
->type_table
[cltype50
] == idtype51
;
7519 { /* Inline string#FlatText#items (var_s) on <var_s:Text(FlatBuffer)> */
7520 var54
= var_s
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var_s:Text(FlatBuffer)> */
7522 RET_LABEL53
:(void)0;
7526 { /* Inline string#FlatText#items (self) on <self:FlatBuffer> */
7527 var57
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatBuffer> */
7529 RET_LABEL56
:(void)0;
7534 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
7535 var61
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
7537 RET_LABEL60
:(void)0;
7541 { /* Inline string#NativeString#copy_to (var52,var55,var_sl,var58,var59) on <var52:NativeString> */
7542 memcpy(var55
+var59
,var52
+var58
,var_sl
);
7543 RET_LABEL62
:(void)0;
7548 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
7549 var65
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
7551 RET_LABEL64
:(void)0;
7554 var_curr_pos
= var63
;
7556 var66
= ((val
* (*)(val
*))(var_s
->class->vft
[COLOR_string__Text__chars
]))(var_s
) /* chars on <var_s:Text>*/;
7559 var67
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var66
) /* iterator on <var66:SequenceRead[Char]>*/;
7563 var68
= ((short int (*)(val
*))(var67
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var67
) /* is_ok on <var67:Iterator[nullable Object]>*/;
7567 var69
= ((val
* (*)(val
*))(var67
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var67
) /* item on <var67:Iterator[nullable Object]>*/;
7569 var70
= ((struct instance_kernel__Char
*)var69
)->value
; /* autounbox from nullable Object to Char */;
7572 { /* Inline string#FlatText#items (self) on <self:FlatBuffer> */
7573 var73
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatBuffer> */
7575 RET_LABEL72
:(void)0;
7579 { /* Inline string#NativeString#[]= (var71,var_curr_pos,var_i) on <var71:NativeString> */
7580 var71
[var_curr_pos
]=var_i
;
7581 RET_LABEL74
:(void)0;
7586 { /* Inline kernel#Int#+ (var_curr_pos,var75) on <var_curr_pos:Int> */
7587 /* Covariant cast for argument 0 (i) <var75:Int> isa OTHER */
7588 /* <var75:Int> isa OTHER */
7589 var78
= 1; /* easy <var75:Int> isa OTHER*/
7590 if (unlikely(!var78
)) {
7591 var_class_name81
= type_kernel__Int
.name
;
7592 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81
);
7593 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
7596 var82
= var_curr_pos
+ var75
;
7599 RET_LABEL77
:(void)0;
7602 var_curr_pos
= var76
;
7603 CONTINUE_label
: (void)0;
7605 ((void (*)(val
*))(var67
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var67
) /* next on <var67:Iterator[nullable Object]>*/;
7608 BREAK_label
: (void)0;
7613 { /* Inline string#FlatText#length (var_) on <var_:FlatBuffer> */
7614 var85
= var_
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_:FlatBuffer> */
7616 RET_LABEL84
:(void)0;
7620 { /* Inline kernel#Int#+ (var83,var_sl) on <var83:Int> */
7621 /* Covariant cast for argument 0 (i) <var_sl:Int> isa OTHER */
7622 /* <var_sl:Int> isa OTHER */
7623 var88
= 1; /* easy <var_sl:Int> isa OTHER*/
7624 if (unlikely(!var88
)) {
7625 var_class_name91
= type_kernel__Int
.name
;
7626 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name91
);
7627 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
7630 var92
= var83
+ var_sl
;
7633 RET_LABEL87
:(void)0;
7637 { /* Inline string#FlatText#length= (var_,var86) on <var_:FlatBuffer> */
7638 var_
->attrs
[COLOR_string__FlatText___length
].l
= var86
; /* _length on <var_:FlatBuffer> */
7639 RET_LABEL93
:(void)0;
7644 /* method string#FlatBuffer#append for (self: Object, Text) */
7645 void VIRTUAL_string__FlatBuffer__append(val
* self
, val
* p0
) {
7646 string__FlatBuffer__append(self
, p0
); /* Direct call string#FlatBuffer#append on <self:Object(FlatBuffer)>*/
7649 /* method string#FlatBuffer#substring for (self: FlatBuffer, Int, Int): FlatBuffer */
7650 val
* string__FlatBuffer__substring(val
* self
, long p0
, long p1
) {
7651 val
* var
/* : FlatBuffer */;
7652 long var_from
/* var from: Int */;
7653 long var_count
/* var count: Int */;
7654 long var1
/* : Int */;
7655 short int var2
/* : Bool */;
7656 short int var4
/* : Bool */;
7659 const char* var_class_name
;
7660 short int var5
/* : Bool */;
7661 long var6
/* : Int */;
7662 short int var8
/* : Bool */;
7665 const char* var_class_name11
;
7666 long var12
/* : Int */;
7667 long var13
/* : Int */;
7668 short int var14
/* : Bool */;
7669 short int var16
/* : Bool */;
7672 const char* var_class_name19
;
7673 short int var20
/* : Bool */;
7674 long var21
/* : Int */;
7675 long var22
/* : Int */;
7676 long var24
/* : Int */;
7677 short int var25
/* : Bool */;
7678 short int var27
/* : Bool */;
7681 const char* var_class_name30
;
7682 short int var31
/* : Bool */;
7683 long var32
/* : Int */;
7684 long var34
/* : Int */;
7685 short int var35
/* : Bool */;
7686 short int var37
/* : Bool */;
7689 const char* var_class_name40
;
7690 short int var41
/* : Bool */;
7691 val
* var42
/* : FlatBuffer */;
7692 long var43
/* : Int */;
7693 short int var45
/* : Bool */;
7696 const char* var_class_name48
;
7697 long var49
/* : Int */;
7698 val
* var_r
/* var r: FlatBuffer */;
7699 short int var50
/* : Bool */;
7700 short int var52
/* : Bool */;
7703 const char* var_class_name55
;
7704 short int var56
/* : Bool */;
7705 val
* var57
/* : Sequence[Char] */;
7706 val
* var59
/* : Sequence[Char] */;
7707 char* var60
/* : NativeString */;
7708 char* var62
/* : NativeString */;
7709 char var63
/* : Char */;
7710 char var65
/* : Char */;
7711 val
* var66
/* : nullable Object */;
7712 long var67
/* : Int */;
7713 long var68
/* : Int */;
7714 short int var70
/* : Bool */;
7717 const char* var_class_name73
;
7718 long var74
/* : Int */;
7719 short int var75
/* : Bool */;
7722 const struct type
* type_struct
;
7723 const char* var_class_name78
;
7724 val
* var79
/* : FlatBuffer */;
7725 short int var80
/* : Bool */;
7728 const struct type
* type_struct83
;
7729 const char* var_class_name84
;
7734 { /* Inline kernel#Int#>= (var_count,var1) on <var_count:Int> */
7735 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
7736 /* <var1:Int> isa OTHER */
7737 var4
= 1; /* easy <var1:Int> isa OTHER*/
7738 if (unlikely(!var4
)) {
7739 var_class_name
= type_kernel__Int
.name
;
7740 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7741 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
7744 var5
= var_count
>= var1
;
7750 if (unlikely(!var2
)) {
7751 PRINT_ERROR("Runtime error: %s", "Assert failed");
7752 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1286);
7756 { /* Inline kernel#Int#+ (var_count,var_from) on <var_count:Int> */
7757 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
7758 /* <var_from:Int> isa OTHER */
7759 var8
= 1; /* easy <var_from:Int> isa OTHER*/
7760 if (unlikely(!var8
)) {
7761 var_class_name11
= type_kernel__Int
.name
;
7762 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11
);
7763 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
7766 var12
= var_count
+ var_from
;
7775 { /* Inline kernel#Int#< (var_from,var13) on <var_from:Int> */
7776 /* Covariant cast for argument 0 (i) <var13:Int> isa OTHER */
7777 /* <var13:Int> isa OTHER */
7778 var16
= 1; /* easy <var13:Int> isa OTHER*/
7779 if (unlikely(!var16
)) {
7780 var_class_name19
= type_kernel__Int
.name
;
7781 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
7782 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
7785 var20
= var_from
< var13
;
7788 RET_LABEL15
:(void)0;
7797 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
7798 var24
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
7800 RET_LABEL23
:(void)0;
7804 { /* Inline kernel#Int#> (var_count,var22) on <var_count:Int> */
7805 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
7806 /* <var22:Int> isa OTHER */
7807 var27
= 1; /* easy <var22:Int> isa OTHER*/
7808 if (unlikely(!var27
)) {
7809 var_class_name30
= type_kernel__Int
.name
;
7810 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
7811 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
7814 var31
= var_count
> var22
;
7817 RET_LABEL26
:(void)0;
7822 { /* Inline string#FlatText#length (self) on <self:FlatBuffer> */
7823 var34
= self
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <self:FlatBuffer> */
7825 RET_LABEL33
:(void)0;
7832 { /* Inline kernel#Int#< (var_from,var_count) on <var_from:Int> */
7833 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
7834 /* <var_count:Int> isa OTHER */
7835 var37
= 1; /* easy <var_count:Int> isa OTHER*/
7836 if (unlikely(!var37
)) {
7837 var_class_name40
= type_kernel__Int
.name
;
7838 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name40
);
7839 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
7842 var41
= var_from
< var_count
;
7845 RET_LABEL36
:(void)0;
7849 var42
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
7851 { /* Inline kernel#Int#- (var_count,var_from) on <var_count:Int> */
7852 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
7853 /* <var_from:Int> isa OTHER */
7854 var45
= 1; /* easy <var_from:Int> isa OTHER*/
7855 if (unlikely(!var45
)) {
7856 var_class_name48
= type_kernel__Int
.name
;
7857 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
7858 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
7861 var49
= var_count
- var_from
;
7864 RET_LABEL44
:(void)0;
7868 string__FlatBuffer__with_capacity(var42
, var43
); /* Direct call string#FlatBuffer#with_capacity on <var42:FlatBuffer>*/
7873 { /* Inline kernel#Int#< (var_from,var_count) on <var_from:Int> */
7874 /* Covariant cast for argument 0 (i) <var_count:Int> isa OTHER */
7875 /* <var_count:Int> isa OTHER */
7876 var52
= 1; /* easy <var_count:Int> isa OTHER*/
7877 if (unlikely(!var52
)) {
7878 var_class_name55
= type_kernel__Int
.name
;
7879 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55
);
7880 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
7883 var56
= var_from
< var_count
;
7886 RET_LABEL51
:(void)0;
7891 { /* Inline string#FlatBuffer#chars (var_r) on <var_r:FlatBuffer> */
7892 var59
= var_r
->attrs
[COLOR_string__FlatBuffer___chars
].val
; /* _chars on <var_r:FlatBuffer> */
7893 if (unlikely(var59
== NULL
)) {
7894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
7895 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
7899 RET_LABEL58
:(void)0;
7903 { /* Inline string#FlatText#items (self) on <self:FlatBuffer> */
7904 var62
= self
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <self:FlatBuffer> */
7906 RET_LABEL61
:(void)0;
7910 { /* Inline string#NativeString#[] (var60,var_from) on <var60:NativeString> */
7911 var65
= var60
[var_from
];
7914 RET_LABEL64
:(void)0;
7918 var66
= BOX_kernel__Char(var63
); /* autobox from Char to nullable Object */
7919 ((void (*)(val
*, val
*))(var57
->class->vft
[COLOR_abstract_collection__Sequence__push
]))(var57
, var66
) /* push on <var57:Sequence[Char]>*/;
7923 { /* Inline kernel#Int#+ (var_from,var67) on <var_from:Int> */
7924 /* Covariant cast for argument 0 (i) <var67:Int> isa OTHER */
7925 /* <var67:Int> isa OTHER */
7926 var70
= 1; /* easy <var67:Int> isa OTHER*/
7927 if (unlikely(!var70
)) {
7928 var_class_name73
= type_kernel__Int
.name
;
7929 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73
);
7930 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
7933 var74
= var_from
+ var67
;
7936 RET_LABEL69
:(void)0;
7940 CONTINUE_label
: (void)0;
7942 BREAK_label
: (void)0;
7943 /* <var_r:FlatBuffer> isa SELFTYPE */
7944 type_struct
= self
->type
->resolution_table
->types
[COLOR_string__Text_VTSELFTYPE
];
7945 cltype76
= type_struct
->color
;
7946 idtype77
= type_struct
->id
;
7947 if(cltype76
>= var_r
->type
->table_size
) {
7950 var75
= var_r
->type
->type_table
[cltype76
] == idtype77
;
7952 if (unlikely(!var75
)) {
7953 var_class_name78
= var_r
== NULL ?
"null" : var_r
->type
->name
;
7954 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name78
);
7955 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1296);
7961 var79
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
7963 string__FlatBuffer__init(var79
); /* Direct call string#FlatBuffer#init on <var79:FlatBuffer>*/
7965 /* <var79:FlatBuffer> isa SELFTYPE */
7966 type_struct83
= self
->type
->resolution_table
->types
[COLOR_string__Text_VTSELFTYPE
];
7967 cltype81
= type_struct83
->color
;
7968 idtype82
= type_struct83
->id
;
7969 if(cltype81
>= var79
->type
->table_size
) {
7972 var80
= var79
->type
->type_table
[cltype81
] == idtype82
;
7974 if (unlikely(!var80
)) {
7975 var_class_name84
= var79
== NULL ?
"null" : var79
->type
->name
;
7976 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name84
);
7977 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1298);
7986 /* method string#FlatBuffer#substring for (self: Object, Int, Int): Text */
7987 val
* VIRTUAL_string__FlatBuffer__substring(val
* self
, long p0
, long p1
) {
7988 val
* var
/* : Text */;
7989 val
* var1
/* : FlatBuffer */;
7990 var1
= string__FlatBuffer__substring(self
, p0
, p1
);
7995 /* method string#FlatBufferCharView#[] for (self: FlatBufferCharView, Int): Char */
7996 char string__FlatBufferCharView___91d_93d(val
* self
, long p0
) {
7997 char var
/* : Char */;
7998 long var_index
/* var index: Int */;
7999 val
* var1
/* : Text */;
8000 val
* var3
/* : Text */;
8001 char* var4
/* : NativeString */;
8002 char* var6
/* : NativeString */;
8003 char var7
/* : Char */;
8004 char var9
/* : Char */;
8007 { /* Inline string#StringCharView#target (self) on <self:FlatBufferCharView> */
8008 var3
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:FlatBufferCharView> */
8009 if (unlikely(var3
== NULL
)) {
8010 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8011 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
8019 { /* Inline string#FlatText#items (var1) on <var1:Text(FlatBuffer)> */
8020 var6
= var1
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var1:Text(FlatBuffer)> */
8026 { /* Inline string#NativeString#[] (var4,var_index) on <var4:NativeString> */
8027 var9
= var4
[var_index
];
8038 /* method string#FlatBufferCharView#[] for (self: Object, Int): nullable Object */
8039 val
* VIRTUAL_string__FlatBufferCharView___91d_93d(val
* self
, long p0
) {
8040 val
* var
/* : nullable Object */;
8041 char var1
/* : Char */;
8042 val
* var2
/* : nullable Object */;
8043 var1
= string__FlatBufferCharView___91d_93d(self
, p0
);
8044 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
8049 /* method string#FlatBufferCharView#[]= for (self: FlatBufferCharView, Int, Char) */
8050 void string__FlatBufferCharView___91d_93d_61d(val
* self
, long p0
, char p1
) {
8051 short int var
/* : Bool */;
8054 const char* var_class_name
;
8055 long var_index
/* var index: Int */;
8056 char var_item
/* var item: Char */;
8057 short int var1
/* : Bool */;
8058 long var2
/* : Int */;
8059 short int var3
/* : Bool */;
8060 short int var5
/* : Bool */;
8063 const char* var_class_name8
;
8064 short int var9
/* : Bool */;
8065 short int var_
/* var : Bool */;
8066 long var10
/* : Int */;
8067 short int var11
/* : Bool */;
8068 short int var13
/* : Bool */;
8071 const char* var_class_name16
;
8072 short int var17
/* : Bool */;
8073 long var18
/* : Int */;
8074 short int var19
/* : Bool */;
8075 short int var20
/* : Bool */;
8076 short int var22
/* : Bool */;
8077 val
* var23
/* : Text */;
8078 val
* var25
/* : Text */;
8079 char* var26
/* : NativeString */;
8080 char* var28
/* : NativeString */;
8081 /* Covariant cast for argument 1 (item) <p1:Char> isa Sequence#0 */
8082 /* <p1:Char> isa Sequence#0 */
8083 var
= 1; /* easy <p1:Char> isa Sequence#0*/
8084 if (unlikely(!var
)) {
8085 var_class_name
= type_kernel__Char
.name
;
8086 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
8087 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1379);
8094 { /* Inline kernel#Int#>= (var_index,var2) on <var_index:Int> */
8095 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
8096 /* <var2:Int> isa OTHER */
8097 var5
= 1; /* easy <var2:Int> isa OTHER*/
8098 if (unlikely(!var5
)) {
8099 var_class_name8
= type_kernel__Int
.name
;
8100 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name8
);
8101 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
8104 var9
= var_index
>= var2
;
8113 var10
= string__StringCharView__length(self
);
8116 { /* Inline kernel#Int#<= (var_index,var10) on <var_index:Int> */
8117 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
8118 /* <var10:Int> isa OTHER */
8119 var13
= 1; /* easy <var10:Int> isa OTHER*/
8120 if (unlikely(!var13
)) {
8121 var_class_name16
= type_kernel__Int
.name
;
8122 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name16
);
8123 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
8126 var17
= var_index
<= var10
;
8129 RET_LABEL12
:(void)0;
8136 if (unlikely(!var1
)) {
8137 PRINT_ERROR("Runtime error: %s", "Assert failed");
8138 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1381);
8142 var18
= string__StringCharView__length(self
);
8145 { /* Inline kernel#Int#== (var_index,var18) on <var_index:Int> */
8146 var22
= var_index
== var18
;
8149 RET_LABEL21
:(void)0;
8155 string__FlatBufferCharView__add(self
, var_item
); /* Direct call string#FlatBufferCharView#add on <self:FlatBufferCharView>*/
8161 { /* Inline string#StringCharView#target (self) on <self:FlatBufferCharView> */
8162 var25
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:FlatBufferCharView> */
8163 if (unlikely(var25
== NULL
)) {
8164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8165 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
8169 RET_LABEL24
:(void)0;
8173 { /* Inline string#FlatText#items (var23) on <var23:Text(FlatBuffer)> */
8174 var28
= var23
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var23:Text(FlatBuffer)> */
8176 RET_LABEL27
:(void)0;
8180 { /* Inline string#NativeString#[]= (var26,var_index,var_item) on <var26:NativeString> */
8181 var26
[var_index
]=var_item
;
8182 RET_LABEL29
:(void)0;
8187 /* method string#FlatBufferCharView#[]= for (self: Object, Int, nullable Object) */
8188 void VIRTUAL_string__FlatBufferCharView___91d_93d_61d(val
* self
, long p0
, val
* p1
) {
8189 char var
/* : Char */;
8190 var
= ((struct instance_kernel__Char
*)p1
)->value
; /* autounbox from nullable Object to Char */;
8191 string__FlatBufferCharView___91d_93d_61d(self
, p0
, var
); /* Direct call string#FlatBufferCharView#[]= on <self:Object(FlatBufferCharView)>*/
8194 /* method string#FlatBufferCharView#push for (self: FlatBufferCharView, Char) */
8195 void string__FlatBufferCharView__push(val
* self
, char p0
) {
8196 short int var
/* : Bool */;
8199 const char* var_class_name
;
8200 char var_c
/* var c: Char */;
8201 val
* var1
/* : Text */;
8202 val
* var3
/* : Text */;
8203 /* Covariant cast for argument 0 (c) <p0:Char> isa Sequence#0 */
8204 /* <p0:Char> isa Sequence#0 */
8205 var
= 1; /* easy <p0:Char> isa Sequence#0*/
8206 if (unlikely(!var
)) {
8207 var_class_name
= type_kernel__Char
.name
;
8208 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Sequence#0", var_class_name
);
8209 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1389);
8214 { /* Inline string#StringCharView#target (self) on <self:FlatBufferCharView> */
8215 var3
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:FlatBufferCharView> */
8216 if (unlikely(var3
== NULL
)) {
8217 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8218 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
8226 string__FlatBuffer__add(var1
, var_c
); /* Direct call string#FlatBuffer#add on <var1:Text(FlatBuffer)>*/
8230 /* method string#FlatBufferCharView#push for (self: Object, nullable Object) */
8231 void VIRTUAL_string__FlatBufferCharView__push(val
* self
, val
* p0
) {
8232 char var
/* : Char */;
8233 var
= ((struct instance_kernel__Char
*)p0
)->value
; /* autounbox from nullable Object to Char */;
8234 string__FlatBufferCharView__push(self
, var
); /* Direct call string#FlatBufferCharView#push on <self:Object(FlatBufferCharView)>*/
8237 /* method string#FlatBufferCharView#add for (self: FlatBufferCharView, Char) */
8238 void string__FlatBufferCharView__add(val
* self
, char p0
) {
8239 short int var
/* : Bool */;
8242 const char* var_class_name
;
8243 char var_c
/* var c: Char */;
8244 val
* var1
/* : Text */;
8245 val
* var3
/* : Text */;
8246 /* Covariant cast for argument 0 (c) <p0:Char> isa SimpleCollection#0 */
8247 /* <p0:Char> isa SimpleCollection#0 */
8248 var
= 1; /* easy <p0:Char> isa SimpleCollection#0*/
8249 if (unlikely(!var
)) {
8250 var_class_name
= type_kernel__Char
.name
;
8251 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SimpleCollection#0", var_class_name
);
8252 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1394);
8257 { /* Inline string#StringCharView#target (self) on <self:FlatBufferCharView> */
8258 var3
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:FlatBufferCharView> */
8259 if (unlikely(var3
== NULL
)) {
8260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8261 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
8269 string__FlatBuffer__add(var1
, var_c
); /* Direct call string#FlatBuffer#add on <var1:Text(FlatBuffer)>*/
8273 /* method string#FlatBufferCharView#add for (self: Object, nullable Object) */
8274 void VIRTUAL_string__FlatBufferCharView__add(val
* self
, val
* p0
) {
8275 char var
/* : Char */;
8276 var
= ((struct instance_kernel__Char
*)p0
)->value
; /* autounbox from nullable Object to Char */;
8277 string__FlatBufferCharView__add(self
, var
); /* Direct call string#FlatBufferCharView#add on <self:Object(FlatBufferCharView)>*/
8280 /* method string#FlatBufferCharView#enlarge for (self: FlatBufferCharView, Int) */
8281 void string__FlatBufferCharView__enlarge(val
* self
, long p0
) {
8282 long var_cap
/* var cap: Int */;
8283 val
* var
/* : Text */;
8284 val
* var2
/* : Text */;
8287 { /* Inline string#StringCharView#target (self) on <self:FlatBufferCharView> */
8288 var2
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:FlatBufferCharView> */
8289 if (unlikely(var2
== NULL
)) {
8290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8291 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
8299 string__FlatBuffer__enlarge(var
, var_cap
); /* Direct call string#FlatBuffer#enlarge on <var:Text(FlatBuffer)>*/
8303 /* method string#FlatBufferCharView#enlarge for (self: Object, Int) */
8304 void VIRTUAL_string__FlatBufferCharView__enlarge(val
* self
, long p0
) {
8305 string__FlatBufferCharView__enlarge(self
, p0
); /* Direct call string#FlatBufferCharView#enlarge on <self:Object(FlatBufferCharView)>*/
8308 /* method string#FlatBufferCharView#append for (self: FlatBufferCharView, Collection[Char]) */
8309 void string__FlatBufferCharView__append(val
* self
, val
* p0
) {
8310 short int var
/* : Bool */;
8313 const char* var_class_name
;
8314 val
* var_s
/* var s: Collection[Char] */;
8315 val
* var1
/* : Text */;
8316 val
* var3
/* : Text */;
8317 char* var4
/* : NativeString */;
8318 char* var6
/* : NativeString */;
8319 char* var_my_items
/* var my_items: NativeString */;
8320 long var7
/* : Int */;
8321 long var_s_length
/* var s_length: Int */;
8322 val
* var8
/* : Text */;
8323 val
* var10
/* : Text */;
8324 long var11
/* : Int */;
8325 long var13
/* : Int */;
8326 long var14
/* : Int */;
8327 short int var15
/* : Bool */;
8328 short int var17
/* : Bool */;
8331 const char* var_class_name20
;
8332 short int var21
/* : Bool */;
8333 val
* var22
/* : Text */;
8334 val
* var24
/* : Text */;
8335 long var25
/* : Int */;
8336 long var27
/* : Int */;
8337 long var28
/* : Int */;
8338 short int var30
/* : Bool */;
8341 const char* var_class_name33
;
8342 long var34
/* : Int */;
8343 /* Covariant cast for argument 0 (s) <p0:Collection[Char]> isa Collection[Sequence#0] */
8344 /* <p0:Collection[Char]> isa Collection[Sequence#0] */
8345 var
= 1; /* easy <p0:Collection[Char]> isa Collection[Sequence#0]*/
8346 if (unlikely(!var
)) {
8347 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
8348 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[Sequence#0]", var_class_name
);
8349 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1404);
8354 { /* Inline string#StringCharView#target (self) on <self:FlatBufferCharView> */
8355 var3
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:FlatBufferCharView> */
8356 if (unlikely(var3
== NULL
)) {
8357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8358 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
8366 { /* Inline string#FlatText#items (var1) on <var1:Text(FlatBuffer)> */
8367 var6
= var1
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var1:Text(FlatBuffer)> */
8372 var_my_items
= var4
;
8374 var7
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:Collection[Char]>*/;
8376 var_s_length
= var7
;
8378 { /* Inline string#StringCharView#target (self) on <self:FlatBufferCharView> */
8379 var10
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:FlatBufferCharView> */
8380 if (unlikely(var10
== NULL
)) {
8381 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8382 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
8390 { /* Inline string#FlatBuffer#capacity (var8) on <var8:Text(FlatBuffer)> */
8391 var13
= var8
->attrs
[COLOR_string__FlatBuffer___capacity
].l
; /* _capacity on <var8:Text(FlatBuffer)> */
8393 RET_LABEL12
:(void)0;
8397 var14
= ((long (*)(val
*))(var_s
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_s
) /* length on <var_s:Collection[Char]>*/;
8400 { /* Inline kernel#Int#< (var11,var14) on <var11:Int> */
8401 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
8402 /* <var14:Int> isa OTHER */
8403 var17
= 1; /* easy <var14:Int> isa OTHER*/
8404 if (unlikely(!var17
)) {
8405 var_class_name20
= type_kernel__Int
.name
;
8406 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
8407 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
8410 var21
= var11
< var14
;
8413 RET_LABEL16
:(void)0;
8418 { /* Inline string#StringCharView#target (self) on <self:FlatBufferCharView> */
8419 var24
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:FlatBufferCharView> */
8420 if (unlikely(var24
== NULL
)) {
8421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8422 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
8426 RET_LABEL23
:(void)0;
8430 { /* Inline string#FlatText#length (var22) on <var22:Text(FlatBuffer)> */
8431 var27
= var22
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var22:Text(FlatBuffer)> */
8433 RET_LABEL26
:(void)0;
8437 { /* Inline kernel#Int#+ (var_s_length,var25) on <var_s_length:Int> */
8438 /* Covariant cast for argument 0 (i) <var25:Int> isa OTHER */
8439 /* <var25:Int> isa OTHER */
8440 var30
= 1; /* easy <var25:Int> isa OTHER*/
8441 if (unlikely(!var30
)) {
8442 var_class_name33
= type_kernel__Int
.name
;
8443 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
8444 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
8447 var34
= var_s_length
+ var25
;
8450 RET_LABEL29
:(void)0;
8454 string__FlatBufferCharView__enlarge(self
, var28
); /* Direct call string#FlatBufferCharView#enlarge on <self:FlatBufferCharView>*/
8460 /* method string#FlatBufferCharView#append for (self: Object, Collection[nullable Object]) */
8461 void VIRTUAL_string__FlatBufferCharView__append(val
* self
, val
* p0
) {
8462 string__FlatBufferCharView__append(self
, p0
); /* Direct call string#FlatBufferCharView#append on <self:Object(FlatBufferCharView)>*/
8465 /* method string#FlatBufferCharView#iterator_from for (self: FlatBufferCharView, Int): IndexedIterator[Char] */
8466 val
* string__FlatBufferCharView__iterator_from(val
* self
, long p0
) {
8467 val
* var
/* : IndexedIterator[Char] */;
8468 long var_pos
/* var pos: Int */;
8469 val
* var1
/* : FlatBufferIterator */;
8470 val
* var2
/* : Text */;
8471 val
* var4
/* : Text */;
8473 var1
= NEW_string__FlatBufferIterator(&type_string__FlatBufferIterator
);
8475 { /* Inline string#StringCharView#target (self) on <self:FlatBufferCharView> */
8476 var4
= self
->attrs
[COLOR_string__StringCharView___target
].val
; /* _target on <self:FlatBufferCharView> */
8477 if (unlikely(var4
== NULL
)) {
8478 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8479 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 579);
8487 string__FlatBufferIterator__with_pos(var1
, var2
, var_pos
); /* Direct call string#FlatBufferIterator#with_pos on <var1:FlatBufferIterator>*/
8494 /* method string#FlatBufferCharView#iterator_from for (self: Object, Int): IndexedIterator[nullable Object] */
8495 val
* VIRTUAL_string__FlatBufferCharView__iterator_from(val
* self
, long p0
) {
8496 val
* var
/* : IndexedIterator[nullable Object] */;
8497 val
* var1
/* : IndexedIterator[Char] */;
8498 var1
= string__FlatBufferCharView__iterator_from(self
, p0
);
8503 /* method string#FlatBufferIterator#target for (self: FlatBufferIterator): FlatBuffer */
8504 val
* string__FlatBufferIterator__target(val
* self
) {
8505 val
* var
/* : FlatBuffer */;
8506 val
* var1
/* : FlatBuffer */;
8507 var1
= self
->attrs
[COLOR_string__FlatBufferIterator___target
].val
; /* _target on <self:FlatBufferIterator> */
8508 if (unlikely(var1
== NULL
)) {
8509 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8510 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1420);
8517 /* method string#FlatBufferIterator#target for (self: Object): FlatBuffer */
8518 val
* VIRTUAL_string__FlatBufferIterator__target(val
* self
) {
8519 val
* var
/* : FlatBuffer */;
8520 val
* var1
/* : FlatBuffer */;
8521 val
* var3
/* : FlatBuffer */;
8522 { /* Inline string#FlatBufferIterator#target (self) on <self:Object(FlatBufferIterator)> */
8523 var3
= self
->attrs
[COLOR_string__FlatBufferIterator___target
].val
; /* _target on <self:Object(FlatBufferIterator)> */
8524 if (unlikely(var3
== NULL
)) {
8525 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8526 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1420);
8536 /* method string#FlatBufferIterator#target= for (self: FlatBufferIterator, FlatBuffer) */
8537 void string__FlatBufferIterator__target_61d(val
* self
, val
* p0
) {
8538 self
->attrs
[COLOR_string__FlatBufferIterator___target
].val
= p0
; /* _target on <self:FlatBufferIterator> */
8541 /* method string#FlatBufferIterator#target= for (self: Object, FlatBuffer) */
8542 void VIRTUAL_string__FlatBufferIterator__target_61d(val
* self
, val
* p0
) {
8543 { /* Inline string#FlatBufferIterator#target= (self,p0) on <self:Object(FlatBufferIterator)> */
8544 self
->attrs
[COLOR_string__FlatBufferIterator___target
].val
= p0
; /* _target on <self:Object(FlatBufferIterator)> */
8549 /* method string#FlatBufferIterator#target_items for (self: FlatBufferIterator): NativeString */
8550 char* string__FlatBufferIterator__target_items(val
* self
) {
8551 char* var
/* : NativeString */;
8552 char* var1
/* : NativeString */;
8553 var1
= self
->attrs
[COLOR_string__FlatBufferIterator___target_items
].str
; /* _target_items on <self:FlatBufferIterator> */
8558 /* method string#FlatBufferIterator#target_items for (self: Object): NativeString */
8559 char* VIRTUAL_string__FlatBufferIterator__target_items(val
* self
) {
8560 char* var
/* : NativeString */;
8561 char* var1
/* : NativeString */;
8562 char* var3
/* : NativeString */;
8563 { /* Inline string#FlatBufferIterator#target_items (self) on <self:Object(FlatBufferIterator)> */
8564 var3
= self
->attrs
[COLOR_string__FlatBufferIterator___target_items
].str
; /* _target_items on <self:Object(FlatBufferIterator)> */
8572 /* method string#FlatBufferIterator#target_items= for (self: FlatBufferIterator, NativeString) */
8573 void string__FlatBufferIterator__target_items_61d(val
* self
, char* p0
) {
8574 self
->attrs
[COLOR_string__FlatBufferIterator___target_items
].str
= p0
; /* _target_items on <self:FlatBufferIterator> */
8577 /* method string#FlatBufferIterator#target_items= for (self: Object, NativeString) */
8578 void VIRTUAL_string__FlatBufferIterator__target_items_61d(val
* self
, char* p0
) {
8579 { /* Inline string#FlatBufferIterator#target_items= (self,p0) on <self:Object(FlatBufferIterator)> */
8580 self
->attrs
[COLOR_string__FlatBufferIterator___target_items
].str
= p0
; /* _target_items on <self:Object(FlatBufferIterator)> */
8585 /* method string#FlatBufferIterator#curr_pos for (self: FlatBufferIterator): Int */
8586 long string__FlatBufferIterator__curr_pos(val
* self
) {
8587 long var
/* : Int */;
8588 long var1
/* : Int */;
8589 var1
= self
->attrs
[COLOR_string__FlatBufferIterator___curr_pos
].l
; /* _curr_pos on <self:FlatBufferIterator> */
8594 /* method string#FlatBufferIterator#curr_pos for (self: Object): Int */
8595 long VIRTUAL_string__FlatBufferIterator__curr_pos(val
* self
) {
8596 long var
/* : Int */;
8597 long var1
/* : Int */;
8598 long var3
/* : Int */;
8599 { /* Inline string#FlatBufferIterator#curr_pos (self) on <self:Object(FlatBufferIterator)> */
8600 var3
= self
->attrs
[COLOR_string__FlatBufferIterator___curr_pos
].l
; /* _curr_pos on <self:Object(FlatBufferIterator)> */
8608 /* method string#FlatBufferIterator#curr_pos= for (self: FlatBufferIterator, Int) */
8609 void string__FlatBufferIterator__curr_pos_61d(val
* self
, long p0
) {
8610 self
->attrs
[COLOR_string__FlatBufferIterator___curr_pos
].l
= p0
; /* _curr_pos on <self:FlatBufferIterator> */
8613 /* method string#FlatBufferIterator#curr_pos= for (self: Object, Int) */
8614 void VIRTUAL_string__FlatBufferIterator__curr_pos_61d(val
* self
, long p0
) {
8615 { /* Inline string#FlatBufferIterator#curr_pos= (self,p0) on <self:Object(FlatBufferIterator)> */
8616 self
->attrs
[COLOR_string__FlatBufferIterator___curr_pos
].l
= p0
; /* _curr_pos on <self:Object(FlatBufferIterator)> */
8621 /* method string#FlatBufferIterator#with_pos for (self: FlatBufferIterator, FlatBuffer, Int) */
8622 void string__FlatBufferIterator__with_pos(val
* self
, val
* p0
, long p1
) {
8623 val
* var_tgt
/* var tgt: FlatBuffer */;
8624 long var_pos
/* var pos: Int */;
8625 long var
/* : Int */;
8626 long var3
/* : Int */;
8627 long var4
/* : Int */;
8628 short int var5
/* : Bool */;
8629 short int var7
/* : Bool */;
8632 const char* var_class_name
;
8633 short int var8
/* : Bool */;
8634 char* var9
/* : NativeString */;
8635 char* var11
/* : NativeString */;
8639 { /* Inline string#FlatBufferIterator#target= (self,var_tgt) on <self:FlatBufferIterator> */
8640 self
->attrs
[COLOR_string__FlatBufferIterator___target
].val
= var_tgt
; /* _target on <self:FlatBufferIterator> */
8645 { /* Inline string#FlatText#length (var_tgt) on <var_tgt:FlatBuffer> */
8646 var3
= var_tgt
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_tgt:FlatBuffer> */
8653 { /* Inline kernel#Int#> (var,var4) on <var:Int> */
8654 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
8655 /* <var4:Int> isa OTHER */
8656 var7
= 1; /* easy <var4:Int> isa OTHER*/
8657 if (unlikely(!var7
)) {
8658 var_class_name
= type_kernel__Int
.name
;
8659 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8660 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
8671 { /* Inline string#FlatText#items (var_tgt) on <var_tgt:FlatBuffer> */
8672 var11
= var_tgt
->attrs
[COLOR_string__FlatText___items
].str
; /* _items on <var_tgt:FlatBuffer> */
8674 RET_LABEL10
:(void)0;
8678 { /* Inline string#FlatBufferIterator#target_items= (self,var9) on <self:FlatBufferIterator> */
8679 self
->attrs
[COLOR_string__FlatBufferIterator___target_items
].str
= var9
; /* _target_items on <self:FlatBufferIterator> */
8680 RET_LABEL12
:(void)0;
8686 { /* Inline string#FlatBufferIterator#curr_pos= (self,var_pos) on <self:FlatBufferIterator> */
8687 self
->attrs
[COLOR_string__FlatBufferIterator___curr_pos
].l
= var_pos
; /* _curr_pos on <self:FlatBufferIterator> */
8688 RET_LABEL13
:(void)0;
8693 /* method string#FlatBufferIterator#with_pos for (self: Object, FlatBuffer, Int) */
8694 void VIRTUAL_string__FlatBufferIterator__with_pos(val
* self
, val
* p0
, long p1
) {
8695 string__FlatBufferIterator__with_pos(self
, p0
, p1
); /* Direct call string#FlatBufferIterator#with_pos on <self:Object(FlatBufferIterator)>*/
8698 /* method string#FlatBufferIterator#index for (self: FlatBufferIterator): Int */
8699 long string__FlatBufferIterator__index(val
* self
) {
8700 long var
/* : Int */;
8701 long var1
/* : Int */;
8702 long var3
/* : Int */;
8704 { /* Inline string#FlatBufferIterator#curr_pos (self) on <self:FlatBufferIterator> */
8705 var3
= self
->attrs
[COLOR_string__FlatBufferIterator___curr_pos
].l
; /* _curr_pos on <self:FlatBufferIterator> */
8715 /* method string#FlatBufferIterator#index for (self: Object): Int */
8716 long VIRTUAL_string__FlatBufferIterator__index(val
* self
) {
8717 long var
/* : Int */;
8718 long var1
/* : Int */;
8719 var1
= string__FlatBufferIterator__index(self
);
8724 /* method string#FlatBufferIterator#is_ok for (self: FlatBufferIterator): Bool */
8725 short int string__FlatBufferIterator__is_ok(val
* self
) {
8726 short int var
/* : Bool */;
8727 long var1
/* : Int */;
8728 long var3
/* : Int */;
8729 val
* var4
/* : FlatBuffer */;
8730 val
* var6
/* : FlatBuffer */;
8731 long var7
/* : Int */;
8732 long var9
/* : Int */;
8733 short int var10
/* : Bool */;
8734 short int var12
/* : Bool */;
8737 const char* var_class_name
;
8738 short int var13
/* : Bool */;
8740 { /* Inline string#FlatBufferIterator#curr_pos (self) on <self:FlatBufferIterator> */
8741 var3
= self
->attrs
[COLOR_string__FlatBufferIterator___curr_pos
].l
; /* _curr_pos on <self:FlatBufferIterator> */
8747 { /* Inline string#FlatBufferIterator#target (self) on <self:FlatBufferIterator> */
8748 var6
= self
->attrs
[COLOR_string__FlatBufferIterator___target
].val
; /* _target on <self:FlatBufferIterator> */
8749 if (unlikely(var6
== NULL
)) {
8750 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target");
8751 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1420);
8759 { /* Inline string#FlatText#length (var4) on <var4:FlatBuffer> */
8760 var9
= var4
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var4:FlatBuffer> */
8766 { /* Inline kernel#Int#< (var1,var7) on <var1:Int> */
8767 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
8768 /* <var7:Int> isa OTHER */
8769 var12
= 1; /* easy <var7:Int> isa OTHER*/
8770 if (unlikely(!var12
)) {
8771 var_class_name
= type_kernel__Int
.name
;
8772 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8773 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
8776 var13
= var1
< var7
;
8779 RET_LABEL11
:(void)0;
8787 /* method string#FlatBufferIterator#is_ok for (self: Object): Bool */
8788 short int VIRTUAL_string__FlatBufferIterator__is_ok(val
* self
) {
8789 short int var
/* : Bool */;
8790 short int var1
/* : Bool */;
8791 var1
= string__FlatBufferIterator__is_ok(self
);
8796 /* method string#FlatBufferIterator#item for (self: FlatBufferIterator): Char */
8797 char string__FlatBufferIterator__item(val
* self
) {
8798 char var
/* : Char */;
8799 char* var1
/* : NativeString */;
8800 char* var3
/* : NativeString */;
8801 long var4
/* : Int */;
8802 long var6
/* : Int */;
8803 char var7
/* : Char */;
8804 char var9
/* : Char */;
8806 { /* Inline string#FlatBufferIterator#target_items (self) on <self:FlatBufferIterator> */
8807 var3
= self
->attrs
[COLOR_string__FlatBufferIterator___target_items
].str
; /* _target_items on <self:FlatBufferIterator> */
8813 { /* Inline string#FlatBufferIterator#curr_pos (self) on <self:FlatBufferIterator> */
8814 var6
= self
->attrs
[COLOR_string__FlatBufferIterator___curr_pos
].l
; /* _curr_pos on <self:FlatBufferIterator> */
8820 { /* Inline string#NativeString#[] (var1,var4) on <var1:NativeString> */
8832 /* method string#FlatBufferIterator#item for (self: Object): nullable Object */
8833 val
* VIRTUAL_string__FlatBufferIterator__item(val
* self
) {
8834 val
* var
/* : nullable Object */;
8835 char var1
/* : Char */;
8836 val
* var2
/* : nullable Object */;
8837 var1
= string__FlatBufferIterator__item(self
);
8838 var2
= BOX_kernel__Char(var1
); /* autobox from Char to nullable Object */
8843 /* method string#FlatBufferIterator#next for (self: FlatBufferIterator) */
8844 void string__FlatBufferIterator__next(val
* self
) {
8845 val
* var_
/* var : FlatBufferIterator */;
8846 long var
/* : Int */;
8847 long var2
/* : Int */;
8848 long var3
/* : Int */;
8849 long var4
/* : Int */;
8850 short int var6
/* : Bool */;
8853 const char* var_class_name
;
8854 long var7
/* : Int */;
8857 { /* Inline string#FlatBufferIterator#curr_pos (var_) on <var_:FlatBufferIterator> */
8858 var2
= var_
->attrs
[COLOR_string__FlatBufferIterator___curr_pos
].l
; /* _curr_pos on <var_:FlatBufferIterator> */
8865 { /* Inline kernel#Int#+ (var,var3) on <var:Int> */
8866 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
8867 /* <var3:Int> isa OTHER */
8868 var6
= 1; /* easy <var3:Int> isa OTHER*/
8869 if (unlikely(!var6
)) {
8870 var_class_name
= type_kernel__Int
.name
;
8871 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8872 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
8882 { /* Inline string#FlatBufferIterator#curr_pos= (var_,var4) on <var_:FlatBufferIterator> */
8883 var_
->attrs
[COLOR_string__FlatBufferIterator___curr_pos
].l
= var4
; /* _curr_pos on <var_:FlatBufferIterator> */
8889 /* method string#FlatBufferIterator#next for (self: Object) */
8890 void VIRTUAL_string__FlatBufferIterator__next(val
* self
) {
8891 string__FlatBufferIterator__next(self
); /* Direct call string#FlatBufferIterator#next on <self:Object(FlatBufferIterator)>*/
8894 /* method string#Object#to_s for (self: Object): String */
8895 val
* string__Object__to_s(val
* self
) {
8896 val
* var
/* : String */;
8897 val
* var1
/* : String */;
8899 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__inspect
]))(self
) /* inspect on <self:Object>*/;
8906 /* method string#Object#to_s for (self: Object): String */
8907 val
* VIRTUAL_string__Object__to_s(val
* self
) {
8908 val
* var
/* : String */;
8909 val
* var1
/* : String */;
8910 var1
= string__Object__to_s(self
);
8915 /* method string#Object#native_class_name for (self: Object): NativeString */
8916 char* string__Object__native_class_name(val
* self
) {
8917 char* var
/* : NativeString */;
8918 const char* var_class_name
;
8919 char* var1
/* : NativeString */;
8920 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8921 var1
= (char*)var_class_name
;
8927 /* method string#Object#native_class_name for (self: Object): NativeString */
8928 char* VIRTUAL_string__Object__native_class_name(val
* self
) {
8929 char* var
/* : NativeString */;
8930 char* var1
/* : NativeString */;
8931 const char* var_class_name
;
8932 char* var3
/* : NativeString */;
8933 { /* Inline string#Object#native_class_name (self) on <self:Object> */
8934 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8935 var3
= (char*)var_class_name
;
8944 /* method string#Object#class_name for (self: Object): String */
8945 val
* string__Object__class_name(val
* self
) {
8946 val
* var
/* : String */;
8947 char* var1
/* : NativeString */;
8948 const char* var_class_name
;
8949 char* var3
/* : NativeString */;
8950 val
* var4
/* : String */;
8952 { /* Inline string#Object#native_class_name (self) on <self:Object> */
8953 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8954 var3
= (char*)var_class_name
;
8961 var4
= string__NativeString__to_s(var1
);
8968 /* method string#Object#class_name for (self: Object): String */
8969 val
* VIRTUAL_string__Object__class_name(val
* self
) {
8970 val
* var
/* : String */;
8971 val
* var1
/* : String */;
8972 var1
= string__Object__class_name(self
);
8977 /* method string#Object#inspect for (self: Object): String */
8978 val
* string__Object__inspect(val
* self
) {
8979 val
* var
/* : String */;
8980 static val
* varonce
;
8981 val
* var1
/* : String */;
8982 char* var2
/* : NativeString */;
8983 long var3
/* : Int */;
8984 val
* var4
/* : FlatString */;
8985 val
* var5
/* : String */;
8986 static val
* varonce6
;
8987 val
* var7
/* : String */;
8988 char* var8
/* : NativeString */;
8989 long var9
/* : Int */;
8990 val
* var10
/* : FlatString */;
8991 val
* var11
/* : Array[Object] */;
8992 long var12
/* : Int */;
8993 val
* var13
/* : NativeArray[Object] */;
8994 val
* var14
/* : String */;
9000 var4
= string__NativeString__to_s_with_length(var2
, var3
);
9005 var5
= string__Object__inspect_head(self
);
9012 var10
= string__NativeString__to_s_with_length(var8
, var9
);
9016 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
9017 { /* var11 = array_instance Array[Object] */
9019 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
9020 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var1
;
9021 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var5
;
9022 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var7
;
9024 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
9028 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
9035 /* method string#Object#inspect for (self: Object): String */
9036 val
* VIRTUAL_string__Object__inspect(val
* self
) {
9037 val
* var
/* : String */;
9038 val
* var1
/* : String */;
9039 var1
= string__Object__inspect(self
);
9044 /* method string#Object#inspect_head for (self: Object): String */
9045 val
* string__Object__inspect_head(val
* self
) {
9046 val
* var
/* : String */;
9047 val
* var1
/* : String */;
9048 static val
* varonce
;
9049 val
* var2
/* : String */;
9050 char* var3
/* : NativeString */;
9051 long var4
/* : Int */;
9052 val
* var5
/* : FlatString */;
9053 long var6
/* : Int */;
9054 val
* var7
/* : String */;
9055 val
* var8
/* : Array[Object] */;
9056 long var9
/* : Int */;
9057 val
* var10
/* : NativeArray[Object] */;
9058 val
* var11
/* : String */;
9060 var1
= string__Object__class_name(self
);
9067 var5
= string__NativeString__to_s_with_length(var3
, var4
);
9072 var6
= ((long (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__object_id
]))(self
) /* object_id on <self:Object>*/;
9075 var7
= string__Int__to_hex(var6
);
9077 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
9078 { /* var8 = array_instance Array[Object] */
9080 var10
= NEW_array__NativeArray(var9
, &type_array__NativeArraykernel__Object
);
9081 ((struct instance_array__NativeArray
*)var10
)->values
[0] = (val
*) var1
;
9082 ((struct instance_array__NativeArray
*)var10
)->values
[1] = (val
*) var2
;
9083 ((struct instance_array__NativeArray
*)var10
)->values
[2] = (val
*) var7
;
9085 ((void (*)(val
*, val
*, long))(var8
->class->vft
[COLOR_array__Array__with_native
]))(var8
, var10
, var9
) /* with_native on <var8:Array[Object]>*/;
9089 var11
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_string__Object__to_s
]))(var8
) /* to_s on <var8:Array[Object]>*/;
9096 /* method string#Object#inspect_head for (self: Object): String */
9097 val
* VIRTUAL_string__Object__inspect_head(val
* self
) {
9098 val
* var
/* : String */;
9099 val
* var1
/* : String */;
9100 var1
= string__Object__inspect_head(self
);
9105 /* method string#Object#args for (self: Object): Sequence[String] */
9106 val
* string__Object__args(val
* self
) {
9107 val
* var
/* : Sequence[String] */;
9108 val
* var1
/* : Sys */;
9109 val
* var3
/* : Sys */;
9110 val
* var4
/* : Sequence[String] */;
9112 { /* Inline kernel#Object#sys (self) on <self:Object> */
9120 var4
= string__Sys__program_args(var1
);
9127 /* method string#Object#args for (self: Object): Sequence[String] */
9128 val
* VIRTUAL_string__Object__args(val
* self
) {
9129 val
* var
/* : Sequence[String] */;
9130 val
* var1
/* : Sequence[String] */;
9131 var1
= string__Object__args(self
);
9136 /* method string#Bool#to_s for (self: Bool): String */
9137 val
* string__Bool__to_s(short int self
) {
9138 val
* var
/* : String */;
9139 static val
* varonce
;
9140 static int varonce_guard
;
9141 val
* var1
/* : String */;
9142 static val
* varonce2
;
9143 val
* var3
/* : String */;
9144 char* var4
/* : NativeString */;
9145 long var5
/* : Int */;
9146 val
* var6
/* : FlatString */;
9147 static val
* varonce7
;
9148 static int varonce7_guard
;
9149 val
* var8
/* : String */;
9150 static val
* varonce9
;
9151 val
* var10
/* : String */;
9152 char* var11
/* : NativeString */;
9153 long var12
/* : Int */;
9154 val
* var13
/* : FlatString */;
9156 if (varonce_guard
) {
9164 var6
= string__NativeString__to_s_with_length(var4
, var5
);
9175 if (varonce7_guard
) {
9183 var13
= string__NativeString__to_s_with_length(var11
, var12
);
9197 /* method string#Bool#to_s for (self: Object): String */
9198 val
* VIRTUAL_string__Bool__to_s(val
* self
) {
9199 val
* var
/* : String */;
9200 val
* var1
/* : String */;
9201 short int var2
/* : Bool */;
9202 var2
= ((struct instance_kernel__Bool
*)self
)->value
; /* autounbox from Object to Bool */;
9203 var1
= string__Bool__to_s(var2
);
9208 /* method string#Int#strerror_ext for (self: Int): NativeString */
9209 char* string__Int__strerror_ext(long self
) {
9210 char* var
/* : NativeString */;
9211 char* var1
/* : NativeString */;
9212 var1
= string___Int_strerror_ext___impl(self
);
9218 /* method string#Int#strerror_ext for (self: Object): NativeString */
9219 char* VIRTUAL_string__Int__strerror_ext(val
* self
) {
9220 char* var
/* : NativeString */;
9221 char* var1
/* : NativeString */;
9222 char* var3
/* : NativeString */;
9223 long var4
/* : Int */;
9224 { /* Inline string#Int#strerror_ext (self) on <self:Object(Int)> */
9225 var4
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
9226 var3
= string___Int_strerror_ext___impl(var4
);
9235 /* method string#Int#strerror for (self: Int): String */
9236 val
* string__Int__strerror(long self
) {
9237 val
* var
/* : String */;
9238 char* var1
/* : NativeString */;
9239 char* var3
/* : NativeString */;
9240 val
* var4
/* : String */;
9242 { /* Inline string#Int#strerror_ext (self) on <self:Int> */
9243 var3
= string___Int_strerror_ext___impl(self
);
9250 var4
= string__NativeString__to_s(var1
);
9257 /* method string#Int#strerror for (self: Object): String */
9258 val
* VIRTUAL_string__Int__strerror(val
* self
) {
9259 val
* var
/* : String */;
9260 val
* var1
/* : String */;
9261 long var2
/* : Int */;
9262 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
9263 var1
= string__Int__strerror(var2
);
9268 /* method string#Int#fill_buffer for (self: Int, Buffer, Int, Bool) */
9269 void string__Int__fill_buffer(long self
, val
* p0
, long p1
, short int p2
) {
9270 val
* var_s
/* var s: Buffer */;
9271 long var_base
/* var base: Int */;
9272 short int var_signed
/* var signed: Bool */;
9273 long var
/* : Int */;
9274 short int var1
/* : Bool */;
9275 short int var3
/* : Bool */;
9278 const char* var_class_name
;
9279 short int var4
/* : Bool */;
9280 long var5
/* : Int */;
9281 long var7
/* : Int */;
9282 long var_n
/* var n: Int */;
9283 val
* var8
/* : Sequence[Char] */;
9284 val
* var10
/* : Sequence[Char] */;
9285 long var11
/* : Int */;
9286 char var12
/* : Char */;
9287 val
* var13
/* : nullable Object */;
9288 long var14
/* : Int */;
9289 short int var15
/* : Bool */;
9290 short int var16
/* : Bool */;
9291 short int var18
/* : Bool */;
9292 val
* var19
/* : Sequence[Char] */;
9293 val
* var21
/* : Sequence[Char] */;
9294 long var22
/* : Int */;
9295 char var23
/* : Char */;
9296 val
* var24
/* : nullable Object */;
9297 long var25
/* : Int */;
9298 long var26
/* : Int */;
9299 long var27
/* : Int */;
9300 short int var29
/* : Bool */;
9303 const char* var_class_name32
;
9304 long var33
/* : Int */;
9305 long var_pos
/* var pos: Int */;
9306 short int var34
/* : Bool */;
9307 long var35
/* : Int */;
9308 short int var36
/* : Bool */;
9309 short int var38
/* : Bool */;
9312 const char* var_class_name41
;
9313 short int var42
/* : Bool */;
9314 short int var_
/* var : Bool */;
9315 long var43
/* : Int */;
9316 short int var44
/* : Bool */;
9317 short int var46
/* : Bool */;
9320 const char* var_class_name49
;
9321 short int var50
/* : Bool */;
9322 val
* var51
/* : Sequence[Char] */;
9323 val
* var53
/* : Sequence[Char] */;
9324 long var54
/* : Int */;
9325 long var56
/* : Int */;
9326 char var57
/* : Char */;
9327 val
* var58
/* : nullable Object */;
9328 long var59
/* : Int */;
9329 short int var61
/* : Bool */;
9332 const char* var_class_name64
;
9333 long var65
/* : Int */;
9334 long var66
/* : Int */;
9335 long var67
/* : Int */;
9336 short int var69
/* : Bool */;
9339 const char* var_class_name72
;
9340 long var73
/* : Int */;
9346 { /* Inline kernel#Int#< (self,var) on <self:Int> */
9347 /* Covariant cast for argument 0 (i) <var:Int> isa OTHER */
9348 /* <var:Int> isa OTHER */
9349 var3
= 1; /* easy <var:Int> isa OTHER*/
9350 if (unlikely(!var3
)) {
9351 var_class_name
= type_kernel__Int
.name
;
9352 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
9353 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
9364 { /* Inline kernel#Int#unary - (self) on <self:Int> */
9373 { /* Inline string#FlatBuffer#chars (var_s) on <var_s:Buffer> */
9374 var10
= var_s
->attrs
[COLOR_string__FlatBuffer___chars
].val
; /* _chars on <var_s:Buffer> */
9375 if (unlikely(var10
== NULL
)) {
9376 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
9377 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
9387 var13
= BOX_kernel__Char(var12
); /* autobox from Char to nullable Object */
9388 ((void (*)(val
*, long, val
*))(var8
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var8
, var11
, var13
) /* []= on <var8:Sequence[Char]>*/;
9393 { /* Inline kernel#Int#== (self,var14) on <self:Int> */
9394 var18
= self
== var14
;
9397 RET_LABEL17
:(void)0;
9403 { /* Inline string#FlatBuffer#chars (var_s) on <var_s:Buffer> */
9404 var21
= var_s
->attrs
[COLOR_string__FlatBuffer___chars
].val
; /* _chars on <var_s:Buffer> */
9405 if (unlikely(var21
== NULL
)) {
9406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
9407 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
9411 RET_LABEL20
:(void)0;
9417 var24
= BOX_kernel__Char(var23
); /* autobox from Char to nullable Object */
9418 ((void (*)(val
*, long, val
*))(var19
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var19
, var22
, var24
) /* []= on <var19:Sequence[Char]>*/;
9426 var25
= kernel__Int__digit_count(self
, var_base
);
9430 { /* Inline kernel#Int#- (var25,var26) on <var25:Int> */
9431 /* Covariant cast for argument 0 (i) <var26:Int> isa OTHER */
9432 /* <var26:Int> isa OTHER */
9433 var29
= 1; /* easy <var26:Int> isa OTHER*/
9434 if (unlikely(!var29
)) {
9435 var_class_name32
= type_kernel__Int
.name
;
9436 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32
);
9437 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
9440 var33
= var25
- var26
;
9443 RET_LABEL28
:(void)0;
9450 { /* Inline kernel#Int#>= (var_pos,var35) on <var_pos:Int> */
9451 /* Covariant cast for argument 0 (i) <var35:Int> isa OTHER */
9452 /* <var35:Int> isa OTHER */
9453 var38
= 1; /* easy <var35:Int> isa OTHER*/
9454 if (unlikely(!var38
)) {
9455 var_class_name41
= type_kernel__Int
.name
;
9456 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
9457 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
9460 var42
= var_pos
>= var35
;
9463 RET_LABEL37
:(void)0;
9470 { /* Inline kernel#Int#> (var_n,var43) on <var_n:Int> */
9471 /* Covariant cast for argument 0 (i) <var43:Int> isa OTHER */
9472 /* <var43:Int> isa OTHER */
9473 var46
= 1; /* easy <var43:Int> isa OTHER*/
9474 if (unlikely(!var46
)) {
9475 var_class_name49
= type_kernel__Int
.name
;
9476 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49
);
9477 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
9480 var50
= var_n
> var43
;
9483 RET_LABEL45
:(void)0;
9492 { /* Inline string#FlatBuffer#chars (var_s) on <var_s:Buffer> */
9493 var53
= var_s
->attrs
[COLOR_string__FlatBuffer___chars
].val
; /* _chars on <var_s:Buffer> */
9494 if (unlikely(var53
== NULL
)) {
9495 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
9496 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
9500 RET_LABEL52
:(void)0;
9504 { /* Inline kernel#Int#% (var_n,var_base) on <var_n:Int> */
9505 var56
= var_n
% var_base
;
9508 RET_LABEL55
:(void)0;
9512 var57
= kernel__Int__to_c(var54
);
9515 var58
= BOX_kernel__Char(var57
); /* autobox from Char to nullable Object */
9516 ((void (*)(val
*, long, val
*))(var51
->class->vft
[COLOR_abstract_collection__Sequence___91d_93d_61d
]))(var51
, var_pos
, var58
) /* []= on <var51:Sequence[Char]>*/;
9519 { /* Inline kernel#Int#/ (var_n,var_base) on <var_n:Int> */
9520 /* Covariant cast for argument 0 (i) <var_base:Int> isa OTHER */
9521 /* <var_base:Int> isa OTHER */
9522 var61
= 1; /* easy <var_base:Int> isa OTHER*/
9523 if (unlikely(!var61
)) {
9524 var_class_name64
= type_kernel__Int
.name
;
9525 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64
);
9526 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 333);
9529 var65
= var_n
/ var_base
;
9532 RET_LABEL60
:(void)0;
9538 { /* Inline kernel#Int#- (var_pos,var66) on <var_pos:Int> */
9539 /* Covariant cast for argument 0 (i) <var66:Int> isa OTHER */
9540 /* <var66:Int> isa OTHER */
9541 var69
= 1; /* easy <var66:Int> isa OTHER*/
9542 if (unlikely(!var69
)) {
9543 var_class_name72
= type_kernel__Int
.name
;
9544 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name72
);
9545 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
9548 var73
= var_pos
- var66
;
9551 RET_LABEL68
:(void)0;
9555 CONTINUE_label
: (void)0;
9557 BREAK_label
: (void)0;
9560 /* method string#Int#fill_buffer for (self: Object, Buffer, Int, Bool) */
9561 void VIRTUAL_string__Int__fill_buffer(val
* self
, val
* p0
, long p1
, short int p2
) {
9562 long var
/* : Int */;
9563 var
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
9564 string__Int__fill_buffer(var
, p0
, p1
, p2
); /* Direct call string#Int#fill_buffer on <var:Int>*/
9567 /* method string#Int#native_int_to_s for (self: Int): NativeString */
9568 char* string__Int__native_int_to_s(long self
) {
9569 char* var
/* : NativeString */;
9570 char* var1
/* : NativeString */;
9571 var1
= native_int_to_s(self
);
9577 /* method string#Int#native_int_to_s for (self: Object): NativeString */
9578 char* VIRTUAL_string__Int__native_int_to_s(val
* self
) {
9579 char* var
/* : NativeString */;
9580 char* var1
/* : NativeString */;
9581 char* var3
/* : NativeString */;
9582 long var4
/* : Int */;
9583 { /* Inline string#Int#native_int_to_s (self) on <self:Object(Int)> */
9584 var4
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
9585 var3
= native_int_to_s(var4
);
9594 /* method string#Int#to_s for (self: Int): String */
9595 val
* string__Int__to_s(long self
) {
9596 val
* var
/* : String */;
9597 char* var1
/* : NativeString */;
9598 char* var3
/* : NativeString */;
9599 val
* var4
/* : String */;
9601 { /* Inline string#Int#native_int_to_s (self) on <self:Int> */
9602 var3
= native_int_to_s(self
);
9609 var4
= string__NativeString__to_s(var1
);
9616 /* method string#Int#to_s for (self: Object): String */
9617 val
* VIRTUAL_string__Int__to_s(val
* self
) {
9618 val
* var
/* : String */;
9619 val
* var1
/* : String */;
9620 long var2
/* : Int */;
9621 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
9622 var1
= string__Int__to_s(var2
);
9627 /* method string#Int#to_hex for (self: Int): String */
9628 val
* string__Int__to_hex(long self
) {
9629 val
* var
/* : String */;
9630 long var1
/* : Int */;
9631 short int var2
/* : Bool */;
9632 val
* var3
/* : String */;
9636 var3
= string__Int__to_base(self
, var1
, var2
);
9643 /* method string#Int#to_hex for (self: Object): String */
9644 val
* VIRTUAL_string__Int__to_hex(val
* self
) {
9645 val
* var
/* : String */;
9646 val
* var1
/* : String */;
9647 long var2
/* : Int */;
9648 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
9649 var1
= string__Int__to_hex(var2
);
9654 /* method string#Int#to_base for (self: Int, Int, Bool): String */
9655 val
* string__Int__to_base(long self
, long p0
, short int p1
) {
9656 val
* var
/* : String */;
9657 long var_base
/* var base: Int */;
9658 short int var_signed
/* var signed: Bool */;
9659 long var1
/* : Int */;
9660 long var_l
/* var l: Int */;
9661 val
* var2
/* : FlatBuffer */;
9662 static val
* varonce
;
9663 val
* var3
/* : String */;
9664 char* var4
/* : NativeString */;
9665 long var5
/* : Int */;
9666 val
* var6
/* : FlatString */;
9667 val
* var7
/* : String */;
9668 val
* var_s
/* var s: FlatBuffer */;
9669 val
* var8
/* : String */;
9673 var1
= kernel__Int__digit_count(self
, var_base
);
9676 var2
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
9682 var6
= string__NativeString__to_s_with_length(var4
, var5
);
9687 var7
= string__FlatString___42d(var3
, var_l
);
9690 string__FlatBuffer__from(var2
, var7
); /* Direct call string#FlatBuffer#from on <var2:FlatBuffer>*/
9694 string__Int__fill_buffer(self
, var_s
, var_base
, var_signed
); /* Direct call string#Int#fill_buffer on <self:Int>*/
9697 var8
= string__FlatBuffer__to_s(var_s
);
9704 /* method string#Int#to_base for (self: Object, Int, Bool): String */
9705 val
* VIRTUAL_string__Int__to_base(val
* self
, long p0
, short int p1
) {
9706 val
* var
/* : String */;
9707 val
* var1
/* : String */;
9708 long var2
/* : Int */;
9709 var2
= ((struct instance_kernel__Int
*)self
)->value
; /* autounbox from Object to Int */;
9710 var1
= string__Int__to_base(var2
, p0
, p1
);