tool: use ccache in gccx, if available
[nit.git] / c_src / stream._sep.c
1 /* This C file is generated by NIT to compile module stream. */
2 #include "stream._sep.h"
3 void stream___IOS___close(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t tmp;
6 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7 fra.me.file = LOCATE_stream;
8 fra.me.line = 20;
9 fra.me.meth = LOCATE_stream___IOS___close;
10 fra.me.has_broke = 0;
11 fra.me.REG_size = 0;
12 /* ./../lib/standard//stream.nit:20 */
13 fprintf(stderr, "Deferred method called");
14 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 20);
15 nit_exit(1);
16 stack_frame_head = fra.me.prev;
17 return;
18 }
19 void stream___IOS___init(val_t p0, int* init_table){
20 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IOS].i;
21 struct {struct stack_frame_t me;} fra;
22 val_t tmp;
23 if (init_table[itpos0]) return;
24 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25 fra.me.file = LOCATE_stream;
26 fra.me.line = 0;
27 fra.me.meth = LOCATE_stream___IOS___init;
28 fra.me.has_broke = 0;
29 fra.me.REG_size = 0;
30 stack_frame_head = fra.me.prev;
31 init_table[itpos0] = 1;
32 return;
33 }
34 val_t stream___IStream___read_char(val_t p0){
35 struct {struct stack_frame_t me;} fra;
36 val_t tmp;
37 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38 fra.me.file = LOCATE_stream;
39 fra.me.line = 27;
40 fra.me.meth = LOCATE_stream___IStream___read_char;
41 fra.me.has_broke = 0;
42 fra.me.REG_size = 0;
43 /* ./../lib/standard//stream.nit:27 */
44 fprintf(stderr, "Deferred method called");
45 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 27);
46 nit_exit(1);
47 stack_frame_head = fra.me.prev;
48 return NIT_NULL;
49 }
50 val_t stream___IStream___read(val_t p0, val_t p1){
51 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
52 val_t REGB0;
53 val_t REGB1;
54 val_t REGB2;
55 val_t tmp;
56 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57 fra.me.file = LOCATE_stream;
58 fra.me.line = 30;
59 fra.me.meth = LOCATE_stream___IStream___read;
60 fra.me.has_broke = 0;
61 fra.me.REG_size = 2;
62 fra.me.REG[0] = NIT_NULL;
63 fra.me.REG[1] = NIT_NULL;
64 fra.me.REG[0] = p0;
65 REGB0 = p1;
66 fra.me.REG[1] = NEW_Buffer_string___Buffer___with_capacity(REGB0);
67 /* ./../lib/standard//stream.nit:34 */
68 while(1) {
69 REGB1 = TAG_Int(0);
70 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
71 /* ./../lib/standard//stream.nit:34 */
72 if (UNTAG_Bool(REGB1)) {
73 REGB1 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
74 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
75 } else {
76 REGB2 = TAG_Bool(false);
77 REGB1 = REGB2;
78 }
79 if (UNTAG_Bool(REGB1)) {
80 REGB1 = CALL_stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]);
81 REGB2 = TAG_Int(0);
82 REGB2 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
83 /* ./../lib/standard//stream.nit:36 */
84 if (UNTAG_Bool(REGB2)) {
85 REGB1 = TAG_Char(UNTAG_Int(REGB1));
86 /* ./../lib/standard//stream.nit:37 */
87 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB1);
88 REGB1 = TAG_Int(1);
89 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
90 REGB0 = REGB1;
91 /* ./../lib/standard//stream.nit:38 */
92 }
93 } else {
94 /* ./../lib/standard//stream.nit:34 */
95 goto label1;
96 }
97 }
98 label1: while(0);
99 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
100 /* ./../lib/standard//stream.nit:41 */
101 goto label2;
102 label2: while(0);
103 stack_frame_head = fra.me.prev;
104 return fra.me.REG[1];
105 }
106 val_t stream___IStream___read_line(val_t p0){
107 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
108 val_t REGB0;
109 val_t tmp;
110 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
111 fra.me.file = LOCATE_stream;
112 fra.me.line = 44;
113 fra.me.meth = LOCATE_stream___IStream___read_line;
114 fra.me.has_broke = 0;
115 fra.me.REG_size = 2;
116 fra.me.REG[0] = NIT_NULL;
117 fra.me.REG[1] = NIT_NULL;
118 fra.me.REG[0] = p0;
119 REGB0 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
120 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
121 /* ./../lib/standard//stream.nit:47 */
122 if (UNTAG_Bool(REGB0)) {
123 } else {
124 fprintf(stderr, "Assert failed");
125 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 47);
126 nit_exit(1);
127 }
128 fra.me.REG[1] = NEW_Buffer_string___Buffer___init();
129 /* ./../lib/standard//stream.nit:49 */
130 CALL_stream___IStream___append_line_to(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
131 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
132 /* ./../lib/standard//stream.nit:50 */
133 goto label1;
134 label1: while(0);
135 stack_frame_head = fra.me.prev;
136 return fra.me.REG[1];
137 }
138 val_t stream___IStream___read_all(val_t p0){
139 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
140 val_t REGB0;
141 val_t REGB1;
142 val_t tmp;
143 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
144 fra.me.file = LOCATE_stream;
145 fra.me.line = 53;
146 fra.me.meth = LOCATE_stream___IStream___read_all;
147 fra.me.has_broke = 0;
148 fra.me.REG_size = 2;
149 fra.me.REG[0] = NIT_NULL;
150 fra.me.REG[1] = NIT_NULL;
151 fra.me.REG[0] = p0;
152 fra.me.REG[1] = NEW_Buffer_string___Buffer___init();
153 /* ./../lib/standard//stream.nit:57 */
154 while(1) {
155 REGB0 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
156 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
157 if (UNTAG_Bool(REGB0)) {
158 REGB0 = CALL_stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]);
159 REGB1 = TAG_Int(0);
160 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
161 /* ./../lib/standard//stream.nit:59 */
162 if (UNTAG_Bool(REGB1)) {
163 REGB0 = TAG_Char(UNTAG_Int(REGB0));
164 /* ./../lib/standard//stream.nit:59 */
165 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB0);
166 }
167 } else {
168 /* ./../lib/standard//stream.nit:57 */
169 goto label1;
170 }
171 }
172 label1: while(0);
173 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
174 /* ./../lib/standard//stream.nit:61 */
175 goto label2;
176 label2: while(0);
177 stack_frame_head = fra.me.prev;
178 return fra.me.REG[1];
179 }
180 void stream___IStream___append_line_to(val_t p0, val_t p1){
181 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
182 val_t REGB0;
183 val_t REGB1;
184 val_t REGB2;
185 val_t tmp;
186 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
187 fra.me.file = LOCATE_stream;
188 fra.me.line = 64;
189 fra.me.meth = LOCATE_stream___IStream___append_line_to;
190 fra.me.has_broke = 0;
191 fra.me.REG_size = 2;
192 fra.me.REG[0] = NIT_NULL;
193 fra.me.REG[1] = NIT_NULL;
194 fra.me.REG[0] = p0;
195 fra.me.REG[1] = p1;
196 /* ./../lib/standard//stream.nit:67 */
197 while(1) {
198 REGB0 = TAG_Bool(true);
199 if (UNTAG_Bool(REGB0)) {
200 REGB0 = CALL_stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]);
201 REGB1 = TAG_Int(1);
202 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
203 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
204 /* ./../lib/standard//stream.nit:69 */
205 if (UNTAG_Bool(REGB2)) {
206 } else {
207 REGB1 = TAG_Bool((REGB0)==(REGB1));
208 REGB2 = REGB1;
209 /* ./../lib/standard//stream.nit:69 */
210 }
211 if (UNTAG_Bool(REGB2)) {
212 REGB2 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
213 /* ./../lib/standard//stream.nit:70 */
214 if (UNTAG_Bool(REGB2)) {
215 goto label1;
216 }
217 } else {
218 REGB0 = TAG_Char(UNTAG_Int(REGB0));
219 /* ./../lib/standard//stream.nit:73 */
220 CALL_abstract_collection___Sequence___push(fra.me.REG[1])(fra.me.REG[1], REGB0);
221 REGB2 = TAG_Char('\n');
222 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
223 /* ./../lib/standard//stream.nit:74 */
224 if (UNTAG_Bool(REGB1)) {
225 } else {
226 REGB2 = TAG_Bool((REGB0)==(REGB2));
227 REGB1 = REGB2;
228 /* ./../lib/standard//stream.nit:74 */
229 }
230 if (UNTAG_Bool(REGB1)) {
231 goto label1;
232 }
233 }
234 } else {
235 /* ./../lib/standard//stream.nit:67 */
236 goto label2;
237 }
238 }
239 label2: while(0);
240 label1: while(0);
241 stack_frame_head = fra.me.prev;
242 return;
243 }
244 val_t stream___IStream___eof(val_t p0){
245 struct {struct stack_frame_t me;} fra;
246 val_t tmp;
247 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
248 fra.me.file = LOCATE_stream;
249 fra.me.line = 79;
250 fra.me.meth = LOCATE_stream___IStream___eof;
251 fra.me.has_broke = 0;
252 fra.me.REG_size = 0;
253 /* ./../lib/standard//stream.nit:79 */
254 fprintf(stderr, "Deferred method called");
255 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 79);
256 nit_exit(1);
257 stack_frame_head = fra.me.prev;
258 return NIT_NULL;
259 }
260 void stream___OStream___write(val_t p0, val_t p1){
261 struct {struct stack_frame_t me;} fra;
262 val_t tmp;
263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
264 fra.me.file = LOCATE_stream;
265 fra.me.line = 86;
266 fra.me.meth = LOCATE_stream___OStream___write;
267 fra.me.has_broke = 0;
268 fra.me.REG_size = 0;
269 /* ./../lib/standard//stream.nit:86 */
270 fprintf(stderr, "Deferred method called");
271 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 86);
272 nit_exit(1);
273 stack_frame_head = fra.me.prev;
274 return;
275 }
276 val_t stream___OStream___is_writable(val_t p0){
277 struct {struct stack_frame_t me;} fra;
278 val_t tmp;
279 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
280 fra.me.file = LOCATE_stream;
281 fra.me.line = 89;
282 fra.me.meth = LOCATE_stream___OStream___is_writable;
283 fra.me.has_broke = 0;
284 fra.me.REG_size = 0;
285 /* ./../lib/standard//stream.nit:89 */
286 fprintf(stderr, "Deferred method called");
287 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 89);
288 nit_exit(1);
289 stack_frame_head = fra.me.prev;
290 return NIT_NULL;
291 }
292 val_t stream___BufferedIStream___read_char(val_t p0){
293 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
294 val_t REGB0;
295 val_t REGB1;
296 val_t REGB2;
297 val_t REGB3;
298 val_t tmp;
299 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
300 fra.me.file = LOCATE_stream;
301 fra.me.line = 96;
302 fra.me.meth = LOCATE_stream___BufferedIStream___read_char;
303 fra.me.has_broke = 0;
304 fra.me.REG_size = 2;
305 fra.me.REG[0] = NIT_NULL;
306 fra.me.REG[1] = NIT_NULL;
307 fra.me.REG[0] = p0;
308 REGB0 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
309 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
310 /* ./../lib/standard//stream.nit:98 */
311 if (UNTAG_Bool(REGB0)) {
312 } else {
313 fprintf(stderr, "Assert failed");
314 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 98);
315 nit_exit(1);
316 }
317 REGB0 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
318 /* ./../lib/standard//stream.nit:99 */
319 if (UNTAG_Bool(REGB0)) {
320 } else {
321 fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos");
322 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 99);
323 nit_exit(1);
324 }
325 REGB0 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
326 fra.me.REG[1] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
327 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
328 if (UNTAG_Bool(REGB1)) {
329 fprintf(stderr, "Reciever is null");
330 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 99);
331 nit_exit(1);
332 }
333 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
334 /* ./../lib/standard//collection//array.nit:23 */
335 if (UNTAG_Bool(REGB1)) {
336 } else {
337 fprintf(stderr, "Uninitialized attribute %s", "_length");
338 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
339 nit_exit(1);
340 }
341 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
342 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
343 /* ./../lib/standard//stream.nit:99 */
344 if (UNTAG_Bool(REGB1)) {
345 /* ./../lib/standard//stream.nit:100 */
346 CALL_stream___BufferedIStream___fill_buffer(fra.me.REG[0])(fra.me.REG[0]);
347 }
348 REGB1 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
349 /* ./../lib/standard//stream.nit:102 */
350 if (UNTAG_Bool(REGB1)) {
351 } else {
352 fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos");
353 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 102);
354 nit_exit(1);
355 }
356 REGB1 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
357 fra.me.REG[1] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
358 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
359 if (UNTAG_Bool(REGB0)) {
360 fprintf(stderr, "Reciever is null");
361 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 102);
362 nit_exit(1);
363 }
364 REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
365 /* ./../lib/standard//collection//array.nit:23 */
366 if (UNTAG_Bool(REGB0)) {
367 } else {
368 fprintf(stderr, "Uninitialized attribute %s", "_length");
369 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
370 nit_exit(1);
371 }
372 REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
373 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB0));
374 /* ./../lib/standard//stream.nit:102 */
375 if (UNTAG_Bool(REGB0)) {
376 REGB0 = TAG_Int(1);
377 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
378 /* ./../lib/standard//stream.nit:103 */
379 goto label1;
380 }
381 fra.me.REG[1] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
382 REGB1 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
383 /* ./../lib/standard//stream.nit:105 */
384 if (UNTAG_Bool(REGB1)) {
385 } else {
386 fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos");
387 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 105);
388 nit_exit(1);
389 }
390 REGB1 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
391 REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
392 if (UNTAG_Bool(REGB2)) {
393 fprintf(stderr, "Reciever is null");
394 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 105);
395 nit_exit(1);
396 }
397 REGB1 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[1])(fra.me.REG[1], REGB1);
398 REGB2 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
399 REGB3 = TAG_Int(1);
400 REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
401 /* ./../lib/standard//stream.nit:106 */
402 ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB3;
403 REGB1 = TAG_Int((unsigned char)UNTAG_Char(REGB1));
404 REGB0 = REGB1;
405 /* ./../lib/standard//stream.nit:107 */
406 goto label1;
407 label1: while(0);
408 stack_frame_head = fra.me.prev;
409 return REGB0;
410 }
411 val_t stream___BufferedIStream___read(val_t p0, val_t p1){
412 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
413 val_t REGB0;
414 val_t REGB1;
415 val_t REGB2;
416 val_t REGB3;
417 val_t REGB4;
418 val_t tmp;
419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
420 fra.me.file = LOCATE_stream;
421 fra.me.line = 110;
422 fra.me.meth = LOCATE_stream___BufferedIStream___read;
423 fra.me.has_broke = 0;
424 fra.me.REG_size = 4;
425 fra.me.REG[0] = NIT_NULL;
426 fra.me.REG[1] = NIT_NULL;
427 fra.me.REG[2] = NIT_NULL;
428 fra.me.REG[3] = NIT_NULL;
429 fra.me.REG[0] = p0;
430 REGB0 = p1;
431 fra.me.REG[1] = NEW_Buffer_string___Buffer___with_capacity(REGB0);
432 REGB1 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
433 /* ./../lib/standard//stream.nit:113 */
434 if (UNTAG_Bool(REGB1)) {
435 } else {
436 fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos");
437 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 113);
438 nit_exit(1);
439 }
440 REGB1 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
441 fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
442 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
443 /* ./../lib/standard//stream.nit:114 */
444 if (UNTAG_Bool(REGB2)) {
445 fprintf(stderr, "Reciever is null");
446 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 114);
447 nit_exit(1);
448 }
449 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
450 /* ./../lib/standard//collection//array.nit:23 */
451 if (UNTAG_Bool(REGB2)) {
452 } else {
453 fprintf(stderr, "Uninitialized attribute %s", "_length");
454 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
455 nit_exit(1);
456 }
457 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
458 /* ./../lib/standard//stream.nit:115 */
459 while(1) {
460 REGB3 = TAG_Int(0);
461 REGB3 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB3));
462 /* ./../lib/standard//stream.nit:115 */
463 if (UNTAG_Bool(REGB3)) {
464 REGB3 = TAG_Bool(UNTAG_Int(REGB1)>=UNTAG_Int(REGB2));
465 /* ./../lib/standard//stream.nit:116 */
466 if (UNTAG_Bool(REGB3)) {
467 /* ./../lib/standard//stream.nit:117 */
468 CALL_stream___BufferedIStream___fill_buffer(fra.me.REG[0])(fra.me.REG[0]);
469 REGB3 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
470 /* ./../lib/standard//stream.nit:118 */
471 if (UNTAG_Bool(REGB3)) {
472 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
473 goto label1;
474 }
475 REGB3 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
476 /* ./../lib/standard//stream.nit:119 */
477 if (UNTAG_Bool(REGB3)) {
478 } else {
479 fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos");
480 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 119);
481 nit_exit(1);
482 }
483 REGB3 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
484 REGB1 = REGB3;
485 fra.me.REG[3] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
486 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
487 /* ./../lib/standard//stream.nit:120 */
488 if (UNTAG_Bool(REGB3)) {
489 fprintf(stderr, "Reciever is null");
490 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 120);
491 nit_exit(1);
492 }
493 REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
494 /* ./../lib/standard//collection//array.nit:23 */
495 if (UNTAG_Bool(REGB3)) {
496 } else {
497 fprintf(stderr, "Uninitialized attribute %s", "_length");
498 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
499 nit_exit(1);
500 }
501 REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
502 REGB2 = REGB3;
503 /* ./../lib/standard//stream.nit:120 */
504 }
505 /* ./../lib/standard//stream.nit:122 */
506 while(1) {
507 REGB3 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
508 /* ./../lib/standard//stream.nit:122 */
509 if (UNTAG_Bool(REGB3)) {
510 REGB3 = TAG_Int(0);
511 REGB3 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB3));
512 /* ./../lib/standard//stream.nit:122 */
513 } else {
514 REGB4 = TAG_Bool(false);
515 REGB3 = REGB4;
516 }
517 if (UNTAG_Bool(REGB3)) {
518 fra.me.REG[3] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
519 REGB3 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
520 /* ./../lib/standard//stream.nit:123 */
521 if (UNTAG_Bool(REGB3)) {
522 fprintf(stderr, "Reciever is null");
523 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 123);
524 nit_exit(1);
525 }
526 REGB3 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[3])(fra.me.REG[3], REGB1);
527 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB3);
528 REGB3 = TAG_Int(1);
529 REGB3 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB3));
530 REGB1 = REGB3;
531 REGB3 = TAG_Int(1);
532 REGB3 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB3));
533 REGB0 = REGB3;
534 /* ./../lib/standard//stream.nit:125 */
535 } else {
536 /* ./../lib/standard//stream.nit:122 */
537 goto label2;
538 }
539 }
540 label2: while(0);
541 } else {
542 /* ./../lib/standard//stream.nit:115 */
543 goto label3;
544 }
545 }
546 label3: while(0);
547 /* ./../lib/standard//stream.nit:128 */
548 ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB1;
549 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
550 fra.me.REG[2] = fra.me.REG[1];
551 /* ./../lib/standard//stream.nit:129 */
552 goto label1;
553 label1: while(0);
554 stack_frame_head = fra.me.prev;
555 return fra.me.REG[2];
556 }
557 val_t stream___BufferedIStream___read_all(val_t p0){
558 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
559 val_t REGB0;
560 val_t REGB1;
561 val_t REGB2;
562 val_t tmp;
563 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
564 fra.me.file = LOCATE_stream;
565 fra.me.line = 132;
566 fra.me.meth = LOCATE_stream___BufferedIStream___read_all;
567 fra.me.has_broke = 0;
568 fra.me.REG_size = 3;
569 fra.me.REG[0] = NIT_NULL;
570 fra.me.REG[1] = NIT_NULL;
571 fra.me.REG[2] = NIT_NULL;
572 fra.me.REG[0] = p0;
573 fra.me.REG[1] = NEW_Buffer_string___Buffer___init();
574 /* ./../lib/standard//stream.nit:135 */
575 while(1) {
576 REGB0 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
577 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
578 if (UNTAG_Bool(REGB0)) {
579 REGB0 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
580 /* ./../lib/standard//stream.nit:136 */
581 if (UNTAG_Bool(REGB0)) {
582 } else {
583 fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos");
584 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 136);
585 nit_exit(1);
586 }
587 REGB0 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
588 fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
589 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
590 /* ./../lib/standard//stream.nit:137 */
591 if (UNTAG_Bool(REGB1)) {
592 fprintf(stderr, "Reciever is null");
593 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 137);
594 nit_exit(1);
595 }
596 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
597 /* ./../lib/standard//collection//array.nit:23 */
598 if (UNTAG_Bool(REGB1)) {
599 } else {
600 fprintf(stderr, "Uninitialized attribute %s", "_length");
601 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
602 nit_exit(1);
603 }
604 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
605 /* ./../lib/standard//stream.nit:138 */
606 while(1) {
607 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
608 /* ./../lib/standard//stream.nit:138 */
609 if (UNTAG_Bool(REGB2)) {
610 fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
611 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
612 /* ./../lib/standard//stream.nit:139 */
613 if (UNTAG_Bool(REGB2)) {
614 fprintf(stderr, "Reciever is null");
615 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 139);
616 nit_exit(1);
617 }
618 REGB2 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
619 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB2);
620 REGB2 = TAG_Int(1);
621 REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
622 REGB0 = REGB2;
623 /* ./../lib/standard//stream.nit:140 */
624 } else {
625 /* ./../lib/standard//stream.nit:138 */
626 goto label1;
627 }
628 }
629 label1: while(0);
630 /* ./../lib/standard//stream.nit:142 */
631 ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB0;
632 /* ./../lib/standard//stream.nit:143 */
633 CALL_stream___BufferedIStream___fill_buffer(fra.me.REG[0])(fra.me.REG[0]);
634 } else {
635 /* ./../lib/standard//stream.nit:135 */
636 goto label2;
637 }
638 }
639 label2: while(0);
640 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
641 /* ./../lib/standard//stream.nit:145 */
642 goto label3;
643 label3: while(0);
644 stack_frame_head = fra.me.prev;
645 return fra.me.REG[1];
646 }
647 void stream___BufferedIStream___append_line_to(val_t p0, val_t p1){
648 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
649 val_t REGB0;
650 val_t REGB1;
651 val_t REGB2;
652 val_t REGB3;
653 val_t tmp;
654 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
655 fra.me.file = LOCATE_stream;
656 fra.me.line = 148;
657 fra.me.meth = LOCATE_stream___BufferedIStream___append_line_to;
658 fra.me.has_broke = 0;
659 fra.me.REG_size = 3;
660 fra.me.REG[0] = NIT_NULL;
661 fra.me.REG[1] = NIT_NULL;
662 fra.me.REG[2] = NIT_NULL;
663 fra.me.REG[0] = p0;
664 fra.me.REG[1] = p1;
665 /* ./../lib/standard//stream.nit:150 */
666 while(1) {
667 REGB0 = TAG_Bool(true);
668 if (UNTAG_Bool(REGB0)) {
669 REGB0 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
670 /* ./../lib/standard//stream.nit:152 */
671 if (UNTAG_Bool(REGB0)) {
672 } else {
673 fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos");
674 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 152);
675 nit_exit(1);
676 }
677 REGB0 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
678 /* ./../lib/standard//stream.nit:153 */
679 while(1) {
680 fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
681 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
682 if (UNTAG_Bool(REGB1)) {
683 fprintf(stderr, "Reciever is null");
684 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 153);
685 nit_exit(1);
686 }
687 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
688 /* ./../lib/standard//collection//array.nit:23 */
689 if (UNTAG_Bool(REGB1)) {
690 } else {
691 fprintf(stderr, "Uninitialized attribute %s", "_length");
692 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
693 nit_exit(1);
694 }
695 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
696 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
697 /* ./../lib/standard//stream.nit:153 */
698 if (UNTAG_Bool(REGB1)) {
699 fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
700 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
701 if (UNTAG_Bool(REGB1)) {
702 fprintf(stderr, "Reciever is null");
703 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 153);
704 nit_exit(1);
705 }
706 REGB1 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
707 REGB2 = TAG_Char('\n');
708 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
709 if (UNTAG_Bool(REGB3)) {
710 } else {
711 REGB2 = TAG_Bool((REGB1)==(REGB2));
712 REGB3 = REGB2;
713 /* ./../lib/standard//stream.nit:153 */
714 }
715 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
716 } else {
717 REGB2 = TAG_Bool(false);
718 REGB3 = REGB2;
719 }
720 if (UNTAG_Bool(REGB3)) {
721 REGB3 = TAG_Int(1);
722 REGB3 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB3));
723 REGB0 = REGB3;
724 /* ./../lib/standard//stream.nit:153 */
725 } else {
726 goto label1;
727 }
728 }
729 label1: while(0);
730 REGB3 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
731 /* ./../lib/standard//stream.nit:156 */
732 if (UNTAG_Bool(REGB3)) {
733 } else {
734 fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos");
735 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 156);
736 nit_exit(1);
737 }
738 REGB3 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
739 REGB3 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB3));
740 /* ./../lib/standard//stream.nit:156 */
741 if (UNTAG_Bool(REGB3)) {
742 REGB3 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
743 /* ./../lib/standard//collection//array.nit:23 */
744 if (UNTAG_Bool(REGB3)) {
745 } else {
746 fprintf(stderr, "Uninitialized attribute %s", "_length");
747 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
748 nit_exit(1);
749 }
750 REGB3 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
751 REGB3 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB0));
752 REGB2 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
753 /* ./../lib/standard//stream.nit:158 */
754 if (UNTAG_Bool(REGB2)) {
755 } else {
756 fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos");
757 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 158);
758 nit_exit(1);
759 }
760 REGB2 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
761 REGB2 = TAG_Int(UNTAG_Int(REGB3)-UNTAG_Int(REGB2));
762 /* ./../lib/standard//stream.nit:158 */
763 CALL_array___AbstractArray___enlarge(fra.me.REG[1])(fra.me.REG[1], REGB2);
764 REGB2 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
765 /* ./../lib/standard//stream.nit:161 */
766 if (UNTAG_Bool(REGB2)) {
767 } else {
768 fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos");
769 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 161);
770 nit_exit(1);
771 }
772 REGB2 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
773 /* ./../lib/standard//stream.nit:162 */
774 while(1) {
775 REGB3 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB0));
776 /* ./../lib/standard//stream.nit:162 */
777 if (UNTAG_Bool(REGB3)) {
778 fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
779 REGB3 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
780 /* ./../lib/standard//stream.nit:163 */
781 if (UNTAG_Bool(REGB3)) {
782 fprintf(stderr, "Reciever is null");
783 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 163);
784 nit_exit(1);
785 }
786 REGB3 = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB2);
787 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], REGB3);
788 REGB3 = TAG_Int(1);
789 REGB3 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB3));
790 REGB2 = REGB3;
791 /* ./../lib/standard//stream.nit:164 */
792 } else {
793 /* ./../lib/standard//stream.nit:162 */
794 goto label2;
795 }
796 }
797 label2: while(0);
798 }
799 fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
800 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
801 /* ./../lib/standard//stream.nit:168 */
802 if (UNTAG_Bool(REGB2)) {
803 fprintf(stderr, "Reciever is null");
804 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 168);
805 nit_exit(1);
806 }
807 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
808 /* ./../lib/standard//collection//array.nit:23 */
809 if (UNTAG_Bool(REGB2)) {
810 } else {
811 fprintf(stderr, "Uninitialized attribute %s", "_length");
812 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
813 nit_exit(1);
814 }
815 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
816 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
817 /* ./../lib/standard//stream.nit:168 */
818 if (UNTAG_Bool(REGB2)) {
819 REGB2 = TAG_Int(1);
820 REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
821 /* ./../lib/standard//stream.nit:170 */
822 ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB2;
823 /* ./../lib/standard//stream.nit:171 */
824 goto label3;
825 } else {
826 /* ./../lib/standard//stream.nit:174 */
827 ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB0;
828 REGB0 = CALL_stream___BufferedIStream___end_reached(fra.me.REG[0])(fra.me.REG[0]);
829 /* ./../lib/standard//stream.nit:175 */
830 if (UNTAG_Bool(REGB0)) {
831 /* ./../lib/standard//stream.nit:176 */
832 goto label3;
833 } else {
834 /* ./../lib/standard//stream.nit:178 */
835 CALL_stream___BufferedIStream___fill_buffer(fra.me.REG[0])(fra.me.REG[0]);
836 }
837 }
838 } else {
839 /* ./../lib/standard//stream.nit:150 */
840 goto label4;
841 }
842 }
843 label4: while(0);
844 label3: while(0);
845 stack_frame_head = fra.me.prev;
846 return;
847 }
848 val_t stream___BufferedIStream___eof(val_t p0){
849 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
850 val_t REGB0;
851 val_t REGB1;
852 val_t tmp;
853 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
854 fra.me.file = LOCATE_stream;
855 fra.me.line = 184;
856 fra.me.meth = LOCATE_stream___BufferedIStream___eof;
857 fra.me.has_broke = 0;
858 fra.me.REG_size = 2;
859 fra.me.REG[0] = NIT_NULL;
860 fra.me.REG[1] = NIT_NULL;
861 fra.me.REG[0] = p0;
862 REGB0 = TAG_Bool(ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0])!=NIT_NULL);
863 /* ./../lib/standard//stream.nit:184 */
864 if (UNTAG_Bool(REGB0)) {
865 } else {
866 fprintf(stderr, "Uninitialized attribute %s", "_buffer_pos");
867 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 184);
868 nit_exit(1);
869 }
870 REGB0 = ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]);
871 fra.me.REG[1] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
872 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
873 if (UNTAG_Bool(REGB1)) {
874 fprintf(stderr, "Reciever is null");
875 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 184);
876 nit_exit(1);
877 }
878 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
879 /* ./../lib/standard//collection//array.nit:23 */
880 if (UNTAG_Bool(REGB1)) {
881 } else {
882 fprintf(stderr, "Uninitialized attribute %s", "_length");
883 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
884 nit_exit(1);
885 }
886 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
887 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
888 /* ./../lib/standard//stream.nit:184 */
889 if (UNTAG_Bool(REGB1)) {
890 REGB1 = CALL_stream___BufferedIStream___end_reached(fra.me.REG[0])(fra.me.REG[0]);
891 } else {
892 REGB0 = TAG_Bool(false);
893 REGB1 = REGB0;
894 }
895 goto label1;
896 label1: while(0);
897 stack_frame_head = fra.me.prev;
898 return REGB1;
899 }
900 void stream___BufferedIStream___fill_buffer(val_t p0){
901 struct {struct stack_frame_t me;} fra;
902 val_t tmp;
903 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
904 fra.me.file = LOCATE_stream;
905 fra.me.line = 192;
906 fra.me.meth = LOCATE_stream___BufferedIStream___fill_buffer;
907 fra.me.has_broke = 0;
908 fra.me.REG_size = 0;
909 /* ./../lib/standard//stream.nit:192 */
910 fprintf(stderr, "Deferred method called");
911 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 192);
912 nit_exit(1);
913 stack_frame_head = fra.me.prev;
914 return;
915 }
916 val_t stream___BufferedIStream___end_reached(val_t p0){
917 struct {struct stack_frame_t me;} fra;
918 val_t tmp;
919 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
920 fra.me.file = LOCATE_stream;
921 fra.me.line = 195;
922 fra.me.meth = LOCATE_stream___BufferedIStream___end_reached;
923 fra.me.has_broke = 0;
924 fra.me.REG_size = 0;
925 /* ./../lib/standard//stream.nit:195 */
926 fprintf(stderr, "Deferred method called");
927 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 195);
928 nit_exit(1);
929 stack_frame_head = fra.me.prev;
930 return NIT_NULL;
931 }
932 void stream___BufferedIStream___prepare_buffer(val_t p0, val_t p1){
933 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
934 val_t REGB0;
935 val_t tmp;
936 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
937 fra.me.file = LOCATE_stream;
938 fra.me.line = 198;
939 fra.me.meth = LOCATE_stream___BufferedIStream___prepare_buffer;
940 fra.me.has_broke = 0;
941 fra.me.REG_size = 2;
942 fra.me.REG[0] = NIT_NULL;
943 fra.me.REG[1] = NIT_NULL;
944 fra.me.REG[0] = p0;
945 REGB0 = p1;
946 fra.me.REG[1] = NEW_Buffer_string___Buffer___with_capacity(REGB0);
947 /* ./../lib/standard//stream.nit:201 */
948 ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]) = fra.me.REG[1];
949 REGB0 = TAG_Int(0);
950 /* ./../lib/standard//stream.nit:202 */
951 ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB0;
952 stack_frame_head = fra.me.prev;
953 return;
954 }
955 void stream___FDStream___close(val_t p0){
956 struct {struct stack_frame_t me;} fra;
957 val_t REGB0;
958 val_t tmp;
959 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
960 fra.me.file = LOCATE_stream;
961 fra.me.line = 218;
962 fra.me.meth = LOCATE_stream___FDStream___close;
963 fra.me.has_broke = 0;
964 fra.me.REG_size = 1;
965 fra.me.REG[0] = NIT_NULL;
966 fra.me.REG[0] = p0;
967 REGB0 = TAG_Bool(ATTR_stream___FDStream____fd(fra.me.REG[0])!=NIT_NULL);
968 /* ./../lib/standard//stream.nit:218 */
969 if (UNTAG_Bool(REGB0)) {
970 } else {
971 fprintf(stderr, "Uninitialized attribute %s", "_fd");
972 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 218);
973 nit_exit(1);
974 }
975 REGB0 = ATTR_stream___FDStream____fd(fra.me.REG[0]);
976 CALL_stream___FDStream___native_close(fra.me.REG[0])(fra.me.REG[0], REGB0);
977 stack_frame_head = fra.me.prev;
978 return;
979 }
980 val_t stream___FDStream___native_close(val_t p0, val_t p1){
981 struct {struct stack_frame_t me;} fra;
982 val_t REGB0;
983 val_t tmp;
984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
985 fra.me.file = LOCATE_stream;
986 fra.me.line = 220;
987 fra.me.meth = LOCATE_stream___FDStream___native_close;
988 fra.me.has_broke = 0;
989 fra.me.REG_size = 1;
990 fra.me.REG[0] = NIT_NULL;
991 fra.me.REG[0] = p0;
992 REGB0 = p1;
993 REGB0 = TAG_Int(stream_FDStream_FDStream_native_close_1(fra.me.REG[0], UNTAG_Int(REGB0)));
994 /* ./../lib/standard//stream.nit:220 */
995 stack_frame_head = fra.me.prev;
996 return REGB0;
997 }
998 val_t stream___FDStream___native_read_char(val_t p0, val_t p1){
999 struct {struct stack_frame_t me;} fra;
1000 val_t REGB0;
1001 val_t tmp;
1002 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1003 fra.me.file = LOCATE_stream;
1004 fra.me.line = 221;
1005 fra.me.meth = LOCATE_stream___FDStream___native_read_char;
1006 fra.me.has_broke = 0;
1007 fra.me.REG_size = 1;
1008 fra.me.REG[0] = NIT_NULL;
1009 fra.me.REG[0] = p0;
1010 REGB0 = p1;
1011 REGB0 = TAG_Int(stream_FDStream_FDStream_native_read_char_1(fra.me.REG[0], UNTAG_Int(REGB0)));
1012 /* ./../lib/standard//stream.nit:221 */
1013 stack_frame_head = fra.me.prev;
1014 return REGB0;
1015 }
1016 val_t stream___FDStream___native_read(val_t p0, val_t p1, val_t p2, val_t p3){
1017 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1018 val_t REGB0;
1019 val_t REGB1;
1020 val_t tmp;
1021 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1022 fra.me.file = LOCATE_stream;
1023 fra.me.line = 222;
1024 fra.me.meth = LOCATE_stream___FDStream___native_read;
1025 fra.me.has_broke = 0;
1026 fra.me.REG_size = 2;
1027 fra.me.REG[0] = NIT_NULL;
1028 fra.me.REG[1] = NIT_NULL;
1029 fra.me.REG[0] = p0;
1030 REGB0 = p1;
1031 fra.me.REG[1] = p2;
1032 REGB1 = p3;
1033 REGB1 = TAG_Int(stream_FDStream_FDStream_native_read_3(fra.me.REG[0], UNTAG_Int(REGB0), UNBOX_NativeString(fra.me.REG[1]), UNTAG_Int(REGB1)));
1034 /* ./../lib/standard//stream.nit:222 */
1035 stack_frame_head = fra.me.prev;
1036 return REGB1;
1037 }
1038 val_t stream___FDStream___native_write(val_t p0, val_t p1, val_t p2, val_t p3){
1039 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1040 val_t REGB0;
1041 val_t REGB1;
1042 val_t tmp;
1043 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1044 fra.me.file = LOCATE_stream;
1045 fra.me.line = 223;
1046 fra.me.meth = LOCATE_stream___FDStream___native_write;
1047 fra.me.has_broke = 0;
1048 fra.me.REG_size = 2;
1049 fra.me.REG[0] = NIT_NULL;
1050 fra.me.REG[1] = NIT_NULL;
1051 fra.me.REG[0] = p0;
1052 REGB0 = p1;
1053 fra.me.REG[1] = p2;
1054 REGB1 = p3;
1055 REGB1 = TAG_Int(stream_FDStream_FDStream_native_write_3(fra.me.REG[0], UNTAG_Int(REGB0), UNBOX_NativeString(fra.me.REG[1]), UNTAG_Int(REGB1)));
1056 /* ./../lib/standard//stream.nit:223 */
1057 stack_frame_head = fra.me.prev;
1058 return REGB1;
1059 }
1060 void stream___FDStream___init(val_t p0, val_t p1, int* init_table){
1061 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_FDStream].i;
1062 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1063 val_t REGB0;
1064 val_t tmp;
1065 if (init_table[itpos1]) return;
1066 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1067 fra.me.file = LOCATE_stream;
1068 fra.me.line = 225;
1069 fra.me.meth = LOCATE_stream___FDStream___init;
1070 fra.me.has_broke = 0;
1071 fra.me.REG_size = 2;
1072 fra.me.REG[0] = NIT_NULL;
1073 fra.me.REG[1] = NIT_NULL;
1074 fra.me.REG[0] = p0;
1075 REGB0 = p1;
1076 fra.me.REG[1] = fra.me.REG[0];
1077 /* ./../lib/standard//stream.nit:225 */
1078 CALL_stream___IOS___init(fra.me.REG[0])(fra.me.REG[0], init_table);
1079 ATTR_stream___FDStream____fd(fra.me.REG[1]) = REGB0;
1080 stack_frame_head = fra.me.prev;
1081 init_table[itpos1] = 1;
1082 return;
1083 }
1084 val_t stream___FDIStream___read_char(val_t p0){
1085 struct {struct stack_frame_t me;} fra;
1086 val_t REGB0;
1087 val_t REGB1;
1088 val_t REGB2;
1089 val_t tmp;
1090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1091 fra.me.file = LOCATE_stream;
1092 fra.me.line = 233;
1093 fra.me.meth = LOCATE_stream___FDIStream___read_char;
1094 fra.me.has_broke = 0;
1095 fra.me.REG_size = 1;
1096 fra.me.REG[0] = NIT_NULL;
1097 fra.me.REG[0] = p0;
1098 REGB0 = TAG_Bool(ATTR_stream___FDStream____fd(fra.me.REG[0])!=NIT_NULL);
1099 /* ./../lib/standard//stream.nit:235 */
1100 if (UNTAG_Bool(REGB0)) {
1101 } else {
1102 fprintf(stderr, "Uninitialized attribute %s", "_fd");
1103 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 235);
1104 nit_exit(1);
1105 }
1106 REGB0 = ATTR_stream___FDStream____fd(fra.me.REG[0]);
1107 REGB0 = CALL_stream___FDStream___native_read_char(fra.me.REG[0])(fra.me.REG[0], REGB0);
1108 REGB1 = TAG_Int(1);
1109 REGB1 = TAG_Int(-UNTAG_Int(REGB1));
1110 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
1111 /* ./../lib/standard//stream.nit:236 */
1112 if (UNTAG_Bool(REGB2)) {
1113 } else {
1114 REGB1 = TAG_Bool((REGB0)==(REGB1));
1115 REGB2 = REGB1;
1116 /* ./../lib/standard//stream.nit:236 */
1117 }
1118 if (UNTAG_Bool(REGB2)) {
1119 REGB2 = TAG_Bool(true);
1120 ATTR_stream___FDIStream____eof(fra.me.REG[0]) = REGB2;
1121 }
1122 /* ./../lib/standard//stream.nit:237 */
1123 goto label1;
1124 label1: while(0);
1125 stack_frame_head = fra.me.prev;
1126 return REGB0;
1127 }
1128 val_t stream___FDIStream___eof(val_t p0){
1129 struct {struct stack_frame_t me;} fra;
1130 val_t REGB0;
1131 val_t tmp;
1132 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1133 fra.me.file = LOCATE_stream;
1134 fra.me.line = 231;
1135 fra.me.meth = LOCATE_stream___FDIStream___eof;
1136 fra.me.has_broke = 0;
1137 fra.me.REG_size = 1;
1138 fra.me.REG[0] = NIT_NULL;
1139 fra.me.REG[0] = p0;
1140 REGB0 = TAG_Bool(ATTR_stream___FDIStream____eof(fra.me.REG[0])!=NIT_NULL);
1141 /* ./../lib/standard//stream.nit:231 */
1142 if (UNTAG_Bool(REGB0)) {
1143 } else {
1144 fprintf(stderr, "Uninitialized attribute %s", "_eof");
1145 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 231);
1146 nit_exit(1);
1147 }
1148 REGB0 = ATTR_stream___FDIStream____eof(fra.me.REG[0]);
1149 stack_frame_head = fra.me.prev;
1150 return REGB0;
1151 }
1152 void stream___FDIStream___init(val_t p0, val_t p1, int* init_table){
1153 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_FDIStream].i;
1154 struct {struct stack_frame_t me;} fra;
1155 val_t REGB0;
1156 val_t tmp;
1157 if (init_table[itpos2]) return;
1158 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1159 fra.me.file = LOCATE_stream;
1160 fra.me.line = 240;
1161 fra.me.meth = LOCATE_stream___FDIStream___init;
1162 fra.me.has_broke = 0;
1163 fra.me.REG_size = 1;
1164 fra.me.REG[0] = NIT_NULL;
1165 fra.me.REG[0] = p0;
1166 REGB0 = p1;
1167 /* ./../lib/standard//stream.nit:240 */
1168 CALL_stream___FDStream___init(fra.me.REG[0])(fra.me.REG[0], REGB0, init_table);
1169 stack_frame_head = fra.me.prev;
1170 init_table[itpos2] = 1;
1171 return;
1172 }
1173 void stream___FDOStream___write(val_t p0, val_t p1){
1174 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1175 val_t REGB0;
1176 val_t REGB1;
1177 val_t tmp;
1178 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1179 fra.me.file = LOCATE_stream;
1180 fra.me.line = 248;
1181 fra.me.meth = LOCATE_stream___FDOStream___write;
1182 fra.me.has_broke = 0;
1183 fra.me.REG_size = 3;
1184 fra.me.REG[0] = NIT_NULL;
1185 fra.me.REG[1] = NIT_NULL;
1186 fra.me.REG[2] = NIT_NULL;
1187 fra.me.REG[0] = p0;
1188 fra.me.REG[1] = p1;
1189 REGB0 = TAG_Bool(ATTR_stream___FDStream____fd(fra.me.REG[0])!=NIT_NULL);
1190 /* ./../lib/standard//stream.nit:250 */
1191 if (UNTAG_Bool(REGB0)) {
1192 } else {
1193 fprintf(stderr, "Uninitialized attribute %s", "_fd");
1194 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 250);
1195 nit_exit(1);
1196 }
1197 REGB0 = ATTR_stream___FDStream____fd(fra.me.REG[0]);
1198 fra.me.REG[2] = CALL_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
1199 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
1200 /* ./../lib/standard//collection//array.nit:23 */
1201 if (UNTAG_Bool(REGB1)) {
1202 } else {
1203 fprintf(stderr, "Uninitialized attribute %s", "_length");
1204 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
1205 nit_exit(1);
1206 }
1207 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
1208 REGB1 = CALL_stream___FDStream___native_write(fra.me.REG[0])(fra.me.REG[0], REGB0, fra.me.REG[2], REGB1);
1209 REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
1210 /* ./../lib/standard//collection//array.nit:23 */
1211 if (UNTAG_Bool(REGB0)) {
1212 } else {
1213 fprintf(stderr, "Uninitialized attribute %s", "_length");
1214 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
1215 nit_exit(1);
1216 }
1217 REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
1218 REGB0 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB0));
1219 /* ./../lib/standard//stream.nit:251 */
1220 if (UNTAG_Bool(REGB0)) {
1221 REGB0 = TAG_Bool(false);
1222 ATTR_stream___FDOStream____is_writable(fra.me.REG[0]) = REGB0;
1223 }
1224 stack_frame_head = fra.me.prev;
1225 return;
1226 }
1227 val_t stream___FDOStream___is_writable(val_t p0){
1228 struct {struct stack_frame_t me;} fra;
1229 val_t REGB0;
1230 val_t tmp;
1231 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1232 fra.me.file = LOCATE_stream;
1233 fra.me.line = 246;
1234 fra.me.meth = LOCATE_stream___FDOStream___is_writable;
1235 fra.me.has_broke = 0;
1236 fra.me.REG_size = 1;
1237 fra.me.REG[0] = NIT_NULL;
1238 fra.me.REG[0] = p0;
1239 REGB0 = TAG_Bool(ATTR_stream___FDOStream____is_writable(fra.me.REG[0])!=NIT_NULL);
1240 /* ./../lib/standard//stream.nit:246 */
1241 if (UNTAG_Bool(REGB0)) {
1242 } else {
1243 fprintf(stderr, "Uninitialized attribute %s", "_is_writable");
1244 fprintf(stderr, " (%s:%d)\n", LOCATE_stream, 246);
1245 nit_exit(1);
1246 }
1247 REGB0 = ATTR_stream___FDOStream____is_writable(fra.me.REG[0]);
1248 stack_frame_head = fra.me.prev;
1249 return REGB0;
1250 }
1251 void stream___FDOStream___init(val_t p0, val_t p1, int* init_table){
1252 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_FDOStream].i;
1253 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1254 val_t REGB0;
1255 val_t tmp;
1256 if (init_table[itpos3]) return;
1257 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1258 fra.me.file = LOCATE_stream;
1259 fra.me.line = 254;
1260 fra.me.meth = LOCATE_stream___FDOStream___init;
1261 fra.me.has_broke = 0;
1262 fra.me.REG_size = 2;
1263 fra.me.REG[0] = NIT_NULL;
1264 fra.me.REG[1] = NIT_NULL;
1265 fra.me.REG[0] = p0;
1266 REGB0 = p1;
1267 fra.me.REG[1] = fra.me.REG[0];
1268 /* ./../lib/standard//stream.nit:254 */
1269 CALL_stream___FDStream___init(fra.me.REG[0])(fra.me.REG[0], REGB0, init_table);
1270 REGB0 = TAG_Bool(true);
1271 /* ./../lib/standard//stream.nit:256 */
1272 ATTR_stream___FDOStream____is_writable(fra.me.REG[1]) = REGB0;
1273 stack_frame_head = fra.me.prev;
1274 init_table[itpos3] = 1;
1275 return;
1276 }
1277 void stream___FDIOStream___init(val_t p0, val_t p1, int* init_table){
1278 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_FDIOStream].i;
1279 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1280 val_t REGB0;
1281 val_t REGB1;
1282 val_t tmp;
1283 if (init_table[itpos4]) return;
1284 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1285 fra.me.file = LOCATE_stream;
1286 fra.me.line = 264;
1287 fra.me.meth = LOCATE_stream___FDIOStream___init;
1288 fra.me.has_broke = 0;
1289 fra.me.REG_size = 2;
1290 fra.me.REG[0] = NIT_NULL;
1291 fra.me.REG[1] = NIT_NULL;
1292 fra.me.REG[0] = p0;
1293 REGB0 = p1;
1294 fra.me.REG[1] = fra.me.REG[0];
1295 REGB1 = REGB0;
1296 /* ./../lib/standard//stream.nit:264 */
1297 CALL_stream___FDIStream___init(fra.me.REG[0])(fra.me.REG[0], REGB0, init_table);
1298 CALL_stream___FDOStream___init(fra.me.REG[0])(fra.me.REG[0], REGB0, init_table);
1299 /* ./../lib/standard//stream.nit:266 */
1300 ATTR_stream___FDStream____fd(fra.me.REG[1]) = REGB1;
1301 REGB1 = TAG_Bool(true);
1302 /* ./../lib/standard//stream.nit:267 */
1303 ATTR_stream___FDOStream____is_writable(fra.me.REG[1]) = REGB1;
1304 stack_frame_head = fra.me.prev;
1305 init_table[itpos4] = 1;
1306 return;
1307 }