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