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
, 731);
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
, 731);
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 if(catchStack
.cursor
>= 0){
177 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
180 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 239);
187 /* method string_search$Match$string= for (self: Match, String) */
188 void core___core__Match___string_61d(val
* self
, val
* p0
) {
189 self
->attrs
[COLOR_core__string_search__Match___string
].val
= p0
; /* _string on <self:Match> */
192 /* method string_search$Match$from for (self: Match): Int */
193 long core___core__Match___from(val
* self
) {
194 long var
/* : Int */;
195 long var1
/* : Int */;
196 var1
= self
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <self:Match> */
201 /* method string_search$Match$from= for (self: Match, Int) */
202 void core___core__Match___from_61d(val
* self
, long p0
) {
203 self
->attrs
[COLOR_core__string_search__Match___from
].l
= p0
; /* _from on <self:Match> */
206 /* method string_search$Match$length for (self: Match): Int */
207 long core___core__Match___length(val
* self
) {
208 long var
/* : Int */;
209 long var1
/* : Int */;
210 var1
= self
->attrs
[COLOR_core__string_search__Match___length
].l
; /* _length on <self:Match> */
215 /* method string_search$Match$length= for (self: Match, Int) */
216 void core___core__Match___length_61d(val
* self
, long p0
) {
217 self
->attrs
[COLOR_core__string_search__Match___length
].l
= p0
; /* _length on <self:Match> */
220 /* method string_search$Match$after for (self: Match): Int */
221 long core___core__Match___after(val
* self
) {
222 long var
/* : Int */;
223 long var1
/* : Int */;
224 long var3
/* : Int */;
225 long var4
/* : Int */;
226 long var6
/* : Int */;
227 long var7
/* : Int */;
228 short int var9
/* : Bool */;
231 const char* var_class_name
;
232 long var10
/* : Int */;
234 { /* Inline string_search$Match$from (self) on <self:Match> */
235 var3
= self
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <self:Match> */
241 { /* Inline string_search$Match$length (self) on <self:Match> */
242 var6
= self
->attrs
[COLOR_core__string_search__Match___length
].l
; /* _length on <self:Match> */
248 { /* Inline kernel$Int$+ (var1,var4) on <var1:Int> */
249 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
250 /* <var4:Int> isa OTHER */
251 var9
= 1; /* easy <var4:Int> isa OTHER*/
252 if (unlikely(!var9
)) {
253 var_class_name
= type_core__Int
.name
;
254 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
255 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
269 /* method string_search$Match$to_s for (self: Match): String */
270 val
* core___core__Match___core__abstract_text__Object__to_s(val
* self
) {
271 val
* var
/* : String */;
272 val
* var1
/* : String */;
273 val
* var3
/* : String */;
274 long var4
/* : Int */;
275 long var6
/* : Int */;
276 long var7
/* : Int */;
277 long var9
/* : Int */;
278 val
* var10
/* : Text */;
280 { /* Inline string_search$Match$string (self) on <self:Match> */
281 var3
= self
->attrs
[COLOR_core__string_search__Match___string
].val
; /* _string on <self:Match> */
282 if (unlikely(var3
== NULL
)) {
283 if(catchStack
.cursor
>= 0){
284 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
286 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
287 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 239);
295 { /* Inline string_search$Match$from (self) on <self:Match> */
296 var6
= self
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <self:Match> */
302 { /* Inline string_search$Match$length (self) on <self:Match> */
303 var9
= self
->attrs
[COLOR_core__string_search__Match___length
].l
; /* _length on <self:Match> */
309 var10
= ((val
*(*)(val
* self
, long p0
, long p1
))(var1
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(var1
, var4
, var7
); /* substring on <var1:String>*/
316 /* method string_search$Match$init for (self: Match) */
317 void core___core__Match___core__kernel__Object__init(val
* self
) {
318 long var
/* : Int */;
319 long var2
/* : Int */;
320 short int var3
/* : Bool */;
321 short int var5
/* : Bool */;
324 const char* var_class_name
;
325 short int var6
/* : Bool */;
326 long var7
/* : Int */;
327 long var9
/* : Int */;
328 short int var10
/* : Bool */;
329 short int var12
/* : Bool */;
332 const char* var_class_name15
;
333 short int var16
/* : Bool */;
334 long var17
/* : Int */;
335 long var19
/* : Int */;
336 long var20
/* : Int */;
337 long var22
/* : Int */;
338 long var23
/* : Int */;
339 short int var25
/* : Bool */;
342 const char* var_class_name28
;
343 long var29
/* : Int */;
344 val
* var30
/* : String */;
345 val
* var32
/* : String */;
346 long var33
/* : Int */;
347 short int var34
/* : Bool */;
348 short int var36
/* : Bool */;
351 const char* var_class_name39
;
352 short int var40
/* : Bool */;
354 ((void(*)(val
* self
))(self
->class->vft
[COLOR_core___core__Match___core__kernel__Object__init
]))(self
); /* init on <self:Match>*/
357 { /* Inline string_search$Match$length (self) on <self:Match> */
358 var2
= self
->attrs
[COLOR_core__string_search__Match___length
].l
; /* _length on <self:Match> */
364 { /* Inline kernel$Int$>= (var,0l) on <var:Int> */
365 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
366 /* <0l:Int> isa OTHER */
367 var5
= 1; /* easy <0l:Int> isa OTHER*/
368 if (unlikely(!var5
)) {
369 var_class_name
= type_core__Int
.name
;
370 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
371 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
380 if (unlikely(!var3
)) {
381 if(catchStack
.cursor
>= 0){
382 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
384 PRINT_ERROR("Runtime error: %s", "Assert \'positive_length\' failed");
385 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 298);
389 { /* Inline string_search$Match$from (self) on <self:Match> */
390 var9
= self
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <self:Match> */
396 { /* Inline kernel$Int$>= (var7,0l) on <var7:Int> */
397 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
398 /* <0l:Int> isa OTHER */
399 var12
= 1; /* easy <0l:Int> isa OTHER*/
400 if (unlikely(!var12
)) {
401 var_class_name15
= type_core__Int
.name
;
402 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
403 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
412 if (unlikely(!var10
)) {
413 if(catchStack
.cursor
>= 0){
414 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
416 PRINT_ERROR("Runtime error: %s", "Assert \'valid_from\' failed");
417 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 299);
421 { /* Inline string_search$Match$from (self) on <self:Match> */
422 var19
= self
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <self:Match> */
428 { /* Inline string_search$Match$length (self) on <self:Match> */
429 var22
= self
->attrs
[COLOR_core__string_search__Match___length
].l
; /* _length on <self:Match> */
435 { /* Inline kernel$Int$+ (var17,var20) on <var17:Int> */
436 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
437 /* <var20:Int> isa OTHER */
438 var25
= 1; /* easy <var20:Int> isa OTHER*/
439 if (unlikely(!var25
)) {
440 var_class_name28
= type_core__Int
.name
;
441 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
442 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
445 var29
= var17
+ var20
;
452 { /* Inline string_search$Match$string (self) on <self:Match> */
453 var32
= self
->attrs
[COLOR_core__string_search__Match___string
].val
; /* _string on <self:Match> */
454 if (unlikely(var32
== NULL
)) {
455 if(catchStack
.cursor
>= 0){
456 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
458 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
459 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 239);
467 var33
= ((long(*)(val
* self
))(var30
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var30
); /* length on <var30:String>*/
470 { /* Inline kernel$Int$<= (var23,var33) on <var23:Int> */
471 /* Covariant cast for argument 0 (i) <var33:Int> isa OTHER */
472 /* <var33:Int> isa OTHER */
473 var36
= 1; /* easy <var33:Int> isa OTHER*/
474 if (unlikely(!var36
)) {
475 var_class_name39
= type_core__Int
.name
;
476 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
477 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 724);
480 var40
= var23
<= var33
;
486 if (unlikely(!var34
)) {
487 if(catchStack
.cursor
>= 0){
488 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
490 PRINT_ERROR("Runtime error: %s", "Assert \'valid_after\' failed");
491 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 300);
496 /* method string_search$Char$search_index_in for (self: Char, Text, Int): Int */
497 long core__string_search___Char___Pattern__search_index_in(uint32_t self
, val
* p0
, long p1
) {
498 long var
/* : Int */;
499 val
* var_s
/* var s: Text */;
500 long var_from
/* var from: Int */;
501 long var1
/* : Int */;
502 long var_stop
/* var stop: Int */;
503 short int var2
/* : Bool */;
504 short int var4
/* : Bool */;
507 const char* var_class_name
;
508 short int var5
/* : Bool */;
509 uint32_t var6
/* : Char */;
510 short int var7
/* : Bool */;
511 short int var9
/* : Bool */;
512 long var10
/* : Int */;
513 short int var12
/* : Bool */;
516 const char* var_class_name15
;
517 long var16
/* : Int */;
518 long var17
/* : Int */;
519 long var19
/* : Int */;
523 var1
= ((long(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_s
); /* length on <var_s:Text>*/
528 { /* Inline kernel$Int$< (var_from,var_stop) on <var_from:Int> */
529 /* Covariant cast for argument 0 (i) <var_stop:Int> isa OTHER */
530 /* <var_stop:Int> isa OTHER */
531 var4
= 1; /* easy <var_stop:Int> isa OTHER*/
532 if (unlikely(!var4
)) {
533 var_class_name
= type_core__Int
.name
;
534 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
535 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
538 var5
= var_from
< var_stop
;
546 var6
= ((uint32_t(*)(val
* self
, long p0
))(var_s
->class->vft
[COLOR_core__abstract_text__Text___91d_93d
]))(var_s
, var_from
); /* [] on <var_s:Text>*/
549 { /* Inline kernel$Char$== (var6,self) on <var6:Char> */
562 { /* Inline kernel$Int$+ (var_from,1l) on <var_from:Int> */
563 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
564 /* <1l:Int> isa OTHER */
565 var12
= 1; /* easy <1l:Int> isa OTHER*/
566 if (unlikely(!var12
)) {
567 var_class_name15
= type_core__Int
.name
;
568 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
569 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
572 var16
= var_from
+ 1l;
583 BREAK_label
: (void)0;
585 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
597 /* method string_search$Char$search_index_in for (self: Pattern, Text, Int): Int */
598 long VIRTUAL_core__string_search___Char___Pattern__search_index_in(val
* self
, val
* p0
, long p1
) {
599 long var
/* : Int */;
600 long var1
/* : Int */;
601 uint32_t var2
/* : Char */;
602 var2
= (uint32_t)((long)(self
)>>2);
603 var1
= core__string_search___Char___Pattern__search_index_in(var2
, p0
, p1
);
608 /* method string_search$Char$search_in for (self: Char, Text, Int): nullable Match */
609 val
* core__string_search___Char___Pattern__search_in(uint32_t self
, val
* p0
, long p1
) {
610 val
* var
/* : nullable Match */;
611 val
* var_s
/* var s: Text */;
612 long var_from
/* var from: Int */;
613 long var1
/* : Int */;
614 long var_pos
/* var pos: Int */;
615 short int var2
/* : Bool */;
616 short int var4
/* : Bool */;
619 const char* var_class_name
;
620 short int var5
/* : Bool */;
621 val
* var6
/* : Match */;
622 val
* var7
/* : String */;
626 var1
= core__string_search___Char___Pattern__search_index_in(self
, var_s
, var_from
);
630 { /* Inline kernel$Int$< (var_pos,0l) on <var_pos:Int> */
631 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
632 /* <0l:Int> isa OTHER */
633 var4
= 1; /* easy <0l:Int> isa OTHER*/
634 if (unlikely(!var4
)) {
635 var_class_name
= type_core__Int
.name
;
636 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
637 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
650 var6
= NEW_core__Match(&type_core__Match
);
652 var7
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_s
); /* to_s on <var_s:Text>*/
655 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_core__string_search__Match__string_61d
]))(var6
, var7
); /* string= on <var6:Match>*/
658 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_core__string_search__Match__from_61d
]))(var6
, var_pos
); /* from= on <var6:Match>*/
661 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_core__string_search__Match__length_61d
]))(var6
, 1l); /* length= on <var6:Match>*/
664 ((void(*)(val
* self
))(var6
->class->vft
[COLOR_core__kernel__Object__init
]))(var6
); /* init on <var6:Match>*/
672 /* method string_search$Char$search_in for (self: Pattern, Text, Int): nullable Match */
673 val
* VIRTUAL_core__string_search___Char___Pattern__search_in(val
* self
, val
* p0
, long p1
) {
674 val
* var
/* : nullable Match */;
675 val
* var1
/* : nullable Match */;
676 uint32_t var2
/* : Char */;
677 var2
= (uint32_t)((long)(self
)>>2);
678 var1
= core__string_search___Char___Pattern__search_in(var2
, p0
, p1
);
683 /* method string_search$Text$search_index_in for (self: Text, Text, Int): Int */
684 long core__string_search___Text___Pattern__search_index_in(val
* self
, val
* p0
, long p1
) {
685 long var
/* : Int */;
686 val
* var_s
/* var s: Text */;
687 long var_from
/* var from: Int */;
688 short int var1
/* : Bool */;
689 short int var3
/* : Bool */;
692 const char* var_class_name
;
693 short int var4
/* : Bool */;
694 long var5
/* : Int */;
695 long var6
/* : Int */;
696 long var7
/* : Int */;
697 short int var9
/* : Bool */;
700 const char* var_class_name12
;
701 long var13
/* : Int */;
702 long var14
/* : Int */;
703 short int var16
/* : Bool */;
706 const char* var_class_name19
;
707 long var20
/* : Int */;
708 long var_stop
/* var stop: Int */;
709 short int var21
/* : Bool */;
710 short int var23
/* : Bool */;
713 const char* var_class_name26
;
714 short int var27
/* : Bool */;
715 long var28
/* : Int */;
716 long var29
/* : Int */;
717 short int var31
/* : Bool */;
720 const char* var_class_name34
;
721 long var35
/* : Int */;
722 long var_i
/* var i: Int */;
723 short int var36
/* : Bool */;
724 short int var37
/* : Bool */;
725 short int var39
/* : Bool */;
728 const char* var_class_name42
;
729 short int var43
/* : Bool */;
730 short int var_
/* var : Bool */;
731 uint32_t var44
/* : Char */;
732 long var45
/* : Int */;
733 short int var47
/* : Bool */;
736 const char* var_class_name50
;
737 long var51
/* : Int */;
738 uint32_t var52
/* : Char */;
739 short int var53
/* : Bool */;
740 short int var55
/* : Bool */;
741 long var56
/* : Int */;
742 short int var58
/* : Bool */;
745 const char* var_class_name61
;
746 long var62
/* : Int */;
747 short int var63
/* : Bool */;
748 short int var65
/* : Bool */;
751 const char* var_class_name68
;
752 short int var69
/* : Bool */;
753 long var70
/* : Int */;
754 short int var72
/* : Bool */;
757 const char* var_class_name75
;
758 long var76
/* : Int */;
759 long var78
/* : Int */;
760 long var80
/* : Int */;
764 { /* Inline kernel$Int$>= (var_from,0l) on <var_from:Int> */
765 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
766 /* <0l:Int> isa OTHER */
767 var3
= 1; /* easy <0l:Int> isa OTHER*/
768 if (unlikely(!var3
)) {
769 var_class_name
= type_core__Int
.name
;
770 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
771 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
774 var4
= var_from
>= 0l;
780 if (unlikely(!var1
)) {
781 if(catchStack
.cursor
>= 0){
782 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
784 PRINT_ERROR("Runtime error: %s", "Assert failed");
785 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 333);
789 var5
= ((long(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var_s
); /* length on <var_s:Text>*/
792 var6
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:Text>*/
795 { /* Inline kernel$Int$- (var5,var6) on <var5:Int> */
796 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
797 /* <var6:Int> isa OTHER */
798 var9
= 1; /* easy <var6:Int> isa OTHER*/
799 if (unlikely(!var9
)) {
800 var_class_name12
= type_core__Int
.name
;
801 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
802 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
812 { /* Inline kernel$Int$+ (var7,1l) on <var7:Int> */
813 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
814 /* <1l:Int> isa OTHER */
815 var16
= 1; /* easy <1l:Int> isa OTHER*/
816 if (unlikely(!var16
)) {
817 var_class_name19
= type_core__Int
.name
;
818 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
819 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
831 { /* Inline kernel$Int$< (var_from,var_stop) on <var_from:Int> */
832 /* Covariant cast for argument 0 (i) <var_stop:Int> isa OTHER */
833 /* <var_stop:Int> isa OTHER */
834 var23
= 1; /* easy <var_stop:Int> isa OTHER*/
835 if (unlikely(!var23
)) {
836 var_class_name26
= type_core__Int
.name
;
837 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
838 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
841 var27
= var_from
< var_stop
;
849 var28
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:Text>*/
852 { /* Inline kernel$Int$- (var28,1l) on <var28:Int> */
853 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
854 /* <1l:Int> isa OTHER */
855 var31
= 1; /* easy <1l:Int> isa OTHER*/
856 if (unlikely(!var31
)) {
857 var_class_name34
= type_core__Int
.name
;
858 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
859 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
871 { /* Inline kernel$Int$>= (var_i,0l) on <var_i:Int> */
872 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
873 /* <0l:Int> isa OTHER */
874 var39
= 1; /* easy <0l:Int> isa OTHER*/
875 if (unlikely(!var39
)) {
876 var_class_name42
= type_core__Int
.name
;
877 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42
);
878 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
890 var44
= ((uint32_t(*)(val
* self
, long p0
))(self
->class->vft
[COLOR_core__abstract_text__Text___91d_93d
]))(self
, var_i
); /* [] on <self:Text>*/
893 { /* Inline kernel$Int$+ (var_i,var_from) on <var_i:Int> */
894 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
895 /* <var_from:Int> isa OTHER */
896 var47
= 1; /* easy <var_from:Int> isa OTHER*/
897 if (unlikely(!var47
)) {
898 var_class_name50
= type_core__Int
.name
;
899 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50
);
900 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
903 var51
= var_i
+ var_from
;
910 var52
= ((uint32_t(*)(val
* self
, long p0
))(var_s
->class->vft
[COLOR_core__abstract_text__Text___91d_93d
]))(var_s
, var45
); /* [] on <var_s:Text>*/
913 { /* Inline kernel$Char$== (var44,var52) on <var44:Char> */
914 var55
= var44
== var52
;
926 { /* Inline kernel$Int$- (var_i,1l) on <var_i:Int> */
927 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
928 /* <1l:Int> isa OTHER */
929 var58
= 1; /* easy <1l:Int> isa OTHER*/
930 if (unlikely(!var58
)) {
931 var_class_name61
= type_core__Int
.name
;
932 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61
);
933 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
947 BREAK_label
: (void)0;
949 { /* Inline kernel$Int$< (var_i,0l) on <var_i:Int> */
950 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
951 /* <0l:Int> isa OTHER */
952 var65
= 1; /* easy <0l:Int> isa OTHER*/
953 if (unlikely(!var65
)) {
954 var_class_name68
= type_core__Int
.name
;
955 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68
);
956 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
971 { /* Inline kernel$Int$+ (var_from,1l) on <var_from:Int> */
972 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
973 /* <1l:Int> isa OTHER */
974 var72
= 1; /* easy <1l:Int> isa OTHER*/
975 if (unlikely(!var72
)) {
976 var_class_name75
= type_core__Int
.name
;
977 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75
);
978 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
981 var76
= var_from
+ 1l;
992 BREAK_label77
: (void)0;
994 { /* Inline kernel$Int$unary - (1l) on <1l:Int> */
1006 /* method string_search$Text$search_in for (self: Text, Text, Int): nullable Match */
1007 val
* core__string_search___Text___Pattern__search_in(val
* self
, val
* p0
, long p1
) {
1008 val
* var
/* : nullable Match */;
1009 val
* var_s
/* var s: Text */;
1010 long var_from
/* var from: Int */;
1011 long var1
/* : Int */;
1012 long var_pos
/* var pos: Int */;
1013 short int var2
/* : Bool */;
1014 short int var4
/* : Bool */;
1017 const char* var_class_name
;
1018 short int var5
/* : Bool */;
1019 val
* var6
/* : Match */;
1020 val
* var7
/* : String */;
1021 long var8
/* : Int */;
1025 var1
= core__string_search___Text___Pattern__search_index_in(self
, var_s
, var_from
);
1029 { /* Inline kernel$Int$< (var_pos,0l) on <var_pos:Int> */
1030 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1031 /* <0l:Int> isa OTHER */
1032 var4
= 1; /* easy <0l:Int> isa OTHER*/
1033 if (unlikely(!var4
)) {
1034 var_class_name
= type_core__Int
.name
;
1035 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1036 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
1039 var5
= var_pos
< 0l;
1049 var6
= NEW_core__Match(&type_core__Match
);
1051 var7
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_s
); /* to_s on <var_s:Text>*/
1054 var8
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Text__length
]))(self
); /* length on <self:Text>*/
1057 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_core__string_search__Match__string_61d
]))(var6
, var7
); /* string= on <var6:Match>*/
1060 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_core__string_search__Match__from_61d
]))(var6
, var_pos
); /* from= on <var6:Match>*/
1063 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_core__string_search__Match__length_61d
]))(var6
, var8
); /* length= on <var6:Match>*/
1066 ((void(*)(val
* self
))(var6
->class->vft
[COLOR_core__kernel__Object__init
]))(var6
); /* init on <var6:Match>*/
1074 /* method string_search$Text$split for (self: Text, Pattern): Array[String] */
1075 val
* core__string_search___Text___split(val
* self
, val
* p0
) {
1076 val
* var
/* : Array[String] */;
1077 val
* var_pattern
/* var pattern: Pattern */;
1078 val
* var1
/* : Array[Match] */;
1079 val
* var_matches
/* var matches: Array[Match] */;
1080 val
* var2
/* : Array[String] */;
1081 long var3
/* : Int */;
1082 long var5
/* : Int */;
1083 val
* var_res
/* var res: Array[String] */;
1084 val
* var_
/* var : Array[Match] */;
1085 val
* var6
/* : IndexedIterator[nullable Object] */;
1086 val
* var_7
/* var : IndexedIterator[Match] */;
1087 short int var8
/* : Bool */;
1088 val
* var9
/* : nullable Object */;
1089 val
* var_m
/* var m: Match */;
1090 val
* var10
/* : String */;
1093 var1
= core___core__Pattern___split_in(var_pattern
, self
);
1096 var2
= NEW_core__Array(&type_core__Array__core__String
);
1098 { /* Inline array$AbstractArrayRead$length (var_matches) on <var_matches:Array[Match]> */
1099 var5
= var_matches
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_matches:Array[Match]> */
1105 core___core__Array___with_capacity(var2
, var3
); /* Direct call array$Array$with_capacity on <var2:Array[String]>*/
1110 var6
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
1115 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]>*/
1122 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]>*/
1126 var10
= core___core__Match___core__abstract_text__Object__to_s(var_m
);
1129 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var10
); /* Direct call array$Array$add on <var_res:Array[String]>*/
1132 ((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]>*/
1135 BREAK_label
: (void)0;
1137 ((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]>*/
1144 /* method string_search$Text$split_with for (self: Text, Pattern): Array[String] */
1145 val
* core__string_search___Text___split_with(val
* self
, val
* p0
) {
1146 val
* var
/* : Array[String] */;
1147 val
* var_pattern
/* var pattern: Pattern */;
1148 val
* var1
/* : Array[String] */;
1151 var1
= core__string_search___Text___split(self
, var_pattern
);
1158 /* method string_search$Text$split_once_on for (self: Text, Pattern): Array[Text] */
1159 val
* core__string_search___Text___split_once_on(val
* self
, val
* p0
) {
1160 val
* var
/* : Array[Text] */;
1161 val
* var_pattern
/* var pattern: Pattern */;
1162 val
* var1
/* : nullable Match */;
1163 val
* var_m
/* var m: nullable Match */;
1164 val
* var2
/* : Array[Text] */;
1165 val
* var_res
/* var res: Array[Text] */;
1166 short int var3
/* : Bool */;
1167 short int var4
/* : Bool */;
1168 val
* var_other
/* var other: nullable Object */;
1169 short int var6
/* : Bool */;
1170 short int var8
/* : Bool */;
1171 short int var9
/* : Bool */;
1174 const struct type
* type_struct
;
1175 const char* var_class_name
;
1176 long var10
/* : Int */;
1177 long var12
/* : Int */;
1178 val
* var13
/* : Text */;
1179 long var14
/* : Int */;
1180 val
* var15
/* : Text */;
1183 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>*/
1186 var2
= NEW_core__Array(self
->type
->resolution_table
->types
[COLOR_core__Array__core__abstract_text__Text__SELFTYPE
]);
1188 core___core__Array___core__kernel__Object__init(var2
); /* Direct call array$Array$init on <var2:Array[Text]>*/
1191 if (var_m
== NULL
) {
1192 var3
= 1; /* is null */
1194 var3
= 0; /* arg is null but recv is not */
1197 { /* Inline kernel$Object$== (var_m,((val*)NULL)) on <var_m:nullable Match> */
1198 var_other
= ((val
*)NULL
);
1200 { /* Inline kernel$Object$is_same_instance (var_m,var_other) on <var_m:nullable Match(Match)> */
1201 var8
= var_m
== var_other
;
1214 /* <self:Text> isa SELFTYPE */
1215 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__abstract_text__Text__SELFTYPE
];
1216 cltype
= type_struct
->color
;
1217 idtype
= type_struct
->id
;
1218 if(cltype
>= self
->type
->table_size
) {
1221 var9
= self
->type
->type_table
[cltype
] == idtype
;
1223 if (unlikely(!var9
)) {
1224 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1225 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
1226 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 465);
1230 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, self
); /* Direct call array$Array$add on <var_res:Array[Text]>*/
1234 { /* Inline string_search$Match$from (var_m) on <var_m:nullable Match(Match)> */
1235 var12
= var_m
->attrs
[COLOR_core__string_search__Match___from
].l
; /* _from on <var_m:nullable Match(Match)> */
1237 RET_LABEL11
:(void)0;
1241 var13
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(self
, 0l, var10
); /* substring on <self:Text>*/
1244 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var13
); /* Direct call array$Array$add on <var_res:Array[Text]>*/
1247 var14
= core___core__Match___after(var_m
);
1250 var15
= ((val
*(*)(val
* self
, long p0
))(self
->class->vft
[COLOR_core__abstract_text__Text__substring_from
]))(self
, var14
); /* substring_from on <self:Text>*/
1253 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var15
); /* Direct call array$Array$add on <var_res:Array[Text]>*/
1261 /* method string_search$Text$replace for (self: Text, Pattern, Text): String */
1262 val
* core__string_search___Text___replace(val
* self
, val
* p0
, val
* p1
) {
1263 val
* var
/* : String */;
1264 short int var1
/* : Bool */;
1267 const struct type
* type_struct
;
1268 const char* var_class_name
;
1269 val
* var_pattern
/* var pattern: Pattern */;
1270 val
* var_string
/* var string: Text */;
1271 val
* var2
/* : Array[String] */;
1272 val
* var3
/* : String */;
1273 /* Covariant cast for argument 1 (string) <p1:Text> isa SELFTYPE */
1274 /* <p1:Text> isa SELFTYPE */
1275 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__abstract_text__Text__SELFTYPE
];
1276 cltype
= type_struct
->color
;
1277 idtype
= type_struct
->id
;
1278 if(cltype
>= p1
->type
->table_size
) {
1281 var1
= p1
->type
->type_table
[cltype
] == idtype
;
1283 if (unlikely(!var1
)) {
1284 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
1285 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
1286 PRINT_ERROR(" (%s:%d)\n", FILE_core__string_search
, 473);
1292 var2
= core__string_search___Text___split_with(self
, var_pattern
);
1295 var3
= core__abstract_text___Collection___join(var2
, var_string
, ((val
*)NULL
));
1302 /* method string_search$Text$remove_all for (self: Text, Pattern): String */
1303 val
* core__string_search___Text___remove_all(val
* self
, val
* p0
) {
1304 val
* var
/* : String */;
1305 val
* var_pattern
/* var pattern: Pattern */;
1306 val
* var1
/* : Array[String] */;
1307 val
* var2
/* : String */;
1310 var1
= core__string_search___Text___split(self
, var_pattern
);
1313 var2
= core__abstract_text___Collection___join(var1
, ((val
*)NULL
), ((val
*)NULL
));