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] */;
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_standard__Array(&type_standard__Array__standard__Match
);
41 standard___standard__Array___standard__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_standard__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_standard__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_standard__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_standard__Int
.name
;
83 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
84 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
94 var15
= NEW_standard__Match(&type_standard__Match
);
96 var16
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_s
); /* to_s on <var_s:Text>*/
99 ((void(*)(val
* self
, val
* p0
))(var15
->class->vft
[COLOR_standard__string_search__Match__string_61d
]))(var15
, var16
); /* string= on <var15:Match>*/
102 ((void(*)(val
* self
, long p0
))(var15
->class->vft
[COLOR_standard__string_search__Match__from_61d
]))(var15
, var_i
); /* from= on <var15:Match>*/
105 ((void(*)(val
* self
, long p0
))(var15
->class->vft
[COLOR_standard__string_search__Match__length_61d
]))(var15
, var_len
); /* length= on <var15:Match>*/
108 ((void(*)(val
* self
))(var15
->class->vft
[COLOR_standard__kernel__Object__init
]))(var15
); /* init on <var15:Match>*/
111 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var15
); /* Direct call array#Array#add on <var_res:Array[Match]>*/
114 var17
= standard___standard__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_standard__string_search__Pattern__search_in
]))(self
, var_s
, var_i
); /* search_in on <self:Pattern>*/
125 BREAK_label
: (void)0;
126 var19
= NEW_standard__Match(&type_standard__Match
);
128 var20
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_s
); /* to_s on <var_s:Text>*/
131 var21
= ((long(*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__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_standard__Int
.name
;
140 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
141 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
144 var28
= var21
- var_i
;
151 ((void(*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_standard__string_search__Match__string_61d
]))(var19
, var20
); /* string= on <var19:Match>*/
154 ((void(*)(val
* self
, long p0
))(var19
->class->vft
[COLOR_standard__string_search__Match__from_61d
]))(var19
, var_i
); /* from= on <var19:Match>*/
157 ((void(*)(val
* self
, long p0
))(var19
->class->vft
[COLOR_standard__string_search__Match__length_61d
]))(var19
, var22
); /* length= on <var19:Match>*/
160 ((void(*)(val
* self
))(var19
->class->vft
[COLOR_standard__kernel__Object__init
]))(var19
); /* init on <var19:Match>*/
163 standard___standard__Array___standard__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
* standard___standard__Match___string(val
* self
) {
172 val
* var
/* : String */;
173 val
* var1
/* : String */;
174 var1
= self
->attrs
[COLOR_standard__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_standard__string_search
, 239);
184 /* method string_search#Match#string= for (self: Match, String) */
185 void standard___standard__Match___string_61d(val
* self
, val
* p0
) {
186 self
->attrs
[COLOR_standard__string_search__Match___string
].val
= p0
; /* _string on <self:Match> */
189 /* method string_search#Match#from for (self: Match): Int */
190 long standard___standard__Match___from(val
* self
) {
191 long var
/* : Int */;
192 long var1
/* : Int */;
193 var1
= self
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <self:Match> */
198 /* method string_search#Match#from= for (self: Match, Int) */
199 void standard___standard__Match___from_61d(val
* self
, long p0
) {
200 self
->attrs
[COLOR_standard__string_search__Match___from
].l
= p0
; /* _from on <self:Match> */
203 /* method string_search#Match#length for (self: Match): Int */
204 long standard___standard__Match___length(val
* self
) {
205 long var
/* : Int */;
206 long var1
/* : Int */;
207 var1
= self
->attrs
[COLOR_standard__string_search__Match___length
].l
; /* _length on <self:Match> */
212 /* method string_search#Match#length= for (self: Match, Int) */
213 void standard___standard__Match___length_61d(val
* self
, long p0
) {
214 self
->attrs
[COLOR_standard__string_search__Match___length
].l
= p0
; /* _length on <self:Match> */
217 /* method string_search#Match#after for (self: Match): Int */
218 long standard___standard__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_standard__string_search__Match___from
].l
; /* _from on <self:Match> */
238 { /* Inline string_search#Match#length (self) on <self:Match> */
239 var6
= self
->attrs
[COLOR_standard__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_standard__Int
.name
;
251 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
252 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
266 /* method string_search#Match#to_s for (self: Match): String */
267 val
* standard___standard__Match___standard__string__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_standard__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_standard__string_search
, 239);
289 { /* Inline string_search#Match#from (self) on <self:Match> */
290 var6
= self
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <self:Match> */
296 { /* Inline string_search#Match#length (self) on <self:Match> */
297 var9
= self
->attrs
[COLOR_standard__string_search__Match___length
].l
; /* _length on <self:Match> */
303 var10
= ((val
*(*)(val
* self
, long p0
, long p1
))(var1
->class->vft
[COLOR_standard__string__Text__substring
]))(var1
, var4
, var7
); /* substring on <var1:String>*/
310 /* method string_search#Match#init for (self: Match) */
311 void standard___standard__Match___standard__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 { /* Inline string_search#Match#length (self) on <self:Match> */
349 var2
= self
->attrs
[COLOR_standard__string_search__Match___length
].l
; /* _length on <self:Match> */
355 { /* Inline kernel#Int#>= (var,0l) on <var:Int> */
356 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
357 /* <0l:Int> isa OTHER */
358 var5
= 1; /* easy <0l:Int> isa OTHER*/
359 if (unlikely(!var5
)) {
360 var_class_name
= type_standard__Int
.name
;
361 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
362 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 535);
371 if (unlikely(!var3
)) {
372 PRINT_ERROR("Runtime error: %s", "Assert \'positive_length\' failed");
373 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 257);
377 { /* Inline string_search#Match#from (self) on <self:Match> */
378 var9
= self
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <self:Match> */
384 { /* Inline kernel#Int#>= (var7,0l) on <var7:Int> */
385 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
386 /* <0l:Int> isa OTHER */
387 var12
= 1; /* easy <0l:Int> isa OTHER*/
388 if (unlikely(!var12
)) {
389 var_class_name15
= type_standard__Int
.name
;
390 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
391 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 535);
400 if (unlikely(!var10
)) {
401 PRINT_ERROR("Runtime error: %s", "Assert \'valid_from\' failed");
402 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 258);
406 { /* Inline string_search#Match#from (self) on <self:Match> */
407 var19
= self
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <self:Match> */
413 { /* Inline string_search#Match#length (self) on <self:Match> */
414 var22
= self
->attrs
[COLOR_standard__string_search__Match___length
].l
; /* _length on <self:Match> */
420 { /* Inline kernel#Int#+ (var17,var20) on <var17:Int> */
421 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
422 /* <var20:Int> isa OTHER */
423 var25
= 1; /* easy <var20:Int> isa OTHER*/
424 if (unlikely(!var25
)) {
425 var_class_name28
= type_standard__Int
.name
;
426 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28
);
427 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
430 var29
= var17
+ var20
;
437 { /* Inline string_search#Match#string (self) on <self:Match> */
438 var32
= self
->attrs
[COLOR_standard__string_search__Match___string
].val
; /* _string on <self:Match> */
439 if (unlikely(var32
== NULL
)) {
440 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
441 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 239);
449 var33
= ((long(*)(val
* self
))(var30
->class->vft
[COLOR_standard__string__Text__length
]))(var30
); /* length on <var30:String>*/
452 { /* Inline kernel#Int#<= (var23,var33) on <var23:Int> */
453 /* Covariant cast for argument 0 (i) <var33:Int> isa OTHER */
454 /* <var33:Int> isa OTHER */
455 var36
= 1; /* easy <var33:Int> isa OTHER*/
456 if (unlikely(!var36
)) {
457 var_class_name39
= type_standard__Int
.name
;
458 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
459 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 533);
462 var40
= var23
<= var33
;
468 if (unlikely(!var34
)) {
469 PRINT_ERROR("Runtime error: %s", "Assert \'valid_after\' failed");
470 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 259);
475 /* method string_search#Char#search_index_in for (self: Char, Text, Int): Int */
476 long standard__string_search___Char___Pattern__search_index_in(uint32_t self
, val
* p0
, long p1
) {
477 long var
/* : Int */;
478 val
* var_s
/* var s: Text */;
479 long var_from
/* var from: Int */;
480 long var1
/* : Int */;
481 long var_stop
/* var stop: Int */;
482 short int var2
/* : Bool */;
483 short int var4
/* : Bool */;
486 const char* var_class_name
;
487 short int var5
/* : Bool */;
488 val
* var6
/* : SequenceRead[Char] */;
489 val
* var7
/* : nullable Object */;
490 short int var8
/* : Bool */;
491 short int var10
/* : Bool */;
492 uint32_t var11
/* : Char */;
493 long var12
/* : Int */;
494 short int var14
/* : Bool */;
497 const char* var_class_name17
;
498 long var18
/* : Int */;
499 long var19
/* : Int */;
500 long var21
/* : Int */;
504 var1
= ((long(*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Text__length
]))(var_s
); /* length on <var_s:Text>*/
509 { /* Inline kernel#Int#< (var_from,var_stop) on <var_from:Int> */
510 /* Covariant cast for argument 0 (i) <var_stop:Int> isa OTHER */
511 /* <var_stop:Int> isa OTHER */
512 var4
= 1; /* easy <var_stop:Int> isa OTHER*/
513 if (unlikely(!var4
)) {
514 var_class_name
= type_standard__Int
.name
;
515 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
516 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
519 var5
= var_from
< var_stop
;
527 var6
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Text__chars
]))(var_s
); /* chars on <var_s:Text>*/
530 var7
= ((val
*(*)(val
* self
, long p0
))((((long)var6
&3)?class_info
[((long)var6
&3)]:var6
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var6
, var_from
); /* [] on <var6:SequenceRead[Char]>*/
533 { /* Inline kernel#Char#== (var7,self) on <var7:nullable Object(Char)> */
534 var11
= (uint32_t)((long)(var7
)>>2);
535 var10
= (var7
!= NULL
) && (var11
== self
);
547 { /* Inline kernel#Int#+ (var_from,1l) on <var_from:Int> */
548 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
549 /* <1l:Int> isa OTHER */
550 var14
= 1; /* easy <1l:Int> isa OTHER*/
551 if (unlikely(!var14
)) {
552 var_class_name17
= type_standard__Int
.name
;
553 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
554 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
557 var18
= var_from
+ 1l;
568 BREAK_label
: (void)0;
570 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
582 /* method string_search#Char#search_index_in for (self: Pattern, Text, Int): Int */
583 long VIRTUAL_standard__string_search___Char___Pattern__search_index_in(val
* self
, val
* p0
, long p1
) {
584 long var
/* : Int */;
585 long var1
/* : Int */;
586 uint32_t var2
/* : Char */;
587 var2
= (uint32_t)((long)(self
)>>2);
588 var1
= standard__string_search___Char___Pattern__search_index_in(var2
, p0
, p1
);
593 /* method string_search#Char#search_in for (self: Char, Text, Int): nullable Match */
594 val
* standard__string_search___Char___Pattern__search_in(uint32_t self
, val
* p0
, long p1
) {
595 val
* var
/* : nullable Match */;
596 val
* var_s
/* var s: Text */;
597 long var_from
/* var from: Int */;
598 long var1
/* : Int */;
599 long var_pos
/* var pos: Int */;
600 short int var2
/* : Bool */;
601 short int var4
/* : Bool */;
604 const char* var_class_name
;
605 short int var5
/* : Bool */;
606 val
* var6
/* : Match */;
607 val
* var7
/* : String */;
611 var1
= standard__string_search___Char___Pattern__search_index_in(self
, var_s
, var_from
);
615 { /* Inline kernel#Int#< (var_pos,0l) on <var_pos:Int> */
616 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
617 /* <0l:Int> isa OTHER */
618 var4
= 1; /* easy <0l:Int> isa OTHER*/
619 if (unlikely(!var4
)) {
620 var_class_name
= type_standard__Int
.name
;
621 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
622 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
635 var6
= NEW_standard__Match(&type_standard__Match
);
637 var7
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_s
); /* to_s on <var_s:Text>*/
640 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_standard__string_search__Match__string_61d
]))(var6
, var7
); /* string= on <var6:Match>*/
643 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_standard__string_search__Match__from_61d
]))(var6
, var_pos
); /* from= on <var6:Match>*/
646 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_standard__string_search__Match__length_61d
]))(var6
, 1l); /* length= on <var6:Match>*/
649 ((void(*)(val
* self
))(var6
->class->vft
[COLOR_standard__kernel__Object__init
]))(var6
); /* init on <var6:Match>*/
657 /* method string_search#Char#search_in for (self: Pattern, Text, Int): nullable Match */
658 val
* VIRTUAL_standard__string_search___Char___Pattern__search_in(val
* self
, val
* p0
, long p1
) {
659 val
* var
/* : nullable Match */;
660 val
* var1
/* : nullable Match */;
661 uint32_t var2
/* : Char */;
662 var2
= (uint32_t)((long)(self
)>>2);
663 var1
= standard__string_search___Char___Pattern__search_in(var2
, p0
, p1
);
668 /* method string_search#Text#search_index_in for (self: Text, Text, Int): Int */
669 long standard__string_search___Text___Pattern__search_index_in(val
* self
, val
* p0
, long p1
) {
670 long var
/* : Int */;
671 val
* var_s
/* var s: Text */;
672 long var_from
/* var from: Int */;
673 short int var1
/* : Bool */;
674 short int var3
/* : Bool */;
677 const char* var_class_name
;
678 short int var4
/* : Bool */;
679 long var5
/* : Int */;
680 long var6
/* : Int */;
681 long var7
/* : Int */;
682 short int var9
/* : Bool */;
685 const char* var_class_name12
;
686 long var13
/* : Int */;
687 long var14
/* : Int */;
688 short int var16
/* : Bool */;
691 const char* var_class_name19
;
692 long var20
/* : Int */;
693 long var_stop
/* var stop: Int */;
694 short int var21
/* : Bool */;
695 short int var23
/* : Bool */;
698 const char* var_class_name26
;
699 short int var27
/* : Bool */;
700 long var28
/* : Int */;
701 long var29
/* : Int */;
702 short int var31
/* : Bool */;
705 const char* var_class_name34
;
706 long var35
/* : Int */;
707 long var_i
/* var i: Int */;
708 short int var36
/* : Bool */;
709 short int var37
/* : Bool */;
710 short int var39
/* : Bool */;
713 const char* var_class_name42
;
714 short int var43
/* : Bool */;
715 short int var_
/* var : Bool */;
716 val
* var44
/* : SequenceRead[Char] */;
717 val
* var45
/* : nullable Object */;
718 val
* var46
/* : SequenceRead[Char] */;
719 long var47
/* : Int */;
720 short int var49
/* : Bool */;
723 const char* var_class_name52
;
724 long var53
/* : Int */;
725 val
* var54
/* : nullable Object */;
726 short int var55
/* : Bool */;
727 short int var57
/* : Bool */;
728 long var58
/* : Int */;
729 short int var60
/* : Bool */;
732 const char* var_class_name63
;
733 long var64
/* : Int */;
734 short int var65
/* : Bool */;
735 short int var67
/* : Bool */;
738 const char* var_class_name70
;
739 short int var71
/* : Bool */;
740 long var72
/* : Int */;
741 short int var74
/* : Bool */;
744 const char* var_class_name77
;
745 long var78
/* : Int */;
746 long var80
/* : Int */;
747 long var82
/* : Int */;
751 { /* Inline kernel#Int#>= (var_from,0l) on <var_from:Int> */
752 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
753 /* <0l:Int> isa OTHER */
754 var3
= 1; /* easy <0l:Int> isa OTHER*/
755 if (unlikely(!var3
)) {
756 var_class_name
= type_standard__Int
.name
;
757 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
758 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 535);
761 var4
= var_from
>= 0l;
767 if (unlikely(!var1
)) {
768 PRINT_ERROR("Runtime error: %s", "Assert failed");
769 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 292);
773 var5
= ((long(*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Text__length
]))(var_s
); /* length on <var_s:Text>*/
776 var6
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__length
]))(self
); /* length on <self:Text>*/
779 { /* Inline kernel#Int#- (var5,var6) on <var5:Int> */
780 /* Covariant cast for argument 0 (i) <var6:Int> isa OTHER */
781 /* <var6:Int> isa OTHER */
782 var9
= 1; /* easy <var6:Int> isa OTHER*/
783 if (unlikely(!var9
)) {
784 var_class_name12
= type_standard__Int
.name
;
785 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name12
);
786 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
796 { /* Inline kernel#Int#+ (var7,1l) on <var7:Int> */
797 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
798 /* <1l:Int> isa OTHER */
799 var16
= 1; /* easy <1l:Int> isa OTHER*/
800 if (unlikely(!var16
)) {
801 var_class_name19
= type_standard__Int
.name
;
802 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
803 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
815 { /* Inline kernel#Int#< (var_from,var_stop) on <var_from:Int> */
816 /* Covariant cast for argument 0 (i) <var_stop:Int> isa OTHER */
817 /* <var_stop:Int> isa OTHER */
818 var23
= 1; /* easy <var_stop:Int> isa OTHER*/
819 if (unlikely(!var23
)) {
820 var_class_name26
= type_standard__Int
.name
;
821 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
822 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
825 var27
= var_from
< var_stop
;
833 var28
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__length
]))(self
); /* length on <self:Text>*/
836 { /* Inline kernel#Int#- (var28,1l) on <var28:Int> */
837 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
838 /* <1l:Int> isa OTHER */
839 var31
= 1; /* easy <1l:Int> isa OTHER*/
840 if (unlikely(!var31
)) {
841 var_class_name34
= type_standard__Int
.name
;
842 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
843 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
855 { /* Inline kernel#Int#>= (var_i,0l) on <var_i:Int> */
856 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
857 /* <0l:Int> isa OTHER */
858 var39
= 1; /* easy <0l:Int> isa OTHER*/
859 if (unlikely(!var39
)) {
860 var_class_name42
= type_standard__Int
.name
;
861 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42
);
862 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 535);
874 var44
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__chars
]))(self
); /* chars on <self:Text>*/
877 var45
= ((val
*(*)(val
* self
, long p0
))((((long)var44
&3)?class_info
[((long)var44
&3)]:var44
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var44
, var_i
); /* [] on <var44:SequenceRead[Char]>*/
880 var46
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Text__chars
]))(var_s
); /* chars on <var_s:Text>*/
883 { /* Inline kernel#Int#+ (var_i,var_from) on <var_i:Int> */
884 /* Covariant cast for argument 0 (i) <var_from:Int> isa OTHER */
885 /* <var_from:Int> isa OTHER */
886 var49
= 1; /* easy <var_from:Int> isa OTHER*/
887 if (unlikely(!var49
)) {
888 var_class_name52
= type_standard__Int
.name
;
889 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52
);
890 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
893 var53
= var_i
+ var_from
;
900 var54
= ((val
*(*)(val
* self
, long p0
))((((long)var46
&3)?class_info
[((long)var46
&3)]:var46
->class)->vft
[COLOR_standard__abstract_collection__SequenceRead___91d_93d
]))(var46
, var47
); /* [] on <var46:SequenceRead[Char]>*/
903 { /* Inline kernel#Char#== (var45,var54) on <var45:nullable Object(Char)> */
904 var57
= var45
== var54
;
916 { /* Inline kernel#Int#- (var_i,1l) on <var_i:Int> */
917 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
918 /* <1l:Int> isa OTHER */
919 var60
= 1; /* easy <1l:Int> isa OTHER*/
920 if (unlikely(!var60
)) {
921 var_class_name63
= type_standard__Int
.name
;
922 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name63
);
923 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
937 BREAK_label
: (void)0;
939 { /* Inline kernel#Int#< (var_i,0l) on <var_i:Int> */
940 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
941 /* <0l:Int> isa OTHER */
942 var67
= 1; /* easy <0l:Int> isa OTHER*/
943 if (unlikely(!var67
)) {
944 var_class_name70
= type_standard__Int
.name
;
945 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name70
);
946 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
961 { /* Inline kernel#Int#+ (var_from,1l) on <var_from:Int> */
962 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
963 /* <1l:Int> isa OTHER */
964 var74
= 1; /* easy <1l:Int> isa OTHER*/
965 if (unlikely(!var74
)) {
966 var_class_name77
= type_standard__Int
.name
;
967 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name77
);
968 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
971 var78
= var_from
+ 1l;
982 BREAK_label79
: (void)0;
984 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
996 /* method string_search#Text#search_in for (self: Text, Text, Int): nullable Match */
997 val
* standard__string_search___Text___Pattern__search_in(val
* self
, val
* p0
, long p1
) {
998 val
* var
/* : nullable Match */;
999 val
* var_s
/* var s: Text */;
1000 long var_from
/* var from: Int */;
1001 long var1
/* : Int */;
1002 long var_pos
/* var pos: Int */;
1003 short int var2
/* : Bool */;
1004 short int var4
/* : Bool */;
1007 const char* var_class_name
;
1008 short int var5
/* : Bool */;
1009 val
* var6
/* : Match */;
1010 val
* var7
/* : String */;
1011 long var8
/* : Int */;
1015 var1
= standard__string_search___Text___Pattern__search_index_in(self
, var_s
, var_from
);
1019 { /* Inline kernel#Int#< (var_pos,0l) on <var_pos:Int> */
1020 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1021 /* <0l:Int> isa OTHER */
1022 var4
= 1; /* easy <0l:Int> isa OTHER*/
1023 if (unlikely(!var4
)) {
1024 var_class_name
= type_standard__Int
.name
;
1025 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1026 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
1029 var5
= var_pos
< 0l;
1039 var6
= NEW_standard__Match(&type_standard__Match
);
1041 var7
= ((val
*(*)(val
* self
))(var_s
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_s
); /* to_s on <var_s:Text>*/
1044 var8
= ((long(*)(val
* self
))(self
->class->vft
[COLOR_standard__string__Text__length
]))(self
); /* length on <self:Text>*/
1047 ((void(*)(val
* self
, val
* p0
))(var6
->class->vft
[COLOR_standard__string_search__Match__string_61d
]))(var6
, var7
); /* string= on <var6:Match>*/
1050 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_standard__string_search__Match__from_61d
]))(var6
, var_pos
); /* from= on <var6:Match>*/
1053 ((void(*)(val
* self
, long p0
))(var6
->class->vft
[COLOR_standard__string_search__Match__length_61d
]))(var6
, var8
); /* length= on <var6:Match>*/
1056 ((void(*)(val
* self
))(var6
->class->vft
[COLOR_standard__kernel__Object__init
]))(var6
); /* init on <var6:Match>*/
1064 /* method string_search#Text#split for (self: Text, Pattern): Array[String] */
1065 val
* standard__string_search___Text___split(val
* self
, val
* p0
) {
1066 val
* var
/* : Array[String] */;
1067 val
* var_p
/* var p: Pattern */;
1068 val
* var1
/* : Array[Match] */;
1069 val
* var_matches
/* var matches: Array[Match] */;
1070 val
* var2
/* : Array[String] */;
1071 long var3
/* : Int */;
1072 long var5
/* : Int */;
1073 val
* var_res
/* var res: Array[String] */;
1074 val
* var_
/* var : Array[Match] */;
1075 val
* var6
/* : ArrayIterator[nullable Object] */;
1076 val
* var_7
/* var : ArrayIterator[Match] */;
1077 short int var8
/* : Bool */;
1078 val
* var9
/* : nullable Object */;
1079 val
* var_m
/* var m: Match */;
1080 val
* var10
/* : String */;
1083 var1
= standard___standard__Pattern___split_in(var_p
, self
);
1086 var2
= NEW_standard__Array(&type_standard__Array__standard__String
);
1088 { /* Inline array#AbstractArrayRead#length (var_matches) on <var_matches:Array[Match]> */
1089 var5
= var_matches
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_matches:Array[Match]> */
1095 standard___standard__Array___with_capacity(var2
, var3
); /* Direct call array#Array#with_capacity on <var2:Array[String]>*/
1100 var6
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
1105 var8
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_7
);
1109 var9
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_7
);
1113 var10
= standard___standard__Match___standard__string__Object__to_s(var_m
);
1116 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var10
); /* Direct call array#Array#add on <var_res:Array[String]>*/
1119 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_7
); /* Direct call array#ArrayIterator#next on <var_7:ArrayIterator[Match]>*/
1125 BREAK_label
: (void)0;
1127 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_7
); /* Direct call array#ArrayIterator#finish on <var_7:ArrayIterator[Match]>*/
1134 /* method string_search#Text#split_with for (self: Text, Pattern): Array[String] */
1135 val
* standard__string_search___Text___split_with(val
* self
, val
* p0
) {
1136 val
* var
/* : Array[String] */;
1137 val
* var_p
/* var p: Pattern */;
1138 val
* var1
/* : Array[String] */;
1141 var1
= standard__string_search___Text___split(self
, var_p
);
1148 /* method string_search#Text#split_once_on for (self: Text, Pattern): Array[Text] */
1149 val
* standard__string_search___Text___split_once_on(val
* self
, val
* p0
) {
1150 val
* var
/* : Array[Text] */;
1151 val
* var_p
/* var p: Pattern */;
1152 val
* var1
/* : nullable Match */;
1153 val
* var_m
/* var m: nullable Match */;
1154 val
* var2
/* : Array[Text] */;
1155 val
* var_res
/* var res: Array[Text] */;
1156 short int var3
/* : Bool */;
1157 short int var4
/* : Bool */;
1158 val
* var_other
/* var other: nullable Object */;
1159 short int var6
/* : Bool */;
1160 short int var8
/* : Bool */;
1161 short int var9
/* : Bool */;
1164 const struct type
* type_struct
;
1165 const char* var_class_name
;
1166 long var10
/* : Int */;
1167 long var12
/* : Int */;
1168 val
* var13
/* : Text */;
1169 long var14
/* : Int */;
1170 val
* var15
/* : Text */;
1173 var1
= ((val
*(*)(val
* self
, val
* p0
, long p1
))((((long)var_p
&3)?class_info
[((long)var_p
&3)]:var_p
->class)->vft
[COLOR_standard__string_search__Pattern__search_in
]))(var_p
, self
, 0l); /* search_in on <var_p:Pattern>*/
1176 var2
= NEW_standard__Array(self
->type
->resolution_table
->types
[COLOR_standard__Array__standard__string__Text__SELFTYPE
]);
1178 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Text]>*/
1181 if (var_m
== NULL
) {
1182 var3
= 1; /* is null */
1184 var3
= 0; /* arg is null but recv is not */
1187 { /* Inline kernel#Object#== (var_m,((val*)NULL)) on <var_m:nullable Match> */
1188 var_other
= ((val
*)NULL
);
1190 { /* Inline kernel#Object#is_same_instance (var_m,var_other) on <var_m:nullable Match(Match)> */
1191 var8
= var_m
== var_other
;
1204 /* <self:Text> isa SELFTYPE */
1205 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__string__Text__SELFTYPE
];
1206 cltype
= type_struct
->color
;
1207 idtype
= type_struct
->id
;
1208 if(cltype
>= self
->type
->table_size
) {
1211 var9
= self
->type
->type_table
[cltype
] == idtype
;
1213 if (unlikely(!var9
)) {
1214 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
1215 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
1216 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 393);
1220 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, self
); /* Direct call array#Array#add on <var_res:Array[Text]>*/
1224 { /* Inline string_search#Match#from (var_m) on <var_m:nullable Match(Match)> */
1225 var12
= var_m
->attrs
[COLOR_standard__string_search__Match___from
].l
; /* _from on <var_m:nullable Match(Match)> */
1227 RET_LABEL11
:(void)0;
1231 var13
= ((val
*(*)(val
* self
, long p0
, long p1
))(self
->class->vft
[COLOR_standard__string__Text__substring
]))(self
, 0l, var10
); /* substring on <self:Text>*/
1234 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var13
); /* Direct call array#Array#add on <var_res:Array[Text]>*/
1237 var14
= standard___standard__Match___after(var_m
);
1240 var15
= standard___standard__Text___substring_from(self
, var14
);
1243 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var15
); /* Direct call array#Array#add on <var_res:Array[Text]>*/
1251 /* method string_search#Text#replace for (self: Text, Pattern, Text): String */
1252 val
* standard__string_search___Text___replace(val
* self
, val
* p0
, val
* p1
) {
1253 val
* var
/* : String */;
1254 short int var1
/* : Bool */;
1257 const struct type
* type_struct
;
1258 const char* var_class_name
;
1259 val
* var_p
/* var p: Pattern */;
1260 val
* var_string
/* var string: Text */;
1261 val
* var2
/* : Array[String] */;
1262 val
* var3
/* : String */;
1263 /* Covariant cast for argument 1 (string) <p1:Text> isa SELFTYPE */
1264 /* <p1:Text> isa SELFTYPE */
1265 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__string__Text__SELFTYPE
];
1266 cltype
= type_struct
->color
;
1267 idtype
= type_struct
->id
;
1268 if(cltype
>= p1
->type
->table_size
) {
1271 var1
= p1
->type
->type_table
[cltype
] == idtype
;
1273 if (unlikely(!var1
)) {
1274 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
1275 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELFTYPE", var_class_name
);
1276 PRINT_ERROR(" (%s:%d)\n", FILE_standard__string_search
, 401);
1282 var2
= standard__string_search___Text___split_with(self
, var_p
);
1285 var3
= standard__string___Collection___join(var2
, var_string
);