c_src: update
[nit.git] / c_src / stream.sep.1.c
1 #include "stream.sep.0.h"
2 /* method stream#IStream#read_line for (self: IStream): String */
3 val* stream__IStream__read_line(val* self) {
4 val* var /* : String */;
5 short int var1 /* : Bool */;
6 short int var2 /* : Bool */;
7 val* var3 /* : FlatBuffer */;
8 val* var_s /* var s: FlatBuffer */;
9 val* var4 /* : String */;
10 {
11 var1 = stream__BufferedIStream__eof(self);
12 }
13 var2 = !var1;
14 if (unlikely(!var2)) {
15 PRINT_ERROR("Runtime error: %s", "Assert failed");
16 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 55);
17 show_backtrace(1);
18 }
19 var3 = NEW_string__FlatBuffer(&type_string__FlatBuffer);
20 {
21 string__FlatBuffer__init(var3); /* Direct call string#FlatBuffer#init on <var3:FlatBuffer>*/
22 }
23 var_s = var3;
24 {
25 stream__BufferedIStream__append_line_to(self, var_s); /* Direct call stream#BufferedIStream#append_line_to on <self:IStream>*/
26 }
27 {
28 var4 = string__FlatBuffer__to_s(var_s);
29 }
30 var = var4;
31 goto RET_LABEL;
32 RET_LABEL:;
33 return var;
34 }
35 /* method stream#IStream#read_line for (self: Object): String */
36 val* VIRTUAL_stream__IStream__read_line(val* self) {
37 val* var /* : String */;
38 val* var1 /* : String */;
39 var1 = stream__IStream__read_line(self);
40 var = var1;
41 RET_LABEL:;
42 return var;
43 }
44 /* method stream#Text#write_to for (self: Text, OStream) */
45 void stream__Text__write_to(val* self, val* p0) {
46 val* var_stream /* var stream: OStream */;
47 var_stream = p0;
48 {
49 file__OFStream__write(var_stream, self); /* Direct call file#OFStream#write on <var_stream:OStream>*/
50 }
51 RET_LABEL:;
52 }
53 /* method stream#Text#write_to for (self: Object, OStream) */
54 void VIRTUAL_stream__Text__write_to(val* self, val* p0) {
55 stream__Text__write_to(self, p0); /* Direct call stream#Text#write_to on <self:Object(Text)>*/
56 RET_LABEL:;
57 }
58 /* method stream#BufferedIStream#read for (self: BufferedIStream, Int): String */
59 val* stream__BufferedIStream__read(val* self, long p0) {
60 val* var /* : String */;
61 long var_i /* var i: Int */;
62 val* var1 /* : nullable FlatBuffer */;
63 long var2 /* : Int */;
64 long var4 /* : Int */;
65 long var5 /* : Int */;
66 short int var6 /* : Bool */;
67 short int var7 /* : Bool */;
68 short int var9 /* : Bool */;
69 short int var10 /* : Bool */;
70 short int var11 /* : Bool */;
71 val* var12 /* : String */;
72 static val* varonce;
73 val* var13 /* : String */;
74 char* var14 /* : NativeString */;
75 long var15 /* : Int */;
76 val* var16 /* : FlatString */;
77 long var17 /* : Int */;
78 long var18 /* : Int */;
79 short int var20 /* : Bool */;
80 int cltype;
81 int idtype;
82 const char* var_class_name;
83 long var21 /* : Int */;
84 val* var22 /* : nullable FlatBuffer */;
85 long var23 /* : Int */;
86 long var25 /* : Int */;
87 short int var26 /* : Bool */;
88 short int var28 /* : Bool */;
89 int cltype29;
90 int idtype30;
91 const char* var_class_name31;
92 short int var32 /* : Bool */;
93 long var33 /* : Int */;
94 long var_from /* var from: Int */;
95 val* var34 /* : nullable FlatBuffer */;
96 long var35 /* : Int */;
97 long var37 /* : Int */;
98 val* var38 /* : nullable FlatBuffer */;
99 val* var39 /* : Text */;
100 val* var40 /* : String */;
101 val* var_ /* var : BufferedIStream */;
102 long var41 /* : Int */;
103 long var42 /* : Int */;
104 short int var44 /* : Bool */;
105 int cltype45;
106 int idtype46;
107 const char* var_class_name47;
108 long var48 /* : Int */;
109 val* var49 /* : nullable FlatBuffer */;
110 long var50 /* : Int */;
111 long var51 /* : Int */;
112 short int var53 /* : Bool */;
113 int cltype54;
114 int idtype55;
115 const char* var_class_name56;
116 long var57 /* : Int */;
117 val* var58 /* : FlatBuffer */;
118 val* var59 /* : String */;
119 var_i = p0;
120 var1 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
121 if (var1 == NULL) {
122 PRINT_ERROR("Runtime error: %s", "Receiver is null");
123 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 182);
124 show_backtrace(1);
125 } else {
126 { /* Inline string#FlatText#length (var1) on <var1:nullable FlatBuffer> */
127 if (unlikely(var1 == NULL)) {
128 PRINT_ERROR("Runtime error: %s", "Receiver is null");
129 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 556);
130 show_backtrace(1);
131 }
132 var4 = var1->attrs[COLOR_string__FlatText___length].l; /* _length on <var1:nullable FlatBuffer> */
133 var2 = var4;
134 RET_LABEL3:(void)0;
135 }
136 }
137 var5 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on <self:BufferedIStream> */
138 {
139 { /* Inline kernel#Int#== (var2,var5) on <var2:Int> */
140 var9 = var2 == var5;
141 var7 = var9;
142 goto RET_LABEL8;
143 RET_LABEL8:(void)0;
144 }
145 var6 = var7;
146 }
147 if (var6){
148 {
149 var10 = stream__BufferedIStream__eof(self);
150 }
151 var11 = !var10;
152 if (var11){
153 {
154 file__IFStream__fill_buffer(self); /* Direct call file#IFStream#fill_buffer on <self:BufferedIStream>*/
155 }
156 {
157 var12 = stream__BufferedIStream__read(self, var_i);
158 }
159 var = var12;
160 goto RET_LABEL;
161 } else {
162 }
163 if (varonce) {
164 var13 = varonce;
165 } else {
166 var14 = "";
167 var15 = 0;
168 var16 = string__NativeString__to_s_with_length(var14, var15);
169 var13 = var16;
170 varonce = var13;
171 }
172 var = var13;
173 goto RET_LABEL;
174 } else {
175 }
176 var17 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on <self:BufferedIStream> */
177 {
178 { /* Inline kernel#Int#+ (var17,var_i) on <var17:Int> */
179 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
180 /* <var_i:Int> isa OTHER */
181 var20 = 1; /* easy <var_i:Int> isa OTHER*/
182 if (unlikely(!var20)) {
183 var_class_name = type_kernel__Int.name;
184 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
185 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
186 show_backtrace(1);
187 }
188 var21 = var17 + var_i;
189 var18 = var21;
190 goto RET_LABEL19;
191 RET_LABEL19:(void)0;
192 }
193 }
194 var22 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
195 if (var22 == NULL) {
196 PRINT_ERROR("Runtime error: %s", "Receiver is null");
197 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 189);
198 show_backtrace(1);
199 } else {
200 { /* Inline string#FlatText#length (var22) on <var22:nullable FlatBuffer> */
201 if (unlikely(var22 == NULL)) {
202 PRINT_ERROR("Runtime error: %s", "Receiver is null");
203 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 556);
204 show_backtrace(1);
205 }
206 var25 = var22->attrs[COLOR_string__FlatText___length].l; /* _length on <var22:nullable FlatBuffer> */
207 var23 = var25;
208 RET_LABEL24:(void)0;
209 }
210 }
211 {
212 { /* Inline kernel#Int#>= (var18,var23) on <var18:Int> */
213 /* Covariant cast for argument 0 (i) <var23:Int> isa OTHER */
214 /* <var23:Int> isa OTHER */
215 var28 = 1; /* easy <var23:Int> isa OTHER*/
216 if (unlikely(!var28)) {
217 var_class_name31 = type_kernel__Int.name;
218 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31);
219 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
220 show_backtrace(1);
221 }
222 var32 = var18 >= var23;
223 var26 = var32;
224 goto RET_LABEL27;
225 RET_LABEL27:(void)0;
226 }
227 }
228 if (var26){
229 var33 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on <self:BufferedIStream> */
230 var_from = var33;
231 var34 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
232 if (var34 == NULL) {
233 PRINT_ERROR("Runtime error: %s", "Receiver is null");
234 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 191);
235 show_backtrace(1);
236 } else {
237 { /* Inline string#FlatText#length (var34) on <var34:nullable FlatBuffer> */
238 if (unlikely(var34 == NULL)) {
239 PRINT_ERROR("Runtime error: %s", "Receiver is null");
240 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 556);
241 show_backtrace(1);
242 }
243 var37 = var34->attrs[COLOR_string__FlatText___length].l; /* _length on <var34:nullable FlatBuffer> */
244 var35 = var37;
245 RET_LABEL36:(void)0;
246 }
247 }
248 self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var35; /* _buffer_pos on <self:BufferedIStream> */
249 var38 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
250 if (var38 == NULL) {
251 PRINT_ERROR("Runtime error: %s", "Receiver is null");
252 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 192);
253 show_backtrace(1);
254 } else {
255 var39 = string__Text__substring_from(var38, var_from);
256 }
257 {
258 var40 = string__FlatBuffer__to_s(var39);
259 }
260 var = var40;
261 goto RET_LABEL;
262 } else {
263 }
264 var_ = self;
265 var41 = var_->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on <var_:BufferedIStream> */
266 {
267 { /* Inline kernel#Int#+ (var41,var_i) on <var41:Int> */
268 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
269 /* <var_i:Int> isa OTHER */
270 var44 = 1; /* easy <var_i:Int> isa OTHER*/
271 if (unlikely(!var44)) {
272 var_class_name47 = type_kernel__Int.name;
273 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47);
274 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
275 show_backtrace(1);
276 }
277 var48 = var41 + var_i;
278 var42 = var48;
279 goto RET_LABEL43;
280 RET_LABEL43:(void)0;
281 }
282 }
283 var_->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var42; /* _buffer_pos on <var_:BufferedIStream> */
284 var49 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
285 var50 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on <self:BufferedIStream> */
286 {
287 { /* Inline kernel#Int#- (var50,var_i) on <var50:Int> */
288 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
289 /* <var_i:Int> isa OTHER */
290 var53 = 1; /* easy <var_i:Int> isa OTHER*/
291 if (unlikely(!var53)) {
292 var_class_name56 = type_kernel__Int.name;
293 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56);
294 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
295 show_backtrace(1);
296 }
297 var57 = var50 - var_i;
298 var51 = var57;
299 goto RET_LABEL52;
300 RET_LABEL52:(void)0;
301 }
302 }
303 if (var49 == NULL) {
304 PRINT_ERROR("Runtime error: %s", "Receiver is null");
305 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 195);
306 show_backtrace(1);
307 } else {
308 var58 = string__FlatBuffer__substring(var49, var51, var_i);
309 }
310 {
311 var59 = string__FlatBuffer__to_s(var58);
312 }
313 var = var59;
314 goto RET_LABEL;
315 RET_LABEL:;
316 return var;
317 }
318 /* method stream#BufferedIStream#read for (self: Object, Int): String */
319 val* VIRTUAL_stream__BufferedIStream__read(val* self, long p0) {
320 val* var /* : String */;
321 val* var1 /* : String */;
322 var1 = stream__BufferedIStream__read(self, p0);
323 var = var1;
324 RET_LABEL:;
325 return var;
326 }
327 /* method stream#BufferedIStream#read_all for (self: BufferedIStream): String */
328 val* stream__BufferedIStream__read_all(val* self) {
329 val* var /* : String */;
330 val* var1 /* : FlatBuffer */;
331 val* var_s /* var s: FlatBuffer */;
332 short int var2 /* : Bool */;
333 short int var3 /* : Bool */;
334 long var4 /* : Int */;
335 long var_j /* var j: Int */;
336 val* var5 /* : nullable FlatBuffer */;
337 long var6 /* : Int */;
338 long var8 /* : Int */;
339 long var_k /* var k: Int */;
340 short int var9 /* : Bool */;
341 short int var11 /* : Bool */;
342 int cltype;
343 int idtype;
344 const char* var_class_name;
345 short int var12 /* : Bool */;
346 val* var13 /* : nullable FlatBuffer */;
347 val* var14 /* : Sequence[Char] */;
348 val* var16 /* : Sequence[Char] */;
349 val* var17 /* : nullable Object */;
350 char var18 /* : Char */;
351 long var19 /* : Int */;
352 long var20 /* : Int */;
353 short int var22 /* : Bool */;
354 int cltype23;
355 int idtype24;
356 const char* var_class_name25;
357 long var26 /* : Int */;
358 val* var28 /* : String */;
359 var1 = NEW_string__FlatBuffer(&type_string__FlatBuffer);
360 {
361 string__FlatBuffer__init(var1); /* Direct call string#FlatBuffer#init on <var1:FlatBuffer>*/
362 }
363 var_s = var1;
364 for(;;) {
365 {
366 var2 = stream__BufferedIStream__eof(self);
367 }
368 var3 = !var2;
369 if (!var3) break;
370 var4 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on <self:BufferedIStream> */
371 var_j = var4;
372 var5 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
373 if (var5 == NULL) {
374 PRINT_ERROR("Runtime error: %s", "Receiver is null");
375 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 203);
376 show_backtrace(1);
377 } else {
378 { /* Inline string#FlatText#length (var5) on <var5:nullable FlatBuffer> */
379 if (unlikely(var5 == NULL)) {
380 PRINT_ERROR("Runtime error: %s", "Receiver is null");
381 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 556);
382 show_backtrace(1);
383 }
384 var8 = var5->attrs[COLOR_string__FlatText___length].l; /* _length on <var5:nullable FlatBuffer> */
385 var6 = var8;
386 RET_LABEL7:(void)0;
387 }
388 }
389 var_k = var6;
390 for(;;) {
391 {
392 { /* Inline kernel#Int#< (var_j,var_k) on <var_j:Int> */
393 /* Covariant cast for argument 0 (i) <var_k:Int> isa OTHER */
394 /* <var_k:Int> isa OTHER */
395 var11 = 1; /* easy <var_k:Int> isa OTHER*/
396 if (unlikely(!var11)) {
397 var_class_name = type_kernel__Int.name;
398 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
399 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
400 show_backtrace(1);
401 }
402 var12 = var_j < var_k;
403 var9 = var12;
404 goto RET_LABEL10;
405 RET_LABEL10:(void)0;
406 }
407 }
408 if (!var9) break;
409 var13 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
410 if (var13 == NULL) {
411 PRINT_ERROR("Runtime error: %s", "Receiver is null");
412 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 205);
413 show_backtrace(1);
414 } else {
415 { /* Inline string#FlatBuffer#chars (var13) on <var13:nullable FlatBuffer> */
416 if (unlikely(var13 == NULL)) {
417 PRINT_ERROR("Runtime error: %s", "Receiver is null");
418 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
419 show_backtrace(1);
420 }
421 var16 = var13->attrs[COLOR_string__FlatBuffer___chars].val; /* _chars on <var13:nullable FlatBuffer> */
422 if (unlikely(var16 == NULL)) {
423 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
424 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
425 show_backtrace(1);
426 }
427 var14 = var16;
428 RET_LABEL15:(void)0;
429 }
430 }
431 {
432 var17 = ((val* (*)(val*, long))(var14->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var14, var_j) /* [] on <var14:Sequence[Char]>*/;
433 }
434 {
435 var18 = ((struct instance_kernel__Char*)var17)->value; /* autounbox from nullable Object to Char */;
436 string__FlatBuffer__add(var_s, var18); /* Direct call string#FlatBuffer#add on <var_s:FlatBuffer>*/
437 }
438 var19 = 1;
439 {
440 { /* Inline kernel#Int#+ (var_j,var19) on <var_j:Int> */
441 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
442 /* <var19:Int> isa OTHER */
443 var22 = 1; /* easy <var19:Int> isa OTHER*/
444 if (unlikely(!var22)) {
445 var_class_name25 = type_kernel__Int.name;
446 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25);
447 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
448 show_backtrace(1);
449 }
450 var26 = var_j + var19;
451 var20 = var26;
452 goto RET_LABEL21;
453 RET_LABEL21:(void)0;
454 }
455 }
456 var_j = var20;
457 CONTINUE_label: (void)0;
458 }
459 BREAK_label: (void)0;
460 self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var_j; /* _buffer_pos on <self:BufferedIStream> */
461 {
462 file__IFStream__fill_buffer(self); /* Direct call file#IFStream#fill_buffer on <self:BufferedIStream>*/
463 }
464 CONTINUE_label27: (void)0;
465 }
466 BREAK_label27: (void)0;
467 {
468 var28 = string__FlatBuffer__to_s(var_s);
469 }
470 var = var28;
471 goto RET_LABEL;
472 RET_LABEL:;
473 return var;
474 }
475 /* method stream#BufferedIStream#read_all for (self: Object): String */
476 val* VIRTUAL_stream__BufferedIStream__read_all(val* self) {
477 val* var /* : String */;
478 val* var1 /* : String */;
479 var1 = stream__BufferedIStream__read_all(self);
480 var = var1;
481 RET_LABEL:;
482 return var;
483 }
484 /* method stream#BufferedIStream#append_line_to for (self: BufferedIStream, Buffer) */
485 void stream__BufferedIStream__append_line_to(val* self, val* p0) {
486 val* var_s /* var s: Buffer */;
487 long var /* : Int */;
488 long var_i /* var i: Int */;
489 short int var1 /* : Bool */;
490 val* var2 /* : nullable FlatBuffer */;
491 long var3 /* : Int */;
492 long var5 /* : Int */;
493 short int var6 /* : Bool */;
494 short int var8 /* : Bool */;
495 int cltype;
496 int idtype;
497 const char* var_class_name;
498 short int var9 /* : Bool */;
499 short int var_ /* var : Bool */;
500 val* var10 /* : nullable FlatBuffer */;
501 val* var11 /* : Sequence[Char] */;
502 val* var13 /* : Sequence[Char] */;
503 val* var14 /* : nullable Object */;
504 char var15 /* : Char */;
505 short int var16 /* : Bool */;
506 short int var17 /* : Bool */;
507 short int var19 /* : Bool */;
508 char var20 /* : Char */;
509 short int var21 /* : Bool */;
510 long var22 /* : Int */;
511 long var23 /* : Int */;
512 short int var25 /* : Bool */;
513 int cltype26;
514 int idtype27;
515 const char* var_class_name28;
516 long var29 /* : Int */;
517 long var30 /* : Int */;
518 short int var31 /* : Bool */;
519 short int var33 /* : Bool */;
520 int cltype34;
521 int idtype35;
522 const char* var_class_name36;
523 short int var37 /* : Bool */;
524 long var38 /* : Int */;
525 long var40 /* : Int */;
526 long var41 /* : Int */;
527 short int var43 /* : Bool */;
528 int cltype44;
529 int idtype45;
530 const char* var_class_name46;
531 long var47 /* : Int */;
532 long var48 /* : Int */;
533 long var49 /* : Int */;
534 short int var51 /* : Bool */;
535 int cltype52;
536 int idtype53;
537 const char* var_class_name54;
538 long var55 /* : Int */;
539 long var56 /* : Int */;
540 long var_j /* var j: Int */;
541 short int var57 /* : Bool */;
542 short int var59 /* : Bool */;
543 int cltype60;
544 int idtype61;
545 const char* var_class_name62;
546 short int var63 /* : Bool */;
547 val* var64 /* : nullable FlatBuffer */;
548 val* var65 /* : Sequence[Char] */;
549 val* var67 /* : Sequence[Char] */;
550 val* var68 /* : nullable Object */;
551 char var69 /* : Char */;
552 long var70 /* : Int */;
553 long var71 /* : Int */;
554 short int var73 /* : Bool */;
555 int cltype74;
556 int idtype75;
557 const char* var_class_name76;
558 long var77 /* : Int */;
559 val* var79 /* : nullable FlatBuffer */;
560 long var80 /* : Int */;
561 long var82 /* : Int */;
562 short int var83 /* : Bool */;
563 short int var85 /* : Bool */;
564 int cltype86;
565 int idtype87;
566 const char* var_class_name88;
567 short int var89 /* : Bool */;
568 long var90 /* : Int */;
569 long var91 /* : Int */;
570 short int var93 /* : Bool */;
571 int cltype94;
572 int idtype95;
573 const char* var_class_name96;
574 long var97 /* : Int */;
575 short int var98 /* : Bool */;
576 short int var100 /* : Bool */;
577 var_s = p0;
578 for(;;) {
579 var = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on <self:BufferedIStream> */
580 var_i = var;
581 for(;;) {
582 var2 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
583 if (var2 == NULL) {
584 PRINT_ERROR("Runtime error: %s", "Receiver is null");
585 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 219);
586 show_backtrace(1);
587 } else {
588 { /* Inline string#FlatText#length (var2) on <var2:nullable FlatBuffer> */
589 if (unlikely(var2 == NULL)) {
590 PRINT_ERROR("Runtime error: %s", "Receiver is null");
591 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 556);
592 show_backtrace(1);
593 }
594 var5 = var2->attrs[COLOR_string__FlatText___length].l; /* _length on <var2:nullable FlatBuffer> */
595 var3 = var5;
596 RET_LABEL4:(void)0;
597 }
598 }
599 {
600 { /* Inline kernel#Int#< (var_i,var3) on <var_i:Int> */
601 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
602 /* <var3:Int> isa OTHER */
603 var8 = 1; /* easy <var3:Int> isa OTHER*/
604 if (unlikely(!var8)) {
605 var_class_name = type_kernel__Int.name;
606 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
607 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
608 show_backtrace(1);
609 }
610 var9 = var_i < var3;
611 var6 = var9;
612 goto RET_LABEL7;
613 RET_LABEL7:(void)0;
614 }
615 }
616 var_ = var6;
617 if (var6){
618 var10 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
619 if (var10 == NULL) {
620 PRINT_ERROR("Runtime error: %s", "Receiver is null");
621 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 219);
622 show_backtrace(1);
623 } else {
624 { /* Inline string#FlatBuffer#chars (var10) on <var10:nullable FlatBuffer> */
625 if (unlikely(var10 == NULL)) {
626 PRINT_ERROR("Runtime error: %s", "Receiver is null");
627 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
628 show_backtrace(1);
629 }
630 var13 = var10->attrs[COLOR_string__FlatBuffer___chars].val; /* _chars on <var10:nullable FlatBuffer> */
631 if (unlikely(var13 == NULL)) {
632 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
633 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
634 show_backtrace(1);
635 }
636 var11 = var13;
637 RET_LABEL12:(void)0;
638 }
639 }
640 {
641 var14 = ((val* (*)(val*, long))(var11->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var11, var_i) /* [] on <var11:Sequence[Char]>*/;
642 }
643 var15 = '\n';
644 {
645 { /* Inline kernel#Char#!= (var14,var15) on <var14:nullable Object(Char)> */
646 var19 = (var14 != NULL) && (var14->class == &class_kernel__Char);
647 if (var19) {
648 var20 = ((struct instance_kernel__Char*)var14)->value; /* autounbox from nullable Object to Char */;
649 var19 = (var20 == var15);
650 }
651 var21 = !var19;
652 var17 = var21;
653 goto RET_LABEL18;
654 RET_LABEL18:(void)0;
655 }
656 var16 = var17;
657 }
658 var1 = var16;
659 } else {
660 var1 = var_;
661 }
662 if (!var1) break;
663 var22 = 1;
664 {
665 { /* Inline kernel#Int#+ (var_i,var22) on <var_i:Int> */
666 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
667 /* <var22:Int> isa OTHER */
668 var25 = 1; /* easy <var22:Int> isa OTHER*/
669 if (unlikely(!var25)) {
670 var_class_name28 = type_kernel__Int.name;
671 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
672 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
673 show_backtrace(1);
674 }
675 var29 = var_i + var22;
676 var23 = var29;
677 goto RET_LABEL24;
678 RET_LABEL24:(void)0;
679 }
680 }
681 var_i = var23;
682 CONTINUE_label: (void)0;
683 }
684 BREAK_label: (void)0;
685 var30 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on <self:BufferedIStream> */
686 {
687 { /* Inline kernel#Int#> (var_i,var30) on <var_i:Int> */
688 /* Covariant cast for argument 0 (i) <var30:Int> isa OTHER */
689 /* <var30:Int> isa OTHER */
690 var33 = 1; /* easy <var30:Int> isa OTHER*/
691 if (unlikely(!var33)) {
692 var_class_name36 = type_kernel__Int.name;
693 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name36);
694 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
695 show_backtrace(1);
696 }
697 var37 = var_i > var30;
698 var31 = var37;
699 goto RET_LABEL32;
700 RET_LABEL32:(void)0;
701 }
702 }
703 if (var31){
704 {
705 { /* Inline string#FlatText#length (var_s) on <var_s:Buffer> */
706 var40 = var_s->attrs[COLOR_string__FlatText___length].l; /* _length on <var_s:Buffer> */
707 var38 = var40;
708 RET_LABEL39:(void)0;
709 }
710 }
711 {
712 { /* Inline kernel#Int#+ (var38,var_i) on <var38:Int> */
713 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
714 /* <var_i:Int> isa OTHER */
715 var43 = 1; /* easy <var_i:Int> isa OTHER*/
716 if (unlikely(!var43)) {
717 var_class_name46 = type_kernel__Int.name;
718 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name46);
719 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
720 show_backtrace(1);
721 }
722 var47 = var38 + var_i;
723 var41 = var47;
724 goto RET_LABEL42;
725 RET_LABEL42:(void)0;
726 }
727 }
728 var48 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on <self:BufferedIStream> */
729 {
730 { /* Inline kernel#Int#- (var41,var48) on <var41:Int> */
731 /* Covariant cast for argument 0 (i) <var48:Int> isa OTHER */
732 /* <var48:Int> isa OTHER */
733 var51 = 1; /* easy <var48:Int> isa OTHER*/
734 if (unlikely(!var51)) {
735 var_class_name54 = type_kernel__Int.name;
736 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54);
737 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
738 show_backtrace(1);
739 }
740 var55 = var41 - var48;
741 var49 = var55;
742 goto RET_LABEL50;
743 RET_LABEL50:(void)0;
744 }
745 }
746 {
747 string__FlatBuffer__enlarge(var_s, var49); /* Direct call string#FlatBuffer#enlarge on <var_s:Buffer>*/
748 }
749 var56 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on <self:BufferedIStream> */
750 var_j = var56;
751 for(;;) {
752 {
753 { /* Inline kernel#Int#< (var_j,var_i) on <var_j:Int> */
754 /* Covariant cast for argument 0 (i) <var_i:Int> isa OTHER */
755 /* <var_i:Int> isa OTHER */
756 var59 = 1; /* easy <var_i:Int> isa OTHER*/
757 if (unlikely(!var59)) {
758 var_class_name62 = type_kernel__Int.name;
759 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name62);
760 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
761 show_backtrace(1);
762 }
763 var63 = var_j < var_i;
764 var57 = var63;
765 goto RET_LABEL58;
766 RET_LABEL58:(void)0;
767 }
768 }
769 if (!var57) break;
770 var64 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
771 if (var64 == NULL) {
772 PRINT_ERROR("Runtime error: %s", "Receiver is null");
773 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 229);
774 show_backtrace(1);
775 } else {
776 { /* Inline string#FlatBuffer#chars (var64) on <var64:nullable FlatBuffer> */
777 if (unlikely(var64 == NULL)) {
778 PRINT_ERROR("Runtime error: %s", "Receiver is null");
779 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
780 show_backtrace(1);
781 }
782 var67 = var64->attrs[COLOR_string__FlatBuffer___chars].val; /* _chars on <var64:nullable FlatBuffer> */
783 if (unlikely(var67 == NULL)) {
784 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
785 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 1163);
786 show_backtrace(1);
787 }
788 var65 = var67;
789 RET_LABEL66:(void)0;
790 }
791 }
792 {
793 var68 = ((val* (*)(val*, long))(var65->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var65, var_j) /* [] on <var65:Sequence[Char]>*/;
794 }
795 {
796 var69 = ((struct instance_kernel__Char*)var68)->value; /* autounbox from nullable Object to Char */;
797 string__FlatBuffer__add(var_s, var69); /* Direct call string#FlatBuffer#add on <var_s:Buffer>*/
798 }
799 var70 = 1;
800 {
801 { /* Inline kernel#Int#+ (var_j,var70) on <var_j:Int> */
802 /* Covariant cast for argument 0 (i) <var70:Int> isa OTHER */
803 /* <var70:Int> isa OTHER */
804 var73 = 1; /* easy <var70:Int> isa OTHER*/
805 if (unlikely(!var73)) {
806 var_class_name76 = type_kernel__Int.name;
807 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76);
808 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
809 show_backtrace(1);
810 }
811 var77 = var_j + var70;
812 var71 = var77;
813 goto RET_LABEL72;
814 RET_LABEL72:(void)0;
815 }
816 }
817 var_j = var71;
818 CONTINUE_label78: (void)0;
819 }
820 BREAK_label78: (void)0;
821 } else {
822 }
823 var79 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
824 if (var79 == NULL) {
825 PRINT_ERROR("Runtime error: %s", "Receiver is null");
826 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 234);
827 show_backtrace(1);
828 } else {
829 { /* Inline string#FlatText#length (var79) on <var79:nullable FlatBuffer> */
830 if (unlikely(var79 == NULL)) {
831 PRINT_ERROR("Runtime error: %s", "Receiver is null");
832 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 556);
833 show_backtrace(1);
834 }
835 var82 = var79->attrs[COLOR_string__FlatText___length].l; /* _length on <var79:nullable FlatBuffer> */
836 var80 = var82;
837 RET_LABEL81:(void)0;
838 }
839 }
840 {
841 { /* Inline kernel#Int#< (var_i,var80) on <var_i:Int> */
842 /* Covariant cast for argument 0 (i) <var80:Int> isa OTHER */
843 /* <var80:Int> isa OTHER */
844 var85 = 1; /* easy <var80:Int> isa OTHER*/
845 if (unlikely(!var85)) {
846 var_class_name88 = type_kernel__Int.name;
847 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name88);
848 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
849 show_backtrace(1);
850 }
851 var89 = var_i < var80;
852 var83 = var89;
853 goto RET_LABEL84;
854 RET_LABEL84:(void)0;
855 }
856 }
857 if (var83){
858 var90 = 1;
859 {
860 { /* Inline kernel#Int#+ (var_i,var90) on <var_i:Int> */
861 /* Covariant cast for argument 0 (i) <var90:Int> isa OTHER */
862 /* <var90:Int> isa OTHER */
863 var93 = 1; /* easy <var90:Int> isa OTHER*/
864 if (unlikely(!var93)) {
865 var_class_name96 = type_kernel__Int.name;
866 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name96);
867 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
868 show_backtrace(1);
869 }
870 var97 = var_i + var90;
871 var91 = var97;
872 goto RET_LABEL92;
873 RET_LABEL92:(void)0;
874 }
875 }
876 self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var91; /* _buffer_pos on <self:BufferedIStream> */
877 goto RET_LABEL;
878 } else {
879 self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var_i; /* _buffer_pos on <self:BufferedIStream> */
880 {
881 { /* Inline file#IFStream#end_reached (self) on <self:BufferedIStream> */
882 var100 = self->attrs[COLOR_file__IFStream___end_reached].s; /* _end_reached on <self:BufferedIStream> */
883 var98 = var100;
884 RET_LABEL99:(void)0;
885 }
886 }
887 if (var98){
888 goto RET_LABEL;
889 } else {
890 {
891 file__IFStream__fill_buffer(self); /* Direct call file#IFStream#fill_buffer on <self:BufferedIStream>*/
892 }
893 }
894 }
895 CONTINUE_label101: (void)0;
896 }
897 BREAK_label101: (void)0;
898 RET_LABEL:;
899 }
900 /* method stream#BufferedIStream#append_line_to for (self: Object, Buffer) */
901 void VIRTUAL_stream__BufferedIStream__append_line_to(val* self, val* p0) {
902 stream__BufferedIStream__append_line_to(self, p0); /* Direct call stream#BufferedIStream#append_line_to on <self:Object(BufferedIStream)>*/
903 RET_LABEL:;
904 }
905 /* method stream#BufferedIStream#eof for (self: BufferedIStream): Bool */
906 short int stream__BufferedIStream__eof(val* self) {
907 short int var /* : Bool */;
908 short int var1 /* : Bool */;
909 long var2 /* : Int */;
910 val* var3 /* : nullable FlatBuffer */;
911 long var4 /* : Int */;
912 long var6 /* : Int */;
913 short int var7 /* : Bool */;
914 short int var9 /* : Bool */;
915 int cltype;
916 int idtype;
917 const char* var_class_name;
918 short int var10 /* : Bool */;
919 short int var_ /* var : Bool */;
920 short int var11 /* : Bool */;
921 short int var13 /* : Bool */;
922 var2 = self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l; /* _buffer_pos on <self:BufferedIStream> */
923 var3 = self->attrs[COLOR_stream__BufferedIStream___buffer].val; /* _buffer on <self:BufferedIStream> */
924 if (var3 == NULL) {
925 PRINT_ERROR("Runtime error: %s", "Receiver is null");
926 PRINT_ERROR(" (%s:%d)\n", "lib/standard/stream.nit", 250);
927 show_backtrace(1);
928 } else {
929 { /* Inline string#FlatText#length (var3) on <var3:nullable FlatBuffer> */
930 if (unlikely(var3 == NULL)) {
931 PRINT_ERROR("Runtime error: %s", "Receiver is null");
932 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 556);
933 show_backtrace(1);
934 }
935 var6 = var3->attrs[COLOR_string__FlatText___length].l; /* _length on <var3:nullable FlatBuffer> */
936 var4 = var6;
937 RET_LABEL5:(void)0;
938 }
939 }
940 {
941 { /* Inline kernel#Int#>= (var2,var4) on <var2:Int> */
942 /* Covariant cast for argument 0 (i) <var4:Int> isa OTHER */
943 /* <var4:Int> isa OTHER */
944 var9 = 1; /* easy <var4:Int> isa OTHER*/
945 if (unlikely(!var9)) {
946 var_class_name = type_kernel__Int.name;
947 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
948 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 326);
949 show_backtrace(1);
950 }
951 var10 = var2 >= var4;
952 var7 = var10;
953 goto RET_LABEL8;
954 RET_LABEL8:(void)0;
955 }
956 }
957 var_ = var7;
958 if (var7){
959 {
960 { /* Inline file#IFStream#end_reached (self) on <self:BufferedIStream> */
961 var13 = self->attrs[COLOR_file__IFStream___end_reached].s; /* _end_reached on <self:BufferedIStream> */
962 var11 = var13;
963 RET_LABEL12:(void)0;
964 }
965 }
966 var1 = var11;
967 } else {
968 var1 = var_;
969 }
970 var = var1;
971 goto RET_LABEL;
972 RET_LABEL:;
973 return var;
974 }
975 /* method stream#BufferedIStream#eof for (self: Object): Bool */
976 short int VIRTUAL_stream__BufferedIStream__eof(val* self) {
977 short int var /* : Bool */;
978 short int var1 /* : Bool */;
979 var1 = stream__BufferedIStream__eof(self);
980 var = var1;
981 RET_LABEL:;
982 return var;
983 }
984 /* method stream#BufferedIStream#prepare_buffer for (self: BufferedIStream, Int) */
985 void stream__BufferedIStream__prepare_buffer(val* self, long p0) {
986 long var_capacity /* var capacity: Int */;
987 val* var /* : FlatBuffer */;
988 long var1 /* : Int */;
989 var_capacity = p0;
990 var = NEW_string__FlatBuffer(&type_string__FlatBuffer);
991 {
992 string__FlatBuffer__with_capacity(var, var_capacity); /* Direct call string#FlatBuffer#with_capacity on <var:FlatBuffer>*/
993 }
994 self->attrs[COLOR_stream__BufferedIStream___buffer].val = var; /* _buffer on <self:BufferedIStream> */
995 var1 = 0;
996 self->attrs[COLOR_stream__BufferedIStream___buffer_pos].l = var1; /* _buffer_pos on <self:BufferedIStream> */
997 RET_LABEL:;
998 }
999 /* method stream#BufferedIStream#prepare_buffer for (self: Object, Int) */
1000 void VIRTUAL_stream__BufferedIStream__prepare_buffer(val* self, long p0) {
1001 stream__BufferedIStream__prepare_buffer(self, p0); /* Direct call stream#BufferedIStream#prepare_buffer on <self:Object(BufferedIStream)>*/
1002 RET_LABEL:;
1003 }
1004 /* method stream#BufferedIStream#init for (self: BufferedIStream) */
1005 void stream__BufferedIStream__init(val* self) {
1006 RET_LABEL:;
1007 }
1008 /* method stream#BufferedIStream#init for (self: Object) */
1009 void VIRTUAL_stream__BufferedIStream__init(val* self) {
1010 { /* Inline stream#BufferedIStream#init (self) on <self:Object(BufferedIStream)> */
1011 RET_LABEL1:(void)0;
1012 }
1013 RET_LABEL:;
1014 }