1 #include "core__native.sep.0.h"
2 /* method native#Byte#u8len for (self: Byte): Int */
3 long core__native___Byte___u8len(unsigned char self
) {
5 unsigned char var1
/* : Byte */;
6 unsigned char var3
/* : Byte */;
7 short int var4
/* : Bool */;
8 short int var6
/* : Bool */;
9 unsigned char var7
/* : Byte */;
10 unsigned char var9
/* : Byte */;
11 short int var10
/* : Bool */;
12 short int var12
/* : Bool */;
13 unsigned char var13
/* : Byte */;
14 unsigned char var15
/* : Byte */;
15 short int var16
/* : Bool */;
16 short int var18
/* : Bool */;
17 unsigned char var19
/* : Byte */;
18 unsigned char var21
/* : Byte */;
19 short int var22
/* : Bool */;
20 short int var24
/* : Bool */;
22 { /* Inline math#Byte#& (self,((unsigned char)0x80)) on <self:Byte> */
23 var3
= self
& ((unsigned char)0x80);
30 { /* Inline kernel#Byte#== (var1,((unsigned char)0x00)) on <var1:Byte> */
31 var6
= var1
== ((unsigned char)0x00);
42 { /* Inline math#Byte#& (self,((unsigned char)0xe0)) on <self:Byte> */
43 var9
= self
& ((unsigned char)0xe0);
50 { /* Inline kernel#Byte#== (var7,((unsigned char)0xc0)) on <var7:Byte> */
51 var12
= var7
== ((unsigned char)0xc0);
62 { /* Inline math#Byte#& (self,((unsigned char)0xf0)) on <self:Byte> */
63 var15
= self
& ((unsigned char)0xf0);
70 { /* Inline kernel#Byte#== (var13,((unsigned char)0xe0)) on <var13:Byte> */
71 var18
= var13
== ((unsigned char)0xe0);
82 { /* Inline math#Byte#& (self,((unsigned char)0xf8)) on <self:Byte> */
83 var21
= self
& ((unsigned char)0xf8);
90 { /* Inline kernel#Byte#== (var19,((unsigned char)0xf0)) on <var19:Byte> */
91 var24
= var19
== ((unsigned char)0xf0);
110 /* method native#NativeString#new for (self: NativeString, Int): NativeString */
111 char* core___core__NativeString___new(char* self
, long p0
) {
112 char* var
/* : NativeString */;
113 char* var1
/* : NativeString */;
114 var1
= (char*)nit_alloc(p0
);
120 /* method native#NativeString#[] for (self: NativeString, Int): Byte */
121 unsigned char core___core__NativeString____91d_93d(char* self
, long p0
) {
122 unsigned char var
/* : Byte */;
123 unsigned char var1
/* : Byte */;
124 var1
= (unsigned char)((int)self
[p0
]);
130 /* method native#NativeString#[]= for (self: NativeString, Int, Byte) */
131 void core___core__NativeString____91d_93d_61d(char* self
, long p0
, unsigned char p1
) {
132 self
[p0
]=(unsigned char)p1
;
135 /* method native#NativeString#copy_to for (self: NativeString, NativeString, Int, Int, Int) */
136 void core___core__NativeString___copy_to(char* self
, char* p0
, long p1
, long p2
, long p3
) {
137 memmove(p0
+p3
,self
+p2
,p1
);
140 /* method native#NativeString#== for (self: NativeString, nullable Object): Bool */
141 short int core___core__NativeString___core__kernel__Object___61d_61d(char* self
, val
* p0
) {
142 short int var
/* : Bool */;
143 short int var1
/* : Bool */;
144 char* var2
/* : NativeString */;
145 if ((p0
!= NULL
) && ((((long)p0
&3)?class_info
[((long)p0
&3)]:p0
->class) == &class_core__NativeString
)) {
146 var2
= ((struct instance_core__NativeString
*)p0
)->value
; /* autounbox from nullable Object to NativeString */;
154 /* method native#NativeString#== for (self: Object, nullable Object): Bool */
155 short int VIRTUAL_core___core__NativeString___core__kernel__Object___61d_61d(val
* self
, val
* p0
) {
156 short int var
/* : Bool */;
157 short int var1
/* : Bool */;
158 short int var3
/* : Bool */;
159 { /* Inline native#NativeString#== (self,p0) on <self:Object(NativeString)> */
160 var3
= self
== p0
|| (p0
!= NULL
&& (!((long)p0
&3)) && self
->class == p0
->class && ((struct instance_core__NativeString
*)self
)->value
== ((struct instance_core__NativeString
*)p0
)->value
);
169 /* method native#NativeString#!= for (self: NativeString, nullable Object): Bool */
170 short int core___core__NativeString___core__kernel__Object___33d_61d(char* self
, val
* p0
) {
171 short int var
/* : Bool */;
172 short int var1
/* : Bool */;
173 char* var2
/* : NativeString */;
174 short int var3
/* : Bool */;
175 if ((p0
!= NULL
) && ((((long)p0
&3)?class_info
[((long)p0
&3)]:p0
->class) == &class_core__NativeString
)) {
176 var2
= ((struct instance_core__NativeString
*)p0
)->value
; /* autounbox from nullable Object to NativeString */;
185 /* method native#NativeString#!= for (self: Object, nullable Object): Bool */
186 short int VIRTUAL_core___core__NativeString___core__kernel__Object___33d_61d(val
* self
, val
* p0
) {
187 short int var
/* : Bool */;
188 short int var1
/* : Bool */;
189 short int var3
/* : Bool */;
190 short int var4
/* : Bool */;
191 { /* Inline native#NativeString#!= (self,p0) on <self:Object(NativeString)> */
192 var3
= self
== p0
|| (p0
!= NULL
&& (!((long)p0
&3)) && self
->class == p0
->class && ((struct instance_core__NativeString
*)self
)->value
== ((struct instance_core__NativeString
*)p0
)->value
);
202 /* method native#NativeString#cstring_length for (self: NativeString): Int */
203 long core___core__NativeString___cstring_length(char* self
) {
204 long var
/* : Int */;
205 long var_l
/* var l: Int */;
206 unsigned char var1
/* : Byte */;
207 unsigned char var3
/* : Byte */;
208 short int var4
/* : Bool */;
209 short int var6
/* : Bool */;
210 short int var7
/* : Bool */;
211 long var8
/* : Int */;
212 short int var10
/* : Bool */;
215 const char* var_class_name
;
216 long var11
/* : Int */;
220 { /* Inline native#NativeString#[] (self,var_l) on <self:NativeString> */
221 var3
= (unsigned char)((int)self
[var_l
]);
228 { /* Inline kernel#Byte#!= (var1,((unsigned char)0x00)) on <var1:Byte> */
229 var6
= var1
== ((unsigned char)0x00);
238 { /* Inline kernel#Int#+ (var_l,1l) on <var_l:Int> */
239 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
240 /* <1l:Int> isa OTHER */
241 var10
= 1; /* easy <1l:Int> isa OTHER*/
242 if (unlikely(!var10
)) {
243 var_class_name
= type_core__Int
.name
;
244 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
245 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
259 BREAK_label
: (void)0;
265 /* method native#NativeString#atof for (self: NativeString): Float */
266 double core___core__NativeString___atof(char* self
) {
267 double var
/* : Float */;
268 double var1
/* : Float */;
269 var1
= native___NativeString_atof___impl(self
);
275 /* method native#NativeString#char_at for (self: NativeString, Int): Char */
276 uint32_t core___core__NativeString___char_at(char* self
, long p0
) {
277 uint32_t var
/* : Char */;
278 long var_pos
/* var pos: Int */;
279 unsigned char var1
/* : Byte */;
280 unsigned char var3
/* : Byte */;
281 unsigned char var_c
/* var c: Byte */;
282 unsigned char var4
/* : Byte */;
283 unsigned char var6
/* : Byte */;
284 short int var7
/* : Bool */;
285 short int var9
/* : Bool */;
286 uint32_t var10
/* : Char */;
287 uint32_t var12
/* : Char */;
288 long var13
/* : Int */;
289 long var15
/* : Int */;
290 long var_b
/* var b: Int */;
291 long var_ret
/* var ret: Int */;
292 long var16
/* : Int */;
293 long var18
/* : Int */;
294 short int var19
/* : Bool */;
295 short int var21
/* : Bool */;
296 short int var22
/* : Bool */;
297 uint32_t var23
/* : Char */;
298 uint32_t var25
/* : Char */;
299 long var26
/* : Int */;
300 long var28
/* : Int */;
301 short int var29
/* : Bool */;
302 short int var31
/* : Bool */;
303 long var32
/* : Int */;
304 long var34
/* : Int */;
305 long var35
/* : Int */;
306 long var37
/* : Int */;
307 long var38
/* : Int */;
308 long var40
/* : Int */;
309 long var41
/* : Int */;
310 long var43
/* : Int */;
311 long var44
/* : Int */;
312 long var46
/* : Int */;
313 long var47
/* : Int */;
314 long var49
/* : Int */;
315 uint32_t var50
/* : Char */;
316 uint32_t var52
/* : Char */;
317 long var53
/* : Int */;
318 long var55
/* : Int */;
319 short int var56
/* : Bool */;
320 short int var58
/* : Bool */;
321 short int var59
/* : Bool */;
322 uint32_t var60
/* : Char */;
323 uint32_t var62
/* : Char */;
324 long var63
/* : Int */;
325 long var65
/* : Int */;
326 short int var66
/* : Bool */;
327 short int var68
/* : Bool */;
328 long var69
/* : Int */;
329 long var71
/* : Int */;
330 long var72
/* : Int */;
331 long var74
/* : Int */;
332 long var75
/* : Int */;
333 long var77
/* : Int */;
334 long var78
/* : Int */;
335 long var80
/* : Int */;
336 long var81
/* : Int */;
337 long var83
/* : Int */;
338 long var84
/* : Int */;
339 long var86
/* : Int */;
340 long var87
/* : Int */;
341 long var89
/* : Int */;
342 long var90
/* : Int */;
343 long var92
/* : Int */;
344 long var93
/* : Int */;
345 long var95
/* : Int */;
346 uint32_t var96
/* : Char */;
347 uint32_t var98
/* : Char */;
348 long var99
/* : Int */;
349 long var101
/* : Int */;
350 short int var102
/* : Bool */;
351 short int var104
/* : Bool */;
352 short int var105
/* : Bool */;
353 uint32_t var106
/* : Char */;
354 uint32_t var108
/* : Char */;
355 long var109
/* : Int */;
356 long var111
/* : Int */;
357 short int var112
/* : Bool */;
358 short int var114
/* : Bool */;
359 long var115
/* : Int */;
360 long var116
/* : Int */;
361 long var118
/* : Int */;
362 long var119
/* : Int */;
363 long var121
/* : Int */;
364 long var122
/* : Int */;
365 long var124
/* : Int */;
366 long var125
/* : Int */;
367 long var126
/* : Int */;
368 long var128
/* : Int */;
369 long var129
/* : Int */;
370 long var131
/* : Int */;
371 long var132
/* : Int */;
372 long var134
/* : Int */;
373 long var135
/* : Int */;
374 long var136
/* : Int */;
375 long var138
/* : Int */;
376 long var139
/* : Int */;
377 long var141
/* : Int */;
378 long var142
/* : Int */;
379 long var144
/* : Int */;
380 long var145
/* : Int */;
381 long var146
/* : Int */;
382 long var148
/* : Int */;
383 long var149
/* : Int */;
384 long var151
/* : Int */;
385 uint32_t var152
/* : Char */;
386 uint32_t var154
/* : Char */;
387 uint32_t var155
/* : Char */;
388 uint32_t var157
/* : Char */;
391 { /* Inline native#NativeString#[] (self,var_pos) on <self:NativeString> */
392 var3
= (unsigned char)((int)self
[var_pos
]);
400 { /* Inline math#Byte#& (var_c,((unsigned char)0x80)) on <var_c:Byte> */
401 var6
= var_c
& ((unsigned char)0x80);
408 { /* Inline kernel#Byte#== (var4,((unsigned char)0x00)) on <var4:Byte> */
409 var9
= var4
== ((unsigned char)0x00);
417 { /* Inline kernel#Byte#ascii (var_c) on <var_c:Byte> */
418 var12
= (uint32_t)var_c
;
429 { /* Inline native#NativeString#fetch_4_hchars (self,var_pos) on <self:NativeString> */
430 var15
= (long)be32toh(*((uint32_t*)(self
+ var_pos
)));
439 { /* Inline math#Int#& (var_b,12582912l) on <var_b:Int> */
440 var18
= var_b
& 12582912l;
447 { /* Inline kernel#Int#!= (var16,8388608l) on <var16:Int> */
448 var21
= var16
== 8388608l;
457 { /* Inline kernel#Int#code_point (65533l) on <65533l:Int> */
458 var25
= (uint32_t)65533l;
469 { /* Inline math#Int#& (var_b,3758096384l) on <var_b:Int> */
470 var28
= var_b
& 3758096384l;
477 { /* Inline kernel#Int#== (var26,3221225472l) on <var26:Int> */
478 var31
= var26
== 3221225472l;
486 { /* Inline math#Int#& (var_b,520093696l) on <var_b:Int> */
487 var34
= var_b
& 520093696l;
494 { /* Inline kernel#Int#>> (var32,18l) on <var32:Int> */
495 var37
= var32
>> 18l;
502 { /* Inline math#Int#| (var_ret,var35) on <var_ret:Int> */
503 var40
= var_ret
| var35
;
511 { /* Inline math#Int#& (var_b,4128768l) on <var_b:Int> */
512 var43
= var_b
& 4128768l;
519 { /* Inline kernel#Int#>> (var41,16l) on <var41:Int> */
520 var46
= var41
>> 16l;
527 { /* Inline math#Int#| (var_ret,var44) on <var_ret:Int> */
528 var49
= var_ret
| var44
;
536 { /* Inline kernel#Int#code_point (var_ret) on <var_ret:Int> */
537 var52
= (uint32_t)var_ret
;
548 { /* Inline math#Int#& (var_b,49152l) on <var_b:Int> */
549 var55
= var_b
& 49152l;
556 { /* Inline kernel#Int#== (var53,32768l) on <var53:Int> */
557 var58
= var53
== 32768l;
566 { /* Inline kernel#Int#code_point (65533l) on <65533l:Int> */
567 var62
= (uint32_t)65533l;
578 { /* Inline math#Int#& (var_b,4026531840l) on <var_b:Int> */
579 var65
= var_b
& 4026531840l;
586 { /* Inline kernel#Int#== (var63,3758096384l) on <var63:Int> */
587 var68
= var63
== 3758096384l;
595 { /* Inline math#Int#& (var_b,251658240l) on <var_b:Int> */
596 var71
= var_b
& 251658240l;
603 { /* Inline kernel#Int#>> (var69,12l) on <var69:Int> */
604 var74
= var69
>> 12l;
611 { /* Inline math#Int#| (var_ret,var72) on <var_ret:Int> */
612 var77
= var_ret
| var72
;
620 { /* Inline math#Int#& (var_b,4128768l) on <var_b:Int> */
621 var80
= var_b
& 4128768l;
628 { /* Inline kernel#Int#>> (var78,10l) on <var78:Int> */
629 var83
= var78
>> 10l;
636 { /* Inline math#Int#| (var_ret,var81) on <var_ret:Int> */
637 var86
= var_ret
| var81
;
645 { /* Inline math#Int#& (var_b,16128l) on <var_b:Int> */
646 var89
= var_b
& 16128l;
653 { /* Inline kernel#Int#>> (var87,8l) on <var87:Int> */
661 { /* Inline math#Int#| (var_ret,var90) on <var_ret:Int> */
662 var95
= var_ret
| var90
;
670 { /* Inline kernel#Int#code_point (var_ret) on <var_ret:Int> */
671 var98
= (uint32_t)var_ret
;
682 { /* Inline math#Int#& (var_b,192l) on <var_b:Int> */
683 var101
= var_b
& 192l;
686 RET_LABEL100
:(void)0;
690 { /* Inline kernel#Int#== (var99,128l) on <var99:Int> */
691 var104
= var99
== 128l;
694 RET_LABEL103
:(void)0;
700 { /* Inline kernel#Int#code_point (65533l) on <65533l:Int> */
701 var108
= (uint32_t)65533l;
704 RET_LABEL107
:(void)0;
712 { /* Inline math#Int#& (var_b,4160749568l) on <var_b:Int> */
713 var111
= var_b
& 4160749568l;
716 RET_LABEL110
:(void)0;
720 { /* Inline kernel#Int#== (var109,4026531840l) on <var109:Int> */
721 var114
= var109
== 4026531840l;
724 RET_LABEL113
:(void)0;
729 var115
= core___core__Int___Numeric__to_i(var_b
);
732 { /* Inline math#Int#& (var115,117440512l) on <var115:Int> */
733 var118
= var115
& 117440512l;
736 RET_LABEL117
:(void)0;
740 { /* Inline kernel#Int#>> (var116,6l) on <var116:Int> */
741 var121
= var116
>> 6l;
744 RET_LABEL120
:(void)0;
748 { /* Inline math#Int#| (var_ret,var119) on <var_ret:Int> */
749 var124
= var_ret
| var119
;
752 RET_LABEL123
:(void)0;
757 var125
= core___core__Int___Numeric__to_i(var_b
);
760 { /* Inline math#Int#& (var125,4128768l) on <var125:Int> */
761 var128
= var125
& 4128768l;
764 RET_LABEL127
:(void)0;
768 { /* Inline kernel#Int#>> (var126,4l) on <var126:Int> */
769 var131
= var126
>> 4l;
772 RET_LABEL130
:(void)0;
776 { /* Inline math#Int#| (var_ret,var129) on <var_ret:Int> */
777 var134
= var_ret
| var129
;
780 RET_LABEL133
:(void)0;
785 var135
= core___core__Int___Numeric__to_i(var_b
);
788 { /* Inline math#Int#& (var135,16128l) on <var135:Int> */
789 var138
= var135
& 16128l;
792 RET_LABEL137
:(void)0;
796 { /* Inline kernel#Int#>> (var136,2l) on <var136:Int> */
797 var141
= var136
>> 2l;
800 RET_LABEL140
:(void)0;
804 { /* Inline math#Int#| (var_ret,var139) on <var_ret:Int> */
805 var144
= var_ret
| var139
;
808 RET_LABEL143
:(void)0;
813 var145
= core___core__Int___Numeric__to_i(var_b
);
816 { /* Inline math#Int#& (var145,63l) on <var145:Int> */
817 var148
= var145
& 63l;
820 RET_LABEL147
:(void)0;
824 { /* Inline math#Int#| (var_ret,var146) on <var_ret:Int> */
825 var151
= var_ret
| var146
;
828 RET_LABEL150
:(void)0;
833 { /* Inline kernel#Int#code_point (var_ret) on <var_ret:Int> */
834 var154
= (uint32_t)var_ret
;
837 RET_LABEL153
:(void)0;
845 { /* Inline kernel#Int#code_point (65533l) on <65533l:Int> */
846 var157
= (uint32_t)65533l;
849 RET_LABEL156
:(void)0;
857 /* method native#NativeString#char_to_byte_index for (self: NativeString, Int): Int */
858 long core___core__NativeString___char_to_byte_index(char* self
, long p0
) {
859 long var
/* : Int */;
860 long var_n
/* var n: Int */;
861 long var1
/* : Int */;
864 var1
= core___core__NativeString___char_to_byte_index_cached(self
, var_n
, 0l, 0l);
871 /* method native#NativeString#length_of_char_at for (self: NativeString, Int): Int */
872 long core___core__NativeString___length_of_char_at(char* self
, long p0
) {
873 long var
/* : Int */;
874 long var_pos
/* var pos: Int */;
875 unsigned char var1
/* : Byte */;
876 unsigned char var3
/* : Byte */;
877 unsigned char var_c
/* var c: Byte */;
878 unsigned char var4
/* : Byte */;
879 unsigned char var6
/* : Byte */;
880 short int var7
/* : Bool */;
881 short int var9
/* : Bool */;
882 short int var10
/* : Bool */;
883 unsigned char var11
/* : Byte */;
884 unsigned char var13
/* : Byte */;
885 short int var14
/* : Bool */;
886 short int var16
/* : Bool */;
887 short int var_
/* var : Bool */;
888 long var17
/* : Int */;
889 short int var19
/* : Bool */;
892 const char* var_class_name
;
893 long var20
/* : Int */;
894 unsigned char var21
/* : Byte */;
895 unsigned char var23
/* : Byte */;
896 unsigned char var24
/* : Byte */;
897 unsigned char var26
/* : Byte */;
898 short int var27
/* : Bool */;
899 short int var29
/* : Bool */;
900 short int var30
/* : Bool */;
901 short int var31
/* : Bool */;
902 unsigned char var32
/* : Byte */;
903 unsigned char var34
/* : Byte */;
904 short int var35
/* : Bool */;
905 short int var37
/* : Bool */;
906 short int var_38
/* var : Bool */;
907 long var39
/* : Int */;
908 short int var41
/* : Bool */;
911 const char* var_class_name44
;
912 long var45
/* : Int */;
913 unsigned char var46
/* : Byte */;
914 unsigned char var48
/* : Byte */;
915 unsigned char var49
/* : Byte */;
916 unsigned char var51
/* : Byte */;
917 short int var52
/* : Bool */;
918 short int var54
/* : Bool */;
919 short int var_55
/* var : Bool */;
920 long var56
/* : Int */;
921 short int var58
/* : Bool */;
924 const char* var_class_name61
;
925 long var62
/* : Int */;
926 unsigned char var63
/* : Byte */;
927 unsigned char var65
/* : Byte */;
928 unsigned char var66
/* : Byte */;
929 unsigned char var68
/* : Byte */;
930 short int var69
/* : Bool */;
931 short int var71
/* : Bool */;
932 short int var72
/* : Bool */;
933 short int var73
/* : Bool */;
934 short int var74
/* : Bool */;
935 unsigned char var75
/* : Byte */;
936 unsigned char var77
/* : Byte */;
937 short int var78
/* : Bool */;
938 short int var80
/* : Bool */;
939 short int var_81
/* var : Bool */;
940 long var82
/* : Int */;
941 short int var84
/* : Bool */;
944 const char* var_class_name87
;
945 long var88
/* : Int */;
946 unsigned char var89
/* : Byte */;
947 unsigned char var91
/* : Byte */;
948 unsigned char var92
/* : Byte */;
949 unsigned char var94
/* : Byte */;
950 short int var95
/* : Bool */;
951 short int var97
/* : Bool */;
952 short int var_98
/* var : Bool */;
953 long var99
/* : Int */;
954 short int var101
/* : Bool */;
957 const char* var_class_name104
;
958 long var105
/* : Int */;
959 unsigned char var106
/* : Byte */;
960 unsigned char var108
/* : Byte */;
961 unsigned char var109
/* : Byte */;
962 unsigned char var111
/* : Byte */;
963 short int var112
/* : Bool */;
964 short int var114
/* : Bool */;
965 short int var_115
/* var : Bool */;
966 long var116
/* : Int */;
967 short int var118
/* : Bool */;
970 const char* var_class_name121
;
971 long var122
/* : Int */;
972 unsigned char var123
/* : Byte */;
973 unsigned char var125
/* : Byte */;
974 unsigned char var126
/* : Byte */;
975 unsigned char var128
/* : Byte */;
976 short int var129
/* : Bool */;
977 short int var131
/* : Bool */;
980 { /* Inline native#NativeString#[] (self,var_pos) on <self:NativeString> */
981 var3
= (unsigned char)((int)self
[var_pos
]);
989 { /* Inline math#Byte#& (var_c,((unsigned char)0x80)) on <var_c:Byte> */
990 var6
= var_c
& ((unsigned char)0x80);
997 { /* Inline kernel#Byte#== (var4,((unsigned char)0x00)) on <var4:Byte> */
998 var9
= var4
== ((unsigned char)0x00);
1009 { /* Inline math#Byte#& (var_c,((unsigned char)0xe0)) on <var_c:Byte> */
1010 var13
= var_c
& ((unsigned char)0xe0);
1013 RET_LABEL12
:(void)0;
1017 { /* Inline kernel#Byte#== (var11,((unsigned char)0xc0)) on <var11:Byte> */
1018 var16
= var11
== ((unsigned char)0xc0);
1021 RET_LABEL15
:(void)0;
1027 { /* Inline kernel#Int#+ (var_pos,1l) on <var_pos:Int> */
1028 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1029 /* <1l:Int> isa OTHER */
1030 var19
= 1; /* easy <1l:Int> isa OTHER*/
1031 if (unlikely(!var19
)) {
1032 var_class_name
= type_core__Int
.name
;
1033 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1034 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1037 var20
= var_pos
+ 1l;
1040 RET_LABEL18
:(void)0;
1044 { /* Inline native#NativeString#[] (self,var17) on <self:NativeString> */
1045 var23
= (unsigned char)((int)self
[var17
]);
1048 RET_LABEL22
:(void)0;
1052 { /* Inline math#Byte#& (var21,((unsigned char)0xc0)) on <var21:Byte> */
1053 var26
= var21
& ((unsigned char)0xc0);
1056 RET_LABEL25
:(void)0;
1060 { /* Inline kernel#Byte#== (var24,((unsigned char)0x80)) on <var24:Byte> */
1061 var29
= var24
== ((unsigned char)0x80);
1064 RET_LABEL28
:(void)0;
1076 { /* Inline math#Byte#& (var_c,((unsigned char)0xf0)) on <var_c:Byte> */
1077 var34
= var_c
& ((unsigned char)0xf0);
1080 RET_LABEL33
:(void)0;
1084 { /* Inline kernel#Byte#== (var32,((unsigned char)0xe0)) on <var32:Byte> */
1085 var37
= var32
== ((unsigned char)0xe0);
1088 RET_LABEL36
:(void)0;
1094 { /* Inline kernel#Int#+ (var_pos,1l) on <var_pos:Int> */
1095 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1096 /* <1l:Int> isa OTHER */
1097 var41
= 1; /* easy <1l:Int> isa OTHER*/
1098 if (unlikely(!var41
)) {
1099 var_class_name44
= type_core__Int
.name
;
1100 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name44
);
1101 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1104 var45
= var_pos
+ 1l;
1107 RET_LABEL40
:(void)0;
1111 { /* Inline native#NativeString#[] (self,var39) on <self:NativeString> */
1112 var48
= (unsigned char)((int)self
[var39
]);
1115 RET_LABEL47
:(void)0;
1119 { /* Inline math#Byte#& (var46,((unsigned char)0xc0)) on <var46:Byte> */
1120 var51
= var46
& ((unsigned char)0xc0);
1123 RET_LABEL50
:(void)0;
1127 { /* Inline kernel#Byte#== (var49,((unsigned char)0x80)) on <var49:Byte> */
1128 var54
= var49
== ((unsigned char)0x80);
1131 RET_LABEL53
:(void)0;
1141 { /* Inline kernel#Int#+ (var_pos,2l) on <var_pos:Int> */
1142 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1143 /* <2l:Int> isa OTHER */
1144 var58
= 1; /* easy <2l:Int> isa OTHER*/
1145 if (unlikely(!var58
)) {
1146 var_class_name61
= type_core__Int
.name
;
1147 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61
);
1148 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1151 var62
= var_pos
+ 2l;
1154 RET_LABEL57
:(void)0;
1158 { /* Inline native#NativeString#[] (self,var56) on <self:NativeString> */
1159 var65
= (unsigned char)((int)self
[var56
]);
1162 RET_LABEL64
:(void)0;
1166 { /* Inline math#Byte#& (var63,((unsigned char)0xc0)) on <var63:Byte> */
1167 var68
= var63
& ((unsigned char)0xc0);
1170 RET_LABEL67
:(void)0;
1174 { /* Inline kernel#Byte#== (var66,((unsigned char)0x80)) on <var66:Byte> */
1175 var71
= var66
== ((unsigned char)0x80);
1178 RET_LABEL70
:(void)0;
1190 { /* Inline math#Byte#& (var_c,((unsigned char)0xf8)) on <var_c:Byte> */
1191 var77
= var_c
& ((unsigned char)0xf8);
1194 RET_LABEL76
:(void)0;
1198 { /* Inline kernel#Byte#== (var75,((unsigned char)0xf0)) on <var75:Byte> */
1199 var80
= var75
== ((unsigned char)0xf0);
1202 RET_LABEL79
:(void)0;
1208 { /* Inline kernel#Int#+ (var_pos,1l) on <var_pos:Int> */
1209 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1210 /* <1l:Int> isa OTHER */
1211 var84
= 1; /* easy <1l:Int> isa OTHER*/
1212 if (unlikely(!var84
)) {
1213 var_class_name87
= type_core__Int
.name
;
1214 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name87
);
1215 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1218 var88
= var_pos
+ 1l;
1221 RET_LABEL83
:(void)0;
1225 { /* Inline native#NativeString#[] (self,var82) on <self:NativeString> */
1226 var91
= (unsigned char)((int)self
[var82
]);
1229 RET_LABEL90
:(void)0;
1233 { /* Inline math#Byte#& (var89,((unsigned char)0xc0)) on <var89:Byte> */
1234 var94
= var89
& ((unsigned char)0xc0);
1237 RET_LABEL93
:(void)0;
1241 { /* Inline kernel#Byte#== (var92,((unsigned char)0x80)) on <var92:Byte> */
1242 var97
= var92
== ((unsigned char)0x80);
1245 RET_LABEL96
:(void)0;
1255 { /* Inline kernel#Int#+ (var_pos,2l) on <var_pos:Int> */
1256 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1257 /* <2l:Int> isa OTHER */
1258 var101
= 1; /* easy <2l:Int> isa OTHER*/
1259 if (unlikely(!var101
)) {
1260 var_class_name104
= type_core__Int
.name
;
1261 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name104
);
1262 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1265 var105
= var_pos
+ 2l;
1268 RET_LABEL100
:(void)0;
1272 { /* Inline native#NativeString#[] (self,var99) on <self:NativeString> */
1273 var108
= (unsigned char)((int)self
[var99
]);
1276 RET_LABEL107
:(void)0;
1280 { /* Inline math#Byte#& (var106,((unsigned char)0xc0)) on <var106:Byte> */
1281 var111
= var106
& ((unsigned char)0xc0);
1284 RET_LABEL110
:(void)0;
1288 { /* Inline kernel#Byte#== (var109,((unsigned char)0x80)) on <var109:Byte> */
1289 var114
= var109
== ((unsigned char)0x80);
1292 RET_LABEL113
:(void)0;
1302 { /* Inline kernel#Int#+ (var_pos,3l) on <var_pos:Int> */
1303 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
1304 /* <3l:Int> isa OTHER */
1305 var118
= 1; /* easy <3l:Int> isa OTHER*/
1306 if (unlikely(!var118
)) {
1307 var_class_name121
= type_core__Int
.name
;
1308 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name121
);
1309 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1312 var122
= var_pos
+ 3l;
1315 RET_LABEL117
:(void)0;
1319 { /* Inline native#NativeString#[] (self,var116) on <self:NativeString> */
1320 var125
= (unsigned char)((int)self
[var116
]);
1323 RET_LABEL124
:(void)0;
1327 { /* Inline math#Byte#& (var123,((unsigned char)0xc0)) on <var123:Byte> */
1328 var128
= var123
& ((unsigned char)0xc0);
1331 RET_LABEL127
:(void)0;
1335 { /* Inline kernel#Byte#== (var126,((unsigned char)0x80)) on <var126:Byte> */
1336 var131
= var126
== ((unsigned char)0x80);
1339 RET_LABEL130
:(void)0;
1359 /* method native#NativeString#char_to_byte_index_cached for (self: NativeString, Int, Int, Int): Int */
1360 long core___core__NativeString___char_to_byte_index_cached(char* self
, long p0
, long p1
, long p2
) {
1361 long var
/* : Int */;
1362 long var_n
/* var n: Int */;
1363 long var_char_from
/* var char_from: Int */;
1364 long var_byte_from
/* var byte_from: Int */;
1365 long var_ns_i
/* var ns_i: Int */;
1366 long var_my_i
/* var my_i: Int */;
1367 long var1
/* : Int */;
1368 short int var3
/* : Bool */;
1371 const char* var_class_name
;
1372 long var4
/* : Int */;
1373 long var_dist
/* var dist: Int */;
1374 short int var5
/* : Bool */;
1375 short int var7
/* : Bool */;
1378 const char* var_class_name10
;
1379 short int var11
/* : Bool */;
1380 short int var12
/* : Bool */;
1381 short int var14
/* : Bool */;
1384 const char* var_class_name17
;
1385 short int var18
/* : Bool */;
1386 long var19
/* : Int */;
1387 long var21
/* : Int */;
1388 long var_i
/* var i: Int */;
1389 long var22
/* : Int */;
1390 long var24
/* : Int */;
1391 short int var25
/* : Bool */;
1392 short int var27
/* : Bool */;
1393 short int var28
/* : Bool */;
1394 long var29
/* : Int */;
1395 short int var31
/* : Bool */;
1398 const char* var_class_name34
;
1399 long var35
/* : Int */;
1400 long var36
/* : Int */;
1401 short int var38
/* : Bool */;
1404 const char* var_class_name41
;
1405 long var42
/* : Int */;
1406 long var43
/* : Int */;
1407 short int var45
/* : Bool */;
1410 const char* var_class_name48
;
1411 long var49
/* : Int */;
1412 short int var50
/* : Bool */;
1413 short int var52
/* : Bool */;
1414 long var54
/* : Int */;
1415 long var55
/* : Int */;
1416 short int var57
/* : Bool */;
1419 const char* var_class_name60
;
1420 long var61
/* : Int */;
1421 long var62
/* : Int */;
1422 short int var64
/* : Bool */;
1425 const char* var_class_name67
;
1426 long var68
/* : Int */;
1427 long var69
/* : Int */;
1428 short int var71
/* : Bool */;
1431 const char* var_class_name74
;
1432 long var75
/* : Int */;
1433 short int var76
/* : Bool */;
1434 short int var78
/* : Bool */;
1437 const char* var_class_name81
;
1438 short int var82
/* : Bool */;
1439 long var83
/* : Int */;
1440 long var85
/* : Int */;
1441 short int var86
/* : Bool */;
1442 short int var88
/* : Bool */;
1445 const char* var_class_name91
;
1446 short int var92
/* : Bool */;
1447 long var93
/* : Int */;
1448 short int var95
/* : Bool */;
1451 const char* var_class_name98
;
1452 long var99
/* : Int */;
1453 long var100
/* : Int */;
1454 long var102
/* : Int */;
1455 long var_i103
/* var i: Int */;
1456 long var104
/* : Int */;
1457 long var106
/* : Int */;
1458 short int var107
/* : Bool */;
1459 short int var109
/* : Bool */;
1460 short int var110
/* : Bool */;
1461 long var112
/* : Int */;
1462 short int var114
/* : Bool */;
1465 const char* var_class_name117
;
1466 long var118
/* : Int */;
1467 long var119
/* : Int */;
1468 short int var121
/* : Bool */;
1471 const char* var_class_name124
;
1472 long var125
/* : Int */;
1473 long var126
/* : Int */;
1474 short int var128
/* : Bool */;
1477 const char* var_class_name131
;
1478 long var132
/* : Int */;
1479 short int var133
/* : Bool */;
1480 short int var135
/* : Bool */;
1481 long var137
/* : Int */;
1482 short int var139
/* : Bool */;
1485 const char* var_class_name142
;
1486 long var143
/* : Int */;
1487 long var144
/* : Int */;
1488 long var145
/* : Int */;
1489 short int var147
/* : Bool */;
1492 const char* var_class_name150
;
1493 long var151
/* : Int */;
1494 long var152
/* : Int */;
1495 short int var154
/* : Bool */;
1498 const char* var_class_name157
;
1499 long var158
/* : Int */;
1503 var_ns_i
= var_byte_from
;
1504 var_my_i
= var_char_from
;
1506 { /* Inline kernel#Int#- (var_n,var_my_i) on <var_n:Int> */
1507 /* Covariant cast for argument 0 (i) <var_my_i:Int> isa OTHER */
1508 /* <var_my_i:Int> isa OTHER */
1509 var3
= 1; /* easy <var_my_i:Int> isa OTHER*/
1510 if (unlikely(!var3
)) {
1511 var_class_name
= type_core__Int
.name
;
1512 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1513 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1516 var4
= var_n
- var_my_i
;
1525 { /* Inline kernel#Int#> (var_dist,0l) on <var_dist:Int> */
1526 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1527 /* <0l:Int> isa OTHER */
1528 var7
= 1; /* easy <0l:Int> isa OTHER*/
1529 if (unlikely(!var7
)) {
1530 var_class_name10
= type_core__Int
.name
;
1531 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
1532 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
1535 var11
= var_dist
> 0l;
1544 { /* Inline kernel#Int#>= (var_dist,4l) on <var_dist:Int> */
1545 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1546 /* <4l:Int> isa OTHER */
1547 var14
= 1; /* easy <4l:Int> isa OTHER*/
1548 if (unlikely(!var14
)) {
1549 var_class_name17
= type_core__Int
.name
;
1550 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
1551 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
1554 var18
= var_dist
>= 4l;
1557 RET_LABEL13
:(void)0;
1562 { /* Inline native#NativeString#fetch_4_chars (self,var_ns_i) on <self:NativeString> */
1563 var21
= (long)*((uint32_t*)(self
+ var_ns_i
));
1566 RET_LABEL20
:(void)0;
1571 { /* Inline math#Int#& (var_i,2155905152l) on <var_i:Int> */
1572 var24
= var_i
& 2155905152l;
1575 RET_LABEL23
:(void)0;
1579 { /* Inline kernel#Int#!= (var22,0l) on <var22:Int> */
1580 var27
= var22
== 0l;
1584 RET_LABEL26
:(void)0;
1592 { /* Inline kernel#Int#+ (var_ns_i,4l) on <var_ns_i:Int> */
1593 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1594 /* <4l:Int> isa OTHER */
1595 var31
= 1; /* easy <4l:Int> isa OTHER*/
1596 if (unlikely(!var31
)) {
1597 var_class_name34
= type_core__Int
.name
;
1598 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
1599 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1602 var35
= var_ns_i
+ 4l;
1605 RET_LABEL30
:(void)0;
1610 { /* Inline kernel#Int#+ (var_my_i,4l) on <var_my_i:Int> */
1611 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1612 /* <4l:Int> isa OTHER */
1613 var38
= 1; /* easy <4l:Int> isa OTHER*/
1614 if (unlikely(!var38
)) {
1615 var_class_name41
= type_core__Int
.name
;
1616 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
1617 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1620 var42
= var_my_i
+ 4l;
1623 RET_LABEL37
:(void)0;
1628 { /* Inline kernel#Int#- (var_dist,4l) on <var_dist:Int> */
1629 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1630 /* <4l:Int> isa OTHER */
1631 var45
= 1; /* easy <4l:Int> isa OTHER*/
1632 if (unlikely(!var45
)) {
1633 var_class_name48
= type_core__Int
.name
;
1634 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
1635 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1638 var49
= var_dist
- 4l;
1641 RET_LABEL44
:(void)0;
1649 BREAK_label
: (void)0;
1651 { /* Inline kernel#Int#== (var_dist,0l) on <var_dist:Int> */
1652 var52
= var_dist
== 0l;
1655 RET_LABEL51
:(void)0;
1663 var54
= core___core__NativeString___length_of_char_at(self
, var_ns_i
);
1666 { /* Inline kernel#Int#+ (var_ns_i,var54) on <var_ns_i:Int> */
1667 /* Covariant cast for argument 0 (i) <var54:Int> isa OTHER */
1668 /* <var54:Int> isa OTHER */
1669 var57
= 1; /* easy <var54:Int> isa OTHER*/
1670 if (unlikely(!var57
)) {
1671 var_class_name60
= type_core__Int
.name
;
1672 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name60
);
1673 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1676 var61
= var_ns_i
+ var54
;
1679 RET_LABEL56
:(void)0;
1684 { /* Inline kernel#Int#+ (var_my_i,1l) on <var_my_i:Int> */
1685 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1686 /* <1l:Int> isa OTHER */
1687 var64
= 1; /* easy <1l:Int> isa OTHER*/
1688 if (unlikely(!var64
)) {
1689 var_class_name67
= type_core__Int
.name
;
1690 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name67
);
1691 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1694 var68
= var_my_i
+ 1l;
1697 RET_LABEL63
:(void)0;
1702 { /* Inline kernel#Int#- (var_dist,1l) on <var_dist:Int> */
1703 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1704 /* <1l:Int> isa OTHER */
1705 var71
= 1; /* easy <1l:Int> isa OTHER*/
1706 if (unlikely(!var71
)) {
1707 var_class_name74
= type_core__Int
.name
;
1708 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74
);
1709 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1712 var75
= var_dist
- 1l;
1715 RET_LABEL70
:(void)0;
1723 BREAK_label53
: (void)0;
1726 { /* Inline kernel#Int#< (var_dist,0l) on <var_dist:Int> */
1727 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
1728 /* <0l:Int> isa OTHER */
1729 var78
= 1; /* easy <0l:Int> isa OTHER*/
1730 if (unlikely(!var78
)) {
1731 var_class_name81
= type_core__Int
.name
;
1732 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81
);
1733 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
1736 var82
= var_dist
< 0l;
1739 RET_LABEL77
:(void)0;
1745 { /* Inline kernel#Int#unary - (4l) on <4l:Int> */
1749 RET_LABEL84
:(void)0;
1753 { /* Inline kernel#Int#<= (var_dist,var83) on <var_dist:Int> */
1754 /* Covariant cast for argument 0 (i) <var83:Int> isa OTHER */
1755 /* <var83:Int> isa OTHER */
1756 var88
= 1; /* easy <var83:Int> isa OTHER*/
1757 if (unlikely(!var88
)) {
1758 var_class_name91
= type_core__Int
.name
;
1759 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name91
);
1760 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
1763 var92
= var_dist
<= var83
;
1766 RET_LABEL87
:(void)0;
1771 { /* Inline kernel#Int#- (var_ns_i,4l) on <var_ns_i:Int> */
1772 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1773 /* <4l:Int> isa OTHER */
1774 var95
= 1; /* easy <4l:Int> isa OTHER*/
1775 if (unlikely(!var95
)) {
1776 var_class_name98
= type_core__Int
.name
;
1777 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name98
);
1778 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1781 var99
= var_ns_i
- 4l;
1784 RET_LABEL94
:(void)0;
1788 { /* Inline native#NativeString#fetch_4_chars (self,var93) on <self:NativeString> */
1789 var102
= (long)*((uint32_t*)(self
+ var93
));
1792 RET_LABEL101
:(void)0;
1797 { /* Inline math#Int#& (var_i103,2155905152l) on <var_i103:Int> */
1798 var106
= var_i103
& 2155905152l;
1801 RET_LABEL105
:(void)0;
1805 { /* Inline kernel#Int#!= (var104,0l) on <var104:Int> */
1806 var109
= var104
== 0l;
1810 RET_LABEL108
:(void)0;
1814 goto BREAK_label111
;
1818 { /* Inline kernel#Int#- (var_ns_i,4l) on <var_ns_i:Int> */
1819 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1820 /* <4l:Int> isa OTHER */
1821 var114
= 1; /* easy <4l:Int> isa OTHER*/
1822 if (unlikely(!var114
)) {
1823 var_class_name117
= type_core__Int
.name
;
1824 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name117
);
1825 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1828 var118
= var_ns_i
- 4l;
1831 RET_LABEL113
:(void)0;
1836 { /* Inline kernel#Int#- (var_my_i,4l) on <var_my_i:Int> */
1837 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1838 /* <4l:Int> isa OTHER */
1839 var121
= 1; /* easy <4l:Int> isa OTHER*/
1840 if (unlikely(!var121
)) {
1841 var_class_name124
= type_core__Int
.name
;
1842 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name124
);
1843 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1846 var125
= var_my_i
- 4l;
1849 RET_LABEL120
:(void)0;
1854 { /* Inline kernel#Int#+ (var_dist,4l) on <var_dist:Int> */
1855 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
1856 /* <4l:Int> isa OTHER */
1857 var128
= 1; /* easy <4l:Int> isa OTHER*/
1858 if (unlikely(!var128
)) {
1859 var_class_name131
= type_core__Int
.name
;
1860 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name131
);
1861 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1864 var132
= var_dist
+ 4l;
1867 RET_LABEL127
:(void)0;
1872 goto BREAK_label111
;
1875 BREAK_label111
: (void)0;
1877 { /* Inline kernel#Int#== (var_dist,0l) on <var_dist:Int> */
1878 var135
= var_dist
== 0l;
1881 RET_LABEL134
:(void)0;
1885 goto BREAK_label136
;
1889 { /* Inline kernel#Int#- (var_ns_i,1l) on <var_ns_i:Int> */
1890 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1891 /* <1l:Int> isa OTHER */
1892 var139
= 1; /* easy <1l:Int> isa OTHER*/
1893 if (unlikely(!var139
)) {
1894 var_class_name142
= type_core__Int
.name
;
1895 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name142
);
1896 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1899 var143
= var_ns_i
- 1l;
1902 RET_LABEL138
:(void)0;
1906 var144
= core___core__NativeString___find_beginning_of_char_at(self
, var137
);
1910 { /* Inline kernel#Int#- (var_my_i,1l) on <var_my_i:Int> */
1911 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1912 /* <1l:Int> isa OTHER */
1913 var147
= 1; /* easy <1l:Int> isa OTHER*/
1914 if (unlikely(!var147
)) {
1915 var_class_name150
= type_core__Int
.name
;
1916 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name150
);
1917 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1920 var151
= var_my_i
- 1l;
1923 RET_LABEL146
:(void)0;
1928 { /* Inline kernel#Int#+ (var_dist,1l) on <var_dist:Int> */
1929 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1930 /* <1l:Int> isa OTHER */
1931 var154
= 1; /* easy <1l:Int> isa OTHER*/
1932 if (unlikely(!var154
)) {
1933 var_class_name157
= type_core__Int
.name
;
1934 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name157
);
1935 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1938 var158
= var_dist
+ 1l;
1941 RET_LABEL153
:(void)0;
1946 goto BREAK_label136
;
1949 BREAK_label136
: (void)0;
1955 /* method native#NativeString#find_beginning_of_char_at for (self: NativeString, Int): Int */
1956 long core___core__NativeString___find_beginning_of_char_at(char* self
, long p0
) {
1957 long var
/* : Int */;
1958 long var_pos
/* var pos: Int */;
1959 long var_endpos
/* var endpos: Int */;
1960 unsigned char var1
/* : Byte */;
1961 unsigned char var3
/* : Byte */;
1962 unsigned char var_c
/* var c: Byte */;
1963 unsigned char var4
/* : Byte */;
1964 unsigned char var6
/* : Byte */;
1965 short int var7
/* : Bool */;
1966 short int var9
/* : Bool */;
1967 unsigned char var10
/* : Byte */;
1968 unsigned char var12
/* : Byte */;
1969 short int var13
/* : Bool */;
1970 short int var15
/* : Bool */;
1971 long var16
/* : Int */;
1972 short int var18
/* : Bool */;
1975 const char* var_class_name
;
1976 long var19
/* : Int */;
1977 unsigned char var20
/* : Byte */;
1978 unsigned char var22
/* : Byte */;
1979 long var_stpos
/* var stpos: Int */;
1980 long var23
/* : Int */;
1981 long var24
/* : Int */;
1982 short int var26
/* : Bool */;
1985 const char* var_class_name29
;
1986 long var30
/* : Int */;
1987 long var31
/* : Int */;
1988 short int var33
/* : Bool */;
1991 const char* var_class_name36
;
1992 long var37
/* : Int */;
1993 short int var38
/* : Bool */;
1994 short int var40
/* : Bool */;
1997 const char* var_class_name43
;
1998 short int var44
/* : Bool */;
2000 var_endpos
= var_pos
;
2002 { /* Inline native#NativeString#[] (self,var_pos) on <self:NativeString> */
2003 var3
= (unsigned char)((int)self
[var_pos
]);
2011 { /* Inline math#Byte#& (var_c,((unsigned char)0x80)) on <var_c:Byte> */
2012 var6
= var_c
& ((unsigned char)0x80);
2019 { /* Inline kernel#Byte#== (var4,((unsigned char)0x00)) on <var4:Byte> */
2020 var9
= var4
== ((unsigned char)0x00);
2033 { /* Inline math#Byte#& (var_c,((unsigned char)0xc0)) on <var_c:Byte> */
2034 var12
= var_c
& ((unsigned char)0xc0);
2037 RET_LABEL11
:(void)0;
2041 { /* Inline kernel#Byte#== (var10,((unsigned char)0x80)) on <var10:Byte> */
2042 var15
= var10
== ((unsigned char)0x80);
2045 RET_LABEL14
:(void)0;
2050 { /* Inline kernel#Int#- (var_pos,1l) on <var_pos:Int> */
2051 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2052 /* <1l:Int> isa OTHER */
2053 var18
= 1; /* easy <1l:Int> isa OTHER*/
2054 if (unlikely(!var18
)) {
2055 var_class_name
= type_core__Int
.name
;
2056 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2057 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2060 var19
= var_pos
- 1l;
2063 RET_LABEL17
:(void)0;
2068 { /* Inline native#NativeString#[] (self,var_pos) on <self:NativeString> */
2069 var22
= (unsigned char)((int)self
[var_pos
]);
2072 RET_LABEL21
:(void)0;
2080 BREAK_label
: (void)0;
2081 var_stpos
= var_pos
;
2083 var23
= core___core__NativeString___length_of_char_at(self
, var_stpos
);
2086 { /* Inline kernel#Int#- (var_endpos,var_stpos) on <var_endpos:Int> */
2087 /* Covariant cast for argument 0 (i) <var_stpos:Int> isa OTHER */
2088 /* <var_stpos:Int> isa OTHER */
2089 var26
= 1; /* easy <var_stpos:Int> isa OTHER*/
2090 if (unlikely(!var26
)) {
2091 var_class_name29
= type_core__Int
.name
;
2092 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29
);
2093 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2096 var30
= var_endpos
- var_stpos
;
2099 RET_LABEL25
:(void)0;
2103 { /* Inline kernel#Int#+ (var24,1l) on <var24:Int> */
2104 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2105 /* <1l:Int> isa OTHER */
2106 var33
= 1; /* easy <1l:Int> isa OTHER*/
2107 if (unlikely(!var33
)) {
2108 var_class_name36
= type_core__Int
.name
;
2109 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36
);
2110 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2116 RET_LABEL32
:(void)0;
2120 { /* Inline kernel#Int#>= (var23,var31) on <var23:Int> */
2121 /* Covariant cast for argument 0 (i) <var31:Int> isa OTHER */
2122 /* <var31:Int> isa OTHER */
2123 var40
= 1; /* easy <var31:Int> isa OTHER*/
2124 if (unlikely(!var40
)) {
2125 var_class_name43
= type_core__Int
.name
;
2126 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43
);
2127 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
2130 var44
= var23
>= var31
;
2133 RET_LABEL39
:(void)0;
2146 /* method native#NativeString#utf8_length for (self: NativeString, Int, Int): Int */
2147 long core___core__NativeString___utf8_length(char* self
, long p0
, long p1
) {
2148 long var
/* : Int */;
2149 long var_from
/* var from: Int */;
2150 long var_bytelen
/* var bytelen: Int */;
2151 long var_st
/* var st: Int */;
2152 long var_ln
/* var ln: Int */;
2153 short int var1
/* : Bool */;
2154 short int var3
/* : Bool */;
2157 const char* var_class_name
;
2158 short int var4
/* : Bool */;
2159 short int var5
/* : Bool */;
2160 short int var7
/* : Bool */;
2163 const char* var_class_name10
;
2164 short int var11
/* : Bool */;
2165 long var12
/* : Int */;
2166 long var14
/* : Int */;
2167 long var_i
/* var i: Int */;
2168 long var15
/* : Int */;
2169 long var17
/* : Int */;
2170 short int var18
/* : Bool */;
2171 short int var20
/* : Bool */;
2172 short int var21
/* : Bool */;
2173 long var22
/* : Int */;
2174 short int var24
/* : Bool */;
2177 const char* var_class_name27
;
2178 long var28
/* : Int */;
2179 long var29
/* : Int */;
2180 short int var31
/* : Bool */;
2183 const char* var_class_name34
;
2184 long var35
/* : Int */;
2185 long var36
/* : Int */;
2186 short int var38
/* : Bool */;
2189 const char* var_class_name41
;
2190 long var42
/* : Int */;
2191 short int var43
/* : Bool */;
2192 short int var45
/* : Bool */;
2193 long var47
/* : Int */;
2194 long var_cln
/* var cln: Int */;
2195 long var48
/* : Int */;
2196 short int var50
/* : Bool */;
2199 const char* var_class_name53
;
2200 long var54
/* : Int */;
2201 long var55
/* : Int */;
2202 short int var57
/* : Bool */;
2205 const char* var_class_name60
;
2206 long var61
/* : Int */;
2207 long var62
/* : Int */;
2208 short int var64
/* : Bool */;
2211 const char* var_class_name67
;
2212 long var68
/* : Int */;
2219 { /* Inline kernel#Int#> (var_bytelen,0l) on <var_bytelen:Int> */
2220 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
2221 /* <0l:Int> isa OTHER */
2222 var3
= 1; /* easy <0l:Int> isa OTHER*/
2223 if (unlikely(!var3
)) {
2224 var_class_name
= type_core__Int
.name
;
2225 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2226 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
2229 var4
= var_bytelen
> 0l;
2238 { /* Inline kernel#Int#>= (var_bytelen,4l) on <var_bytelen:Int> */
2239 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
2240 /* <4l:Int> isa OTHER */
2241 var7
= 1; /* easy <4l:Int> isa OTHER*/
2242 if (unlikely(!var7
)) {
2243 var_class_name10
= type_core__Int
.name
;
2244 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10
);
2245 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
2248 var11
= var_bytelen
>= 4l;
2256 { /* Inline native#NativeString#fetch_4_chars (self,var_st) on <self:NativeString> */
2257 var14
= (long)*((uint32_t*)(self
+ var_st
));
2260 RET_LABEL13
:(void)0;
2265 { /* Inline math#Int#& (var_i,2155905152l) on <var_i:Int> */
2266 var17
= var_i
& 2155905152l;
2269 RET_LABEL16
:(void)0;
2273 { /* Inline kernel#Int#!= (var15,0l) on <var15:Int> */
2274 var20
= var15
== 0l;
2278 RET_LABEL19
:(void)0;
2286 { /* Inline kernel#Int#- (var_bytelen,4l) on <var_bytelen:Int> */
2287 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
2288 /* <4l:Int> isa OTHER */
2289 var24
= 1; /* easy <4l:Int> isa OTHER*/
2290 if (unlikely(!var24
)) {
2291 var_class_name27
= type_core__Int
.name
;
2292 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
2293 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2296 var28
= var_bytelen
- 4l;
2299 RET_LABEL23
:(void)0;
2302 var_bytelen
= var22
;
2304 { /* Inline kernel#Int#+ (var_st,4l) on <var_st:Int> */
2305 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
2306 /* <4l:Int> isa OTHER */
2307 var31
= 1; /* easy <4l:Int> isa OTHER*/
2308 if (unlikely(!var31
)) {
2309 var_class_name34
= type_core__Int
.name
;
2310 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
2311 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2314 var35
= var_st
+ 4l;
2317 RET_LABEL30
:(void)0;
2322 { /* Inline kernel#Int#+ (var_ln,4l) on <var_ln:Int> */
2323 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
2324 /* <4l:Int> isa OTHER */
2325 var38
= 1; /* easy <4l:Int> isa OTHER*/
2326 if (unlikely(!var38
)) {
2327 var_class_name41
= type_core__Int
.name
;
2328 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41
);
2329 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2332 var42
= var_ln
+ 4l;
2335 RET_LABEL37
:(void)0;
2343 BREAK_label
: (void)0;
2345 { /* Inline kernel#Int#== (var_bytelen,0l) on <var_bytelen:Int> */
2346 var45
= var_bytelen
== 0l;
2349 RET_LABEL44
:(void)0;
2357 var47
= core___core__NativeString___length_of_char_at(self
, var_st
);
2361 { /* Inline kernel#Int#+ (var_st,var_cln) on <var_st:Int> */
2362 /* Covariant cast for argument 0 (i) <var_cln:Int> isa OTHER */
2363 /* <var_cln:Int> isa OTHER */
2364 var50
= 1; /* easy <var_cln:Int> isa OTHER*/
2365 if (unlikely(!var50
)) {
2366 var_class_name53
= type_core__Int
.name
;
2367 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53
);
2368 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2371 var54
= var_st
+ var_cln
;
2374 RET_LABEL49
:(void)0;
2379 { /* Inline kernel#Int#+ (var_ln,1l) on <var_ln:Int> */
2380 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2381 /* <1l:Int> isa OTHER */
2382 var57
= 1; /* easy <1l:Int> isa OTHER*/
2383 if (unlikely(!var57
)) {
2384 var_class_name60
= type_core__Int
.name
;
2385 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name60
);
2386 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2389 var61
= var_ln
+ 1l;
2392 RET_LABEL56
:(void)0;
2397 { /* Inline kernel#Int#- (var_bytelen,var_cln) on <var_bytelen:Int> */
2398 /* Covariant cast for argument 0 (i) <var_cln:Int> isa OTHER */
2399 /* <var_cln:Int> isa OTHER */
2400 var64
= 1; /* easy <var_cln:Int> isa OTHER*/
2401 if (unlikely(!var64
)) {
2402 var_class_name67
= type_core__Int
.name
;
2403 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name67
);
2404 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
2407 var68
= var_bytelen
- var_cln
;
2410 RET_LABEL63
:(void)0;
2413 var_bytelen
= var62
;
2418 BREAK_label46
: (void)0;
2424 /* method native#NativeString#fetch_4_chars for (self: NativeString, Int): Int */
2425 long core___core__NativeString___fetch_95d4_chars(char* self
, long p0
) {
2426 long var
/* : Int */;
2427 long var1
/* : Int */;
2428 var1
= (long)*((uint32_t*)(self
+ p0
));
2434 /* method native#NativeString#fetch_4_hchars for (self: NativeString, Int): Int */
2435 long core___core__NativeString___fetch_95d4_hchars(char* self
, long p0
) {
2436 long var
/* : Int */;
2437 long var1
/* : Int */;
2438 var1
= (long)be32toh(*((uint32_t*)(self
+ p0
)));
2444 /* method native#NativeString#fetch_4_ffi for (self: NativeString, Int): Int */
2445 long core___core__NativeString___fetch_95d4_ffi(char* self
, long p0
) {
2446 long var
/* : Int */;
2447 long var1
/* : Int */;
2448 var1
= native___NativeString_fetch_4_ffi___impl(self
, p0
);
2454 /* method native#NativeString#fetch_4h_ffi for (self: NativeString, Int): Int */
2455 long core___core__NativeString___fetch_95d4h_ffi(char* self
, long p0
) {
2456 long var
/* : Int */;
2457 long var1
/* : Int */;
2458 var1
= native___NativeString_fetch_4h_ffi___impl(self
, p0
);