1 #include "core__string_search.sep.0.h"
2 /* method string_search#Pattern#split_in for (self: Pattern, Text): Array[Match] */
3 val
* core___core__Pattern___split_in(val
* self
, val
* p0
) {
4 val
* var
/* : Array[Match] */;
5 val
* var_s
/* var s: Text */;
6 val
* var1
/* : Array[Match] */;
7 val
* var_res
/* var res: Array[Match] */;
8 long var_i
/* var i: Int */;
9 val
* var2
/* : nullable Match */;
10 val
* var_match
/* var match: nullable Match */;
11 short int var3
/* : Bool */;
12 short int var4
/* : Bool */;
13 val
* var_other
/* var other: nullable Object */;
14 short int var6
/* : Bool */;
15 short int var7
/* : Bool */;
16 long var8
/* : Int */;
17 long var10
/* : Int */;
18 long var11
/* : Int */;
19 short int var13
/* : Bool */;
22 const char* var_class_name
;
23 long var14
/* : Int */;
24 long var_len
/* var len: Int */;
25 val
* var15
/* : Match */;
26 val
* var16
/* : String */;
27 long var17
/* : Int */;
28 val
* var18
/* : nullable Match */;
29 val
* var19
/* : Match */;
30 val
* var20
/* : String */;
31 long var21
/* : Int */;
32 long var22
/* : Int */;
33 short int var24
/* : Bool */;
36 const char* var_class_name27
;
37 long var28
/* : Int */;
39 var1
= NEW_core__Array(&type_core__Array__core__Match
);
41 core___core__Array___core__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Match]>*/
46 var2
= ((val
*(*)(val
* self
, val
* p0
, long p1
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__string_search__Pattern__search_in
]))(self
, var_s
, 0l); /* search_in on <self:Pattern>*/
50 if (var_match
== NULL
) {
51 var3
= 0; /* is null */
53 var3
= 1; /* arg is null and recv is not */
56 { /* Inline kernel#Object#!= (var_match,((val*)NULL)) on <var_match:nullable Match> */
57 var_other
= ((val
*)NULL
);
59 var6
= ((short int(*)(val
* self
, val
* p0
))(var_match
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_match
, var_other
); /* == on <var_match:nullable Match(Match)>*/
70 { /* Inline string_search#Match#from (var_match) on <var_match:nullable Match(Match)> */
71 var10
= var_match
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <var_match:nullable Match(Match)> */
77 { /* Inline kernel#Int#- (var8,var_i) on <var8:Int> */
78 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
79 /* <var_i:Int> isa OTHER */
80 var13
= 1; /* easy <var_i:Int> isa OTHER*/
81 if (unlikely(!var13
)) {
82 var_class_name
= type_core__Int
.name
;
83 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
84 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
94 var15
= NEW_core__Match(&type_core__Match
);
96 var16
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_s
); /* to_s on <var_s:Text>*/
99 ((void(*)(val
* self
, val
* p0
))(var15
->class->vft
[COLOR_core__string_search__Match__string_61d
]))(var15
, var16
); /* string= on <var15:Match>*/
102 ((void(*)(val
* self
, long p0
))(var15
->class->vft
[COLOR_core__string_search__Match__from_61d
]))(var15
, var_i
); /* from= on <var15:Match>*/
105 ((void(*)(val
* self
, long p0
))(var15
->class->vft
[COLOR_core__string_search__Match__length_61d
]))(var15
, var_len
); /* length= on <var15:Match>*/
108 ((void(*)(val
* self
))(var15
->class->vft
[COLOR_core__kernel__Object__init
]))(var15
); /* init on <var15:Match>*/
111 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var15
); /* Direct call array#Array#add on <var_res:Array[Match]>*/
114 var17
= core___core__Match___after(var_match
);
118 var18
= ((val
*(*)(val
* self
, val
* p0
, long p1
))((((long)self
&3)?class_info
[((long)self
&3)]:self
->class)->vft
[COLOR_core__string_search__Pattern__search_in
]))(self
, var_s
, var_i
); /* search_in on <self:Pattern>*/
125 BREAK_label
: (void)0;
126 var19
= NEW_core__Match(&type_core__Match
);
128 var20
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_s
); /* to_s on <var_s:Text>*/
131 var21
= ((long(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_s
); /* length on <var_s:Text>*/
134 { /* Inline kernel#Int#- (var21,var_i) on <var21:Int> */
135 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
136 /* <var_i:Int> isa OTHER */
137 var24
= 1; /* easy <var_i:Int> isa OTHER*/
138 if (unlikely(!var24
)) {
139 var_class_name27
= type_core__Int
.name
;
140 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
141 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
144 var28
= var21
- var_i
;
151 ((void(*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_core__string_search__Match__string_61d
]))(var19
, var20
); /* string= on <var19:Match>*/
154 ((void(*)(val
* self
, long p0
))(var19
->class->vft
[COLOR_core__string_search__Match__from_61d
]))(var19
, var_i
); /* from= on <var19:Match>*/
157 ((void(*)(val
* self
, long p0
))(var19
->class->vft
[COLOR_core__string_search__Match__length_61d
]))(var19
, var22
); /* length= on <var19:Match>*/
160 ((void(*)(val
* self
))(var19
->class->vft
[COLOR_core__kernel__Object__init
]))(var19
); /* init on <var19:Match>*/
163 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var19
); /* Direct call array#Array#add on <var_res:Array[Match]>*/
170 /* method string_search#Match#string for (self: Match): String */
171 val
* core___core__Match___string(val
* self
) {
172 val
* var
/* : String */;
173 val
* var1
/* : String */;
174 var1
= self
->attrs
[COLOR_core__string_search__Match___string
].val
; /* _string on <self:Match> */
175 if (unlikely(var1
== NULL
)) {
176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
177 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 239);
184 /* method string_search#Match#string= for (self: Match, String) */
185 void core___core__Match___string_61d(val
* self
, val
* p0
) {
186 self
->attrs
[COLOR_core__string_search__Match___string
].val
= p0
; /* _string on <self:Match> */
189 /* method string_search#Match#from for (self: Match): Int */
190 long core___core__Match___from(val
* self
) {
191 long var
/* : Int */;
192 long var1
/* : Int */;
193 var1
= self
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <self:Match> */
198 /* method string_search#Match#from= for (self: Match, Int) */
199 void core___core__Match___from_61d(val
* self
, long p0
) {
200 self
->attrs
[COLOR_core__string_search__Match___from
].l
= p0
; /* _from on <self:Match> */
203 /* method string_search#Match#length for (self: Match): Int */
204 long core___core__Match___length(val
* self
) {
205 long var
/* : Int */;
206 long var1
/* : Int */;
207 var1
= self
->attrs
[COLOR_core__string_search__Match___length
].l
; /* _length on <self:Match> */
212 /* method string_search#Match#length= for (self: Match, Int) */
213 void core___core__Match___length_61d(val
* self
, long p0
) {
214 self
->attrs
[COLOR_core__string_search__Match___length
].l
= p0
; /* _length on <self:Match> */
217 /* method string_search#Match#after for (self: Match): Int */
218 long core___core__Match___after(val
* self
) {
219 long var
/* : Int */;
220 long var1
/* : Int */;
221 long var3
/* : Int */;
222 long var4
/* : Int */;
223 long var6
/* : Int */;
224 long var7
/* : Int */;
225 short int var9
/* : Bool */;
228 const char* var_class_name
;
229 long var10
/* : Int */;
231 { /* Inline string_search#Match#from (self) on <self:Match> */
232 var3
= self
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <self:Match> */
238 { /* Inline string_search#Match#length (self) on <self:Match> */
239 var6
= self
->attrs
[COLOR_core__string_search__Match___length
].l
; /* _length on <self:Match> */
245 { /* Inline kernel#Int#+ (var1,var4) on <var1:Int> */
246 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
247 /* <var4:Int> isa OTHER */
248 var9
= 1; /* easy <var4:Int> isa OTHER*/
249 if (unlikely(!var9
)) {
250 var_class_name
= type_core__Int
.name
;
251 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
252 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
266 /* method string_search#Match#to_s for (self: Match): String */
267 val
* core___core__Match___core__abstract_text__Object__to_s(val
* self
) {
268 val
* var
/* : String */;
269 val
* var1
/* : String */;
270 val
* var3
/* : String */;
271 long var4
/* : Int */;
272 long var6
/* : Int */;
273 long var7
/* : Int */;
274 long var9
/* : Int */;
275 val
* var10
/* : Text */;
277 { /* Inline string_search#Match#string (self) on <self:Match> */
278 var3
= self
->attrs
[COLOR_core__string_search__Match___string
].val
; /* _string on <self:Match> */
279 if (unlikely(var3
== NULL
)) {
280 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
281 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 239);
289 { /* Inline string_search#Match#from (self) on <self:Match> */
290 var6
= self
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <self:Match> */
296 { /* Inline string_search#Match#length (self) on <self:Match> */
297 var9
= self
->attrs
[COLOR_core__string_search__Match___length
].l
; /* _length on <self:Match> */
303 var10
= ((val
*(*)(val
* self
, long p0
, long p1
))(var1
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(var1
, var4
, var7
); /* substring on <var1:String>*/
310 /* method string_search#Match#init for (self: Match) */
311 void core___core__Match___core__kernel__Object__init(val
* self
) {
312 long var
/* : Int */;
313 long var2
/* : Int */;
314 short int var3
/* : Bool */;
315 short int var5
/* : Bool */;
318 const char* var_class_name
;
319 short int var6
/* : Bool */;
320 long var7
/* : Int */;
321 long var9
/* : Int */;
322 short int var10
/* : Bool */;
323 short int var12
/* : Bool */;
326 const char* var_class_name15
;
327 short int var16
/* : Bool */;
328 long var17
/* : Int */;
329 long var19
/* : Int */;
330 long var20
/* : Int */;
331 long var22
/* : Int */;
332 long var23
/* : Int */;
333 short int var25
/* : Bool */;
336 const char* var_class_name28
;
337 long var29
/* : Int */;
338 val
* var30
/* : String */;
339 val
* var32
/* : String */;
340 long var33
/* : Int */;
341 short int var34
/* : Bool */;
342 short int var36
/* : Bool */;
345 const char* var_class_name39
;
346 short int var40
/* : Bool */;
348 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Match___core__kernel__Object__init
]))(self
); /* init on <self:Match>*/
351 { /* Inline string_search#Match#length (self) on <self:Match> */
352 var2
= self
->attrs
[COLOR_core__string_search__Match___length
].l
; /* _length on <self:Match> */
358 { /* Inline kernel#Int#>= (var,0l) on <var:Int> */
359 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
360 /* <0l:Int> isa OTHER */
361 var5
= 1; /* easy <0l:Int> isa OTHER*/
362 if (unlikely(!var5
)) {
363 var_class_name
= type_core__Int
.name
;
364 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
365 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
374 if (unlikely(!var3
)) {
375 PRINT_ERROR("Runtime error: %s", "Assert \'positive_length\' failed");
376 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 298);
380 { /* Inline string_search#Match#from (self) on <self:Match> */
381 var9
= self
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <self:Match> */
387 { /* Inline kernel#Int#>= (var7,0l) on <var7:Int> */
388 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
389 /* <0l:Int> isa OTHER */
390 var12
= 1; /* easy <0l:Int> isa OTHER*/
391 if (unlikely(!var12
)) {
392 var_class_name15
= type_core__Int
.name
;
393 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
394 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
403 if (unlikely(!var10
)) {
404 PRINT_ERROR("Runtime error: %s", "Assert \'valid_from\' failed");
405 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 299);
409 { /* Inline string_search#Match#from (self) on <self:Match> */
410 var19
= self
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <self:Match> */
416 { /* Inline string_search#Match#length (self) on <self:Match> */
417 var22
= self
->attrs
[COLOR_core__string_search__Match___length
].l
; /* _length on <self:Match> */
423 { /* Inline kernel#Int#+ (var17,var20) on <var17:Int> */
424 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
425 /* <var20:Int> isa OTHER */
426 var25
= 1; /* easy <var20:Int> isa OTHER*/
427 if (unlikely(!var25
)) {
428 var_class_name28
= type_core__Int
.name
;
429 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
430 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
433 var29
= var17
+ var20
;
440 { /* Inline string_search#Match#string (self) on <self:Match> */
441 var32
= self
->attrs
[COLOR_core__string_search__Match___string
].val
; /* _string on <self:Match> */
442 if (unlikely(var32
== NULL
)) {
443 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
444 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 239);
452 var33
= ((long(*)(val
* self
))(var30
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var30
); /* length on <var30:String>*/
455 { /* Inline kernel#Int#<= (var23,var33) on <var23:Int> */
456 /* Covariant cast for argument 0 (i) <var33:Int> isa OTHER */
457 /* <var33:Int> isa OTHER */
458 var36
= 1; /* easy <var33:Int> isa OTHER*/
459 if (unlikely(!var36
)) {
460 var_class_name39
= type_core__Int
.name
;
461 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
462 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
465 var40
= var23
<= var33
;
471 if (unlikely(!var34
)) {
472 PRINT_ERROR("Runtime error: %s", "Assert \'valid_after\' failed");
473 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 300);
478 /* method string_search#Char#search_index_in for (self: Char, Text, Int): Int */
479 long core__string_search___Char___Pattern__search_index_in(uint32_t self
, val
* p0
, long p1
) {
480 long var
/* : Int */;
481 val
* var_s
/* var s: Text */;
482 long var_from
/* var from: Int */;
483 long var1
/* : Int */;
484 long var_stop
/* var stop: Int */;
485 short int var2
/* : Bool */;
486 short int var4
/* : Bool */;
489 const char* var_class_name
;
490 short int var5
/* : Bool */;
491 val
* var6
/* : SequenceRead[Char] */;
492 val
* var7
/* : nullable Object */;
493 short int var8
/* : Bool */;
494 short int var10
/* : Bool */;
495 uint32_t var11
/* : Char */;
496 long var12
/* : Int */;
497 short int var14
/* : Bool */;
500 const char* var_class_name17
;
501 long var18
/* : Int */;
502 long var19
/* : Int */;
503 long var21
/* : Int */;
507 var1
= ((long(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_s
); /* length on <var_s:Text>*/
512 { /* Inline kernel#Int#< (var_from,var_stop) on <var_from:Int> */
513 /* Covariant cast for argument 0 (i) <var_stop:Int> isa OTHER */
514 /* <var_stop:Int> isa OTHER */
515 var4
= 1; /* easy <var_stop:Int> isa OTHER*/
516 if (unlikely(!var4
)) {
517 var_class_name
= type_core__Int
.name
;
518 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
519 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
522 var5
= var_from
< var_stop
;
530 var6
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_s
); /* chars on <var_s:Text>*/
533 var7
= ((val
*(*)(val
* self
, long p0
))((((long)var6
&3)?class_info
[((long)var6
&3)]:var6
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var6
, var_from
); /* [] on <var6:SequenceRead[Char]>*/
536 { /* Inline kernel#Char#== (var7,self) on <var7:nullable Object(Char)> */
537 var11
= (uint32_t)((long)(var7
)>>2);
538 var10
= var11
== self
;
550 { /* Inline kernel#Int#+ (var_from,1l) on <var_from:Int> */
551 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
552 /* <1l:Int> isa OTHER */
553 var14
= 1; /* easy <1l:Int> isa OTHER*/
554 if (unlikely(!var14
)) {
555 var_class_name17
= type_core__Int
.name
;
556 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
557 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
560 var18
= var_from
+ 1l;
571 BREAK_label
: (void)0;
573 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
585 /* method string_search#Char#search_index_in for (self: Pattern, Text, Int): Int */
586 long VIRTUAL_core__string_search___Char___Pattern__search_index_in(val
* self
, val
* p0
, long p1
) {
587 long var
/* : Int */;
588 long var1
/* : Int */;
589 uint32_t var2
/* : Char */;
590 var2
= (uint32_t)((long)(self
)>>2);
591 var1
= core__string_search___Char___Pattern__search_index_in(var2
, p0
, p1
);
596 /* method string_search#Char#search_in for (self: Char, Text, Int): nullable Match */
597 val
* core__string_search___Char___Pattern__search_in(uint32_t self
, val
* p0
, long p1
) {
598 val
* var
/* : nullable Match */;
599 val
* var_s
/* var s: Text */;
600 long var_from
/* var from: Int */;
601 long var1
/* : Int */;
602 long var_pos
/* var pos: Int */;
603 short int var2
/* : Bool */;
604 short int var4
/* : Bool */;
607 const char* var_class_name
;
608 short int var5
/* : Bool */;
609 val
* var6
/* : Match */;
610 val
* var7
/* : String */;
614 var1
= core__string_search___Char___Pattern__search_index_in(self
, var_s
, var_from
);
618 { /* Inline kernel#Int#< (var_pos,0l) on <var_pos:Int> */
619 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
620 /* <0l:Int> isa OTHER */
621 var4
= 1; /* easy <0l:Int> isa OTHER*/
622 if (unlikely(!var4
)) {
623 var_class_name
= type_core__Int
.name
;
624 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
625 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
638 var6
= NEW_core__Match(&type_core__Match
);
640 var7
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_s
); /* to_s on <var_s:Text>*/
643 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_core__string_search__Match__string_61d
]))(var6
, var7
); /* string= on <var6:Match>*/
646 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_core__string_search__Match__from_61d
]))(var6
, var_pos
); /* from= on <var6:Match>*/
649 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_core__string_search__Match__length_61d
]))(var6
, 1l); /* length= on <var6:Match>*/
652 ((void(*)(val
* self
))(var6
->class->vft
[COLOR_core__kernel__Object__init
]))(var6
); /* init on <var6:Match>*/
660 /* method string_search#Char#search_in for (self: Pattern, Text, Int): nullable Match */
661 val
* VIRTUAL_core__string_search___Char___Pattern__search_in(val
* self
, val
* p0
, long p1
) {
662 val
* var
/* : nullable Match */;
663 val
* var1
/* : nullable Match */;
664 uint32_t var2
/* : Char */;
665 var2
= (uint32_t)((long)(self
)>>2);
666 var1
= core__string_search___Char___Pattern__search_in(var2
, p0
, p1
);
671 /* method string_search#Text#search_index_in for (self: Text, Text, Int): Int */
672 long core__string_search___Text___Pattern__search_index_in(val
* self
, val
* p0
, long p1
) {
673 long var
/* : Int */;
674 val
* var_s
/* var s: Text */;
675 long var_from
/* var from: Int */;
676 short int var1
/* : Bool */;
677 short int var3
/* : Bool */;
680 const char* var_class_name
;
681 short int var4
/* : Bool */;
682 long var5
/* : Int */;
683 long var6
/* : Int */;
684 long var7
/* : Int */;
685 short int var9
/* : Bool */;
688 const char* var_class_name12
;
689 long var13
/* : Int */;
690 long var14
/* : Int */;
691 short int var16
/* : Bool */;
694 const char* var_class_name19
;
695 long var20
/* : Int */;
696 long var_stop
/* var stop: Int */;
697 short int var21
/* : Bool */;
698 short int var23
/* : Bool */;
701 const char* var_class_name26
;
702 short int var27
/* : Bool */;
703 long var28
/* : Int */;
704 long var29
/* : Int */;
705 short int var31
/* : Bool */;
708 const char* var_class_name34
;
709 long var35
/* : Int */;
710 long var_i
/* var i: Int */;
711 short int var36
/* : Bool */;
712 short int var37
/* : Bool */;
713 short int var39
/* : Bool */;
716 const char* var_class_name42
;
717 short int var43
/* : Bool */;
718 short int var_
/* var : Bool */;
719 val
* var44
/* : SequenceRead[Char] */;
720 val
* var45
/* : nullable Object */;
721 val
* var46
/* : SequenceRead[Char] */;
722 long var47
/* : Int */;
723 short int var49
/* : Bool */;
726 const char* var_class_name52
;
727 long var53
/* : Int */;
728 val
* var54
/* : nullable Object */;
729 short int var55
/* : Bool */;
730 short int var57
/* : Bool */;
731 long var58
/* : Int */;
732 short int var60
/* : Bool */;
735 const char* var_class_name63
;
736 long var64
/* : Int */;
737 short int var65
/* : Bool */;
738 short int var67
/* : Bool */;
741 const char* var_class_name70
;
742 short int var71
/* : Bool */;
743 long var72
/* : Int */;
744 short int var74
/* : Bool */;
747 const char* var_class_name77
;
748 long var78
/* : Int */;
749 long var80
/* : Int */;
750 long var82
/* : Int */;
754 { /* Inline kernel#Int#>= (var_from,0l) on <var_from:Int> */
755 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
756 /* <0l:Int> isa OTHER */
757 var3
= 1; /* easy <0l:Int> isa OTHER*/
758 if (unlikely(!var3
)) {
759 var_class_name
= type_core__Int
.name
;
760 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
761 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
764 var4
= var_from
>= 0l;
770 if (unlikely(!var1
)) {
771 PRINT_ERROR("Runtime error: %s", "Assert failed");
772 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 333);
776 var5
= ((long(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_s
); /* length on <var_s:Text>*/
779 var6
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:Text>*/
782 { /* Inline kernel#Int#- (var5,var6) on <var5:Int> */
783 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
784 /* <var6:Int> isa OTHER */
785 var9
= 1; /* easy <var6:Int> isa OTHER*/
786 if (unlikely(!var9
)) {
787 var_class_name12
= type_core__Int
.name
;
788 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
789 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
799 { /* Inline kernel#Int#+ (var7,1l) on <var7:Int> */
800 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
801 /* <1l:Int> isa OTHER */
802 var16
= 1; /* easy <1l:Int> isa OTHER*/
803 if (unlikely(!var16
)) {
804 var_class_name19
= type_core__Int
.name
;
805 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
806 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
818 { /* Inline kernel#Int#< (var_from,var_stop) on <var_from:Int> */
819 /* Covariant cast for argument 0 (i) <var_stop:Int> isa OTHER */
820 /* <var_stop:Int> isa OTHER */
821 var23
= 1; /* easy <var_stop:Int> isa OTHER*/
822 if (unlikely(!var23
)) {
823 var_class_name26
= type_core__Int
.name
;
824 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
825 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
828 var27
= var_from
< var_stop
;
836 var28
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:Text>*/
839 { /* Inline kernel#Int#- (var28,1l) on <var28:Int> */
840 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
841 /* <1l:Int> isa OTHER */
842 var31
= 1; /* easy <1l:Int> isa OTHER*/
843 if (unlikely(!var31
)) {
844 var_class_name34
= type_core__Int
.name
;
845 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
846 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
858 { /* Inline kernel#Int#>= (var_i,0l) on <var_i:Int> */
859 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
860 /* <0l:Int> isa OTHER */
861 var39
= 1; /* easy <0l:Int> isa OTHER*/
862 if (unlikely(!var39
)) {
863 var_class_name42
= type_core__Int
.name
;
864 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42
);
865 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
877 var44
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(self
); /* chars on <self:Text>*/
880 var45
= ((val
*(*)(val
* self
, long p0
))((((long)var44
&3)?class_info
[((long)var44
&3)]:var44
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var44
, var_i
); /* [] on <var44:SequenceRead[Char]>*/
883 var46
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Text__chars
]))(var_s
); /* chars on <var_s:Text>*/
886 { /* Inline kernel#Int#+ (var_i,var_from) on <var_i:Int> */
887 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
888 /* <var_from:Int> isa OTHER */
889 var49
= 1; /* easy <var_from:Int> isa OTHER*/
890 if (unlikely(!var49
)) {
891 var_class_name52
= type_core__Int
.name
;
892 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52
);
893 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
896 var53
= var_i
+ var_from
;
903 var54
= ((val
*(*)(val
* self
, long p0
))((((long)var46
&3)?class_info
[((long)var46
&3)]:var46
->class)->vft
[COLOR_core__abstract_collection__SequenceRead___91d_93d
]))(var46
, var47
); /* [] on <var46:SequenceRead[Char]>*/
906 { /* Inline kernel#Char#== (var45,var54) on <var45:nullable Object(Char)> */
907 var57
= var45
== var54
;
919 { /* Inline kernel#Int#- (var_i,1l) on <var_i:Int> */
920 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
921 /* <1l:Int> isa OTHER */
922 var60
= 1; /* easy <1l:Int> isa OTHER*/
923 if (unlikely(!var60
)) {
924 var_class_name63
= type_core__Int
.name
;
925 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63
);
926 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
940 BREAK_label
: (void)0;
942 { /* Inline kernel#Int#< (var_i,0l) on <var_i:Int> */
943 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
944 /* <0l:Int> isa OTHER */
945 var67
= 1; /* easy <0l:Int> isa OTHER*/
946 if (unlikely(!var67
)) {
947 var_class_name70
= type_core__Int
.name
;
948 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70
);
949 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
964 { /* Inline kernel#Int#+ (var_from,1l) on <var_from:Int> */
965 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
966 /* <1l:Int> isa OTHER */
967 var74
= 1; /* easy <1l:Int> isa OTHER*/
968 if (unlikely(!var74
)) {
969 var_class_name77
= type_core__Int
.name
;
970 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name77
);
971 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
974 var78
= var_from
+ 1l;
985 BREAK_label79
: (void)0;
987 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
999 /* method string_search#Text#search_in for (self: Text, Text, Int): nullable Match */
1000 val
* core__string_search___Text___Pattern__search_in(val
* self
, val
* p0
, long p1
) {
1001 val
* var
/* : nullable Match */;
1002 val
* var_s
/* var s: Text */;
1003 long var_from
/* var from: Int */;
1004 long var1
/* : Int */;
1005 long var_pos
/* var pos: Int */;
1006 short int var2
/* : Bool */;
1007 short int var4
/* : Bool */;
1010 const char* var_class_name
;
1011 short int var5
/* : Bool */;
1012 val
* var6
/* : Match */;
1013 val
* var7
/* : String */;
1014 long var8
/* : Int */;
1018 var1
= core__string_search___Text___Pattern__search_index_in(self
, var_s
, var_from
);
1022 { /* Inline kernel#Int#< (var_pos,0l) on <var_pos:Int> */
1023 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1024 /* <0l:Int> isa OTHER */
1025 var4
= 1; /* easy <0l:Int> isa OTHER*/
1026 if (unlikely(!var4
)) {
1027 var_class_name
= type_core__Int
.name
;
1028 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1029 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
1032 var5
= var_pos
< 0l;
1042 var6
= NEW_core__Match(&type_core__Match
);
1044 var7
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_s
); /* to_s on <var_s:Text>*/
1047 var8
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:Text>*/
1050 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_core__string_search__Match__string_61d
]))(var6
, var7
); /* string= on <var6:Match>*/
1053 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_core__string_search__Match__from_61d
]))(var6
, var_pos
); /* from= on <var6:Match>*/
1056 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_core__string_search__Match__length_61d
]))(var6
, var8
); /* length= on <var6:Match>*/
1059 ((void(*)(val
* self
))(var6
->class->vft
[COLOR_core__kernel__Object__init
]))(var6
); /* init on <var6:Match>*/
1067 /* method string_search#Text#split for (self: Text, Pattern): Array[String] */
1068 val
* core__string_search___Text___split(val
* self
, val
* p0
) {
1069 val
* var
/* : Array[String] */;
1070 val
* var_pattern
/* var pattern: Pattern */;
1071 val
* var1
/* : Array[Match] */;
1072 val
* var_matches
/* var matches: Array[Match] */;
1073 val
* var2
/* : Array[String] */;
1074 long var3
/* : Int */;
1075 long var5
/* : Int */;
1076 val
* var_res
/* var res: Array[String] */;
1077 val
* var_
/* var : Array[Match] */;
1078 val
* var6
/* : IndexedIterator[nullable Object] */;
1079 val
* var_7
/* var : IndexedIterator[Match] */;
1080 short int var8
/* : Bool */;
1081 val
* var9
/* : nullable Object */;
1082 val
* var_m
/* var m: Match */;
1083 val
* var10
/* : String */;
1086 var1
= core___core__Pattern___split_in(var_pattern
, self
);
1089 var2
= NEW_core__Array(&type_core__Array__core__String
);
1091 { /* Inline array#AbstractArrayRead#length (var_matches) on <var_matches:Array[Match]> */
1092 var5
= var_matches
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_matches:Array[Match]> */
1098 core___core__Array___with_capacity(var2
, var3
); /* Direct call array#Array#with_capacity on <var2:Array[String]>*/
1103 var6
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
1108 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:IndexedIterator[Match]>*/
1115 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:IndexedIterator[Match]>*/
1119 var10
= core___core__Match___core__abstract_text__Object__to_s(var_m
);
1122 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var10
); /* Direct call array#Array#add on <var_res:Array[String]>*/
1125 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:IndexedIterator[Match]>*/
1128 BREAK_label
: (void)0;
1130 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:IndexedIterator[Match]>*/
1137 /* method string_search#Text#split_with for (self: Text, Pattern): Array[String] */
1138 val
* core__string_search___Text___split_with(val
* self
, val
* p0
) {
1139 val
* var
/* : Array[String] */;
1140 val
* var_pattern
/* var pattern: Pattern */;
1141 val
* var1
/* : Array[String] */;
1144 var1
= core__string_search___Text___split(self
, var_pattern
);
1151 /* method string_search#Text#split_once_on for (self: Text, Pattern): Array[Text] */
1152 val
* core__string_search___Text___split_once_on(val
* self
, val
* p0
) {
1153 val
* var
/* : Array[Text] */;
1154 val
* var_pattern
/* var pattern: Pattern */;
1155 val
* var1
/* : nullable Match */;
1156 val
* var_m
/* var m: nullable Match */;
1157 val
* var2
/* : Array[Text] */;
1158 val
* var_res
/* var res: Array[Text] */;
1159 short int var3
/* : Bool */;
1160 short int var4
/* : Bool */;
1161 val
* var_other
/* var other: nullable Object */;
1162 short int var6
/* : Bool */;
1163 short int var8
/* : Bool */;
1164 short int var9
/* : Bool */;
1167 const struct type
* type_struct
;
1168 const char* var_class_name
;
1169 long var10
/* : Int */;
1170 long var12
/* : Int */;
1171 val
* var13
/* : Text */;
1172 long var14
/* : Int */;
1173 val
* var15
/* : Text */;
1176 var1
= ((val
*(*)(val
* self
, val
* p0
, long p1
))((((long)var_pattern
&3)?class_info
[((long)var_pattern
&3)]:var_pattern
->class)->vft
[COLOR_core__string_search__Pattern__search_in
]))(var_pattern
, self
, 0l); /* search_in on <var_pattern:Pattern>*/
1179 var2
= NEW_core__Array(self
->type
->resolution_table
->types
[COLOR_core__Array__core__abstract_text__Text__SELFTYPE
]);
1181 core___core__Array___core__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Text]>*/
1184 if (var_m
== NULL
) {
1185 var3
= 1; /* is null */
1187 var3
= 0; /* arg is null but recv is not */
1190 { /* Inline kernel#Object#== (var_m,((val*)NULL)) on <var_m:nullable Match> */
1191 var_other
= ((val
*)NULL
);
1193 { /* Inline kernel#Object#is_same_instance (var_m,var_other) on <var_m:nullable Match(Match)> */
1194 var8
= var_m
== var_other
;
1207 /* <self:Text> isa SELFTYPE */
1208 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__abstract_text__Text__SELFTYPE
];
1209 cltype
= type_struct
->color
;
1210 idtype
= type_struct
->id
;
1211 if(cltype
>= self
->type
->table_size
) {
1214 var9
= self
->type
->type_table
[cltype
] == idtype
;
1216 if (unlikely(!var9
)) {
1217 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1218 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
1219 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 465);
1223 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, self
); /* Direct call array#Array#add on <var_res:Array[Text]>*/
1227 { /* Inline string_search#Match#from (var_m) on <var_m:nullable Match(Match)> */
1228 var12
= var_m
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <var_m:nullable Match(Match)> */
1230 RET_LABEL11
:(void)0;
1234 var13
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(self
, 0l, var10
); /* substring on <self:Text>*/
1237 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var13
); /* Direct call array#Array#add on <var_res:Array[Text]>*/
1240 var14
= core___core__Match___after(var_m
);
1243 var15
= ((val
*(*)(val
* self
, long p0
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring_from
]))(self
, var14
); /* substring_from on <self:Text>*/
1246 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var15
); /* Direct call array#Array#add on <var_res:Array[Text]>*/
1254 /* method string_search#Text#replace for (self: Text, Pattern, Text): String */
1255 val
* core__string_search___Text___replace(val
* self
, val
* p0
, val
* p1
) {
1256 val
* var
/* : String */;
1257 short int var1
/* : Bool */;
1260 const struct type
* type_struct
;
1261 const char* var_class_name
;
1262 val
* var_pattern
/* var pattern: Pattern */;
1263 val
* var_string
/* var string: Text */;
1264 val
* var2
/* : Array[String] */;
1265 val
* var3
/* : String */;
1266 /* Covariant cast for argument 1 (string) <p1:Text> isa SELFTYPE */
1267 /* <p1:Text> isa SELFTYPE */
1268 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__abstract_text__Text__SELFTYPE
];
1269 cltype
= type_struct
->color
;
1270 idtype
= type_struct
->id
;
1271 if(cltype
>= p1
->type
->table_size
) {
1274 var1
= p1
->type
->type_table
[cltype
] == idtype
;
1276 if (unlikely(!var1
)) {
1277 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
1278 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
1279 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 473);
1285 var2
= core__string_search___Text___split_with(self
, var_pattern
);
1288 var3
= core__abstract_text___Collection___join(var2
, var_string
);
1295 /* method string_search#Text#remove_all for (self: Text, Pattern): String */
1296 val
* core__string_search___Text___remove_all(val
* self
, val
* p0
) {
1297 val
* var
/* : String */;
1298 val
* var_pattern
/* var pattern: Pattern */;
1299 val
* var1
/* : Array[String] */;
1300 val
* var2
/* : String */;
1303 var1
= core__string_search___Text___split(self
, var_pattern
);
1306 var2
= core__abstract_text___Collection___join(var1
, ((val
*)NULL
));