Merge: doc: fixed some typos and other misc. corrections
[nit.git] / c_src / core__fixed_ints_text.sep.1.c
1 #include "core__fixed_ints_text.sep.0.h"
2 /* method fixed_ints_text$Int8$to_s_len for (self: Int8): Int */
3 long core__fixed_ints_text___Int8___to_s_len(int8_t self) {
4 long var /* : Int */;
5 long var1 /* : Int */;
6 var1 = core__fixed_ints_text___Int8_to_s_len___impl(self);
7 var = var1;
8 goto RET_LABEL;
9 RET_LABEL:;
10 return var;
11 }
12 /* method fixed_ints_text$Int8$native_to_s for (self: Int8, CString, Int) */
13 void core__fixed_ints_text___Int8___native_to_s(int8_t self, char* p0, long p1) {
14 core__fixed_ints_text___Int8_native_to_s___impl(self, p0, p1);
15 RET_LABEL:;
16 }
17 /* method fixed_ints_text$Int8$to_s for (self: Int8): String */
18 val* core__fixed_ints_text___Int8___core__abstract_text__Object__to_s(int8_t self) {
19 val* var /* : String */;
20 long var1 /* : Int */;
21 long var3 /* : Int */;
22 long var_nslen /* var nslen: Int */;
23 static char* varoncenew;
24 static int varoncenew_guard;
25 char* var4 /* : CString */;
26 char* var5 /* : CString */;
27 long var6 /* : Int */;
28 short int var8 /* : Bool */;
29 int cltype;
30 int idtype;
31 const char* var_class_name;
32 long var9 /* : Int */;
33 char* var10 /* : CString */;
34 char* var12 /* : CString */;
35 char* var_ns /* var ns: CString */;
36 long var14 /* : Int */;
37 short int var16 /* : Bool */;
38 int cltype17;
39 int idtype18;
40 const char* var_class_name19;
41 long var20 /* : Int */;
42 val* var22 /* : String */;
43 val* var23 /* : nullable Int */;
44 val* var24 /* : nullable Bool */;
45 {
46 { /* Inline fixed_ints_text$Int8$to_s_len (self) on <self:Int8> */
47 var3 = core__fixed_ints_text___Int8_to_s_len___impl(self);
48 var1 = var3;
49 goto RET_LABEL2;
50 RET_LABEL2:(void)0;
51 }
52 }
53 var_nslen = var1;
54 if (likely(varoncenew_guard)) {
55 var4 = varoncenew;
56 } else {
57 var5 = NULL/*special!*/;
58 var4 = var5;
59 varoncenew = var4;
60 varoncenew_guard = 1;
61 }
62 {
63 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
64 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
65 /* <1l:Int> isa OTHER */
66 var8 = 1; /* easy <1l:Int> isa OTHER*/
67 if (unlikely(!var8)) {
68 var_class_name = type_core__Int.name;
69 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
70 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
71 fatal_exit(1);
72 }
73 var9 = var_nslen + 1l;
74 var6 = var9;
75 goto RET_LABEL7;
76 RET_LABEL7:(void)0;
77 }
78 }
79 {
80 { /* Inline native$CString$new (var4,var6) on <var4:CString> */
81 var12 = (char*)nit_alloc(var6);
82 var10 = var12;
83 goto RET_LABEL11;
84 RET_LABEL11:(void)0;
85 }
86 }
87 var_ns = var10;
88 {
89 { /* Inline native$CString$[]= (var_ns,var_nslen,((unsigned char)0x00)) on <var_ns:CString> */
90 var_ns[var_nslen]=(unsigned char)((unsigned char)0x00);
91 RET_LABEL13:(void)0;
92 }
93 }
94 {
95 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
96 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
97 /* <1l:Int> isa OTHER */
98 var16 = 1; /* easy <1l:Int> isa OTHER*/
99 if (unlikely(!var16)) {
100 var_class_name19 = type_core__Int.name;
101 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
102 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
103 fatal_exit(1);
104 }
105 var20 = var_nslen + 1l;
106 var14 = var20;
107 goto RET_LABEL15;
108 RET_LABEL15:(void)0;
109 }
110 }
111 {
112 { /* Inline fixed_ints_text$Int8$native_to_s (self,var_ns,var14) on <self:Int8> */
113 core__fixed_ints_text___Int8_native_to_s___impl(self, var_ns, var14);
114 RET_LABEL21:(void)0;
115 }
116 }
117 {
118 var23 = (val*)(var_nslen<<2|1);
119 var24 = (val*)((long)(0)<<2|3);
120 var22 = core__flat___CString___to_s_unsafe(var_ns, var23, ((val*)NULL), var24, ((val*)NULL));
121 }
122 var = var22;
123 goto RET_LABEL;
124 RET_LABEL:;
125 return var;
126 }
127 /* method fixed_ints_text$Int8$to_s for (self: Object): String */
128 val* VIRTUAL_core__fixed_ints_text___Int8___core__abstract_text__Object__to_s(val* self) {
129 val* var /* : String */;
130 val* var1 /* : String */;
131 int8_t var2 /* : Int8 */;
132 var2 = ((struct instance_core__Int8*)self)->value; /* autounbox from Object to Int8 */;
133 var1 = core__fixed_ints_text___Int8___core__abstract_text__Object__to_s(var2);
134 var = var1;
135 RET_LABEL:;
136 return var;
137 }
138 /* method fixed_ints_text$Int16$to_s_len for (self: Int16): Int */
139 long core__fixed_ints_text___Int16___to_s_len(int16_t self) {
140 long var /* : Int */;
141 long var1 /* : Int */;
142 var1 = core__fixed_ints_text___Int16_to_s_len___impl(self);
143 var = var1;
144 goto RET_LABEL;
145 RET_LABEL:;
146 return var;
147 }
148 /* method fixed_ints_text$Int16$native_to_s for (self: Int16, CString, Int) */
149 void core__fixed_ints_text___Int16___native_to_s(int16_t self, char* p0, long p1) {
150 core__fixed_ints_text___Int16_native_to_s___impl(self, p0, p1);
151 RET_LABEL:;
152 }
153 /* method fixed_ints_text$Int16$to_s for (self: Int16): String */
154 val* core__fixed_ints_text___Int16___core__abstract_text__Object__to_s(int16_t self) {
155 val* var /* : String */;
156 long var1 /* : Int */;
157 long var3 /* : Int */;
158 long var_nslen /* var nslen: Int */;
159 static char* varoncenew;
160 static int varoncenew_guard;
161 char* var4 /* : CString */;
162 char* var5 /* : CString */;
163 long var6 /* : Int */;
164 short int var8 /* : Bool */;
165 int cltype;
166 int idtype;
167 const char* var_class_name;
168 long var9 /* : Int */;
169 char* var10 /* : CString */;
170 char* var12 /* : CString */;
171 char* var_ns /* var ns: CString */;
172 long var14 /* : Int */;
173 short int var16 /* : Bool */;
174 int cltype17;
175 int idtype18;
176 const char* var_class_name19;
177 long var20 /* : Int */;
178 val* var22 /* : String */;
179 val* var23 /* : nullable Int */;
180 val* var24 /* : nullable Bool */;
181 {
182 { /* Inline fixed_ints_text$Int16$to_s_len (self) on <self:Int16> */
183 var3 = core__fixed_ints_text___Int16_to_s_len___impl(self);
184 var1 = var3;
185 goto RET_LABEL2;
186 RET_LABEL2:(void)0;
187 }
188 }
189 var_nslen = var1;
190 if (likely(varoncenew_guard)) {
191 var4 = varoncenew;
192 } else {
193 var5 = NULL/*special!*/;
194 var4 = var5;
195 varoncenew = var4;
196 varoncenew_guard = 1;
197 }
198 {
199 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
200 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
201 /* <1l:Int> isa OTHER */
202 var8 = 1; /* easy <1l:Int> isa OTHER*/
203 if (unlikely(!var8)) {
204 var_class_name = type_core__Int.name;
205 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
206 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
207 fatal_exit(1);
208 }
209 var9 = var_nslen + 1l;
210 var6 = var9;
211 goto RET_LABEL7;
212 RET_LABEL7:(void)0;
213 }
214 }
215 {
216 { /* Inline native$CString$new (var4,var6) on <var4:CString> */
217 var12 = (char*)nit_alloc(var6);
218 var10 = var12;
219 goto RET_LABEL11;
220 RET_LABEL11:(void)0;
221 }
222 }
223 var_ns = var10;
224 {
225 { /* Inline native$CString$[]= (var_ns,var_nslen,((unsigned char)0x00)) on <var_ns:CString> */
226 var_ns[var_nslen]=(unsigned char)((unsigned char)0x00);
227 RET_LABEL13:(void)0;
228 }
229 }
230 {
231 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
232 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
233 /* <1l:Int> isa OTHER */
234 var16 = 1; /* easy <1l:Int> isa OTHER*/
235 if (unlikely(!var16)) {
236 var_class_name19 = type_core__Int.name;
237 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
238 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
239 fatal_exit(1);
240 }
241 var20 = var_nslen + 1l;
242 var14 = var20;
243 goto RET_LABEL15;
244 RET_LABEL15:(void)0;
245 }
246 }
247 {
248 { /* Inline fixed_ints_text$Int16$native_to_s (self,var_ns,var14) on <self:Int16> */
249 core__fixed_ints_text___Int16_native_to_s___impl(self, var_ns, var14);
250 RET_LABEL21:(void)0;
251 }
252 }
253 {
254 var23 = (val*)(var_nslen<<2|1);
255 var24 = (val*)((long)(0)<<2|3);
256 var22 = core__flat___CString___to_s_unsafe(var_ns, var23, ((val*)NULL), var24, ((val*)NULL));
257 }
258 var = var22;
259 goto RET_LABEL;
260 RET_LABEL:;
261 return var;
262 }
263 /* method fixed_ints_text$Int16$to_s for (self: Object): String */
264 val* VIRTUAL_core__fixed_ints_text___Int16___core__abstract_text__Object__to_s(val* self) {
265 val* var /* : String */;
266 val* var1 /* : String */;
267 int16_t var2 /* : Int16 */;
268 var2 = ((struct instance_core__Int16*)self)->value; /* autounbox from Object to Int16 */;
269 var1 = core__fixed_ints_text___Int16___core__abstract_text__Object__to_s(var2);
270 var = var1;
271 RET_LABEL:;
272 return var;
273 }
274 /* method fixed_ints_text$UInt16$to_s_len for (self: UInt16): Int */
275 long core__fixed_ints_text___UInt16___to_s_len(uint16_t self) {
276 long var /* : Int */;
277 long var1 /* : Int */;
278 var1 = core__fixed_ints_text___UInt16_to_s_len___impl(self);
279 var = var1;
280 goto RET_LABEL;
281 RET_LABEL:;
282 return var;
283 }
284 /* method fixed_ints_text$UInt16$native_to_s for (self: UInt16, CString, Int) */
285 void core__fixed_ints_text___UInt16___native_to_s(uint16_t self, char* p0, long p1) {
286 core__fixed_ints_text___UInt16_native_to_s___impl(self, p0, p1);
287 RET_LABEL:;
288 }
289 /* method fixed_ints_text$UInt16$to_s for (self: UInt16): String */
290 val* core__fixed_ints_text___UInt16___core__abstract_text__Object__to_s(uint16_t self) {
291 val* var /* : String */;
292 long var1 /* : Int */;
293 long var3 /* : Int */;
294 long var_nslen /* var nslen: Int */;
295 static char* varoncenew;
296 static int varoncenew_guard;
297 char* var4 /* : CString */;
298 char* var5 /* : CString */;
299 long var6 /* : Int */;
300 short int var8 /* : Bool */;
301 int cltype;
302 int idtype;
303 const char* var_class_name;
304 long var9 /* : Int */;
305 char* var10 /* : CString */;
306 char* var12 /* : CString */;
307 char* var_ns /* var ns: CString */;
308 long var14 /* : Int */;
309 short int var16 /* : Bool */;
310 int cltype17;
311 int idtype18;
312 const char* var_class_name19;
313 long var20 /* : Int */;
314 val* var22 /* : String */;
315 val* var23 /* : nullable Int */;
316 val* var24 /* : nullable Bool */;
317 {
318 { /* Inline fixed_ints_text$UInt16$to_s_len (self) on <self:UInt16> */
319 var3 = core__fixed_ints_text___UInt16_to_s_len___impl(self);
320 var1 = var3;
321 goto RET_LABEL2;
322 RET_LABEL2:(void)0;
323 }
324 }
325 var_nslen = var1;
326 if (likely(varoncenew_guard)) {
327 var4 = varoncenew;
328 } else {
329 var5 = NULL/*special!*/;
330 var4 = var5;
331 varoncenew = var4;
332 varoncenew_guard = 1;
333 }
334 {
335 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
336 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
337 /* <1l:Int> isa OTHER */
338 var8 = 1; /* easy <1l:Int> isa OTHER*/
339 if (unlikely(!var8)) {
340 var_class_name = type_core__Int.name;
341 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
342 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
343 fatal_exit(1);
344 }
345 var9 = var_nslen + 1l;
346 var6 = var9;
347 goto RET_LABEL7;
348 RET_LABEL7:(void)0;
349 }
350 }
351 {
352 { /* Inline native$CString$new (var4,var6) on <var4:CString> */
353 var12 = (char*)nit_alloc(var6);
354 var10 = var12;
355 goto RET_LABEL11;
356 RET_LABEL11:(void)0;
357 }
358 }
359 var_ns = var10;
360 {
361 { /* Inline native$CString$[]= (var_ns,var_nslen,((unsigned char)0x00)) on <var_ns:CString> */
362 var_ns[var_nslen]=(unsigned char)((unsigned char)0x00);
363 RET_LABEL13:(void)0;
364 }
365 }
366 {
367 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
368 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
369 /* <1l:Int> isa OTHER */
370 var16 = 1; /* easy <1l:Int> isa OTHER*/
371 if (unlikely(!var16)) {
372 var_class_name19 = type_core__Int.name;
373 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
374 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
375 fatal_exit(1);
376 }
377 var20 = var_nslen + 1l;
378 var14 = var20;
379 goto RET_LABEL15;
380 RET_LABEL15:(void)0;
381 }
382 }
383 {
384 { /* Inline fixed_ints_text$UInt16$native_to_s (self,var_ns,var14) on <self:UInt16> */
385 core__fixed_ints_text___UInt16_native_to_s___impl(self, var_ns, var14);
386 RET_LABEL21:(void)0;
387 }
388 }
389 {
390 var23 = (val*)(var_nslen<<2|1);
391 var24 = (val*)((long)(0)<<2|3);
392 var22 = core__flat___CString___to_s_unsafe(var_ns, var23, ((val*)NULL), var24, ((val*)NULL));
393 }
394 var = var22;
395 goto RET_LABEL;
396 RET_LABEL:;
397 return var;
398 }
399 /* method fixed_ints_text$UInt16$to_s for (self: Object): String */
400 val* VIRTUAL_core__fixed_ints_text___UInt16___core__abstract_text__Object__to_s(val* self) {
401 val* var /* : String */;
402 val* var1 /* : String */;
403 uint16_t var2 /* : UInt16 */;
404 var2 = ((struct instance_core__UInt16*)self)->value; /* autounbox from Object to UInt16 */;
405 var1 = core__fixed_ints_text___UInt16___core__abstract_text__Object__to_s(var2);
406 var = var1;
407 RET_LABEL:;
408 return var;
409 }
410 /* method fixed_ints_text$Int32$to_s_len for (self: Int32): Int */
411 long core__fixed_ints_text___Int32___to_s_len(int32_t self) {
412 long var /* : Int */;
413 long var1 /* : Int */;
414 var1 = core__fixed_ints_text___Int32_to_s_len___impl(self);
415 var = var1;
416 goto RET_LABEL;
417 RET_LABEL:;
418 return var;
419 }
420 /* method fixed_ints_text$Int32$native_to_s for (self: Int32, CString, Int) */
421 void core__fixed_ints_text___Int32___native_to_s(int32_t self, char* p0, long p1) {
422 core__fixed_ints_text___Int32_native_to_s___impl(self, p0, p1);
423 RET_LABEL:;
424 }
425 /* method fixed_ints_text$Int32$to_s for (self: Int32): String */
426 val* core__fixed_ints_text___Int32___core__abstract_text__Object__to_s(int32_t self) {
427 val* var /* : String */;
428 long var1 /* : Int */;
429 long var3 /* : Int */;
430 long var_nslen /* var nslen: Int */;
431 static char* varoncenew;
432 static int varoncenew_guard;
433 char* var4 /* : CString */;
434 char* var5 /* : CString */;
435 long var6 /* : Int */;
436 short int var8 /* : Bool */;
437 int cltype;
438 int idtype;
439 const char* var_class_name;
440 long var9 /* : Int */;
441 char* var10 /* : CString */;
442 char* var12 /* : CString */;
443 char* var_ns /* var ns: CString */;
444 long var14 /* : Int */;
445 short int var16 /* : Bool */;
446 int cltype17;
447 int idtype18;
448 const char* var_class_name19;
449 long var20 /* : Int */;
450 val* var22 /* : String */;
451 val* var23 /* : nullable Int */;
452 val* var24 /* : nullable Bool */;
453 {
454 { /* Inline fixed_ints_text$Int32$to_s_len (self) on <self:Int32> */
455 var3 = core__fixed_ints_text___Int32_to_s_len___impl(self);
456 var1 = var3;
457 goto RET_LABEL2;
458 RET_LABEL2:(void)0;
459 }
460 }
461 var_nslen = var1;
462 if (likely(varoncenew_guard)) {
463 var4 = varoncenew;
464 } else {
465 var5 = NULL/*special!*/;
466 var4 = var5;
467 varoncenew = var4;
468 varoncenew_guard = 1;
469 }
470 {
471 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
472 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
473 /* <1l:Int> isa OTHER */
474 var8 = 1; /* easy <1l:Int> isa OTHER*/
475 if (unlikely(!var8)) {
476 var_class_name = type_core__Int.name;
477 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
478 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
479 fatal_exit(1);
480 }
481 var9 = var_nslen + 1l;
482 var6 = var9;
483 goto RET_LABEL7;
484 RET_LABEL7:(void)0;
485 }
486 }
487 {
488 { /* Inline native$CString$new (var4,var6) on <var4:CString> */
489 var12 = (char*)nit_alloc(var6);
490 var10 = var12;
491 goto RET_LABEL11;
492 RET_LABEL11:(void)0;
493 }
494 }
495 var_ns = var10;
496 {
497 { /* Inline native$CString$[]= (var_ns,var_nslen,((unsigned char)0x00)) on <var_ns:CString> */
498 var_ns[var_nslen]=(unsigned char)((unsigned char)0x00);
499 RET_LABEL13:(void)0;
500 }
501 }
502 {
503 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
504 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
505 /* <1l:Int> isa OTHER */
506 var16 = 1; /* easy <1l:Int> isa OTHER*/
507 if (unlikely(!var16)) {
508 var_class_name19 = type_core__Int.name;
509 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
510 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
511 fatal_exit(1);
512 }
513 var20 = var_nslen + 1l;
514 var14 = var20;
515 goto RET_LABEL15;
516 RET_LABEL15:(void)0;
517 }
518 }
519 {
520 { /* Inline fixed_ints_text$Int32$native_to_s (self,var_ns,var14) on <self:Int32> */
521 core__fixed_ints_text___Int32_native_to_s___impl(self, var_ns, var14);
522 RET_LABEL21:(void)0;
523 }
524 }
525 {
526 var23 = (val*)(var_nslen<<2|1);
527 var24 = (val*)((long)(0)<<2|3);
528 var22 = core__flat___CString___to_s_unsafe(var_ns, var23, ((val*)NULL), var24, ((val*)NULL));
529 }
530 var = var22;
531 goto RET_LABEL;
532 RET_LABEL:;
533 return var;
534 }
535 /* method fixed_ints_text$Int32$to_s for (self: Object): String */
536 val* VIRTUAL_core__fixed_ints_text___Int32___core__abstract_text__Object__to_s(val* self) {
537 val* var /* : String */;
538 val* var1 /* : String */;
539 int32_t var2 /* : Int32 */;
540 var2 = ((struct instance_core__Int32*)self)->value; /* autounbox from Object to Int32 */;
541 var1 = core__fixed_ints_text___Int32___core__abstract_text__Object__to_s(var2);
542 var = var1;
543 RET_LABEL:;
544 return var;
545 }
546 /* method fixed_ints_text$UInt32$to_s_len for (self: UInt32): Int */
547 long core__fixed_ints_text___UInt32___to_s_len(uint32_t self) {
548 long var /* : Int */;
549 long var1 /* : Int */;
550 var1 = core__fixed_ints_text___UInt32_to_s_len___impl(self);
551 var = var1;
552 goto RET_LABEL;
553 RET_LABEL:;
554 return var;
555 }
556 /* method fixed_ints_text$UInt32$native_to_s for (self: UInt32, CString, Int) */
557 void core__fixed_ints_text___UInt32___native_to_s(uint32_t self, char* p0, long p1) {
558 core__fixed_ints_text___UInt32_native_to_s___impl(self, p0, p1);
559 RET_LABEL:;
560 }
561 /* method fixed_ints_text$UInt32$to_s for (self: UInt32): String */
562 val* core__fixed_ints_text___UInt32___core__abstract_text__Object__to_s(uint32_t self) {
563 val* var /* : String */;
564 long var1 /* : Int */;
565 long var3 /* : Int */;
566 long var_nslen /* var nslen: Int */;
567 static char* varoncenew;
568 static int varoncenew_guard;
569 char* var4 /* : CString */;
570 char* var5 /* : CString */;
571 long var6 /* : Int */;
572 short int var8 /* : Bool */;
573 int cltype;
574 int idtype;
575 const char* var_class_name;
576 long var9 /* : Int */;
577 char* var10 /* : CString */;
578 char* var12 /* : CString */;
579 char* var_ns /* var ns: CString */;
580 long var14 /* : Int */;
581 short int var16 /* : Bool */;
582 int cltype17;
583 int idtype18;
584 const char* var_class_name19;
585 long var20 /* : Int */;
586 val* var22 /* : String */;
587 val* var23 /* : nullable Int */;
588 val* var24 /* : nullable Bool */;
589 {
590 { /* Inline fixed_ints_text$UInt32$to_s_len (self) on <self:UInt32> */
591 var3 = core__fixed_ints_text___UInt32_to_s_len___impl(self);
592 var1 = var3;
593 goto RET_LABEL2;
594 RET_LABEL2:(void)0;
595 }
596 }
597 var_nslen = var1;
598 if (likely(varoncenew_guard)) {
599 var4 = varoncenew;
600 } else {
601 var5 = NULL/*special!*/;
602 var4 = var5;
603 varoncenew = var4;
604 varoncenew_guard = 1;
605 }
606 {
607 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
608 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
609 /* <1l:Int> isa OTHER */
610 var8 = 1; /* easy <1l:Int> isa OTHER*/
611 if (unlikely(!var8)) {
612 var_class_name = type_core__Int.name;
613 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
614 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
615 fatal_exit(1);
616 }
617 var9 = var_nslen + 1l;
618 var6 = var9;
619 goto RET_LABEL7;
620 RET_LABEL7:(void)0;
621 }
622 }
623 {
624 { /* Inline native$CString$new (var4,var6) on <var4:CString> */
625 var12 = (char*)nit_alloc(var6);
626 var10 = var12;
627 goto RET_LABEL11;
628 RET_LABEL11:(void)0;
629 }
630 }
631 var_ns = var10;
632 {
633 { /* Inline native$CString$[]= (var_ns,var_nslen,((unsigned char)0x00)) on <var_ns:CString> */
634 var_ns[var_nslen]=(unsigned char)((unsigned char)0x00);
635 RET_LABEL13:(void)0;
636 }
637 }
638 {
639 { /* Inline kernel$Int$+ (var_nslen,1l) on <var_nslen:Int> */
640 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
641 /* <1l:Int> isa OTHER */
642 var16 = 1; /* easy <1l:Int> isa OTHER*/
643 if (unlikely(!var16)) {
644 var_class_name19 = type_core__Int.name;
645 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19);
646 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
647 fatal_exit(1);
648 }
649 var20 = var_nslen + 1l;
650 var14 = var20;
651 goto RET_LABEL15;
652 RET_LABEL15:(void)0;
653 }
654 }
655 {
656 { /* Inline fixed_ints_text$UInt32$native_to_s (self,var_ns,var14) on <self:UInt32> */
657 core__fixed_ints_text___UInt32_native_to_s___impl(self, var_ns, var14);
658 RET_LABEL21:(void)0;
659 }
660 }
661 {
662 var23 = (val*)(var_nslen<<2|1);
663 var24 = (val*)((long)(0)<<2|3);
664 var22 = core__flat___CString___to_s_unsafe(var_ns, var23, ((val*)NULL), var24, ((val*)NULL));
665 }
666 var = var22;
667 goto RET_LABEL;
668 RET_LABEL:;
669 return var;
670 }
671 /* method fixed_ints_text$UInt32$to_s for (self: Object): String */
672 val* VIRTUAL_core__fixed_ints_text___UInt32___core__abstract_text__Object__to_s(val* self) {
673 val* var /* : String */;
674 val* var1 /* : String */;
675 uint32_t var2 /* : UInt32 */;
676 var2 = ((struct instance_core__UInt32*)self)->value; /* autounbox from Object to UInt32 */;
677 var1 = core__fixed_ints_text___UInt32___core__abstract_text__Object__to_s(var2);
678 var = var1;
679 RET_LABEL:;
680 return var;
681 }
682 /* method fixed_ints_text$Text$strip_numhead for (self: Text): Text */
683 val* core__fixed_ints_text___Text___strip_numhead(val* self) {
684 val* var /* : Text */;
685 val* var1 /* : Text */;
686 static val* varonce;
687 val* var2 /* : String */;
688 char* var3 /* : CString */;
689 val* var4 /* : String */;
690 val* var5 /* : nullable Int */;
691 val* var6 /* : nullable Int */;
692 val* var7 /* : nullable Bool */;
693 val* var8 /* : nullable Bool */;
694 short int var9 /* : Bool */;
695 val* var_other /* var other: nullable Object */;
696 short int var11 /* : Bool */;
697 short int var12 /* : Bool */;
698 val* var13 /* : Text */;
699 {
700 var1 = core__fixed_ints_text___Text___get_numhead(self);
701 }
702 if (likely(varonce!=NULL)) {
703 var2 = varonce;
704 } else {
705 var3 = "";
706 var5 = (val*)(0l<<2|1);
707 var6 = (val*)(0l<<2|1);
708 var7 = (val*)((long)(0)<<2|3);
709 var8 = (val*)((long)(0)<<2|3);
710 var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8);
711 var2 = var4;
712 varonce = var2;
713 }
714 {
715 { /* Inline kernel$Object$!= (var1,var2) on <var1:Text> */
716 var_other = var2;
717 {
718 var11 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var_other); /* == on <var1:Text>*/
719 }
720 var12 = !var11;
721 var9 = var12;
722 goto RET_LABEL10;
723 RET_LABEL10:(void)0;
724 }
725 }
726 if (var9){
727 {
728 var13 = ((val*(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text__substring_from]))(self, 2l); /* substring_from on <self:Text>*/
729 }
730 var = var13;
731 goto RET_LABEL;
732 } else {
733 }
734 var = self;
735 goto RET_LABEL;
736 RET_LABEL:;
737 return var;
738 }
739 /* method fixed_ints_text$Text$get_numhead for (self: Text): Text */
740 val* core__fixed_ints_text___Text___get_numhead(val* self) {
741 val* var /* : Text */;
742 long var1 /* : Int */;
743 short int var2 /* : Bool */;
744 short int var4 /* : Bool */;
745 int cltype;
746 int idtype;
747 const char* var_class_name;
748 short int var5 /* : Bool */;
749 static val* varonce;
750 val* var6 /* : String */;
751 char* var7 /* : CString */;
752 val* var8 /* : String */;
753 val* var9 /* : nullable Int */;
754 val* var10 /* : nullable Int */;
755 val* var11 /* : nullable Bool */;
756 val* var12 /* : nullable Bool */;
757 uint32_t var13 /* : Char */;
758 uint32_t var_c /* var c: Char */;
759 short int var14 /* : Bool */;
760 short int var16 /* : Bool */;
761 short int var17 /* : Bool */;
762 static val* varonce18;
763 val* var19 /* : String */;
764 char* var20 /* : CString */;
765 val* var21 /* : String */;
766 val* var22 /* : nullable Int */;
767 val* var23 /* : nullable Int */;
768 val* var24 /* : nullable Bool */;
769 val* var25 /* : nullable Bool */;
770 uint32_t var26 /* : Char */;
771 short int var27 /* : Bool */;
772 short int var28 /* : Bool */;
773 short int var29 /* : Bool */;
774 short int var30 /* : Bool */;
775 short int var31 /* : Bool */;
776 short int var32 /* : Bool */;
777 short int var34 /* : Bool */;
778 short int var_ /* var : Bool */;
779 short int var35 /* : Bool */;
780 short int var37 /* : Bool */;
781 short int var_38 /* var : Bool */;
782 short int var39 /* : Bool */;
783 short int var41 /* : Bool */;
784 short int var_42 /* var : Bool */;
785 short int var43 /* : Bool */;
786 short int var45 /* : Bool */;
787 short int var_46 /* var : Bool */;
788 short int var47 /* : Bool */;
789 short int var49 /* : Bool */;
790 short int var_50 /* var : Bool */;
791 short int var51 /* : Bool */;
792 short int var53 /* : Bool */;
793 val* var54 /* : Text */;
794 static val* varonce55;
795 val* var56 /* : String */;
796 char* var57 /* : CString */;
797 val* var58 /* : String */;
798 val* var59 /* : nullable Int */;
799 val* var60 /* : nullable Int */;
800 val* var61 /* : nullable Bool */;
801 val* var62 /* : nullable Bool */;
802 {
803 var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
804 }
805 {
806 { /* Inline kernel$Int$< (var1,2l) on <var1:Int> */
807 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
808 /* <2l:Int> isa OTHER */
809 var4 = 1; /* easy <2l:Int> isa OTHER*/
810 if (unlikely(!var4)) {
811 var_class_name = type_core__Int.name;
812 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
813 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
814 fatal_exit(1);
815 }
816 var5 = var1 < 2l;
817 var2 = var5;
818 goto RET_LABEL3;
819 RET_LABEL3:(void)0;
820 }
821 }
822 if (var2){
823 if (likely(varonce!=NULL)) {
824 var6 = varonce;
825 } else {
826 var7 = "";
827 var9 = (val*)(0l<<2|1);
828 var10 = (val*)(0l<<2|1);
829 var11 = (val*)((long)(0)<<2|3);
830 var12 = (val*)((long)(0)<<2|3);
831 var8 = core__flat___CString___to_s_unsafe(var7, var9, var10, var11, var12);
832 var6 = var8;
833 varonce = var6;
834 }
835 var = var6;
836 goto RET_LABEL;
837 } else {
838 }
839 {
840 var13 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, 0l); /* [] on <self:Text>*/
841 }
842 var_c = var13;
843 {
844 { /* Inline kernel$Char$!= (var_c,'0') on <var_c:Char> */
845 var16 = var_c == '0';
846 var17 = !var16;
847 var14 = var17;
848 goto RET_LABEL15;
849 RET_LABEL15:(void)0;
850 }
851 }
852 if (var14){
853 if (likely(varonce18!=NULL)) {
854 var19 = varonce18;
855 } else {
856 var20 = "";
857 var22 = (val*)(0l<<2|1);
858 var23 = (val*)(0l<<2|1);
859 var24 = (val*)((long)(0)<<2|3);
860 var25 = (val*)((long)(0)<<2|3);
861 var21 = core__flat___CString___to_s_unsafe(var20, var22, var23, var24, var25);
862 var19 = var21;
863 varonce18 = var19;
864 }
865 var = var19;
866 goto RET_LABEL;
867 } else {
868 }
869 {
870 var26 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, 1l); /* [] on <self:Text>*/
871 }
872 var_c = var26;
873 {
874 { /* Inline kernel$Char$== (var_c,'x') on <var_c:Char> */
875 var34 = var_c == 'x';
876 var32 = var34;
877 goto RET_LABEL33;
878 RET_LABEL33:(void)0;
879 }
880 }
881 var_ = var32;
882 if (var32){
883 var31 = var_;
884 } else {
885 {
886 { /* Inline kernel$Char$== (var_c,'b') on <var_c:Char> */
887 var37 = var_c == 'b';
888 var35 = var37;
889 goto RET_LABEL36;
890 RET_LABEL36:(void)0;
891 }
892 }
893 var31 = var35;
894 }
895 var_38 = var31;
896 if (var31){
897 var30 = var_38;
898 } else {
899 {
900 { /* Inline kernel$Char$== (var_c,'o') on <var_c:Char> */
901 var41 = var_c == 'o';
902 var39 = var41;
903 goto RET_LABEL40;
904 RET_LABEL40:(void)0;
905 }
906 }
907 var30 = var39;
908 }
909 var_42 = var30;
910 if (var30){
911 var29 = var_42;
912 } else {
913 {
914 { /* Inline kernel$Char$== (var_c,'X') on <var_c:Char> */
915 var45 = var_c == 'X';
916 var43 = var45;
917 goto RET_LABEL44;
918 RET_LABEL44:(void)0;
919 }
920 }
921 var29 = var43;
922 }
923 var_46 = var29;
924 if (var29){
925 var28 = var_46;
926 } else {
927 {
928 { /* Inline kernel$Char$== (var_c,'B') on <var_c:Char> */
929 var49 = var_c == 'B';
930 var47 = var49;
931 goto RET_LABEL48;
932 RET_LABEL48:(void)0;
933 }
934 }
935 var28 = var47;
936 }
937 var_50 = var28;
938 if (var28){
939 var27 = var_50;
940 } else {
941 {
942 { /* Inline kernel$Char$== (var_c,'O') on <var_c:Char> */
943 var53 = var_c == 'O';
944 var51 = var53;
945 goto RET_LABEL52;
946 RET_LABEL52:(void)0;
947 }
948 }
949 var27 = var51;
950 }
951 if (var27){
952 {
953 var54 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_core__abstract_text__Text__substring]))(self, 0l, 2l); /* substring on <self:Text>*/
954 }
955 var = var54;
956 goto RET_LABEL;
957 } else {
958 }
959 if (likely(varonce55!=NULL)) {
960 var56 = varonce55;
961 } else {
962 var57 = "";
963 var59 = (val*)(0l<<2|1);
964 var60 = (val*)(0l<<2|1);
965 var61 = (val*)((long)(0)<<2|3);
966 var62 = (val*)((long)(0)<<2|3);
967 var58 = core__flat___CString___to_s_unsafe(var57, var59, var60, var61, var62);
968 var56 = var58;
969 varonce55 = var56;
970 }
971 var = var56;
972 goto RET_LABEL;
973 RET_LABEL:;
974 return var;
975 }
976 /* method fixed_ints_text$Text$strip_numext for (self: Text): Text */
977 val* core__fixed_ints_text___Text___strip_numext(val* self) {
978 val* var /* : Text */;
979 val* var1 /* : Text */;
980 val* var_ext /* var ext: Text */;
981 static val* varonce;
982 val* var2 /* : String */;
983 char* var3 /* : CString */;
984 val* var4 /* : String */;
985 val* var5 /* : nullable Int */;
986 val* var6 /* : nullable Int */;
987 val* var7 /* : nullable Bool */;
988 val* var8 /* : nullable Bool */;
989 short int var9 /* : Bool */;
990 val* var_other /* var other: nullable Object */;
991 short int var11 /* : Bool */;
992 short int var12 /* : Bool */;
993 long var13 /* : Int */;
994 long var14 /* : Int */;
995 long var15 /* : Int */;
996 short int var17 /* : Bool */;
997 int cltype;
998 int idtype;
999 const char* var_class_name;
1000 long var18 /* : Int */;
1001 val* var19 /* : Text */;
1002 {
1003 var1 = core__fixed_ints_text___Text___get_numext(self);
1004 }
1005 var_ext = var1;
1006 if (likely(varonce!=NULL)) {
1007 var2 = varonce;
1008 } else {
1009 var3 = "";
1010 var5 = (val*)(0l<<2|1);
1011 var6 = (val*)(0l<<2|1);
1012 var7 = (val*)((long)(0)<<2|3);
1013 var8 = (val*)((long)(0)<<2|3);
1014 var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8);
1015 var2 = var4;
1016 varonce = var2;
1017 }
1018 {
1019 { /* Inline kernel$Object$!= (var_ext,var2) on <var_ext:Text> */
1020 var_other = var2;
1021 {
1022 var11 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var_other); /* == on <var_ext:Text>*/
1023 }
1024 var12 = !var11;
1025 var9 = var12;
1026 goto RET_LABEL10;
1027 RET_LABEL10:(void)0;
1028 }
1029 }
1030 if (var9){
1031 {
1032 var13 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
1033 }
1034 {
1035 var14 = ((long(*)(val* self))(var_ext->class->vft[COLOR_core__abstract_text__Text__length]))(var_ext); /* length on <var_ext:Text>*/
1036 }
1037 {
1038 { /* Inline kernel$Int$- (var13,var14) on <var13:Int> */
1039 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
1040 /* <var14:Int> isa OTHER */
1041 var17 = 1; /* easy <var14:Int> isa OTHER*/
1042 if (unlikely(!var17)) {
1043 var_class_name = type_core__Int.name;
1044 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1045 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1046 fatal_exit(1);
1047 }
1048 var18 = var13 - var14;
1049 var15 = var18;
1050 goto RET_LABEL16;
1051 RET_LABEL16:(void)0;
1052 }
1053 }
1054 {
1055 var19 = ((val*(*)(val* self, long p0, long p1))(self->class->vft[COLOR_core__abstract_text__Text__substring]))(self, 0l, var15); /* substring on <self:Text>*/
1056 }
1057 var = var19;
1058 goto RET_LABEL;
1059 } else {
1060 }
1061 var = self;
1062 goto RET_LABEL;
1063 RET_LABEL:;
1064 return var;
1065 }
1066 /* method fixed_ints_text$Text$get_numext for (self: Text): Text */
1067 val* core__fixed_ints_text___Text___get_numext(val* self) {
1068 val* var /* : Text */;
1069 long var1 /* : Int */;
1070 long var_len /* var len: Int */;
1071 long var2 /* : Int */;
1072 long var3 /* : Int */;
1073 short int var4 /* : Bool */;
1074 short int var6 /* : Bool */;
1075 int cltype;
1076 int idtype;
1077 const char* var_class_name;
1078 short int var7 /* : Bool */;
1079 long var8 /* : Int */;
1080 long var_max /* var max: Int */;
1081 long var_i /* var i: Int */;
1082 long var_ /* var : Int */;
1083 short int var9 /* : Bool */;
1084 short int var11 /* : Bool */;
1085 int cltype12;
1086 int idtype13;
1087 const char* var_class_name14;
1088 short int var15 /* : Bool */;
1089 long var16 /* : Int */;
1090 short int var18 /* : Bool */;
1091 int cltype19;
1092 int idtype20;
1093 const char* var_class_name21;
1094 long var22 /* : Int */;
1095 uint32_t var23 /* : Char */;
1096 uint32_t var_c /* var c: Char */;
1097 short int var24 /* : Bool */;
1098 short int var25 /* : Bool */;
1099 short int var27 /* : Bool */;
1100 short int var_28 /* var : Bool */;
1101 short int var29 /* : Bool */;
1102 short int var31 /* : Bool */;
1103 long var32 /* : Int */;
1104 short int var34 /* : Bool */;
1105 int cltype35;
1106 int idtype36;
1107 const char* var_class_name37;
1108 long var38 /* : Int */;
1109 val* var39 /* : Text */;
1110 long var40 /* : Int */;
1111 static val* varonce;
1112 val* var41 /* : String */;
1113 char* var42 /* : CString */;
1114 val* var43 /* : String */;
1115 val* var44 /* : nullable Int */;
1116 val* var45 /* : nullable Int */;
1117 val* var46 /* : nullable Bool */;
1118 val* var47 /* : nullable Bool */;
1119 {
1120 var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
1121 }
1122 var_len = var1;
1123 {
1124 var3 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
1125 }
1126 {
1127 { /* Inline kernel$Int$< (var3,3l) on <var3:Int> */
1128 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
1129 /* <3l:Int> isa OTHER */
1130 var6 = 1; /* easy <3l:Int> isa OTHER*/
1131 if (unlikely(!var6)) {
1132 var_class_name = type_core__Int.name;
1133 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1134 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
1135 fatal_exit(1);
1136 }
1137 var7 = var3 < 3l;
1138 var4 = var7;
1139 goto RET_LABEL5;
1140 RET_LABEL5:(void)0;
1141 }
1142 }
1143 if (var4){
1144 {
1145 var8 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__length]))(self); /* length on <self:Text>*/
1146 }
1147 var2 = var8;
1148 } else {
1149 var2 = 3l;
1150 }
1151 var_max = var2;
1152 var_i = 1l;
1153 var_ = var_max;
1154 for(;;) {
1155 {
1156 { /* Inline kernel$Int$<= (var_i,var_) on <var_i:Int> */
1157 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
1158 /* <var_:Int> isa OTHER */
1159 var11 = 1; /* easy <var_:Int> isa OTHER*/
1160 if (unlikely(!var11)) {
1161 var_class_name14 = type_core__Int.name;
1162 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14);
1163 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 724);
1164 fatal_exit(1);
1165 }
1166 var15 = var_i <= var_;
1167 var9 = var15;
1168 goto RET_LABEL10;
1169 RET_LABEL10:(void)0;
1170 }
1171 }
1172 if (var9){
1173 } else {
1174 goto BREAK_label;
1175 }
1176 {
1177 { /* Inline kernel$Int$- (var_len,var_i) on <var_len:Int> */
1178 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
1179 /* <var_i:Int> isa OTHER */
1180 var18 = 1; /* easy <var_i:Int> isa OTHER*/
1181 if (unlikely(!var18)) {
1182 var_class_name21 = type_core__Int.name;
1183 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
1184 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1185 fatal_exit(1);
1186 }
1187 var22 = var_len - var_i;
1188 var16 = var22;
1189 goto RET_LABEL17;
1190 RET_LABEL17:(void)0;
1191 }
1192 }
1193 {
1194 var23 = ((uint32_t(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(self, var16); /* [] on <self:Text>*/
1195 }
1196 var_c = var23;
1197 {
1198 { /* Inline kernel$Char$== (var_c,'i') on <var_c:Char> */
1199 var27 = var_c == 'i';
1200 var25 = var27;
1201 goto RET_LABEL26;
1202 RET_LABEL26:(void)0;
1203 }
1204 }
1205 var_28 = var25;
1206 if (var25){
1207 var24 = var_28;
1208 } else {
1209 {
1210 { /* Inline kernel$Char$== (var_c,'u') on <var_c:Char> */
1211 var31 = var_c == 'u';
1212 var29 = var31;
1213 goto RET_LABEL30;
1214 RET_LABEL30:(void)0;
1215 }
1216 }
1217 var24 = var29;
1218 }
1219 if (var24){
1220 {
1221 { /* Inline kernel$Int$- (var_len,var_i) on <var_len:Int> */
1222 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
1223 /* <var_i:Int> isa OTHER */
1224 var34 = 1; /* easy <var_i:Int> isa OTHER*/
1225 if (unlikely(!var34)) {
1226 var_class_name37 = type_core__Int.name;
1227 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37);
1228 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1229 fatal_exit(1);
1230 }
1231 var38 = var_len - var_i;
1232 var32 = var38;
1233 goto RET_LABEL33;
1234 RET_LABEL33:(void)0;
1235 }
1236 }
1237 {
1238 var39 = ((val*(*)(val* self, long p0))(self->class->vft[COLOR_core__abstract_text__Text__substring_from]))(self, var32); /* substring_from on <self:Text>*/
1239 }
1240 var = var39;
1241 goto RET_LABEL;
1242 } else {
1243 }
1244 {
1245 var40 = core___core__Int___Discrete__successor(var_i, 1l);
1246 }
1247 var_i = var40;
1248 }
1249 BREAK_label: (void)0;
1250 if (likely(varonce!=NULL)) {
1251 var41 = varonce;
1252 } else {
1253 var42 = "";
1254 var44 = (val*)(0l<<2|1);
1255 var45 = (val*)(0l<<2|1);
1256 var46 = (val*)((long)(0)<<2|3);
1257 var47 = (val*)((long)(0)<<2|3);
1258 var43 = core__flat___CString___to_s_unsafe(var42, var44, var45, var46, var47);
1259 var41 = var43;
1260 varonce = var41;
1261 }
1262 var = var41;
1263 goto RET_LABEL;
1264 RET_LABEL:;
1265 return var;
1266 }
1267 /* method fixed_ints_text$Text$is_int for (self: Text): Bool */
1268 short int core__fixed_ints_text___Text___is_int(val* self) {
1269 short int var /* : Bool */;
1270 long var1 /* : Int */;
1271 short int var2 /* : Bool */;
1272 short int var4 /* : Bool */;
1273 val* var5 /* : String */;
1274 val* var6 /* : Pattern */;
1275 val* var_s /* var s: String */;
1276 long var_pos /* var pos: Int */;
1277 long var7 /* : Int */;
1278 long var_len /* var len: Int */;
1279 short int var8 /* : Bool */;
1280 short int var9 /* : Bool */;
1281 short int var11 /* : Bool */;
1282 int cltype;
1283 int idtype;
1284 const char* var_class_name;
1285 short int var12 /* : Bool */;
1286 short int var_ /* var : Bool */;
1287 uint32_t var13 /* : Char */;
1288 short int var14 /* : Bool */;
1289 short int var16 /* : Bool */;
1290 long var17 /* : Int */;
1291 short int var19 /* : Bool */;
1292 int cltype20;
1293 int idtype21;
1294 const char* var_class_name22;
1295 long var23 /* : Int */;
1296 val* var24 /* : Text */;
1297 val* var25 /* : Text */;
1298 val* var_rets /* var rets: Text */;
1299 static val* varonce;
1300 val* var26 /* : String */;
1301 char* var27 /* : CString */;
1302 val* var28 /* : String */;
1303 val* var29 /* : nullable Int */;
1304 val* var30 /* : nullable Int */;
1305 val* var31 /* : nullable Bool */;
1306 val* var32 /* : nullable Bool */;
1307 short int var33 /* : Bool */;
1308 val* var34 /* : Text */;
1309 val* var_hd /* var hd: Text */;
1310 short int var35 /* : Bool */;
1311 static val* varonce36;
1312 val* var37 /* : String */;
1313 char* var38 /* : CString */;
1314 val* var39 /* : String */;
1315 val* var40 /* : nullable Int */;
1316 val* var41 /* : nullable Int */;
1317 val* var42 /* : nullable Bool */;
1318 val* var43 /* : nullable Bool */;
1319 short int var44 /* : Bool */;
1320 short int var_45 /* var : Bool */;
1321 static val* varonce46;
1322 val* var47 /* : String */;
1323 char* var48 /* : CString */;
1324 val* var49 /* : String */;
1325 val* var50 /* : nullable Int */;
1326 val* var51 /* : nullable Int */;
1327 val* var52 /* : nullable Bool */;
1328 val* var53 /* : nullable Bool */;
1329 short int var54 /* : Bool */;
1330 short int var55 /* : Bool */;
1331 short int var56 /* : Bool */;
1332 static val* varonce57;
1333 val* var58 /* : String */;
1334 char* var59 /* : CString */;
1335 val* var60 /* : String */;
1336 val* var61 /* : nullable Int */;
1337 val* var62 /* : nullable Int */;
1338 val* var63 /* : nullable Bool */;
1339 val* var64 /* : nullable Bool */;
1340 short int var65 /* : Bool */;
1341 short int var_66 /* var : Bool */;
1342 static val* varonce67;
1343 val* var68 /* : String */;
1344 char* var69 /* : CString */;
1345 val* var70 /* : String */;
1346 val* var71 /* : nullable Int */;
1347 val* var72 /* : nullable Int */;
1348 val* var73 /* : nullable Bool */;
1349 val* var74 /* : nullable Bool */;
1350 short int var75 /* : Bool */;
1351 short int var76 /* : Bool */;
1352 short int var77 /* : Bool */;
1353 static val* varonce78;
1354 val* var79 /* : String */;
1355 char* var80 /* : CString */;
1356 val* var81 /* : String */;
1357 val* var82 /* : nullable Int */;
1358 val* var83 /* : nullable Int */;
1359 val* var84 /* : nullable Bool */;
1360 val* var85 /* : nullable Bool */;
1361 short int var86 /* : Bool */;
1362 short int var_87 /* var : Bool */;
1363 static val* varonce88;
1364 val* var89 /* : String */;
1365 char* var90 /* : CString */;
1366 val* var91 /* : String */;
1367 val* var92 /* : nullable Int */;
1368 val* var93 /* : nullable Int */;
1369 val* var94 /* : nullable Bool */;
1370 val* var95 /* : nullable Bool */;
1371 short int var96 /* : Bool */;
1372 short int var97 /* : Bool */;
1373 short int var98 /* : Bool */;
1374 {
1375 var1 = ((long(*)(val* self))(self->class->vft[COLOR_core__abstract_text__Text__byte_length]))(self); /* byte_length on <self:Text>*/
1376 }
1377 {
1378 { /* Inline kernel$Int$== (var1,0l) on <var1:Int> */
1379 var4 = var1 == 0l;
1380 var2 = var4;
1381 goto RET_LABEL3;
1382 RET_LABEL3:(void)0;
1383 }
1384 }
1385 if (var2){
1386 var = 0;
1387 goto RET_LABEL;
1388 } else {
1389 }
1390 {
1391 var6 = (val*)((long)('_')<<2|2);
1392 var5 = core__string_search___Text___remove_all(self, var6);
1393 }
1394 var_s = var5;
1395 var_pos = 0l;
1396 {
1397 var7 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__length]))(var_s); /* length on <var_s:String>*/
1398 }
1399 var_len = var7;
1400 for(;;) {
1401 {
1402 { /* Inline kernel$Int$< (var_pos,var_len) on <var_pos:Int> */
1403 /* Covariant cast for argument 0 (i) <var_len:Int> isa OTHER */
1404 /* <var_len:Int> isa OTHER */
1405 var11 = 1; /* easy <var_len:Int> isa OTHER*/
1406 if (unlikely(!var11)) {
1407 var_class_name = type_core__Int.name;
1408 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1409 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 725);
1410 fatal_exit(1);
1411 }
1412 var12 = var_pos < var_len;
1413 var9 = var12;
1414 goto RET_LABEL10;
1415 RET_LABEL10:(void)0;
1416 }
1417 }
1418 var_ = var9;
1419 if (var9){
1420 {
1421 var13 = ((uint32_t(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var_s, var_pos); /* [] on <var_s:String>*/
1422 }
1423 {
1424 { /* Inline kernel$Char$== (var13,'-') on <var13:Char> */
1425 var16 = var13 == '-';
1426 var14 = var16;
1427 goto RET_LABEL15;
1428 RET_LABEL15:(void)0;
1429 }
1430 }
1431 var8 = var14;
1432 } else {
1433 var8 = var_;
1434 }
1435 if (var8){
1436 {
1437 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
1438 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1439 /* <1l:Int> isa OTHER */
1440 var19 = 1; /* easy <1l:Int> isa OTHER*/
1441 if (unlikely(!var19)) {
1442 var_class_name22 = type_core__Int.name;
1443 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name22);
1444 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1445 fatal_exit(1);
1446 }
1447 var23 = var_pos + 1l;
1448 var17 = var23;
1449 goto RET_LABEL18;
1450 RET_LABEL18:(void)0;
1451 }
1452 }
1453 var_pos = var17;
1454 } else {
1455 goto BREAK_label;
1456 }
1457 }
1458 BREAK_label: (void)0;
1459 {
1460 var24 = ((val*(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_s, var_pos); /* substring_from on <var_s:String>*/
1461 }
1462 var_s = var24;
1463 {
1464 var25 = core__fixed_ints_text___Text___strip_numhead(var_s);
1465 }
1466 var_rets = var25;
1467 if (likely(varonce!=NULL)) {
1468 var26 = varonce;
1469 } else {
1470 var27 = "";
1471 var29 = (val*)(0l<<2|1);
1472 var30 = (val*)(0l<<2|1);
1473 var31 = (val*)((long)(0)<<2|3);
1474 var32 = (val*)((long)(0)<<2|3);
1475 var28 = core__flat___CString___to_s_unsafe(var27, var29, var30, var31, var32);
1476 var26 = var28;
1477 varonce = var26;
1478 }
1479 {
1480 var33 = ((short int(*)(val* self, val* p0))(var_rets->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_rets, var26); /* == on <var_rets:Text>*/
1481 }
1482 if (var33){
1483 var = 0;
1484 goto RET_LABEL;
1485 } else {
1486 }
1487 {
1488 var34 = core__fixed_ints_text___Text___get_numhead(self);
1489 }
1490 var_hd = var34;
1491 if (likely(varonce36!=NULL)) {
1492 var37 = varonce36;
1493 } else {
1494 var38 = "0x";
1495 var40 = (val*)(2l<<2|1);
1496 var41 = (val*)(2l<<2|1);
1497 var42 = (val*)((long)(0)<<2|3);
1498 var43 = (val*)((long)(0)<<2|3);
1499 var39 = core__flat___CString___to_s_unsafe(var38, var40, var41, var42, var43);
1500 var37 = var39;
1501 varonce36 = var37;
1502 }
1503 {
1504 var44 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var37); /* == on <var_hd:Text>*/
1505 }
1506 var_45 = var44;
1507 if (var44){
1508 var35 = var_45;
1509 } else {
1510 if (likely(varonce46!=NULL)) {
1511 var47 = varonce46;
1512 } else {
1513 var48 = "0X";
1514 var50 = (val*)(2l<<2|1);
1515 var51 = (val*)(2l<<2|1);
1516 var52 = (val*)((long)(0)<<2|3);
1517 var53 = (val*)((long)(0)<<2|3);
1518 var49 = core__flat___CString___to_s_unsafe(var48, var50, var51, var52, var53);
1519 var47 = var49;
1520 varonce46 = var47;
1521 }
1522 {
1523 var54 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var47); /* == on <var_hd:Text>*/
1524 }
1525 var35 = var54;
1526 }
1527 if (var35){
1528 {
1529 var55 = core___core__Text___is_hex(var_rets);
1530 }
1531 var = var55;
1532 goto RET_LABEL;
1533 } else {
1534 }
1535 if (likely(varonce57!=NULL)) {
1536 var58 = varonce57;
1537 } else {
1538 var59 = "0b";
1539 var61 = (val*)(2l<<2|1);
1540 var62 = (val*)(2l<<2|1);
1541 var63 = (val*)((long)(0)<<2|3);
1542 var64 = (val*)((long)(0)<<2|3);
1543 var60 = core__flat___CString___to_s_unsafe(var59, var61, var62, var63, var64);
1544 var58 = var60;
1545 varonce57 = var58;
1546 }
1547 {
1548 var65 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var58); /* == on <var_hd:Text>*/
1549 }
1550 var_66 = var65;
1551 if (var65){
1552 var56 = var_66;
1553 } else {
1554 if (likely(varonce67!=NULL)) {
1555 var68 = varonce67;
1556 } else {
1557 var69 = "0B";
1558 var71 = (val*)(2l<<2|1);
1559 var72 = (val*)(2l<<2|1);
1560 var73 = (val*)((long)(0)<<2|3);
1561 var74 = (val*)((long)(0)<<2|3);
1562 var70 = core__flat___CString___to_s_unsafe(var69, var71, var72, var73, var74);
1563 var68 = var70;
1564 varonce67 = var68;
1565 }
1566 {
1567 var75 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var68); /* == on <var_hd:Text>*/
1568 }
1569 var56 = var75;
1570 }
1571 if (var56){
1572 {
1573 var76 = core___core__Text___is_bin(var_rets);
1574 }
1575 var = var76;
1576 goto RET_LABEL;
1577 } else {
1578 }
1579 if (likely(varonce78!=NULL)) {
1580 var79 = varonce78;
1581 } else {
1582 var80 = "0o";
1583 var82 = (val*)(2l<<2|1);
1584 var83 = (val*)(2l<<2|1);
1585 var84 = (val*)((long)(0)<<2|3);
1586 var85 = (val*)((long)(0)<<2|3);
1587 var81 = core__flat___CString___to_s_unsafe(var80, var82, var83, var84, var85);
1588 var79 = var81;
1589 varonce78 = var79;
1590 }
1591 {
1592 var86 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var79); /* == on <var_hd:Text>*/
1593 }
1594 var_87 = var86;
1595 if (var86){
1596 var77 = var_87;
1597 } else {
1598 if (likely(varonce88!=NULL)) {
1599 var89 = varonce88;
1600 } else {
1601 var90 = "0O";
1602 var92 = (val*)(2l<<2|1);
1603 var93 = (val*)(2l<<2|1);
1604 var94 = (val*)((long)(0)<<2|3);
1605 var95 = (val*)((long)(0)<<2|3);
1606 var91 = core__flat___CString___to_s_unsafe(var90, var92, var93, var94, var95);
1607 var89 = var91;
1608 varonce88 = var89;
1609 }
1610 {
1611 var96 = ((short int(*)(val* self, val* p0))(var_hd->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_hd, var89); /* == on <var_hd:Text>*/
1612 }
1613 var77 = var96;
1614 }
1615 if (var77){
1616 {
1617 var97 = core___core__Text___is_oct(var_rets);
1618 }
1619 var = var97;
1620 goto RET_LABEL;
1621 } else {
1622 }
1623 {
1624 var98 = core___core__Text___is_dec(var_rets);
1625 }
1626 var = var98;
1627 goto RET_LABEL;
1628 RET_LABEL:;
1629 return var;
1630 }
1631 /* method fixed_ints_text$Text$to_i for (self: Text): Int */
1632 long core__fixed_ints_text___Text___to_i(val* self) {
1633 long var /* : Int */;
1634 short int var1 /* : Bool */;
1635 val* var2 /* : String */;
1636 val* var3 /* : Pattern */;
1637 val* var_s /* var s: String */;
1638 long var_val /* var val: Int */;
1639 short int var_neg /* var neg: Bool */;
1640 long var_pos /* var pos: Int */;
1641 uint32_t var4 /* : Char */;
1642 short int var5 /* : Bool */;
1643 short int var7 /* : Bool */;
1644 short int var8 /* : Bool */;
1645 long var9 /* : Int */;
1646 short int var11 /* : Bool */;
1647 int cltype;
1648 int idtype;
1649 const char* var_class_name;
1650 long var12 /* : Int */;
1651 val* var13 /* : Text */;
1652 long var14 /* : Int */;
1653 short int var15 /* : Bool */;
1654 short int var17 /* : Bool */;
1655 int cltype18;
1656 int idtype19;
1657 const char* var_class_name20;
1658 short int var21 /* : Bool */;
1659 uint32_t var22 /* : Char */;
1660 uint32_t var_s1 /* var s1: Char */;
1661 short int var23 /* : Bool */;
1662 short int var24 /* : Bool */;
1663 short int var26 /* : Bool */;
1664 short int var_ /* var : Bool */;
1665 short int var27 /* : Bool */;
1666 short int var29 /* : Bool */;
1667 val* var30 /* : Text */;
1668 long var31 /* : Int */;
1669 short int var32 /* : Bool */;
1670 short int var33 /* : Bool */;
1671 short int var35 /* : Bool */;
1672 short int var_36 /* var : Bool */;
1673 short int var37 /* : Bool */;
1674 short int var39 /* : Bool */;
1675 val* var40 /* : Text */;
1676 long var41 /* : Int */;
1677 short int var42 /* : Bool */;
1678 short int var43 /* : Bool */;
1679 short int var45 /* : Bool */;
1680 short int var_46 /* var : Bool */;
1681 short int var47 /* : Bool */;
1682 short int var49 /* : Bool */;
1683 val* var50 /* : Text */;
1684 long var51 /* : Int */;
1685 short int var52 /* : Bool */;
1686 long var53 /* : Int */;
1687 long var54 /* : Int */;
1688 long var55 /* : Int */;
1689 long var56 /* : Int */;
1690 long var58 /* : Int */;
1691 {
1692 var1 = core__fixed_ints_text___Text___is_int(self);
1693 }
1694 if (unlikely(!var1)) {
1695 if(catchStack.cursor >= 0){
1696 longjmp(catchStack.envs[catchStack.cursor], 1);
1697 }
1698 PRINT_ERROR("Runtime error: %s", "Assert failed");
1699 PRINT_ERROR(" (%s:%d)\n", FILE_core__fixed_ints_text, 236);
1700 fatal_exit(1);
1701 }
1702 {
1703 var3 = (val*)((long)('_')<<2|2);
1704 var2 = core__string_search___Text___remove_all(self, var3);
1705 }
1706 var_s = var2;
1707 var_val = 0l;
1708 var_neg = 0;
1709 var_pos = 0l;
1710 for(;;) {
1711 {
1712 var4 = ((uint32_t(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var_s, var_pos); /* [] on <var_s:String>*/
1713 }
1714 {
1715 { /* Inline kernel$Char$== (var4,'-') on <var4:Char> */
1716 var7 = var4 == '-';
1717 var5 = var7;
1718 goto RET_LABEL6;
1719 RET_LABEL6:(void)0;
1720 }
1721 }
1722 if (var5){
1723 var8 = !var_neg;
1724 var_neg = var8;
1725 {
1726 { /* Inline kernel$Int$+ (var_pos,1l) on <var_pos:Int> */
1727 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1728 /* <1l:Int> isa OTHER */
1729 var11 = 1; /* easy <1l:Int> isa OTHER*/
1730 if (unlikely(!var11)) {
1731 var_class_name = type_core__Int.name;
1732 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1733 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1734 fatal_exit(1);
1735 }
1736 var12 = var_pos + 1l;
1737 var9 = var12;
1738 goto RET_LABEL10;
1739 RET_LABEL10:(void)0;
1740 }
1741 }
1742 var_pos = var9;
1743 } else {
1744 goto BREAK_label;
1745 }
1746 }
1747 BREAK_label: (void)0;
1748 {
1749 var13 = ((val*(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_s, var_pos); /* substring_from on <var_s:String>*/
1750 }
1751 var_s = var13;
1752 {
1753 var14 = ((long(*)(val* self))(var_s->class->vft[COLOR_core__abstract_text__Text__length]))(var_s); /* length on <var_s:String>*/
1754 }
1755 {
1756 { /* Inline kernel$Int$>= (var14,2l) on <var14:Int> */
1757 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
1758 /* <2l:Int> isa OTHER */
1759 var17 = 1; /* easy <2l:Int> isa OTHER*/
1760 if (unlikely(!var17)) {
1761 var_class_name20 = type_core__Int.name;
1762 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
1763 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 726);
1764 fatal_exit(1);
1765 }
1766 var21 = var14 >= 2l;
1767 var15 = var21;
1768 goto RET_LABEL16;
1769 RET_LABEL16:(void)0;
1770 }
1771 }
1772 if (var15){
1773 {
1774 var22 = ((uint32_t(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var_s, 1l); /* [] on <var_s:String>*/
1775 }
1776 var_s1 = var22;
1777 {
1778 { /* Inline kernel$Char$== (var_s1,'x') on <var_s1:Char> */
1779 var26 = var_s1 == 'x';
1780 var24 = var26;
1781 goto RET_LABEL25;
1782 RET_LABEL25:(void)0;
1783 }
1784 }
1785 var_ = var24;
1786 if (var24){
1787 var23 = var_;
1788 } else {
1789 {
1790 { /* Inline kernel$Char$== (var_s1,'X') on <var_s1:Char> */
1791 var29 = var_s1 == 'X';
1792 var27 = var29;
1793 goto RET_LABEL28;
1794 RET_LABEL28:(void)0;
1795 }
1796 }
1797 var23 = var27;
1798 }
1799 if (var23){
1800 {
1801 var30 = ((val*(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_s, 2l); /* substring_from on <var_s:String>*/
1802 }
1803 {
1804 var31 = ((long(*)(val* self, val* p0, val* p1))(var30->class->vft[COLOR_core__abstract_text__Text__to_hex]))(var30, ((val*)NULL), ((val*)NULL)); /* to_hex on <var30:Text(String)>*/
1805 }
1806 var_val = var31;
1807 } else {
1808 {
1809 { /* Inline kernel$Char$== (var_s1,'o') on <var_s1:Char> */
1810 var35 = var_s1 == 'o';
1811 var33 = var35;
1812 goto RET_LABEL34;
1813 RET_LABEL34:(void)0;
1814 }
1815 }
1816 var_36 = var33;
1817 if (var33){
1818 var32 = var_36;
1819 } else {
1820 {
1821 { /* Inline kernel$Char$== (var_s1,'O') on <var_s1:Char> */
1822 var39 = var_s1 == 'O';
1823 var37 = var39;
1824 goto RET_LABEL38;
1825 RET_LABEL38:(void)0;
1826 }
1827 }
1828 var32 = var37;
1829 }
1830 if (var32){
1831 {
1832 var40 = ((val*(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_s, 2l); /* substring_from on <var_s:String>*/
1833 }
1834 {
1835 var41 = core___core__Text___to_oct(var40);
1836 }
1837 var_val = var41;
1838 } else {
1839 {
1840 { /* Inline kernel$Char$== (var_s1,'b') on <var_s1:Char> */
1841 var45 = var_s1 == 'b';
1842 var43 = var45;
1843 goto RET_LABEL44;
1844 RET_LABEL44:(void)0;
1845 }
1846 }
1847 var_46 = var43;
1848 if (var43){
1849 var42 = var_46;
1850 } else {
1851 {
1852 { /* Inline kernel$Char$== (var_s1,'B') on <var_s1:Char> */
1853 var49 = var_s1 == 'B';
1854 var47 = var49;
1855 goto RET_LABEL48;
1856 RET_LABEL48:(void)0;
1857 }
1858 }
1859 var42 = var47;
1860 }
1861 if (var42){
1862 {
1863 var50 = ((val*(*)(val* self, long p0))(var_s->class->vft[COLOR_core__abstract_text__Text__substring_from]))(var_s, 2l); /* substring_from on <var_s:String>*/
1864 }
1865 {
1866 var51 = core___core__Text___to_bin(var50);
1867 }
1868 var_val = var51;
1869 } else {
1870 {
1871 var52 = core__abstract_text___Char___is_numeric(var_s1);
1872 }
1873 if (var52){
1874 {
1875 var53 = core___core__Text___to_dec(var_s);
1876 }
1877 var_val = var53;
1878 } else {
1879 }
1880 }
1881 }
1882 }
1883 } else {
1884 {
1885 var54 = core___core__Text___to_dec(var_s);
1886 }
1887 var_val = var54;
1888 }
1889 if (var_neg){
1890 {
1891 { /* Inline kernel$Int$unary - (var_val) on <var_val:Int> */
1892 var58 = -var_val;
1893 var56 = var58;
1894 goto RET_LABEL57;
1895 RET_LABEL57:(void)0;
1896 }
1897 }
1898 var55 = var56;
1899 } else {
1900 var55 = var_val;
1901 }
1902 var = var55;
1903 goto RET_LABEL;
1904 RET_LABEL:;
1905 return var;
1906 }
1907 /* method fixed_ints_text$Text$is_num for (self: Text): Bool */
1908 short int core__fixed_ints_text___Text___is_num(val* self) {
1909 short int var /* : Bool */;
1910 val* var1 /* : Text */;
1911 val* var_prefix /* var prefix: Text */;
1912 val* var2 /* : Text */;
1913 val* var3 /* : Text */;
1914 val* var4 /* : String */;
1915 val* var5 /* : Pattern */;
1916 val* var_s /* var s: String */;
1917 static val* varonce;
1918 val* var6 /* : String */;
1919 char* var7 /* : CString */;
1920 val* var8 /* : String */;
1921 val* var9 /* : nullable Int */;
1922 val* var10 /* : nullable Int */;
1923 val* var11 /* : nullable Bool */;
1924 val* var12 /* : nullable Bool */;
1925 short int var13 /* : Bool */;
1926 val* var_other /* var other: nullable Object */;
1927 short int var15 /* : Bool */;
1928 short int var16 /* : Bool */;
1929 uint32_t var17 /* : Char */;
1930 uint32_t var_c /* var c: Char */;
1931 short int var18 /* : Bool */;
1932 short int var19 /* : Bool */;
1933 short int var21 /* : Bool */;
1934 short int var_ /* var : Bool */;
1935 short int var22 /* : Bool */;
1936 short int var24 /* : Bool */;
1937 short int var25 /* : Bool */;
1938 short int var26 /* : Bool */;
1939 short int var27 /* : Bool */;
1940 short int var29 /* : Bool */;
1941 short int var_30 /* var : Bool */;
1942 short int var31 /* : Bool */;
1943 short int var33 /* : Bool */;
1944 short int var34 /* : Bool */;
1945 short int var35 /* : Bool */;
1946 short int var36 /* : Bool */;
1947 short int var38 /* : Bool */;
1948 short int var_39 /* var : Bool */;
1949 short int var40 /* : Bool */;
1950 short int var42 /* : Bool */;
1951 short int var43 /* : Bool */;
1952 short int var44 /* : Bool */;
1953 {
1954 var1 = core__fixed_ints_text___Text___get_numhead(self);
1955 }
1956 var_prefix = var1;
1957 {
1958 var2 = core__fixed_ints_text___Text___strip_numhead(self);
1959 }
1960 {
1961 var3 = core__fixed_ints_text___Text___strip_numext(var2);
1962 }
1963 {
1964 var5 = (val*)((long)('_')<<2|2);
1965 var4 = core__string_search___Text___remove_all(var3, var5);
1966 }
1967 var_s = var4;
1968 if (likely(varonce!=NULL)) {
1969 var6 = varonce;
1970 } else {
1971 var7 = "";
1972 var9 = (val*)(0l<<2|1);
1973 var10 = (val*)(0l<<2|1);
1974 var11 = (val*)((long)(0)<<2|3);
1975 var12 = (val*)((long)(0)<<2|3);
1976 var8 = core__flat___CString___to_s_unsafe(var7, var9, var10, var11, var12);
1977 var6 = var8;
1978 varonce = var6;
1979 }
1980 {
1981 { /* Inline kernel$Object$!= (var_prefix,var6) on <var_prefix:Text> */
1982 var_other = var6;
1983 {
1984 var15 = ((short int(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_prefix, var_other); /* == on <var_prefix:Text>*/
1985 }
1986 var16 = !var15;
1987 var13 = var16;
1988 goto RET_LABEL14;
1989 RET_LABEL14:(void)0;
1990 }
1991 }
1992 if (var13){
1993 {
1994 var17 = ((uint32_t(*)(val* self, long p0))(var_prefix->class->vft[COLOR_core__abstract_text__Text___91d_93d]))(var_prefix, 1l); /* [] on <var_prefix:Text>*/
1995 }
1996 var_c = var17;
1997 {
1998 { /* Inline kernel$Char$== (var_c,'x') on <var_c:Char> */
1999 var21 = var_c == 'x';
2000 var19 = var21;
2001 goto RET_LABEL20;
2002 RET_LABEL20:(void)0;
2003 }
2004 }
2005 var_ = var19;
2006 if (var19){
2007 var18 = var_;
2008 } else {
2009 {
2010 { /* Inline kernel$Char$== (var_c,'X') on <var_c:Char> */
2011 var24 = var_c == 'X';
2012 var22 = var24;
2013 goto RET_LABEL23;
2014 RET_LABEL23:(void)0;
2015 }
2016 }
2017 var18 = var22;
2018 }
2019 if (var18){
2020 {
2021 var25 = core___core__Text___is_hex(var_s);
2022 }
2023 var = var25;
2024 goto RET_LABEL;
2025 } else {
2026 }
2027 {
2028 { /* Inline kernel$Char$== (var_c,'o') on <var_c:Char> */
2029 var29 = var_c == 'o';
2030 var27 = var29;
2031 goto RET_LABEL28;
2032 RET_LABEL28:(void)0;
2033 }
2034 }
2035 var_30 = var27;
2036 if (var27){
2037 var26 = var_30;
2038 } else {
2039 {
2040 { /* Inline kernel$Char$== (var_c,'O') on <var_c:Char> */
2041 var33 = var_c == 'O';
2042 var31 = var33;
2043 goto RET_LABEL32;
2044 RET_LABEL32:(void)0;
2045 }
2046 }
2047 var26 = var31;
2048 }
2049 if (var26){
2050 {
2051 var34 = core___core__Text___is_oct(var_s);
2052 }
2053 var = var34;
2054 goto RET_LABEL;
2055 } else {
2056 }
2057 {
2058 { /* Inline kernel$Char$== (var_c,'b') on <var_c:Char> */
2059 var38 = var_c == 'b';
2060 var36 = var38;
2061 goto RET_LABEL37;
2062 RET_LABEL37:(void)0;
2063 }
2064 }
2065 var_39 = var36;
2066 if (var36){
2067 var35 = var_39;
2068 } else {
2069 {
2070 { /* Inline kernel$Char$== (var_c,'B') on <var_c:Char> */
2071 var42 = var_c == 'B';
2072 var40 = var42;
2073 goto RET_LABEL41;
2074 RET_LABEL41:(void)0;
2075 }
2076 }
2077 var35 = var40;
2078 }
2079 if (var35){
2080 {
2081 var43 = core___core__Text___is_bin(var_s);
2082 }
2083 var = var43;
2084 goto RET_LABEL;
2085 } else {
2086 }
2087 } else {
2088 }
2089 {
2090 var44 = core___core__Text___is_dec(var_s);
2091 }
2092 var = var44;
2093 goto RET_LABEL;
2094 RET_LABEL:;
2095 return var;
2096 }
2097 /* method fixed_ints_text$Text$to_num for (self: Text): nullable Numeric */
2098 val* core__fixed_ints_text___Text___to_num(val* self) {
2099 val* var /* : nullable Numeric */;
2100 short int var1 /* : Bool */;
2101 short int var2 /* : Bool */;
2102 val* var3 /* : String */;
2103 val* var4 /* : Pattern */;
2104 val* var_s /* var s: String */;
2105 val* var5 /* : Text */;
2106 val* var_ext /* var ext: Text */;
2107 val* var6 /* : Text */;
2108 val* var_trunk /* var trunk: Text */;
2109 val* var7 /* : Text */;
2110 static val* varonce;
2111 val* var8 /* : String */;
2112 char* var9 /* : CString */;
2113 val* var10 /* : String */;
2114 val* var11 /* : nullable Int */;
2115 val* var12 /* : nullable Int */;
2116 val* var13 /* : nullable Bool */;
2117 val* var14 /* : nullable Bool */;
2118 short int var15 /* : Bool */;
2119 long var16 /* : Int */;
2120 long var_trval /* var trval: Int */;
2121 static val* varonce17;
2122 val* var18 /* : String */;
2123 char* var19 /* : CString */;
2124 val* var20 /* : String */;
2125 val* var21 /* : nullable Int */;
2126 val* var22 /* : nullable Int */;
2127 val* var23 /* : nullable Bool */;
2128 val* var24 /* : nullable Bool */;
2129 short int var25 /* : Bool */;
2130 unsigned char var26 /* : Byte */;
2131 unsigned char var28 /* : Byte */;
2132 val* var29 /* : nullable Numeric */;
2133 static val* varonce30;
2134 val* var31 /* : String */;
2135 char* var32 /* : CString */;
2136 val* var33 /* : String */;
2137 val* var34 /* : nullable Int */;
2138 val* var35 /* : nullable Int */;
2139 val* var36 /* : nullable Bool */;
2140 val* var37 /* : nullable Bool */;
2141 short int var38 /* : Bool */;
2142 int8_t var39 /* : Int8 */;
2143 int8_t var41 /* : Int8 */;
2144 val* var42 /* : nullable Numeric */;
2145 static val* varonce43;
2146 val* var44 /* : String */;
2147 char* var45 /* : CString */;
2148 val* var46 /* : String */;
2149 val* var47 /* : nullable Int */;
2150 val* var48 /* : nullable Int */;
2151 val* var49 /* : nullable Bool */;
2152 val* var50 /* : nullable Bool */;
2153 short int var51 /* : Bool */;
2154 int16_t var52 /* : Int16 */;
2155 int16_t var54 /* : Int16 */;
2156 val* var55 /* : nullable Numeric */;
2157 static val* varonce56;
2158 val* var57 /* : String */;
2159 char* var58 /* : CString */;
2160 val* var59 /* : String */;
2161 val* var60 /* : nullable Int */;
2162 val* var61 /* : nullable Int */;
2163 val* var62 /* : nullable Bool */;
2164 val* var63 /* : nullable Bool */;
2165 short int var64 /* : Bool */;
2166 uint16_t var65 /* : UInt16 */;
2167 uint16_t var67 /* : UInt16 */;
2168 val* var68 /* : nullable Numeric */;
2169 static val* varonce69;
2170 val* var70 /* : String */;
2171 char* var71 /* : CString */;
2172 val* var72 /* : String */;
2173 val* var73 /* : nullable Int */;
2174 val* var74 /* : nullable Int */;
2175 val* var75 /* : nullable Bool */;
2176 val* var76 /* : nullable Bool */;
2177 short int var77 /* : Bool */;
2178 int32_t var78 /* : Int32 */;
2179 int32_t var80 /* : Int32 */;
2180 val* var81 /* : nullable Numeric */;
2181 static val* varonce82;
2182 val* var83 /* : String */;
2183 char* var84 /* : CString */;
2184 val* var85 /* : String */;
2185 val* var86 /* : nullable Int */;
2186 val* var87 /* : nullable Int */;
2187 val* var88 /* : nullable Bool */;
2188 val* var89 /* : nullable Bool */;
2189 short int var90 /* : Bool */;
2190 uint32_t var91 /* : UInt32 */;
2191 uint32_t var93 /* : UInt32 */;
2192 val* var94 /* : nullable Numeric */;
2193 static val* varonce95;
2194 val* var96 /* : String */;
2195 char* var97 /* : CString */;
2196 val* var98 /* : String */;
2197 val* var99 /* : nullable Int */;
2198 val* var100 /* : nullable Int */;
2199 val* var101 /* : nullable Bool */;
2200 val* var102 /* : nullable Bool */;
2201 short int var103 /* : Bool */;
2202 val* var104 /* : nullable Numeric */;
2203 {
2204 var1 = core__fixed_ints_text___Text___is_num(self);
2205 }
2206 var2 = !var1;
2207 if (var2){
2208 var = ((val*)NULL);
2209 goto RET_LABEL;
2210 } else {
2211 }
2212 {
2213 var4 = (val*)((long)('_')<<2|2);
2214 var3 = core__string_search___Text___remove_all(self, var4);
2215 }
2216 var_s = var3;
2217 {
2218 var5 = core__fixed_ints_text___Text___get_numext(var_s);
2219 }
2220 var_ext = var5;
2221 {
2222 var6 = core__fixed_ints_text___Text___strip_numext(var_s);
2223 }
2224 var_trunk = var6;
2225 {
2226 var7 = core__fixed_ints_text___Text___strip_numhead(var_trunk);
2227 }
2228 if (likely(varonce!=NULL)) {
2229 var8 = varonce;
2230 } else {
2231 var9 = "";
2232 var11 = (val*)(0l<<2|1);
2233 var12 = (val*)(0l<<2|1);
2234 var13 = (val*)((long)(0)<<2|3);
2235 var14 = (val*)((long)(0)<<2|3);
2236 var10 = core__flat___CString___to_s_unsafe(var9, var11, var12, var13, var14);
2237 var8 = var10;
2238 varonce = var8;
2239 }
2240 {
2241 var15 = ((short int(*)(val* self, val* p0))(var7->class->vft[COLOR_core__kernel__Object___61d_61d]))(var7, var8); /* == on <var7:Text>*/
2242 }
2243 if (var15){
2244 var = ((val*)NULL);
2245 goto RET_LABEL;
2246 } else {
2247 }
2248 {
2249 var16 = core__fixed_ints_text___Text___to_i(var_trunk);
2250 }
2251 var_trval = var16;
2252 if (likely(varonce17!=NULL)) {
2253 var18 = varonce17;
2254 } else {
2255 var19 = "u8";
2256 var21 = (val*)(2l<<2|1);
2257 var22 = (val*)(2l<<2|1);
2258 var23 = (val*)((long)(0)<<2|3);
2259 var24 = (val*)((long)(0)<<2|3);
2260 var20 = core__flat___CString___to_s_unsafe(var19, var21, var22, var23, var24);
2261 var18 = var20;
2262 varonce17 = var18;
2263 }
2264 {
2265 var25 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var18); /* == on <var_ext:Text>*/
2266 }
2267 if (var25){
2268 {
2269 { /* Inline kernel$Int$to_b (var_trval) on <var_trval:Int> */
2270 var28 = (unsigned char)var_trval;
2271 var26 = var28;
2272 goto RET_LABEL27;
2273 RET_LABEL27:(void)0;
2274 }
2275 }
2276 var29 = BOX_core__Byte(var26); /* autobox from Byte to nullable Numeric */
2277 var = var29;
2278 goto RET_LABEL;
2279 } else {
2280 if (likely(varonce30!=NULL)) {
2281 var31 = varonce30;
2282 } else {
2283 var32 = "i8";
2284 var34 = (val*)(2l<<2|1);
2285 var35 = (val*)(2l<<2|1);
2286 var36 = (val*)((long)(0)<<2|3);
2287 var37 = (val*)((long)(0)<<2|3);
2288 var33 = core__flat___CString___to_s_unsafe(var32, var34, var35, var36, var37);
2289 var31 = var33;
2290 varonce30 = var31;
2291 }
2292 {
2293 var38 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var31); /* == on <var_ext:Text>*/
2294 }
2295 if (var38){
2296 {
2297 { /* Inline fixed_ints$Int$to_i8 (var_trval) on <var_trval:Int> */
2298 var41 = (int8_t)var_trval;
2299 var39 = var41;
2300 goto RET_LABEL40;
2301 RET_LABEL40:(void)0;
2302 }
2303 }
2304 var42 = BOX_core__Int8(var39); /* autobox from Int8 to nullable Numeric */
2305 var = var42;
2306 goto RET_LABEL;
2307 } else {
2308 if (likely(varonce43!=NULL)) {
2309 var44 = varonce43;
2310 } else {
2311 var45 = "i16";
2312 var47 = (val*)(3l<<2|1);
2313 var48 = (val*)(3l<<2|1);
2314 var49 = (val*)((long)(0)<<2|3);
2315 var50 = (val*)((long)(0)<<2|3);
2316 var46 = core__flat___CString___to_s_unsafe(var45, var47, var48, var49, var50);
2317 var44 = var46;
2318 varonce43 = var44;
2319 }
2320 {
2321 var51 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var44); /* == on <var_ext:Text>*/
2322 }
2323 if (var51){
2324 {
2325 { /* Inline fixed_ints$Int$to_i16 (var_trval) on <var_trval:Int> */
2326 var54 = (int16_t)var_trval;
2327 var52 = var54;
2328 goto RET_LABEL53;
2329 RET_LABEL53:(void)0;
2330 }
2331 }
2332 var55 = BOX_core__Int16(var52); /* autobox from Int16 to nullable Numeric */
2333 var = var55;
2334 goto RET_LABEL;
2335 } else {
2336 if (likely(varonce56!=NULL)) {
2337 var57 = varonce56;
2338 } else {
2339 var58 = "u16";
2340 var60 = (val*)(3l<<2|1);
2341 var61 = (val*)(3l<<2|1);
2342 var62 = (val*)((long)(0)<<2|3);
2343 var63 = (val*)((long)(0)<<2|3);
2344 var59 = core__flat___CString___to_s_unsafe(var58, var60, var61, var62, var63);
2345 var57 = var59;
2346 varonce56 = var57;
2347 }
2348 {
2349 var64 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var57); /* == on <var_ext:Text>*/
2350 }
2351 if (var64){
2352 {
2353 { /* Inline fixed_ints$Int$to_u16 (var_trval) on <var_trval:Int> */
2354 var67 = (uint16_t)var_trval;
2355 var65 = var67;
2356 goto RET_LABEL66;
2357 RET_LABEL66:(void)0;
2358 }
2359 }
2360 var68 = BOX_core__UInt16(var65); /* autobox from UInt16 to nullable Numeric */
2361 var = var68;
2362 goto RET_LABEL;
2363 } else {
2364 if (likely(varonce69!=NULL)) {
2365 var70 = varonce69;
2366 } else {
2367 var71 = "i32";
2368 var73 = (val*)(3l<<2|1);
2369 var74 = (val*)(3l<<2|1);
2370 var75 = (val*)((long)(0)<<2|3);
2371 var76 = (val*)((long)(0)<<2|3);
2372 var72 = core__flat___CString___to_s_unsafe(var71, var73, var74, var75, var76);
2373 var70 = var72;
2374 varonce69 = var70;
2375 }
2376 {
2377 var77 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var70); /* == on <var_ext:Text>*/
2378 }
2379 if (var77){
2380 {
2381 { /* Inline fixed_ints$Int$to_i32 (var_trval) on <var_trval:Int> */
2382 var80 = (int32_t)var_trval;
2383 var78 = var80;
2384 goto RET_LABEL79;
2385 RET_LABEL79:(void)0;
2386 }
2387 }
2388 var81 = BOX_core__Int32(var78); /* autobox from Int32 to nullable Numeric */
2389 var = var81;
2390 goto RET_LABEL;
2391 } else {
2392 if (likely(varonce82!=NULL)) {
2393 var83 = varonce82;
2394 } else {
2395 var84 = "u32";
2396 var86 = (val*)(3l<<2|1);
2397 var87 = (val*)(3l<<2|1);
2398 var88 = (val*)((long)(0)<<2|3);
2399 var89 = (val*)((long)(0)<<2|3);
2400 var85 = core__flat___CString___to_s_unsafe(var84, var86, var87, var88, var89);
2401 var83 = var85;
2402 varonce82 = var83;
2403 }
2404 {
2405 var90 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var83); /* == on <var_ext:Text>*/
2406 }
2407 if (var90){
2408 {
2409 { /* Inline fixed_ints$Int$to_u32 (var_trval) on <var_trval:Int> */
2410 var93 = (uint32_t)var_trval;
2411 var91 = var93;
2412 goto RET_LABEL92;
2413 RET_LABEL92:(void)0;
2414 }
2415 }
2416 var94 = BOX_core__UInt32(var91); /* autobox from UInt32 to nullable Numeric */
2417 var = var94;
2418 goto RET_LABEL;
2419 } else {
2420 if (likely(varonce95!=NULL)) {
2421 var96 = varonce95;
2422 } else {
2423 var97 = "";
2424 var99 = (val*)(0l<<2|1);
2425 var100 = (val*)(0l<<2|1);
2426 var101 = (val*)((long)(0)<<2|3);
2427 var102 = (val*)((long)(0)<<2|3);
2428 var98 = core__flat___CString___to_s_unsafe(var97, var99, var100, var101, var102);
2429 var96 = var98;
2430 varonce95 = var96;
2431 }
2432 {
2433 var103 = ((short int(*)(val* self, val* p0))(var_ext->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_ext, var96); /* == on <var_ext:Text>*/
2434 }
2435 if (var103){
2436 var104 = (val*)(var_trval<<2|1);
2437 var = var104;
2438 goto RET_LABEL;
2439 } else {
2440 var = ((val*)NULL);
2441 goto RET_LABEL;
2442 }
2443 }
2444 }
2445 }
2446 }
2447 }
2448 }
2449 RET_LABEL:;
2450 return var;
2451 }