1 #include "standard__string_search.sep.0.h"
2 /* method string_search#Pattern#split_in for (self: Pattern, Text): Array[Match] */
3 val
* standard___standard__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] */;
9 long var_i
/* var i: Int */;
10 long var3
/* : Int */;
11 val
* var4
/* : nullable Match */;
12 val
* var_match
/* var match: nullable Match */;
13 val
* var5
/* : null */;
14 short int var6
/* : Bool */;
15 short int var7
/* : Bool */;
16 val
* var_other
/* var other: nullable Object */;
17 short int var9
/* : Bool */;
18 short int var10
/* : Bool */;
19 long var11
/* : Int */;
20 long var13
/* : Int */;
21 long var14
/* : Int */;
22 short int var16
/* : Bool */;
25 const char* var_class_name
;
26 long var17
/* : Int */;
27 long var_len
/* var len: Int */;
28 val
* var18
/* : Match */;
29 val
* var19
/* : String */;
30 long var20
/* : Int */;
31 val
* var21
/* : nullable Match */;
32 val
* var22
/* : Match */;
33 val
* var23
/* : String */;
34 long var24
/* : Int */;
35 long var25
/* : Int */;
36 short int var27
/* : Bool */;
39 const char* var_class_name30
;
40 long var31
/* : Int */;
42 var1
= NEW_standard__Array(&type_standard__Array__standard__Match
);
44 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Match]>*/
51 var4
= ((val
* (*)(val
* self
, val
* p0
, long p1
))(self
->class->vft
[COLOR_standard__string_search__Pattern__search_in
]))(self
, var_s
, var3
) /* search_in on <self:Pattern>*/;
56 if (var_match
== NULL
) {
57 var6
= 0; /* is null */
59 var6
= 1; /* arg is null and recv is not */
62 { /* Inline kernel#Object#!= (var_match,var5) on <var_match:nullable Match> */
65 var9
= ((short int (*)(val
* self
, val
* p0
))(var_match
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_match
, var_other
) /* == on <var_match:nullable Match(Match)>*/;
76 { /* Inline string_search#Match#from (var_match) on <var_match:nullable Match(Match)> */
77 var13
= var_match
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <var_match:nullable Match(Match)> */
83 { /* Inline kernel#Int#- (var11,var_i) on <var11:Int> */
84 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
85 /* <var_i:Int> isa OTHER */
86 var16
= 1; /* easy <var_i:Int> isa OTHER*/
87 if (unlikely(!var16
)) {
88 var_class_name
= type_standard__Int
.name
;
89 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
90 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
93 var17
= var11
- var_i
;
100 var18
= NEW_standard__Match(&type_standard__Match
);
102 var19
= ((val
* (*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_s
) /* to_s on <var_s:Text>*/;
105 ((void (*)(val
* self
, val
* p0
))(var18
->class->vft
[COLOR_standard__string_search__Match__string_61d
]))(var18
, var19
) /* string= on <var18:Match>*/;
108 ((void (*)(val
* self
, long p0
))(var18
->class->vft
[COLOR_standard__string_search__Match__from_61d
]))(var18
, var_i
) /* from= on <var18:Match>*/;
111 ((void (*)(val
* self
, long p0
))(var18
->class->vft
[COLOR_standard__string_search__Match__length_61d
]))(var18
, var_len
) /* length= on <var18:Match>*/;
114 ((void (*)(val
* self
))(var18
->class->vft
[COLOR_standard__kernel__Object__init
]))(var18
) /* init on <var18:Match>*/;
117 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var18
); /* Direct call array#Array#add on <var_res:Array[Match]>*/
120 var20
= standard___standard__Match___after(var_match
);
124 var21
= ((val
* (*)(val
* self
, val
* p0
, long p1
))(self
->class->vft
[COLOR_standard__string_search__Pattern__search_in
]))(self
, var_s
, var_i
) /* search_in on <self:Pattern>*/;
131 BREAK_label
: (void)0;
132 var22
= NEW_standard__Match(&type_standard__Match
);
134 var23
= ((val
* (*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_s
) /* to_s on <var_s:Text>*/;
137 var24
= ((long (*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Text__length
]))(var_s
) /* length on <var_s:Text>*/;
140 { /* Inline kernel#Int#- (var24,var_i) on <var24:Int> */
141 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
142 /* <var_i:Int> isa OTHER */
143 var27
= 1; /* easy <var_i:Int> isa OTHER*/
144 if (unlikely(!var27
)) {
145 var_class_name30
= type_standard__Int
.name
;
146 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
147 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
150 var31
= var24
- var_i
;
157 ((void (*)(val
* self
, val
* p0
))(var22
->class->vft
[COLOR_standard__string_search__Match__string_61d
]))(var22
, var23
) /* string= on <var22:Match>*/;
160 ((void (*)(val
* self
, long p0
))(var22
->class->vft
[COLOR_standard__string_search__Match__from_61d
]))(var22
, var_i
) /* from= on <var22:Match>*/;
163 ((void (*)(val
* self
, long p0
))(var22
->class->vft
[COLOR_standard__string_search__Match__length_61d
]))(var22
, var25
) /* length= on <var22:Match>*/;
166 ((void (*)(val
* self
))(var22
->class->vft
[COLOR_standard__kernel__Object__init
]))(var22
) /* init on <var22:Match>*/;
169 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var22
); /* Direct call array#Array#add on <var_res:Array[Match]>*/
176 /* method string_search#Match#string for (self: Match): String */
177 val
* standard___standard__Match___string(val
* self
) {
178 val
* var
/* : String */;
179 val
* var1
/* : String */;
180 var1
= self
->attrs
[COLOR_standard__string_search__Match___string
].val
; /* _string on <self:Match> */
181 if (unlikely(var1
== NULL
)) {
182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
183 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 239);
190 /* method string_search#Match#string= for (self: Match, String) */
191 void standard___standard__Match___string_61d(val
* self
, val
* p0
) {
192 self
->attrs
[COLOR_standard__string_search__Match___string
].val
= p0
; /* _string on <self:Match> */
195 /* method string_search#Match#from for (self: Match): Int */
196 long standard___standard__Match___from(val
* self
) {
197 long var
/* : Int */;
198 long var1
/* : Int */;
199 var1
= self
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <self:Match> */
204 /* method string_search#Match#from= for (self: Match, Int) */
205 void standard___standard__Match___from_61d(val
* self
, long p0
) {
206 self
->attrs
[COLOR_standard__string_search__Match___from
].l
= p0
; /* _from on <self:Match> */
209 /* method string_search#Match#length for (self: Match): Int */
210 long standard___standard__Match___length(val
* self
) {
211 long var
/* : Int */;
212 long var1
/* : Int */;
213 var1
= self
->attrs
[COLOR_standard__string_search__Match___length
].l
; /* _length on <self:Match> */
218 /* method string_search#Match#length= for (self: Match, Int) */
219 void standard___standard__Match___length_61d(val
* self
, long p0
) {
220 self
->attrs
[COLOR_standard__string_search__Match___length
].l
= p0
; /* _length on <self:Match> */
223 /* method string_search#Match#after for (self: Match): Int */
224 long standard___standard__Match___after(val
* self
) {
225 long var
/* : Int */;
226 long var1
/* : Int */;
227 long var3
/* : Int */;
228 long var4
/* : Int */;
229 long var6
/* : Int */;
230 long var7
/* : Int */;
231 short int var9
/* : Bool */;
234 const char* var_class_name
;
235 long var10
/* : Int */;
237 { /* Inline string_search#Match#from (self) on <self:Match> */
238 var3
= self
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <self:Match> */
244 { /* Inline string_search#Match#length (self) on <self:Match> */
245 var6
= self
->attrs
[COLOR_standard__string_search__Match___length
].l
; /* _length on <self:Match> */
251 { /* Inline kernel#Int#+ (var1,var4) on <var1:Int> */
252 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
253 /* <var4:Int> isa OTHER */
254 var9
= 1; /* easy <var4:Int> isa OTHER*/
255 if (unlikely(!var9
)) {
256 var_class_name
= type_standard__Int
.name
;
257 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
258 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
272 /* method string_search#Match#to_s for (self: Match): String */
273 val
* standard___standard__Match___standard__string__Object__to_s(val
* self
) {
274 val
* var
/* : String */;
275 val
* var1
/* : String */;
276 val
* var3
/* : String */;
277 long var4
/* : Int */;
278 long var6
/* : Int */;
279 long var7
/* : Int */;
280 long var9
/* : Int */;
281 val
* var10
/* : Text */;
283 { /* Inline string_search#Match#string (self) on <self:Match> */
284 var3
= self
->attrs
[COLOR_standard__string_search__Match___string
].val
; /* _string on <self:Match> */
285 if (unlikely(var3
== NULL
)) {
286 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
287 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 239);
295 { /* Inline string_search#Match#from (self) on <self:Match> */
296 var6
= self
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <self:Match> */
302 { /* Inline string_search#Match#length (self) on <self:Match> */
303 var9
= self
->attrs
[COLOR_standard__string_search__Match___length
].l
; /* _length on <self:Match> */
309 var10
= ((val
* (*)(val
* self
, long p0
, long p1
))(var1
->class->vft
[COLOR_standard__string__Text__substring
]))(var1
, var4
, var7
) /* substring on <var1:String>*/;
316 /* method string_search#Match#init for (self: Match) */
317 void standard___standard__Match___standard__kernel__Object__init(val
* self
) {
318 long var
/* : Int */;
319 long var2
/* : Int */;
320 long var3
/* : Int */;
321 short int var4
/* : Bool */;
322 short int var6
/* : Bool */;
325 const char* var_class_name
;
326 short int var7
/* : Bool */;
327 long var8
/* : Int */;
328 long var10
/* : Int */;
329 long var11
/* : Int */;
330 short int var12
/* : Bool */;
331 short int var14
/* : Bool */;
334 const char* var_class_name17
;
335 short int var18
/* : Bool */;
336 long var19
/* : Int */;
337 long var21
/* : Int */;
338 long var22
/* : Int */;
339 long var24
/* : Int */;
340 long var25
/* : Int */;
341 short int var27
/* : Bool */;
344 const char* var_class_name30
;
345 long var31
/* : Int */;
346 val
* var32
/* : String */;
347 val
* var34
/* : String */;
348 long var35
/* : Int */;
349 short int var36
/* : Bool */;
350 short int var38
/* : Bool */;
353 const char* var_class_name41
;
354 short int var42
/* : Bool */;
356 { /* Inline string_search#Match#length (self) on <self:Match> */
357 var2
= self
->attrs
[COLOR_standard__string_search__Match___length
].l
; /* _length on <self:Match> */
364 { /* Inline kernel#Int#>= (var,var3) on <var:Int> */
365 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
366 /* <var3:Int> isa OTHER */
367 var6
= 1; /* easy <var3:Int> isa OTHER*/
368 if (unlikely(!var6
)) {
369 var_class_name
= type_standard__Int
.name
;
370 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
371 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 411);
380 if (unlikely(!var4
)) {
381 PRINT_ERROR("Runtime error: %s", "Assert \'positive_length\' failed");
382 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 257);
386 { /* Inline string_search#Match#from (self) on <self:Match> */
387 var10
= self
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <self:Match> */
394 { /* Inline kernel#Int#>= (var8,var11) on <var8:Int> */
395 /* Covariant cast for argument 0 (i) <var11:Int> isa OTHER */
396 /* <var11:Int> isa OTHER */
397 var14
= 1; /* easy <var11:Int> isa OTHER*/
398 if (unlikely(!var14
)) {
399 var_class_name17
= type_standard__Int
.name
;
400 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
401 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 411);
404 var18
= var8
>= var11
;
410 if (unlikely(!var12
)) {
411 PRINT_ERROR("Runtime error: %s", "Assert \'valid_from\' failed");
412 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 258);
416 { /* Inline string_search#Match#from (self) on <self:Match> */
417 var21
= self
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <self:Match> */
423 { /* Inline string_search#Match#length (self) on <self:Match> */
424 var24
= self
->attrs
[COLOR_standard__string_search__Match___length
].l
; /* _length on <self:Match> */
430 { /* Inline kernel#Int#+ (var19,var22) on <var19:Int> */
431 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
432 /* <var22:Int> isa OTHER */
433 var27
= 1; /* easy <var22:Int> isa OTHER*/
434 if (unlikely(!var27
)) {
435 var_class_name30
= type_standard__Int
.name
;
436 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
437 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
440 var31
= var19
+ var22
;
447 { /* Inline string_search#Match#string (self) on <self:Match> */
448 var34
= self
->attrs
[COLOR_standard__string_search__Match___string
].val
; /* _string on <self:Match> */
449 if (unlikely(var34
== NULL
)) {
450 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
451 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 239);
459 var35
= ((long (*)(val
* self
))(var32
->class->vft
[COLOR_standard__string__Text__length
]))(var32
) /* length on <var32:String>*/;
462 { /* Inline kernel#Int#<= (var25,var35) on <var25:Int> */
463 /* Covariant cast for argument 0 (i) <var35:Int> isa OTHER */
464 /* <var35:Int> isa OTHER */
465 var38
= 1; /* easy <var35:Int> isa OTHER*/
466 if (unlikely(!var38
)) {
467 var_class_name41
= type_standard__Int
.name
;
468 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
469 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 409);
472 var42
= var25
<= var35
;
478 if (unlikely(!var36
)) {
479 PRINT_ERROR("Runtime error: %s", "Assert \'valid_after\' failed");
480 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 259);
485 /* method string_search#Char#search_index_in for (self: Char, Text, Int): Int */
486 long standard__string_search___Char___Pattern__search_index_in(char self
, val
* p0
, long p1
) {
487 long var
/* : Int */;
488 val
* var_s
/* var s: Text */;
489 long var_from
/* var from: Int */;
490 long var1
/* : Int */;
491 long var_stop
/* var stop: Int */;
492 short int var2
/* : Bool */;
493 short int var4
/* : Bool */;
496 const char* var_class_name
;
497 short int var5
/* : Bool */;
498 val
* var6
/* : SequenceRead[Char] */;
499 val
* var7
/* : nullable Object */;
500 short int var8
/* : Bool */;
501 short int var10
/* : Bool */;
502 char var11
/* : Char */;
503 long var12
/* : Int */;
504 long var13
/* : Int */;
505 short int var15
/* : Bool */;
508 const char* var_class_name18
;
509 long var19
/* : Int */;
510 long var20
/* : Int */;
511 long var21
/* : Int */;
512 long var23
/* : Int */;
516 var1
= ((long (*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Text__length
]))(var_s
) /* length on <var_s:Text>*/;
521 { /* Inline kernel#Int#< (var_from,var_stop) on <var_from:Int> */
522 /* Covariant cast for argument 0 (i) <var_stop:Int> isa OTHER */
523 /* <var_stop:Int> isa OTHER */
524 var4
= 1; /* easy <var_stop:Int> isa OTHER*/
525 if (unlikely(!var4
)) {
526 var_class_name
= type_standard__Int
.name
;
527 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
528 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
531 var5
= var_from
< var_stop
;
539 var6
= ((val
* (*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Text__chars
]))(var_s
) /* chars on <var_s:Text>*/;
542 var7
= ((val
* (*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var6
, var_from
) /* [] on <var6:SequenceRead[Char]>*/;
545 { /* Inline kernel#Char#== (var7,self) on <var7:nullable Object(Char)> */
546 var10
= (var7
!= NULL
) && (var7
->class == &class_standard__Char
);
548 var11
= ((struct instance_standard__Char
*)var7
)->value
; /* autounbox from nullable Object to Char */;
549 var10
= (var11
== self
);
563 { /* Inline kernel#Int#+ (var_from,var12) on <var_from:Int> */
564 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
565 /* <var12:Int> isa OTHER */
566 var15
= 1; /* easy <var12:Int> isa OTHER*/
567 if (unlikely(!var15
)) {
568 var_class_name18
= type_standard__Int
.name
;
569 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
570 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
573 var19
= var_from
+ var12
;
584 BREAK_label
: (void)0;
587 { /* Inline kernel#Int#unary - (var20) on <var20:Int> */
599 /* method string_search#Char#search_index_in for (self: Pattern, Text, Int): Int */
600 long VIRTUAL_standard__string_search___Char___Pattern__search_index_in(val
* self
, val
* p0
, long p1
) {
601 long var
/* : Int */;
602 long var1
/* : Int */;
603 char var2
/* : Char */;
604 var2
= ((struct instance_standard__Char
*)self
)->value
; /* autounbox from Pattern to Char */;
605 var1
= standard__string_search___Char___Pattern__search_index_in(var2
, p0
, p1
);
610 /* method string_search#Char#search_in for (self: Char, Text, Int): nullable Match */
611 val
* standard__string_search___Char___Pattern__search_in(char self
, val
* p0
, long p1
) {
612 val
* var
/* : nullable Match */;
613 val
* var_s
/* var s: Text */;
614 long var_from
/* var from: Int */;
615 long var1
/* : Int */;
616 long var_pos
/* var pos: Int */;
617 long var2
/* : Int */;
618 short int var3
/* : Bool */;
619 short int var5
/* : Bool */;
622 const char* var_class_name
;
623 short int var6
/* : Bool */;
624 val
* var7
/* : null */;
625 val
* var8
/* : Match */;
626 val
* var9
/* : String */;
627 long var10
/* : Int */;
631 var1
= standard__string_search___Char___Pattern__search_index_in(self
, var_s
, var_from
);
636 { /* Inline kernel#Int#< (var_pos,var2) on <var_pos:Int> */
637 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
638 /* <var2:Int> isa OTHER */
639 var5
= 1; /* easy <var2:Int> isa OTHER*/
640 if (unlikely(!var5
)) {
641 var_class_name
= type_standard__Int
.name
;
642 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
643 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
646 var6
= var_pos
< var2
;
657 var8
= NEW_standard__Match(&type_standard__Match
);
659 var9
= ((val
* (*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_s
) /* to_s on <var_s:Text>*/;
663 ((void (*)(val
* self
, val
* p0
))(var8
->class->vft
[COLOR_standard__string_search__Match__string_61d
]))(var8
, var9
) /* string= on <var8:Match>*/;
666 ((void (*)(val
* self
, long p0
))(var8
->class->vft
[COLOR_standard__string_search__Match__from_61d
]))(var8
, var_pos
) /* from= on <var8:Match>*/;
669 ((void (*)(val
* self
, long p0
))(var8
->class->vft
[COLOR_standard__string_search__Match__length_61d
]))(var8
, var10
) /* length= on <var8:Match>*/;
672 ((void (*)(val
* self
))(var8
->class->vft
[COLOR_standard__kernel__Object__init
]))(var8
) /* init on <var8:Match>*/;
680 /* method string_search#Char#search_in for (self: Pattern, Text, Int): nullable Match */
681 val
* VIRTUAL_standard__string_search___Char___Pattern__search_in(val
* self
, val
* p0
, long p1
) {
682 val
* var
/* : nullable Match */;
683 val
* var1
/* : nullable Match */;
684 char var2
/* : Char */;
685 var2
= ((struct instance_standard__Char
*)self
)->value
; /* autounbox from Pattern to Char */;
686 var1
= standard__string_search___Char___Pattern__search_in(var2
, p0
, p1
);
691 /* method string_search#Text#search_index_in for (self: Text, Text, Int): Int */
692 long standard__string_search___Text___Pattern__search_index_in(val
* self
, val
* p0
, long p1
) {
693 long var
/* : Int */;
694 val
* var_s
/* var s: Text */;
695 long var_from
/* var from: Int */;
696 long var1
/* : Int */;
697 short int var2
/* : Bool */;
698 short int var4
/* : Bool */;
701 const char* var_class_name
;
702 short int var5
/* : Bool */;
703 long var6
/* : Int */;
704 long var7
/* : Int */;
705 long var8
/* : Int */;
706 short int var10
/* : Bool */;
709 const char* var_class_name13
;
710 long var14
/* : Int */;
711 long var15
/* : Int */;
712 long var16
/* : Int */;
713 short int var18
/* : Bool */;
716 const char* var_class_name21
;
717 long var22
/* : Int */;
718 long var_stop
/* var stop: Int */;
719 short int var23
/* : Bool */;
720 short int var25
/* : Bool */;
723 const char* var_class_name28
;
724 short int var29
/* : Bool */;
725 long var30
/* : Int */;
726 long var31
/* : Int */;
727 long var32
/* : Int */;
728 short int var34
/* : Bool */;
731 const char* var_class_name37
;
732 long var38
/* : Int */;
733 long var_i
/* var i: Int */;
734 short int var39
/* : Bool */;
735 long var40
/* : Int */;
736 short int var41
/* : Bool */;
737 short int var43
/* : Bool */;
740 const char* var_class_name46
;
741 short int var47
/* : Bool */;
742 short int var_
/* var : Bool */;
743 val
* var48
/* : SequenceRead[Char] */;
744 val
* var49
/* : nullable Object */;
745 val
* var50
/* : SequenceRead[Char] */;
746 long var51
/* : Int */;
747 short int var53
/* : Bool */;
750 const char* var_class_name56
;
751 long var57
/* : Int */;
752 val
* var58
/* : nullable Object */;
753 short int var59
/* : Bool */;
754 short int var61
/* : Bool */;
755 long var62
/* : Int */;
756 long var63
/* : Int */;
757 short int var65
/* : Bool */;
760 const char* var_class_name68
;
761 long var69
/* : Int */;
762 long var70
/* : Int */;
763 short int var71
/* : Bool */;
764 short int var73
/* : Bool */;
767 const char* var_class_name76
;
768 short int var77
/* : Bool */;
769 long var78
/* : Int */;
770 long var79
/* : Int */;
771 short int var81
/* : Bool */;
774 const char* var_class_name84
;
775 long var85
/* : Int */;
776 long var87
/* : Int */;
777 long var88
/* : Int */;
778 long var90
/* : Int */;
783 { /* Inline kernel#Int#>= (var_from,var1) on <var_from:Int> */
784 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
785 /* <var1:Int> isa OTHER */
786 var4
= 1; /* easy <var1:Int> isa OTHER*/
787 if (unlikely(!var4
)) {
788 var_class_name
= type_standard__Int
.name
;
789 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
790 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 411);
793 var5
= var_from
>= var1
;
799 if (unlikely(!var2
)) {
800 PRINT_ERROR("Runtime error: %s", "Assert failed");
801 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 292);
805 var6
= ((long (*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Text__length
]))(var_s
) /* length on <var_s:Text>*/;
808 var7
= ((long (*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__length
]))(self
) /* length on <self:Text>*/;
811 { /* Inline kernel#Int#- (var6,var7) on <var6:Int> */
812 /* Covariant cast for argument 0 (i) <var7:Int> isa OTHER */
813 /* <var7:Int> isa OTHER */
814 var10
= 1; /* easy <var7:Int> isa OTHER*/
815 if (unlikely(!var10
)) {
816 var_class_name13
= type_standard__Int
.name
;
817 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13
);
818 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
829 { /* Inline kernel#Int#+ (var8,var15) on <var8:Int> */
830 /* Covariant cast for argument 0 (i) <var15:Int> isa OTHER */
831 /* <var15:Int> isa OTHER */
832 var18
= 1; /* easy <var15:Int> isa OTHER*/
833 if (unlikely(!var18
)) {
834 var_class_name21
= type_standard__Int
.name
;
835 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21
);
836 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
839 var22
= var8
+ var15
;
848 { /* Inline kernel#Int#< (var_from,var_stop) on <var_from:Int> */
849 /* Covariant cast for argument 0 (i) <var_stop:Int> isa OTHER */
850 /* <var_stop:Int> isa OTHER */
851 var25
= 1; /* easy <var_stop:Int> isa OTHER*/
852 if (unlikely(!var25
)) {
853 var_class_name28
= type_standard__Int
.name
;
854 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
855 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
858 var29
= var_from
< var_stop
;
866 var30
= ((long (*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__length
]))(self
) /* length on <self:Text>*/;
870 { /* Inline kernel#Int#- (var30,var31) on <var30:Int> */
871 /* Covariant cast for argument 0 (i) <var31:Int> isa OTHER */
872 /* <var31:Int> isa OTHER */
873 var34
= 1; /* easy <var31:Int> isa OTHER*/
874 if (unlikely(!var34
)) {
875 var_class_name37
= type_standard__Int
.name
;
876 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37
);
877 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
880 var38
= var30
- var31
;
890 { /* Inline kernel#Int#>= (var_i,var40) on <var_i:Int> */
891 /* Covariant cast for argument 0 (i) <var40:Int> isa OTHER */
892 /* <var40:Int> isa OTHER */
893 var43
= 1; /* easy <var40:Int> isa OTHER*/
894 if (unlikely(!var43
)) {
895 var_class_name46
= type_standard__Int
.name
;
896 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46
);
897 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 411);
900 var47
= var_i
>= var40
;
909 var48
= ((val
* (*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__chars
]))(self
) /* chars on <self:Text>*/;
912 var49
= ((val
* (*)(val
* self
, long p0
))(var48
->class->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var48
, var_i
) /* [] on <var48:SequenceRead[Char]>*/;
915 var50
= ((val
* (*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Text__chars
]))(var_s
) /* chars on <var_s:Text>*/;
918 { /* Inline kernel#Int#+ (var_i,var_from) on <var_i:Int> */
919 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
920 /* <var_from:Int> isa OTHER */
921 var53
= 1; /* easy <var_from:Int> isa OTHER*/
922 if (unlikely(!var53
)) {
923 var_class_name56
= type_standard__Int
.name
;
924 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56
);
925 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
928 var57
= var_i
+ var_from
;
935 var58
= ((val
* (*)(val
* self
, long p0
))(var50
->class->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var50
, var51
) /* [] on <var50:SequenceRead[Char]>*/;
938 { /* Inline kernel#Char#== (var49,var58) on <var49:nullable Object(Char)> */
939 var61
= var49
== var58
|| (((struct instance_standard__Char
*)var49
)->value
== ((struct instance_standard__Char
*)var58
)->value
);
952 { /* Inline kernel#Int#- (var_i,var62) on <var_i:Int> */
953 /* Covariant cast for argument 0 (i) <var62:Int> isa OTHER */
954 /* <var62:Int> isa OTHER */
955 var65
= 1; /* easy <var62:Int> isa OTHER*/
956 if (unlikely(!var65
)) {
957 var_class_name68
= type_standard__Int
.name
;
958 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name68
);
959 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
962 var69
= var_i
- var62
;
973 BREAK_label
: (void)0;
976 { /* Inline kernel#Int#< (var_i,var70) on <var_i:Int> */
977 /* Covariant cast for argument 0 (i) <var70:Int> isa OTHER */
978 /* <var70:Int> isa OTHER */
979 var73
= 1; /* easy <var70:Int> isa OTHER*/
980 if (unlikely(!var73
)) {
981 var_class_name76
= type_standard__Int
.name
;
982 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76
);
983 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
986 var77
= var_i
< var70
;
999 { /* Inline kernel#Int#+ (var_from,var78) on <var_from:Int> */
1000 /* Covariant cast for argument 0 (i) <var78:Int> isa OTHER */
1001 /* <var78:Int> isa OTHER */
1002 var81
= 1; /* easy <var78:Int> isa OTHER*/
1003 if (unlikely(!var81
)) {
1004 var_class_name84
= type_standard__Int
.name
;
1005 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name84
);
1006 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
1009 var85
= var_from
+ var78
;
1012 RET_LABEL80
:(void)0;
1020 BREAK_label86
: (void)0;
1023 { /* Inline kernel#Int#unary - (var87) on <var87:Int> */
1027 RET_LABEL89
:(void)0;
1035 /* method string_search#Text#search_in for (self: Text, Text, Int): nullable Match */
1036 val
* standard__string_search___Text___Pattern__search_in(val
* self
, val
* p0
, long p1
) {
1037 val
* var
/* : nullable Match */;
1038 val
* var_s
/* var s: Text */;
1039 long var_from
/* var from: Int */;
1040 long var1
/* : Int */;
1041 long var_pos
/* var pos: Int */;
1042 long var2
/* : Int */;
1043 short int var3
/* : Bool */;
1044 short int var5
/* : Bool */;
1047 const char* var_class_name
;
1048 short int var6
/* : Bool */;
1049 val
* var7
/* : null */;
1050 val
* var8
/* : Match */;
1051 val
* var9
/* : String */;
1052 long var10
/* : Int */;
1056 var1
= standard__string_search___Text___Pattern__search_index_in(self
, var_s
, var_from
);
1061 { /* Inline kernel#Int#< (var_pos,var2) on <var_pos:Int> */
1062 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1063 /* <var2:Int> isa OTHER */
1064 var5
= 1; /* easy <var2:Int> isa OTHER*/
1065 if (unlikely(!var5
)) {
1066 var_class_name
= type_standard__Int
.name
;
1067 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1068 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 410);
1071 var6
= var_pos
< var2
;
1082 var8
= NEW_standard__Match(&type_standard__Match
);
1084 var9
= ((val
* (*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_s
) /* to_s on <var_s:Text>*/;
1087 var10
= ((long (*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__length
]))(self
) /* length on <self:Text>*/;
1090 ((void (*)(val
* self
, val
* p0
))(var8
->class->vft
[COLOR_standard__string_search__Match__string_61d
]))(var8
, var9
) /* string= on <var8:Match>*/;
1093 ((void (*)(val
* self
, long p0
))(var8
->class->vft
[COLOR_standard__string_search__Match__from_61d
]))(var8
, var_pos
) /* from= on <var8:Match>*/;
1096 ((void (*)(val
* self
, long p0
))(var8
->class->vft
[COLOR_standard__string_search__Match__length_61d
]))(var8
, var10
) /* length= on <var8:Match>*/;
1099 ((void (*)(val
* self
))(var8
->class->vft
[COLOR_standard__kernel__Object__init
]))(var8
) /* init on <var8:Match>*/;
1107 /* method string_search#Text#split for (self: Text, Pattern): Array[String] */
1108 val
* standard__string_search___Text___split(val
* self
, val
* p0
) {
1109 val
* var
/* : Array[String] */;
1110 val
* var_p
/* var p: Pattern */;
1111 val
* var1
/* : Array[Match] */;
1112 val
* var_matches
/* var matches: Array[Match] */;
1113 val
* var2
/* : Array[String] */;
1114 long var3
/* : Int */;
1115 long var5
/* : Int */;
1116 val
* var_res
/* var res: Array[String] */;
1117 val
* var_
/* var : Array[Match] */;
1118 val
* var6
/* : ArrayIterator[nullable Object] */;
1119 val
* var_7
/* var : ArrayIterator[Match] */;
1120 short int var8
/* : Bool */;
1121 val
* var9
/* : nullable Object */;
1122 val
* var_m
/* var m: Match */;
1123 val
* var10
/* : String */;
1126 var1
= standard___standard__Pattern___split_in(var_p
, self
);
1129 var2
= NEW_standard__Array(&type_standard__Array__standard__String
);
1131 { /* Inline array#AbstractArrayRead#length (var_matches) on <var_matches:Array[Match]> */
1132 var5
= var_matches
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_matches:Array[Match]> */
1138 standard___standard__Array___with_capacity(var2
, var3
); /* Direct call array#Array#with_capacity on <var2:Array[String]>*/
1143 var6
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
1148 var8
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_7
);
1152 var9
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_7
);
1156 var10
= standard___standard__Match___standard__string__Object__to_s(var_m
);
1159 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var10
); /* Direct call array#Array#add on <var_res:Array[String]>*/
1162 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_7
); /* Direct call array#ArrayIterator#next on <var_7:ArrayIterator[Match]>*/
1168 BREAK_label
: (void)0;
1170 { /* Inline abstract_collection#Iterator#finish (var_7) on <var_7:ArrayIterator[Match]> */
1171 RET_LABEL11
:(void)0;
1179 /* method string_search#Text#split_with for (self: Text, Pattern): Array[String] */
1180 val
* standard__string_search___Text___split_with(val
* self
, val
* p0
) {
1181 val
* var
/* : Array[String] */;
1182 val
* var_p
/* var p: Pattern */;
1183 val
* var1
/* : Array[String] */;
1186 var1
= standard__string_search___Text___split(self
, var_p
);
1193 /* method string_search#Text#split_once_on for (self: Text, Pattern): Array[Text] */
1194 val
* standard__string_search___Text___split_once_on(val
* self
, val
* p0
) {
1195 val
* var
/* : Array[Text] */;
1196 val
* var_p
/* var p: Pattern */;
1197 long var1
/* : Int */;
1198 val
* var2
/* : nullable Match */;
1199 val
* var_m
/* var m: nullable Match */;
1200 val
* var3
/* : null */;
1201 short int var4
/* : Bool */;
1202 short int var5
/* : Bool */;
1203 val
* var_other
/* var other: nullable Object */;
1204 short int var7
/* : Bool */;
1205 short int var9
/* : Bool */;
1206 val
* var10
/* : Array[Text] */;
1207 long var11
/* : Int */;
1208 val
* var_
/* var : Array[Text] */;
1209 val
* var12
/* : Array[Text] */;
1210 long var13
/* : Int */;
1211 long var14
/* : Int */;
1212 long var16
/* : Int */;
1213 val
* var17
/* : Text */;
1214 long var18
/* : Int */;
1215 val
* var19
/* : Text */;
1216 val
* var20
/* : Array[nullable Object] */;
1217 long var21
/* : Int */;
1218 val
* var22
/* : NativeArray[nullable Object] */;
1222 var2
= ((val
* (*)(val
* self
, val
* p0
, long p1
))(var_p
->class->vft
[COLOR_standard__string_search__Pattern__search_in
]))(var_p
, self
, var1
) /* search_in on <var_p:Pattern>*/;
1226 if (var_m
== NULL
) {
1227 var4
= 1; /* is null */
1229 var4
= 0; /* arg is null but recv is not */
1232 { /* Inline kernel#Object#== (var_m,var3) on <var_m:nullable Match> */
1235 { /* Inline kernel#Object#is_same_instance (var_m,var_other) on <var_m:nullable Match(Match)> */
1236 var9
= var_m
== var_other
;
1249 var10
= NEW_standard__Array(&type_standard__Array__standard__Text
);
1252 standard___standard__Array___with_capacity(var10
, var11
); /* Direct call array#Array#with_capacity on <var10:Array[Text]>*/
1256 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, self
); /* Direct call array#AbstractArray#push on <var_:Array[Text]>*/
1262 var12
= NEW_standard__Array(self
->type
->resolution_table
->types
[COLOR_standard__Array__standard__string__Text__SELFTYPE
]);
1265 { /* Inline string_search#Match#from (var_m) on <var_m:nullable Match(Match)> */
1266 var16
= var_m
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <var_m:nullable Match(Match)> */
1268 RET_LABEL15
:(void)0;
1272 var17
= ((val
* (*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_standard__string__Text__substring
]))(self
, var13
, var14
) /* substring on <self:Text>*/;
1275 var18
= standard___standard__Match___after(var_m
);
1278 var19
= standard___standard__Text___substring_from(self
, var18
);
1280 var20
= NEW_standard__Array(var12
->type
->resolution_table
->types
[COLOR_standard__Array__standard__Array___35dE
]);
1281 { /* var20 = array_instance Array[E] */
1283 var22
= NEW_standard__NativeArray(var21
, var12
->type
->resolution_table
->types
[COLOR_standard__NativeArray__standard__Array___35dE
]);
1284 ((struct instance_standard__NativeArray
*)var22
)->values
[0] = (val
*) var17
;
1285 ((struct instance_standard__NativeArray
*)var22
)->values
[1] = (val
*) var19
;
1287 ((void (*)(val
* self
, val
* p0
, long p1
))(var20
->class->vft
[COLOR_standard__array__Array__with_native
]))(var20
, var22
, var21
) /* with_native on <var20:Array[nullable Object]>*/;
1291 standard___standard__Array___with_items(var12
, var20
); /* Direct call array#Array#with_items on <var12:Array[Text]>*/
1298 /* method string_search#Text#replace for (self: Text, Pattern, Text): String */
1299 val
* standard__string_search___Text___replace(val
* self
, val
* p0
, val
* p1
) {
1300 val
* var
/* : String */;
1301 short int var1
/* : Bool */;
1304 const struct type
* type_struct
;
1305 const char* var_class_name
;
1306 val
* var_p
/* var p: Pattern */;
1307 val
* var_string
/* var string: Text */;
1308 val
* var2
/* : Array[String] */;
1309 val
* var3
/* : String */;
1310 /* Covariant cast for argument 1 (string) <p1:Text> isa SELFTYPE */
1311 /* <p1:Text> isa SELFTYPE */
1312 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__string__Text__SELFTYPE
];
1313 cltype
= type_struct
->color
;
1314 idtype
= type_struct
->id
;
1315 if(cltype
>= p1
->type
->table_size
) {
1318 var1
= p1
->type
->type_table
[cltype
] == idtype
;
1320 if (unlikely(!var1
)) {
1321 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
1322 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
1323 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 395);
1329 var2
= standard__string_search___Text___split_with(self
, var_p
);
1332 var3
= standard__string___Collection___join(var2
, var_string
);