nitc: let CC, CXX and NO_STACKTRACE use env value
[nit.git] / c_src / core__stream.sep.1.c
1 #include "core__stream.sep.0.h"
2 /* method stream#Stream#last_error for (self: Stream): nullable IOError */
3 val* core___core__Stream___last_error(val* self) {
4 val* var /* : nullable IOError */;
5 val* var1 /* : nullable IOError */;
6 var1 = self->attrs[COLOR_core__stream__Stream___last_error].val; /* _last_error on <self:Stream> */
7 var = var1;
8 RET_LABEL:;
9 return var;
10 }
11 /* method stream#Stream#last_error= for (self: Stream, nullable IOError) */
12 void core___core__Stream___last_error_61d(val* self, val* p0) {
13 self->attrs[COLOR_core__stream__Stream___last_error].val = p0; /* _last_error on <self:Stream> */
14 RET_LABEL:;
15 }
16 /* method stream#Reader#read for (self: Reader, Int): String */
17 val* core___core__Reader___read(val* self, long p0) {
18 val* var /* : String */;
19 long var_i /* var i: Int */;
20 val* var1 /* : Bytes */;
21 val* var2 /* : String */;
22 var_i = p0;
23 {
24 var1 = core___core__BufferedReader___Reader__read_bytes(self, var_i);
25 }
26 {
27 var2 = core___core__Bytes___core__abstract_text__Object__to_s(var1);
28 }
29 var = var2;
30 goto RET_LABEL;
31 RET_LABEL:;
32 return var;
33 }
34 /* method stream#Reader#read_line for (self: Reader): String */
35 val* core___core__Reader___read_line(val* self) {
36 val* var /* : String */;
37 val* var1 /* : nullable IOError */;
38 val* var3 /* : nullable IOError */;
39 short int var4 /* : Bool */;
40 short int var5 /* : Bool */;
41 val* var_other /* var other: nullable Object */;
42 short int var7 /* : Bool */;
43 short int var8 /* : Bool */;
44 static val* varonce;
45 val* var9 /* : String */;
46 char* var10 /* : NativeString */;
47 val* var11 /* : String */;
48 short int var12 /* : Bool */;
49 static val* varonce13;
50 val* var14 /* : String */;
51 char* var15 /* : NativeString */;
52 val* var16 /* : String */;
53 val* var17 /* : FlatBuffer */;
54 val* var_s /* var s: FlatBuffer */;
55 val* var19 /* : String */;
56 val* var20 /* : Text */;
57 {
58 { /* Inline stream#Stream#last_error (self) on <self:Reader> */
59 var3 = self->attrs[COLOR_core__stream__Stream___last_error].val; /* _last_error on <self:Reader> */
60 var1 = var3;
61 RET_LABEL2:(void)0;
62 }
63 }
64 if (var1 == NULL) {
65 var4 = 0; /* is null */
66 } else {
67 var4 = 1; /* arg is null and recv is not */
68 }
69 if (0) {
70 { /* Inline kernel#Object#!= (var1,((val*)NULL)) on <var1:nullable IOError> */
71 var_other = ((val*)NULL);
72 {
73 var7 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var_other); /* == on <var1:nullable IOError(IOError)>*/
74 }
75 var8 = !var7;
76 var5 = var8;
77 goto RET_LABEL6;
78 RET_LABEL6:(void)0;
79 }
80 var4 = var5;
81 }
82 if (var4){
83 if (likely(varonce!=NULL)) {
84 var9 = varonce;
85 } else {
86 var10 = "";
87 var11 = core__flat___NativeString___to_s_full(var10, 0l, 0l);
88 var9 = var11;
89 varonce = var9;
90 }
91 var = var9;
92 goto RET_LABEL;
93 } else {
94 }
95 {
96 var12 = core___core__BufferedReader___Reader__eof(self);
97 }
98 if (var12){
99 if (likely(varonce13!=NULL)) {
100 var14 = varonce13;
101 } else {
102 var15 = "";
103 var16 = core__flat___NativeString___to_s_full(var15, 0l, 0l);
104 var14 = var16;
105 varonce13 = var14;
106 }
107 var = var14;
108 goto RET_LABEL;
109 } else {
110 }
111 var17 = NEW_core__FlatBuffer(&type_core__FlatBuffer);
112 {
113 { /* Inline flat#FlatBuffer#init (var17) on <var17:FlatBuffer> */
114 {
115 ((void(*)(val* self))(var17->class->vft[COLOR_core___core__FlatBuffer___core__kernel__Object__init]))(var17); /* init on <var17:FlatBuffer>*/
116 }
117 RET_LABEL18:(void)0;
118 }
119 }
120 var_s = var17;
121 {
122 core___core__BufferedReader___Reader__append_line_to(self, var_s); /* Direct call stream#BufferedReader#append_line_to on <self:Reader>*/
123 }
124 {
125 var19 = core___core__FlatBuffer___core__abstract_text__Object__to_s(var_s);
126 }
127 {
128 var20 = core___core__Text___chomp(var19);
129 }
130 var = var20;
131 goto RET_LABEL;
132 RET_LABEL:;
133 return var;
134 }
135 /* method stream#Reader#read_all for (self: Reader): String */
136 val* core___core__Reader___read_all(val* self) {
137 val* var /* : String */;
138 val* var1 /* : Bytes */;
139 val* var_s /* var s: Bytes */;
140 long var2 /* : Int */;
141 long var4 /* : Int */;
142 long var_slen /* var slen: Int */;
143 short int var5 /* : Bool */;
144 short int var7 /* : Bool */;
145 static val* varonce;
146 val* var8 /* : String */;
147 char* var9 /* : NativeString */;
148 val* var10 /* : String */;
149 static val* varonce11;
150 val* var12 /* : String */;
151 char* var13 /* : NativeString */;
152 val* var14 /* : String */;
153 val* var_rets /* var rets: String */;
154 long var_pos /* var pos: Int */;
155 char* var15 /* : NativeString */;
156 char* var17 /* : NativeString */;
157 val* var18 /* : FlatString */;
158 val* var_str /* var str: FlatString */;
159 long var19 /* : Int */;
160 long var21 /* : Int */;
161 char* var22 /* : NativeString */;
162 char* var24 /* : NativeString */;
163 char* var_sits /* var sits: NativeString */;
164 long var_remsp /* var remsp: Int */;
165 short int var25 /* : Bool */;
166 short int var27 /* : Bool */;
167 int cltype;
168 int idtype;
169 const char* var_class_name;
170 short int var28 /* : Bool */;
171 long var_chunksz /* var chunksz: Int */;
172 short int var29 /* : Bool */;
173 short int var31 /* : Bool */;
174 int cltype32;
175 int idtype33;
176 const char* var_class_name34;
177 short int var35 /* : Bool */;
178 val* var36 /* : FlatString */;
179 val* var37 /* : String */;
180 long var38 /* : Int */;
181 short int var40 /* : Bool */;
182 int cltype41;
183 int idtype42;
184 const char* var_class_name43;
185 long var44 /* : Int */;
186 long var45 /* : Int */;
187 short int var47 /* : Bool */;
188 int cltype48;
189 int idtype49;
190 const char* var_class_name50;
191 long var51 /* : Int */;
192 long var52 /* : Int */;
193 long var_st /* var st: Int */;
194 long var53 /* : Int */;
195 short int var55 /* : Bool */;
196 int cltype56;
197 int idtype57;
198 const char* var_class_name58;
199 long var59 /* : Int */;
200 long var_bytelen /* var bytelen: Int */;
201 val* var60 /* : FlatString */;
202 val* var61 /* : String */;
203 long var62 /* : Int */;
204 short int var64 /* : Bool */;
205 int cltype65;
206 int idtype66;
207 const char* var_class_name67;
208 long var68 /* : Int */;
209 short int var69 /* : Bool */;
210 int cltype70;
211 int idtype71;
212 val* var72 /* : String */;
213 {
214 var1 = core___core__BufferedReader___Reader__read_all_bytes(self);
215 }
216 var_s = var1;
217 {
218 { /* Inline bytes#Bytes#length (var_s) on <var_s:Bytes> */
219 var4 = var_s->attrs[COLOR_core__bytes__Bytes___length].l; /* _length on <var_s:Bytes> */
220 var2 = var4;
221 RET_LABEL3:(void)0;
222 }
223 }
224 var_slen = var2;
225 {
226 { /* Inline kernel#Int#== (var_slen,0l) on <var_slen:Int> */
227 var7 = var_slen == 0l;
228 var5 = var7;
229 goto RET_LABEL6;
230 RET_LABEL6:(void)0;
231 }
232 }
233 if (var5){
234 if (likely(varonce!=NULL)) {
235 var8 = varonce;
236 } else {
237 var9 = "";
238 var10 = core__flat___NativeString___to_s_full(var9, 0l, 0l);
239 var8 = var10;
240 varonce = var8;
241 }
242 var = var8;
243 goto RET_LABEL;
244 } else {
245 }
246 if (likely(varonce11!=NULL)) {
247 var12 = varonce11;
248 } else {
249 var13 = "";
250 var14 = core__flat___NativeString___to_s_full(var13, 0l, 0l);
251 var12 = var14;
252 varonce11 = var12;
253 }
254 var_rets = var12;
255 var_pos = 0l;
256 {
257 { /* Inline bytes#Bytes#items (var_s) on <var_s:Bytes> */
258 var17 = var_s->attrs[COLOR_core__bytes__Bytes___items].str; /* _items on <var_s:Bytes> */
259 var15 = var17;
260 RET_LABEL16:(void)0;
261 }
262 }
263 {
264 var18 = core__flat___NativeString___clean_utf8(var15, var_slen);
265 }
266 var_str = var18;
267 {
268 { /* Inline abstract_text#FlatText#bytelen (var_str) on <var_str:FlatString> */
269 var21 = var_str->attrs[COLOR_core__abstract_text__FlatText___bytelen].l; /* _bytelen on <var_str:FlatString> */
270 var19 = var21;
271 RET_LABEL20:(void)0;
272 }
273 }
274 var_slen = var19;
275 {
276 { /* Inline abstract_text#FlatText#items (var_str) on <var_str:FlatString> */
277 var24 = var_str->attrs[COLOR_core__abstract_text__FlatText___items].str; /* _items on <var_str:FlatString> */
278 var22 = var24;
279 RET_LABEL23:(void)0;
280 }
281 }
282 var_sits = var22;
283 var_remsp = var_slen;
284 for(;;) {
285 {
286 { /* Inline kernel#Int#< (var_pos,var_slen) on <var_pos:Int> */
287 /* Covariant cast for argument 0 (i) <var_slen:Int> isa OTHER */
288 /* <var_slen:Int> isa OTHER */
289 var27 = 1; /* easy <var_slen:Int> isa OTHER*/
290 if (unlikely(!var27)) {
291 var_class_name = type_core__Int.name;
292 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
293 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
294 fatal_exit(1);
295 }
296 var28 = var_pos < var_slen;
297 var25 = var28;
298 goto RET_LABEL26;
299 RET_LABEL26:(void)0;
300 }
301 }
302 if (var25){
303 var_chunksz = 129l;
304 {
305 { /* Inline kernel#Int#> (var_chunksz,var_remsp) on <var_chunksz:Int> */
306 /* Covariant cast for argument 0 (i) <var_remsp:Int> isa OTHER */
307 /* <var_remsp:Int> isa OTHER */
308 var31 = 1; /* easy <var_remsp:Int> isa OTHER*/
309 if (unlikely(!var31)) {
310 var_class_name34 = type_core__Int.name;
311 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34);
312 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
313 fatal_exit(1);
314 }
315 var35 = var_chunksz > var_remsp;
316 var29 = var35;
317 goto RET_LABEL30;
318 RET_LABEL30:(void)0;
319 }
320 }
321 if (var29){
322 var36 = NEW_core__FlatString(&type_core__FlatString);
323 {
324 core___core__FlatString___with_infos(var36, var_sits, var_remsp, var_pos); /* Direct call flat#FlatString#with_infos on <var36:FlatString>*/
325 }
326 {
327 var37 = ((val*(*)(val* self, val* p0))(var_rets->class->vft[COLOR_core__abstract_text__String___43d]))(var_rets, var36); /* + on <var_rets:String>*/
328 }
329 var_rets = var37;
330 goto BREAK_label;
331 } else {
332 }
333 {
334 { /* Inline kernel#Int#+ (var_pos,var_chunksz) on <var_pos:Int> */
335 /* Covariant cast for argument 0 (i) <var_chunksz:Int> isa OTHER */
336 /* <var_chunksz:Int> isa OTHER */
337 var40 = 1; /* easy <var_chunksz:Int> isa OTHER*/
338 if (unlikely(!var40)) {
339 var_class_name43 = type_core__Int.name;
340 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43);
341 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
342 fatal_exit(1);
343 }
344 var44 = var_pos + var_chunksz;
345 var38 = var44;
346 goto RET_LABEL39;
347 RET_LABEL39:(void)0;
348 }
349 }
350 {
351 { /* Inline kernel#Int#- (var38,1l) on <var38:Int> */
352 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
353 /* <1l:Int> isa OTHER */
354 var47 = 1; /* easy <1l:Int> isa OTHER*/
355 if (unlikely(!var47)) {
356 var_class_name50 = type_core__Int.name;
357 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name50);
358 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
359 fatal_exit(1);
360 }
361 var51 = var38 - 1l;
362 var45 = var51;
363 goto RET_LABEL46;
364 RET_LABEL46:(void)0;
365 }
366 }
367 {
368 var52 = core___core__NativeString___find_beginning_of_char_at(var_sits, var45);
369 }
370 var_st = var52;
371 {
372 { /* Inline kernel#Int#- (var_st,var_pos) on <var_st:Int> */
373 /* Covariant cast for argument 0 (i) <var_pos:Int> isa OTHER */
374 /* <var_pos:Int> isa OTHER */
375 var55 = 1; /* easy <var_pos:Int> isa OTHER*/
376 if (unlikely(!var55)) {
377 var_class_name58 = type_core__Int.name;
378 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name58);
379 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
380 fatal_exit(1);
381 }
382 var59 = var_st - var_pos;
383 var53 = var59;
384 goto RET_LABEL54;
385 RET_LABEL54:(void)0;
386 }
387 }
388 var_bytelen = var53;
389 var60 = NEW_core__FlatString(&type_core__FlatString);
390 {
391 core___core__FlatString___with_infos(var60, var_sits, var_bytelen, var_pos); /* Direct call flat#FlatString#with_infos on <var60:FlatString>*/
392 }
393 {
394 var61 = ((val*(*)(val* self, val* p0))(var_rets->class->vft[COLOR_core__abstract_text__String___43d]))(var_rets, var60); /* + on <var_rets:String>*/
395 }
396 var_rets = var61;
397 var_pos = var_st;
398 {
399 { /* Inline kernel#Int#- (var_remsp,var_bytelen) on <var_remsp:Int> */
400 /* Covariant cast for argument 0 (i) <var_bytelen:Int> isa OTHER */
401 /* <var_bytelen:Int> isa OTHER */
402 var64 = 1; /* easy <var_bytelen:Int> isa OTHER*/
403 if (unlikely(!var64)) {
404 var_class_name67 = type_core__Int.name;
405 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name67);
406 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
407 fatal_exit(1);
408 }
409 var68 = var_remsp - var_bytelen;
410 var62 = var68;
411 goto RET_LABEL63;
412 RET_LABEL63:(void)0;
413 }
414 }
415 var_remsp = var62;
416 } else {
417 goto BREAK_label;
418 }
419 }
420 BREAK_label: (void)0;
421 /* <var_rets:String> isa Concat */
422 cltype70 = type_core__ropes__Concat.color;
423 idtype71 = type_core__ropes__Concat.id;
424 if(cltype70 >= var_rets->type->table_size) {
425 var69 = 0;
426 } else {
427 var69 = var_rets->type->type_table[cltype70] == idtype71;
428 }
429 if (var69){
430 {
431 var72 = core__ropes___core__ropes__Concat___balance(var_rets);
432 }
433 var = var72;
434 goto RET_LABEL;
435 } else {
436 }
437 var = var_rets;
438 goto RET_LABEL;
439 RET_LABEL:;
440 return var;
441 }
442 /* method stream#Bytes#write_to for (self: Bytes, Writer) */
443 void core__stream___Bytes___Writable__write_to(val* self, val* p0) {
444 val* var_s /* var s: Writer */;
445 var_s = p0;
446 {
447 core___core__FileWriter___core__stream__Writer__write_bytes(var_s, self); /* Direct call file#FileWriter#write_bytes on <var_s:Writer>*/
448 }
449 RET_LABEL:;
450 }
451 /* method stream#Text#write_to for (self: Text, Writer) */
452 void core__stream___Text___Writable__write_to(val* self, val* p0) {
453 val* var_stream /* var stream: Writer */;
454 var_stream = p0;
455 {
456 core___core__FileWriter___core__stream__Writer__write(var_stream, self); /* Direct call file#FileWriter#write on <var_stream:Writer>*/
457 }
458 RET_LABEL:;
459 }
460 /* method stream#BufferedReader#buffer_reset for (self: BufferedReader) */
461 void core___core__BufferedReader___buffer_reset(val* self) {
462 self->attrs[COLOR_core__stream__BufferedReader___buffer_length].l = 0l; /* _buffer_length on <self:BufferedReader> */
463 self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l = 0l; /* _buffer_pos on <self:BufferedReader> */
464 RET_LABEL:;
465 }
466 /* method stream#BufferedReader#read_bytes for (self: BufferedReader, Int): Bytes */
467 val* core___core__BufferedReader___Reader__read_bytes(val* self, long p0) {
468 val* var /* : Bytes */;
469 long var_i /* var i: Int */;
470 val* var1 /* : nullable IOError */;
471 val* var3 /* : nullable IOError */;
472 short int var4 /* : Bool */;
473 short int var5 /* : Bool */;
474 val* var_other /* var other: nullable Object */;
475 short int var7 /* : Bool */;
476 short int var8 /* : Bool */;
477 val* var9 /* : Bytes */;
478 val* var10 /* : Bytes */;
479 val* var_buf /* var buf: Bytes */;
480 long var11 /* : Int */;
481 var_i = p0;
482 {
483 { /* Inline stream#Stream#last_error (self) on <self:BufferedReader> */
484 var3 = self->attrs[COLOR_core__stream__Stream___last_error].val; /* _last_error on <self:BufferedReader> */
485 var1 = var3;
486 RET_LABEL2:(void)0;
487 }
488 }
489 if (var1 == NULL) {
490 var4 = 0; /* is null */
491 } else {
492 var4 = 1; /* arg is null and recv is not */
493 }
494 if (0) {
495 { /* Inline kernel#Object#!= (var1,((val*)NULL)) on <var1:nullable IOError> */
496 var_other = ((val*)NULL);
497 {
498 var7 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var_other); /* == on <var1:nullable IOError(IOError)>*/
499 }
500 var8 = !var7;
501 var5 = var8;
502 goto RET_LABEL6;
503 RET_LABEL6:(void)0;
504 }
505 var4 = var5;
506 }
507 if (var4){
508 var9 = NEW_core__Bytes(&type_core__Bytes);
509 {
510 core___core__Bytes___empty(var9); /* Direct call bytes#Bytes#empty on <var9:Bytes>*/
511 }
512 var = var9;
513 goto RET_LABEL;
514 } else {
515 }
516 var10 = NEW_core__Bytes(&type_core__Bytes);
517 {
518 core___core__Bytes___with_capacity(var10, var_i); /* Direct call bytes#Bytes#with_capacity on <var10:Bytes>*/
519 }
520 var_buf = var10;
521 {
522 var11 = core___core__BufferedReader___read_intern(self, var_i, var_buf);
523 }
524 var = var_buf;
525 goto RET_LABEL;
526 RET_LABEL:;
527 return var;
528 }
529 /* method stream#BufferedReader#read_intern for (self: BufferedReader, Int, Bytes): Int */
530 long core___core__BufferedReader___read_intern(val* self, long p0, val* p1) {
531 long var /* : Int */;
532 long var_i /* var i: Int */;
533 val* var_buf /* var buf: Bytes */;
534 short int var1 /* : Bool */;
535 long var2 /* : Int */;
536 long var_p /* var p: Int */;
537 long var3 /* : Int */;
538 long var4 /* : Int */;
539 short int var6 /* : Bool */;
540 int cltype;
541 int idtype;
542 const char* var_class_name;
543 long var7 /* : Int */;
544 long var_bufsp /* var bufsp: Int */;
545 short int var8 /* : Bool */;
546 short int var10 /* : Bool */;
547 int cltype11;
548 int idtype12;
549 const char* var_class_name13;
550 short int var14 /* : Bool */;
551 val* var_ /* var : BufferedReader */;
552 long var15 /* : Int */;
553 long var16 /* : Int */;
554 short int var18 /* : Bool */;
555 int cltype19;
556 int idtype20;
557 const char* var_class_name21;
558 long var22 /* : Int */;
559 char* var23 /* : NativeString */;
560 long var24 /* : Int */;
561 long var25 /* : Int */;
562 long var26 /* : Int */;
563 short int var28 /* : Bool */;
564 int cltype29;
565 int idtype30;
566 const char* var_class_name31;
567 long var32 /* : Int */;
568 long var_readln /* var readln: Int */;
569 char* var33 /* : NativeString */;
570 long var34 /* : Int */;
571 short int var36 /* : Bool */;
572 int cltype37;
573 int idtype38;
574 const char* var_class_name39;
575 long var40 /* : Int */;
576 long var41 /* : Int */;
577 long var_rd /* var rd: Int */;
578 long var42 /* : Int */;
579 short int var44 /* : Bool */;
580 int cltype45;
581 int idtype46;
582 const char* var_class_name47;
583 long var48 /* : Int */;
584 var_i = p0;
585 var_buf = p1;
586 {
587 var1 = core___core__BufferedReader___Reader__eof(self);
588 }
589 if (var1){
590 var = 0l;
591 goto RET_LABEL;
592 } else {
593 }
594 var2 = self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l; /* _buffer_pos on <self:BufferedReader> */
595 var_p = var2;
596 var3 = self->attrs[COLOR_core__stream__BufferedReader___buffer_length].l; /* _buffer_length on <self:BufferedReader> */
597 {
598 { /* Inline kernel#Int#- (var3,var_p) on <var3:Int> */
599 /* Covariant cast for argument 0 (i) <var_p:Int> isa OTHER */
600 /* <var_p:Int> isa OTHER */
601 var6 = 1; /* easy <var_p:Int> isa OTHER*/
602 if (unlikely(!var6)) {
603 var_class_name = type_core__Int.name;
604 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
605 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
606 fatal_exit(1);
607 }
608 var7 = var3 - var_p;
609 var4 = var7;
610 goto RET_LABEL5;
611 RET_LABEL5:(void)0;
612 }
613 }
614 var_bufsp = var4;
615 {
616 { /* Inline kernel#Int#>= (var_bufsp,var_i) on <var_bufsp:Int> */
617 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
618 /* <var_i:Int> isa OTHER */
619 var10 = 1; /* easy <var_i:Int> isa OTHER*/
620 if (unlikely(!var10)) {
621 var_class_name13 = type_core__Int.name;
622 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13);
623 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
624 fatal_exit(1);
625 }
626 var14 = var_bufsp >= var_i;
627 var8 = var14;
628 goto RET_LABEL9;
629 RET_LABEL9:(void)0;
630 }
631 }
632 if (var8){
633 var_ = self;
634 var15 = var_->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l; /* _buffer_pos on <var_:BufferedReader> */
635 {
636 { /* Inline kernel#Int#+ (var15,var_i) on <var15:Int> */
637 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
638 /* <var_i:Int> isa OTHER */
639 var18 = 1; /* easy <var_i:Int> isa OTHER*/
640 if (unlikely(!var18)) {
641 var_class_name21 = type_core__Int.name;
642 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
643 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
644 fatal_exit(1);
645 }
646 var22 = var15 + var_i;
647 var16 = var22;
648 goto RET_LABEL17;
649 RET_LABEL17:(void)0;
650 }
651 }
652 var_->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l = var16; /* _buffer_pos on <var_:BufferedReader> */
653 var23 = self->attrs[COLOR_core__stream__BufferedReader___buffer].str; /* _buffer on <self:BufferedReader> */
654 {
655 core___core__Bytes___append_ns_from(var_buf, var23, var_i, var_p); /* Direct call bytes#Bytes#append_ns_from on <var_buf:Bytes>*/
656 }
657 var = var_i;
658 goto RET_LABEL;
659 } else {
660 }
661 var24 = self->attrs[COLOR_core__stream__BufferedReader___buffer_length].l; /* _buffer_length on <self:BufferedReader> */
662 self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l = var24; /* _buffer_pos on <self:BufferedReader> */
663 var25 = self->attrs[COLOR_core__stream__BufferedReader___buffer_length].l; /* _buffer_length on <self:BufferedReader> */
664 {
665 { /* Inline kernel#Int#- (var25,var_p) on <var25:Int> */
666 /* Covariant cast for argument 0 (i) <var_p:Int> isa OTHER */
667 /* <var_p:Int> isa OTHER */
668 var28 = 1; /* easy <var_p:Int> isa OTHER*/
669 if (unlikely(!var28)) {
670 var_class_name31 = type_core__Int.name;
671 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31);
672 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
673 fatal_exit(1);
674 }
675 var32 = var25 - var_p;
676 var26 = var32;
677 goto RET_LABEL27;
678 RET_LABEL27:(void)0;
679 }
680 }
681 var_readln = var26;
682 var33 = self->attrs[COLOR_core__stream__BufferedReader___buffer].str; /* _buffer on <self:BufferedReader> */
683 {
684 core___core__Bytes___append_ns_from(var_buf, var33, var_readln, var_p); /* Direct call bytes#Bytes#append_ns_from on <var_buf:Bytes>*/
685 }
686 {
687 { /* Inline kernel#Int#- (var_i,var_readln) on <var_i:Int> */
688 /* Covariant cast for argument 0 (i) <var_readln:Int> isa OTHER */
689 /* <var_readln:Int> isa OTHER */
690 var36 = 1; /* easy <var_readln:Int> isa OTHER*/
691 if (unlikely(!var36)) {
692 var_class_name39 = type_core__Int.name;
693 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39);
694 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
695 fatal_exit(1);
696 }
697 var40 = var_i - var_readln;
698 var34 = var40;
699 goto RET_LABEL35;
700 RET_LABEL35:(void)0;
701 }
702 }
703 {
704 var41 = core___core__BufferedReader___read_intern(self, var34, var_buf);
705 }
706 var_rd = var41;
707 {
708 { /* Inline kernel#Int#+ (var_rd,var_readln) on <var_rd:Int> */
709 /* Covariant cast for argument 0 (i) <var_readln:Int> isa OTHER */
710 /* <var_readln:Int> isa OTHER */
711 var44 = 1; /* easy <var_readln:Int> isa OTHER*/
712 if (unlikely(!var44)) {
713 var_class_name47 = type_core__Int.name;
714 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47);
715 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
716 fatal_exit(1);
717 }
718 var48 = var_rd + var_readln;
719 var42 = var48;
720 goto RET_LABEL43;
721 RET_LABEL43:(void)0;
722 }
723 }
724 var = var42;
725 goto RET_LABEL;
726 RET_LABEL:;
727 return var;
728 }
729 /* method stream#BufferedReader#read_all_bytes for (self: BufferedReader): Bytes */
730 val* core___core__BufferedReader___Reader__read_all_bytes(val* self) {
731 val* var /* : Bytes */;
732 val* var1 /* : nullable IOError */;
733 val* var3 /* : nullable IOError */;
734 short int var4 /* : Bool */;
735 short int var5 /* : Bool */;
736 val* var_other /* var other: nullable Object */;
737 short int var7 /* : Bool */;
738 short int var8 /* : Bool */;
739 val* var9 /* : Bytes */;
740 val* var10 /* : Bytes */;
741 val* var_s /* var s: Bytes */;
742 char* var11 /* : NativeString */;
743 char* var_b /* var b: NativeString */;
744 short int var12 /* : Bool */;
745 short int var13 /* : Bool */;
746 long var14 /* : Int */;
747 long var_j /* var j: Int */;
748 long var15 /* : Int */;
749 long var_k /* var k: Int */;
750 long var16 /* : Int */;
751 short int var18 /* : Bool */;
752 int cltype;
753 int idtype;
754 const char* var_class_name;
755 long var19 /* : Int */;
756 long var_rd_sz /* var rd_sz: Int */;
757 {
758 { /* Inline stream#Stream#last_error (self) on <self:BufferedReader> */
759 var3 = self->attrs[COLOR_core__stream__Stream___last_error].val; /* _last_error on <self:BufferedReader> */
760 var1 = var3;
761 RET_LABEL2:(void)0;
762 }
763 }
764 if (var1 == NULL) {
765 var4 = 0; /* is null */
766 } else {
767 var4 = 1; /* arg is null and recv is not */
768 }
769 if (0) {
770 { /* Inline kernel#Object#!= (var1,((val*)NULL)) on <var1:nullable IOError> */
771 var_other = ((val*)NULL);
772 {
773 var7 = ((short int(*)(val* self, val* p0))(var1->class->vft[COLOR_core__kernel__Object___61d_61d]))(var1, var_other); /* == on <var1:nullable IOError(IOError)>*/
774 }
775 var8 = !var7;
776 var5 = var8;
777 goto RET_LABEL6;
778 RET_LABEL6:(void)0;
779 }
780 var4 = var5;
781 }
782 if (var4){
783 var9 = NEW_core__Bytes(&type_core__Bytes);
784 {
785 core___core__Bytes___empty(var9); /* Direct call bytes#Bytes#empty on <var9:Bytes>*/
786 }
787 var = var9;
788 goto RET_LABEL;
789 } else {
790 }
791 var10 = NEW_core__Bytes(&type_core__Bytes);
792 {
793 core___core__Bytes___with_capacity(var10, 10l); /* Direct call bytes#Bytes#with_capacity on <var10:Bytes>*/
794 }
795 var_s = var10;
796 var11 = self->attrs[COLOR_core__stream__BufferedReader___buffer].str; /* _buffer on <self:BufferedReader> */
797 var_b = var11;
798 for(;;) {
799 {
800 var12 = core___core__BufferedReader___Reader__eof(self);
801 }
802 var13 = !var12;
803 if (var13){
804 var14 = self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l; /* _buffer_pos on <self:BufferedReader> */
805 var_j = var14;
806 var15 = self->attrs[COLOR_core__stream__BufferedReader___buffer_length].l; /* _buffer_length on <self:BufferedReader> */
807 var_k = var15;
808 {
809 { /* Inline kernel#Int#- (var_k,var_j) on <var_k:Int> */
810 /* Covariant cast for argument 0 (i) <var_j:Int> isa OTHER */
811 /* <var_j:Int> isa OTHER */
812 var18 = 1; /* easy <var_j:Int> isa OTHER*/
813 if (unlikely(!var18)) {
814 var_class_name = type_core__Int.name;
815 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
816 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734);
817 fatal_exit(1);
818 }
819 var19 = var_k - var_j;
820 var16 = var19;
821 goto RET_LABEL17;
822 RET_LABEL17:(void)0;
823 }
824 }
825 var_rd_sz = var16;
826 {
827 core___core__Bytes___append_ns_from(var_s, var_b, var_rd_sz, var_j); /* Direct call bytes#Bytes#append_ns_from on <var_s:Bytes>*/
828 }
829 self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l = var_k; /* _buffer_pos on <self:BufferedReader> */
830 {
831 core___core__FileReader___core__stream__BufferedReader__fill_buffer(self); /* Direct call file#FileReader#fill_buffer on <self:BufferedReader>*/
832 }
833 } else {
834 goto BREAK_label;
835 }
836 }
837 BREAK_label: (void)0;
838 var = var_s;
839 goto RET_LABEL;
840 RET_LABEL:;
841 return var;
842 }
843 /* method stream#BufferedReader#append_line_to for (self: BufferedReader, Buffer) */
844 void core___core__BufferedReader___Reader__append_line_to(val* self, val* p0) {
845 val* var_s /* var s: Buffer */;
846 val* var /* : Bytes */;
847 val* var_lb /* var lb: Bytes */;
848 long var1 /* : Int */;
849 long var_i /* var i: Int */;
850 short int var2 /* : Bool */;
851 long var3 /* : Int */;
852 short int var4 /* : Bool */;
853 short int var6 /* : Bool */;
854 int cltype;
855 int idtype;
856 const char* var_class_name;
857 short int var7 /* : Bool */;
858 short int var_ /* var : Bool */;
859 char* var8 /* : NativeString */;
860 unsigned char var9 /* : Byte */;
861 unsigned char var11 /* : Byte */;
862 short int var12 /* : Bool */;
863 short int var14 /* : Bool */;
864 short int var15 /* : Bool */;
865 long var16 /* : Int */;
866 short int var18 /* : Bool */;
867 int cltype19;
868 int idtype20;
869 const char* var_class_name21;
870 long var22 /* : Int */;
871 long var23 /* : Int */;
872 short int var24 /* : Bool */;
873 short int var26 /* : Bool */;
874 int cltype27;
875 int idtype28;
876 const char* var_class_name29;
877 short int var30 /* : Bool */;
878 char* var31 /* : NativeString */;
879 unsigned char var32 /* : Byte */;
880 unsigned char var34 /* : Byte */;
881 short int var35 /* : Bool */;
882 short int var37 /* : Bool */;
883 long var38 /* : Int */;
884 short int var40 /* : Bool */;
885 int cltype41;
886 int idtype42;
887 const char* var_class_name43;
888 long var44 /* : Int */;
889 val* var45 /* : nullable Object */;
890 val* var_eol /* var eol: nullable Object */;
891 val* var46 /* : nullable Object */;
892 long var47 /* : Int */;
893 short int var48 /* : Bool */;
894 short int var50 /* : Bool */;
895 int cltype51;
896 int idtype52;
897 const char* var_class_name53;
898 short int var54 /* : Bool */;
899 long var55 /* : Int */;
900 long var_j /* var j: Int */;
901 short int var56 /* : Bool */;
902 short int var58 /* : Bool */;
903 int cltype59;
904 int idtype60;
905 const char* var_class_name61;
906 short int var62 /* : Bool */;
907 char* var63 /* : NativeString */;
908 unsigned char var64 /* : Byte */;
909 unsigned char var66 /* : Byte */;
910 long var67 /* : Int */;
911 short int var69 /* : Bool */;
912 int cltype70;
913 int idtype71;
914 const char* var_class_name72;
915 long var73 /* : Int */;
916 short int var75 /* : Bool */;
917 short int var77 /* : Bool */;
918 val* var78 /* : String */;
919 short int var79 /* : Bool */;
920 val* var80 /* : String */;
921 short int var81 /* : Bool */;
922 short int var83 /* : Bool */;
923 val* var84 /* : String */;
924 var_s = p0;
925 var = NEW_core__Bytes(&type_core__Bytes);
926 {
927 core___core__Bytes___with_capacity(var, 10l); /* Direct call bytes#Bytes#with_capacity on <var:Bytes>*/
928 }
929 var_lb = var;
930 for(;;) {
931 var1 = self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l; /* _buffer_pos on <self:BufferedReader> */
932 var_i = var1;
933 for(;;) {
934 var3 = self->attrs[COLOR_core__stream__BufferedReader___buffer_length].l; /* _buffer_length on <self:BufferedReader> */
935 {
936 { /* Inline kernel#Int#< (var_i,var3) on <var_i:Int> */
937 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
938 /* <var3:Int> isa OTHER */
939 var6 = 1; /* easy <var3:Int> isa OTHER*/
940 if (unlikely(!var6)) {
941 var_class_name = type_core__Int.name;
942 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
943 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
944 fatal_exit(1);
945 }
946 var7 = var_i < var3;
947 var4 = var7;
948 goto RET_LABEL5;
949 RET_LABEL5:(void)0;
950 }
951 }
952 var_ = var4;
953 if (var4){
954 var8 = self->attrs[COLOR_core__stream__BufferedReader___buffer].str; /* _buffer on <self:BufferedReader> */
955 {
956 { /* Inline native#NativeString#[] (var8,var_i) on <var8:NativeString> */
957 var11 = (unsigned char)((int)var8[var_i]);
958 var9 = var11;
959 goto RET_LABEL10;
960 RET_LABEL10:(void)0;
961 }
962 }
963 {
964 { /* Inline kernel#Byte#!= (var9,((unsigned char)0x0a)) on <var9:Byte> */
965 var14 = var9 == ((unsigned char)0x0a);
966 var15 = !var14;
967 var12 = var15;
968 goto RET_LABEL13;
969 RET_LABEL13:(void)0;
970 }
971 }
972 var2 = var12;
973 } else {
974 var2 = var_;
975 }
976 if (var2){
977 {
978 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
979 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
980 /* <1l:Int> isa OTHER */
981 var18 = 1; /* easy <1l:Int> isa OTHER*/
982 if (unlikely(!var18)) {
983 var_class_name21 = type_core__Int.name;
984 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21);
985 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
986 fatal_exit(1);
987 }
988 var22 = var_i + 1l;
989 var16 = var22;
990 goto RET_LABEL17;
991 RET_LABEL17:(void)0;
992 }
993 }
994 var_i = var16;
995 } else {
996 goto BREAK_label;
997 }
998 }
999 BREAK_label: (void)0;
1000 var23 = self->attrs[COLOR_core__stream__BufferedReader___buffer_length].l; /* _buffer_length on <self:BufferedReader> */
1001 {
1002 { /* Inline kernel#Int#< (var_i,var23) on <var_i:Int> */
1003 /* Covariant cast for argument 0 (i) <var23:Int> isa OTHER */
1004 /* <var23:Int> isa OTHER */
1005 var26 = 1; /* easy <var23:Int> isa OTHER*/
1006 if (unlikely(!var26)) {
1007 var_class_name29 = type_core__Int.name;
1008 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29);
1009 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1010 fatal_exit(1);
1011 }
1012 var30 = var_i < var23;
1013 var24 = var30;
1014 goto RET_LABEL25;
1015 RET_LABEL25:(void)0;
1016 }
1017 }
1018 if (var24){
1019 var31 = self->attrs[COLOR_core__stream__BufferedReader___buffer].str; /* _buffer on <self:BufferedReader> */
1020 {
1021 { /* Inline native#NativeString#[] (var31,var_i) on <var31:NativeString> */
1022 var34 = (unsigned char)((int)var31[var_i]);
1023 var32 = var34;
1024 goto RET_LABEL33;
1025 RET_LABEL33:(void)0;
1026 }
1027 }
1028 {
1029 { /* Inline kernel#Byte#== (var32,((unsigned char)0x0a)) on <var32:Byte> */
1030 var37 = var32 == ((unsigned char)0x0a);
1031 var35 = var37;
1032 goto RET_LABEL36;
1033 RET_LABEL36:(void)0;
1034 }
1035 }
1036 if (unlikely(!var35)) {
1037 PRINT_ERROR("Runtime error: %s", "Assert failed");
1038 PRINT_ERROR(" (%s:%d)\n", FILE_core__stream, 583);
1039 fatal_exit(1);
1040 }
1041 {
1042 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
1043 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1044 /* <1l:Int> isa OTHER */
1045 var40 = 1; /* easy <1l:Int> isa OTHER*/
1046 if (unlikely(!var40)) {
1047 var_class_name43 = type_core__Int.name;
1048 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name43);
1049 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1050 fatal_exit(1);
1051 }
1052 var44 = var_i + 1l;
1053 var38 = var44;
1054 goto RET_LABEL39;
1055 RET_LABEL39:(void)0;
1056 }
1057 }
1058 var_i = var38;
1059 var45 = (val*)((long)(1)<<2|3);
1060 var_eol = var45;
1061 } else {
1062 var46 = (val*)((long)(0)<<2|3);
1063 var_eol = var46;
1064 }
1065 var47 = self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l; /* _buffer_pos on <self:BufferedReader> */
1066 {
1067 { /* Inline kernel#Int#> (var_i,var47) on <var_i:Int> */
1068 /* Covariant cast for argument 0 (i) <var47:Int> isa OTHER */
1069 /* <var47:Int> isa OTHER */
1070 var50 = 1; /* easy <var47:Int> isa OTHER*/
1071 if (unlikely(!var50)) {
1072 var_class_name53 = type_core__Int.name;
1073 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53);
1074 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
1075 fatal_exit(1);
1076 }
1077 var54 = var_i > var47;
1078 var48 = var54;
1079 goto RET_LABEL49;
1080 RET_LABEL49:(void)0;
1081 }
1082 }
1083 if (var48){
1084 var55 = self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l; /* _buffer_pos on <self:BufferedReader> */
1085 var_j = var55;
1086 for(;;) {
1087 {
1088 { /* Inline kernel#Int#< (var_j,var_i) on <var_j:Int> */
1089 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
1090 /* <var_i:Int> isa OTHER */
1091 var58 = 1; /* easy <var_i:Int> isa OTHER*/
1092 if (unlikely(!var58)) {
1093 var_class_name61 = type_core__Int.name;
1094 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name61);
1095 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1096 fatal_exit(1);
1097 }
1098 var62 = var_j < var_i;
1099 var56 = var62;
1100 goto RET_LABEL57;
1101 RET_LABEL57:(void)0;
1102 }
1103 }
1104 if (var56){
1105 var63 = self->attrs[COLOR_core__stream__BufferedReader___buffer].str; /* _buffer on <self:BufferedReader> */
1106 {
1107 { /* Inline native#NativeString#[] (var63,var_j) on <var63:NativeString> */
1108 var66 = (unsigned char)((int)var63[var_j]);
1109 var64 = var66;
1110 goto RET_LABEL65;
1111 RET_LABEL65:(void)0;
1112 }
1113 }
1114 {
1115 core___core__Bytes___core__abstract_collection__SimpleCollection__add(var_lb, var64); /* Direct call bytes#Bytes#add on <var_lb:Bytes>*/
1116 }
1117 {
1118 { /* Inline kernel#Int#+ (var_j,1l) on <var_j:Int> */
1119 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1120 /* <1l:Int> isa OTHER */
1121 var69 = 1; /* easy <1l:Int> isa OTHER*/
1122 if (unlikely(!var69)) {
1123 var_class_name72 = type_core__Int.name;
1124 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name72);
1125 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
1126 fatal_exit(1);
1127 }
1128 var73 = var_j + 1l;
1129 var67 = var73;
1130 goto RET_LABEL68;
1131 RET_LABEL68:(void)0;
1132 }
1133 }
1134 var_j = var67;
1135 } else {
1136 goto BREAK_label74;
1137 }
1138 }
1139 BREAK_label74: (void)0;
1140 self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l = var_i; /* _buffer_pos on <self:BufferedReader> */
1141 } else {
1142 {
1143 { /* Inline file#FileReader#end_reached (self) on <self:BufferedReader> */
1144 var77 = self->attrs[COLOR_core__file__FileReader___end_reached].s; /* _end_reached on <self:BufferedReader> */
1145 var75 = var77;
1146 RET_LABEL76:(void)0;
1147 }
1148 }
1149 if (unlikely(!var75)) {
1150 PRINT_ERROR("Runtime error: %s", "Assert failed");
1151 PRINT_ERROR(" (%s:%d)\n", FILE_core__stream, 600);
1152 fatal_exit(1);
1153 }
1154 {
1155 var78 = core___core__Bytes___core__abstract_text__Object__to_s(var_lb);
1156 }
1157 {
1158 ((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var78); /* append on <var_s:Buffer>*/
1159 }
1160 goto RET_LABEL;
1161 }
1162 var79 = (short int)((long)(var_eol)>>2);
1163 if (var79){
1164 {
1165 var80 = core___core__Bytes___core__abstract_text__Object__to_s(var_lb);
1166 }
1167 {
1168 ((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var80); /* append on <var_s:Buffer>*/
1169 }
1170 goto RET_LABEL;
1171 } else {
1172 {
1173 { /* Inline file#FileReader#end_reached (self) on <self:BufferedReader> */
1174 var83 = self->attrs[COLOR_core__file__FileReader___end_reached].s; /* _end_reached on <self:BufferedReader> */
1175 var81 = var83;
1176 RET_LABEL82:(void)0;
1177 }
1178 }
1179 if (var81){
1180 {
1181 var84 = core___core__Bytes___core__abstract_text__Object__to_s(var_lb);
1182 }
1183 {
1184 ((void(*)(val* self, val* p0))(var_s->class->vft[COLOR_core__abstract_text__Buffer__append]))(var_s, var84); /* append on <var_s:Buffer>*/
1185 }
1186 goto RET_LABEL;
1187 } else {
1188 }
1189 {
1190 core___core__FileReader___core__stream__BufferedReader__fill_buffer(self); /* Direct call file#FileReader#fill_buffer on <self:BufferedReader>*/
1191 }
1192 }
1193 }
1194 RET_LABEL:;
1195 }
1196 /* method stream#BufferedReader#eof for (self: BufferedReader): Bool */
1197 short int core___core__BufferedReader___Reader__eof(val* self) {
1198 short int var /* : Bool */;
1199 long var1 /* : Int */;
1200 long var2 /* : Int */;
1201 short int var3 /* : Bool */;
1202 short int var5 /* : Bool */;
1203 int cltype;
1204 int idtype;
1205 const char* var_class_name;
1206 short int var6 /* : Bool */;
1207 short int var7 /* : Bool */;
1208 short int var9 /* : Bool */;
1209 short int var10 /* : Bool */;
1210 long var11 /* : Int */;
1211 long var12 /* : Int */;
1212 short int var13 /* : Bool */;
1213 short int var15 /* : Bool */;
1214 int cltype16;
1215 int idtype17;
1216 const char* var_class_name18;
1217 short int var19 /* : Bool */;
1218 short int var_ /* var : Bool */;
1219 short int var20 /* : Bool */;
1220 short int var22 /* : Bool */;
1221 var1 = self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l; /* _buffer_pos on <self:BufferedReader> */
1222 var2 = self->attrs[COLOR_core__stream__BufferedReader___buffer_length].l; /* _buffer_length on <self:BufferedReader> */
1223 {
1224 { /* Inline kernel#Int#< (var1,var2) on <var1:Int> */
1225 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
1226 /* <var2:Int> isa OTHER */
1227 var5 = 1; /* easy <var2:Int> isa OTHER*/
1228 if (unlikely(!var5)) {
1229 var_class_name = type_core__Int.name;
1230 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1231 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
1232 fatal_exit(1);
1233 }
1234 var6 = var1 < var2;
1235 var3 = var6;
1236 goto RET_LABEL4;
1237 RET_LABEL4:(void)0;
1238 }
1239 }
1240 if (var3){
1241 var = 0;
1242 goto RET_LABEL;
1243 } else {
1244 }
1245 {
1246 { /* Inline file#FileReader#end_reached (self) on <self:BufferedReader> */
1247 var9 = self->attrs[COLOR_core__file__FileReader___end_reached].s; /* _end_reached on <self:BufferedReader> */
1248 var7 = var9;
1249 RET_LABEL8:(void)0;
1250 }
1251 }
1252 if (var7){
1253 var = 1;
1254 goto RET_LABEL;
1255 } else {
1256 }
1257 {
1258 core___core__FileReader___core__stream__BufferedReader__fill_buffer(self); /* Direct call file#FileReader#fill_buffer on <self:BufferedReader>*/
1259 }
1260 var11 = self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l; /* _buffer_pos on <self:BufferedReader> */
1261 var12 = self->attrs[COLOR_core__stream__BufferedReader___buffer_length].l; /* _buffer_length on <self:BufferedReader> */
1262 {
1263 { /* Inline kernel#Int#>= (var11,var12) on <var11:Int> */
1264 /* Covariant cast for argument 0 (i) <var12:Int> isa OTHER */
1265 /* <var12:Int> isa OTHER */
1266 var15 = 1; /* easy <var12:Int> isa OTHER*/
1267 if (unlikely(!var15)) {
1268 var_class_name18 = type_core__Int.name;
1269 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18);
1270 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 729);
1271 fatal_exit(1);
1272 }
1273 var19 = var11 >= var12;
1274 var13 = var19;
1275 goto RET_LABEL14;
1276 RET_LABEL14:(void)0;
1277 }
1278 }
1279 var_ = var13;
1280 if (var13){
1281 {
1282 { /* Inline file#FileReader#end_reached (self) on <self:BufferedReader> */
1283 var22 = self->attrs[COLOR_core__file__FileReader___end_reached].s; /* _end_reached on <self:BufferedReader> */
1284 var20 = var22;
1285 RET_LABEL21:(void)0;
1286 }
1287 }
1288 var10 = var20;
1289 } else {
1290 var10 = var_;
1291 }
1292 var = var10;
1293 goto RET_LABEL;
1294 RET_LABEL:;
1295 return var;
1296 }
1297 /* method stream#BufferedReader#prepare_buffer for (self: BufferedReader, Int) */
1298 void core___core__BufferedReader___prepare_buffer(val* self, long p0) {
1299 long var_capacity /* var capacity: Int */;
1300 char* var /* : NativeString */;
1301 char* var1 /* : NativeString */;
1302 char* var3 /* : NativeString */;
1303 var_capacity = p0;
1304 var = NULL/*special!*/;
1305 {
1306 { /* Inline native#NativeString#new (var,var_capacity) on <var:NativeString> */
1307 var3 = (char*)nit_alloc(var_capacity);
1308 var1 = var3;
1309 goto RET_LABEL2;
1310 RET_LABEL2:(void)0;
1311 }
1312 }
1313 self->attrs[COLOR_core__stream__BufferedReader___buffer].str = var1; /* _buffer on <self:BufferedReader> */
1314 self->attrs[COLOR_core__stream__BufferedReader___buffer_pos].l = 0l; /* _buffer_pos on <self:BufferedReader> */
1315 self->attrs[COLOR_core__stream__BufferedReader___buffer_length].l = 0l; /* _buffer_length on <self:BufferedReader> */
1316 self->attrs[COLOR_core__stream__BufferedReader___buffer_capacity].l = var_capacity; /* _buffer_capacity on <self:BufferedReader> */
1317 RET_LABEL:;
1318 }