Merge branch 'alexis/various-fixes' into wip
[nit.git] / c_src / file._sep.c
1 /* This C file is generated by NIT to compile module file. */
2 #include "file._sep.h"
3 void file___Object___printn(val_t p0, val_t p1){
4 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_file;
9 fra.me.line = 25;
10 fra.me.meth = LOCATE_file___Object___printn;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 2;
13 fra.me.REG[0] = NIT_NULL;
14 fra.me.REG[1] = NIT_NULL;
15 fra.me.REG[0] = p0;
16 fra.me.REG[1] = p1;
17 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_Array, ID_Array)) /*cast Array[Object]*/;
18 /* ./../lib/standard//file.nit:25 */
19 if (UNTAG_Bool(REGB0)) {
20 } else {
21 fprintf(stderr, "Cast failed");
22 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 25);
23 nit_exit(1);
24 }
25 fra.me.REG[0] = CALL_file___Object___stdout(fra.me.REG[0])(fra.me.REG[0]);
26 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
27 /* ./../lib/standard//file.nit:28 */
28 CALL_stream___OStream___write(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
29 stack_frame_head = fra.me.prev;
30 return;
31 }
32 void file___Object___print(val_t p0, val_t p1){
33 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
34 val_t REGB0;
35 val_t tmp;
36 static val_t once_value_1; /* Once value */
37 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38 fra.me.file = LOCATE_file;
39 fra.me.line = 31;
40 fra.me.meth = LOCATE_file___Object___print;
41 fra.me.has_broke = 0;
42 fra.me.REG_size = 3;
43 fra.me.REG[0] = NIT_NULL;
44 fra.me.REG[1] = NIT_NULL;
45 fra.me.REG[2] = NIT_NULL;
46 fra.me.REG[0] = p0;
47 fra.me.REG[1] = p1;
48 fra.me.REG[2] = CALL_file___Object___stdout(fra.me.REG[0])(fra.me.REG[0]);
49 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
50 /* ./../lib/standard//file.nit:34 */
51 CALL_stream___OStream___write(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
52 fra.me.REG[0] = CALL_file___Object___stdout(fra.me.REG[0])(fra.me.REG[0]);
53 /* ./../lib/standard//file.nit:35 */
54 if (!once_value_1) {
55 fra.me.REG[1] = BOX_NativeString("\n");
56 REGB0 = TAG_Int(1);
57 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
58 once_value_1 = fra.me.REG[1];
59 register_static_object(&once_value_1);
60 } else fra.me.REG[1] = once_value_1;
61 CALL_stream___OStream___write(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
62 stack_frame_head = fra.me.prev;
63 return;
64 }
65 val_t file___Object___getc(val_t p0){
66 struct {struct stack_frame_t me;} fra;
67 val_t REGB0;
68 val_t tmp;
69 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
70 fra.me.file = LOCATE_file;
71 fra.me.line = 38;
72 fra.me.meth = LOCATE_file___Object___getc;
73 fra.me.has_broke = 0;
74 fra.me.REG_size = 1;
75 fra.me.REG[0] = NIT_NULL;
76 fra.me.REG[0] = p0;
77 fra.me.REG[0] = CALL_file___Object___stdin(fra.me.REG[0])(fra.me.REG[0]);
78 REGB0 = CALL_stream___IStream___read_char(fra.me.REG[0])(fra.me.REG[0]);
79 REGB0 = TAG_Char(UNTAG_Int(REGB0));
80 /* ./../lib/standard//file.nit:41 */
81 goto label1;
82 label1: while(0);
83 stack_frame_head = fra.me.prev;
84 return REGB0;
85 }
86 val_t file___Object___gets(val_t p0){
87 struct {struct stack_frame_t me;} fra;
88 val_t tmp;
89 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
90 fra.me.file = LOCATE_file;
91 fra.me.line = 44;
92 fra.me.meth = LOCATE_file___Object___gets;
93 fra.me.has_broke = 0;
94 fra.me.REG_size = 1;
95 fra.me.REG[0] = NIT_NULL;
96 fra.me.REG[0] = p0;
97 fra.me.REG[0] = CALL_file___Object___stdin(fra.me.REG[0])(fra.me.REG[0]);
98 fra.me.REG[0] = CALL_stream___IStream___read_line(fra.me.REG[0])(fra.me.REG[0]);
99 /* ./../lib/standard//file.nit:47 */
100 goto label1;
101 label1: while(0);
102 stack_frame_head = fra.me.prev;
103 return fra.me.REG[0];
104 }
105 val_t file___Object___stdin(val_t p0){
106 struct {struct stack_frame_t me;} fra;
107 val_t tmp;
108 static val_t once_value_1; /* Once value */
109 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110 fra.me.file = LOCATE_file;
111 fra.me.line = 291;
112 fra.me.meth = LOCATE_file___Object___stdin;
113 fra.me.has_broke = 0;
114 fra.me.REG_size = 1;
115 fra.me.REG[0] = NIT_NULL;
116 fra.me.REG[0] = p0;
117 /* ./../lib/standard//file.nit:292 */
118 if (!once_value_1) {
119 fra.me.REG[0] = NEW_Stdin_file___Stdin___init();
120 once_value_1 = fra.me.REG[0];
121 register_static_object(&once_value_1);
122 } else fra.me.REG[0] = once_value_1;
123 goto label2;
124 label2: while(0);
125 stack_frame_head = fra.me.prev;
126 return fra.me.REG[0];
127 }
128 val_t file___Object___stdout(val_t p0){
129 struct {struct stack_frame_t me;} fra;
130 val_t tmp;
131 static val_t once_value_1; /* Once value */
132 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
133 fra.me.file = LOCATE_file;
134 fra.me.line = 294;
135 fra.me.meth = LOCATE_file___Object___stdout;
136 fra.me.has_broke = 0;
137 fra.me.REG_size = 1;
138 fra.me.REG[0] = NIT_NULL;
139 fra.me.REG[0] = p0;
140 /* ./../lib/standard//file.nit:295 */
141 if (!once_value_1) {
142 fra.me.REG[0] = NEW_Stdout_file___Stdout___init();
143 once_value_1 = fra.me.REG[0];
144 register_static_object(&once_value_1);
145 } else fra.me.REG[0] = once_value_1;
146 goto label2;
147 label2: while(0);
148 stack_frame_head = fra.me.prev;
149 return fra.me.REG[0];
150 }
151 val_t file___Object___stderr(val_t p0){
152 struct {struct stack_frame_t me;} fra;
153 val_t tmp;
154 static val_t once_value_1; /* Once value */
155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
156 fra.me.file = LOCATE_file;
157 fra.me.line = 297;
158 fra.me.meth = LOCATE_file___Object___stderr;
159 fra.me.has_broke = 0;
160 fra.me.REG_size = 1;
161 fra.me.REG[0] = NIT_NULL;
162 fra.me.REG[0] = p0;
163 /* ./../lib/standard//file.nit:298 */
164 if (!once_value_1) {
165 fra.me.REG[0] = NEW_Stderr_file___Stderr___init();
166 once_value_1 = fra.me.REG[0];
167 register_static_object(&once_value_1);
168 } else fra.me.REG[0] = once_value_1;
169 goto label2;
170 label2: while(0);
171 stack_frame_head = fra.me.prev;
172 return fra.me.REG[0];
173 }
174 val_t file___FStream___path(val_t p0){
175 struct {struct stack_frame_t me;} fra;
176 val_t tmp;
177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
178 fra.me.file = LOCATE_file;
179 fra.me.line = 55;
180 fra.me.meth = LOCATE_file___FStream___path;
181 fra.me.has_broke = 0;
182 fra.me.REG_size = 1;
183 fra.me.REG[0] = NIT_NULL;
184 fra.me.REG[0] = p0;
185 fra.me.REG[0] = ATTR_file___FStream____path(fra.me.REG[0]);
186 /* ./../lib/standard//file.nit:55 */
187 stack_frame_head = fra.me.prev;
188 return fra.me.REG[0];
189 }
190 val_t file___FStream___file_stat(val_t p0){
191 struct {struct stack_frame_t me;} fra;
192 val_t REGB0;
193 val_t tmp;
194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
195 fra.me.file = LOCATE_file;
196 fra.me.line = 61;
197 fra.me.meth = LOCATE_file___FStream___file_stat;
198 fra.me.has_broke = 0;
199 fra.me.REG_size = 1;
200 fra.me.REG[0] = NIT_NULL;
201 fra.me.REG[0] = p0;
202 fra.me.REG[0] = ATTR_file___FStream____file(fra.me.REG[0]);
203 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
204 /* ./../lib/standard//file.nit:62 */
205 if (UNTAG_Bool(REGB0)) {
206 fprintf(stderr, "Reciever is null");
207 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 62);
208 nit_exit(1);
209 }
210 fra.me.REG[0] = CALL_file___NativeFile___file_stat(fra.me.REG[0])(fra.me.REG[0]);
211 goto label1;
212 label1: while(0);
213 stack_frame_head = fra.me.prev;
214 return fra.me.REG[0];
215 }
216 void file___IFStream___close(val_t p0){
217 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
218 val_t REGB0;
219 val_t tmp;
220 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
221 fra.me.file = LOCATE_file;
222 fra.me.line = 80;
223 fra.me.meth = LOCATE_file___IFStream___close;
224 fra.me.has_broke = 0;
225 fra.me.REG_size = 2;
226 fra.me.REG[0] = NIT_NULL;
227 fra.me.REG[1] = NIT_NULL;
228 fra.me.REG[0] = p0;
229 fra.me.REG[1] = ATTR_file___FStream____file(fra.me.REG[0]);
230 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
231 /* ./../lib/standard//file.nit:82 */
232 if (UNTAG_Bool(REGB0)) {
233 fprintf(stderr, "Reciever is null");
234 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 82);
235 nit_exit(1);
236 }
237 REGB0 = CALL_file___NativeFile___io_close(fra.me.REG[1])(fra.me.REG[1]);
238 REGB0 = TAG_Bool(true);
239 /* ./../lib/standard//file.nit:83 */
240 ATTR_file___IFStream____end_reached(fra.me.REG[0]) = REGB0;
241 stack_frame_head = fra.me.prev;
242 return;
243 }
244 void file___IFStream___fill_buffer(val_t p0){
245 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
246 val_t REGB0;
247 val_t REGB1;
248 val_t tmp;
249 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
250 fra.me.file = LOCATE_file;
251 fra.me.line = 86;
252 fra.me.meth = LOCATE_file___IFStream___fill_buffer;
253 fra.me.has_broke = 0;
254 fra.me.REG_size = 4;
255 fra.me.REG[0] = NIT_NULL;
256 fra.me.REG[1] = NIT_NULL;
257 fra.me.REG[2] = NIT_NULL;
258 fra.me.REG[3] = NIT_NULL;
259 fra.me.REG[0] = p0;
260 fra.me.REG[1] = ATTR_file___FStream____file(fra.me.REG[0]);
261 fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
262 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
263 /* ./../lib/standard//file.nit:89 */
264 if (UNTAG_Bool(REGB0)) {
265 fprintf(stderr, "Reciever is null");
266 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 89);
267 nit_exit(1);
268 }
269 REGB0 = TAG_Bool(ATTR_string___AbstractString____items(fra.me.REG[2])!=NIT_NULL);
270 if (UNTAG_Bool(REGB0)) {
271 } else {
272 fprintf(stderr, "Uninitialized attribute %s", "_items");
273 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 89);
274 nit_exit(1);
275 }
276 fra.me.REG[2] = ATTR_string___AbstractString____items(fra.me.REG[2]);
277 fra.me.REG[3] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
278 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
279 if (UNTAG_Bool(REGB0)) {
280 fprintf(stderr, "Reciever is null");
281 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 89);
282 nit_exit(1);
283 }
284 REGB0 = TAG_Bool(ATTR_string___Buffer____capacity(fra.me.REG[3])!=NIT_NULL);
285 if (UNTAG_Bool(REGB0)) {
286 } else {
287 fprintf(stderr, "Uninitialized attribute %s", "_capacity");
288 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 89);
289 nit_exit(1);
290 }
291 REGB0 = ATTR_string___Buffer____capacity(fra.me.REG[3]);
292 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
293 if (UNTAG_Bool(REGB1)) {
294 fprintf(stderr, "Reciever is null");
295 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 89);
296 nit_exit(1);
297 }
298 REGB0 = CALL_file___NativeFile___io_read(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2], REGB0);
299 REGB1 = TAG_Int(0);
300 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<=UNTAG_Int(REGB1));
301 /* ./../lib/standard//file.nit:90 */
302 if (UNTAG_Bool(REGB1)) {
303 REGB1 = TAG_Bool(true);
304 /* ./../lib/standard//file.nit:91 */
305 ATTR_file___IFStream____end_reached(fra.me.REG[0]) = REGB1;
306 REGB1 = TAG_Int(0);
307 REGB0 = REGB1;
308 /* ./../lib/standard//file.nit:92 */
309 }
310 fra.me.REG[2] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
311 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
312 /* ./../lib/standard//file.nit:94 */
313 if (UNTAG_Bool(REGB1)) {
314 fprintf(stderr, "Reciever is null");
315 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 94);
316 nit_exit(1);
317 }
318 ATTR_array___AbstractArrayRead____length(fra.me.REG[2]) = REGB0;
319 REGB0 = TAG_Int(0);
320 /* ./../lib/standard//file.nit:95 */
321 ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB0;
322 stack_frame_head = fra.me.prev;
323 return;
324 }
325 val_t file___IFStream___end_reached(val_t p0){
326 struct {struct stack_frame_t me;} fra;
327 val_t REGB0;
328 val_t tmp;
329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
330 fra.me.file = LOCATE_file;
331 fra.me.line = 98;
332 fra.me.meth = LOCATE_file___IFStream___end_reached;
333 fra.me.has_broke = 0;
334 fra.me.REG_size = 1;
335 fra.me.REG[0] = NIT_NULL;
336 fra.me.REG[0] = p0;
337 REGB0 = TAG_Bool(ATTR_file___IFStream____end_reached(fra.me.REG[0])!=NIT_NULL);
338 /* ./../lib/standard//file.nit:98 */
339 if (UNTAG_Bool(REGB0)) {
340 } else {
341 fprintf(stderr, "Uninitialized attribute %s", "_end_reached");
342 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 98);
343 nit_exit(1);
344 }
345 REGB0 = ATTR_file___IFStream____end_reached(fra.me.REG[0]);
346 stack_frame_head = fra.me.prev;
347 return REGB0;
348 }
349 void file___IFStream___reopen(val_t p0){
350 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
351 val_t REGB0;
352 val_t tmp;
353 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
354 fra.me.file = LOCATE_file;
355 fra.me.line = 71;
356 fra.me.meth = LOCATE_file___IFStream___reopen;
357 fra.me.has_broke = 0;
358 fra.me.REG_size = 2;
359 fra.me.REG[0] = NIT_NULL;
360 fra.me.REG[1] = NIT_NULL;
361 fra.me.REG[0] = p0;
362 REGB0 = CALL_stream___IStream___eof(fra.me.REG[0])(fra.me.REG[0]);
363 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
364 /* ./../lib/standard//file.nit:73 */
365 if (UNTAG_Bool(REGB0)) {
366 CALL_stream___IOS___close(fra.me.REG[0])(fra.me.REG[0]);
367 }
368 fra.me.REG[1] = ATTR_file___FStream____path(fra.me.REG[0]);
369 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
370 /* ./../lib/standard//file.nit:74 */
371 if (UNTAG_Bool(REGB0)) {
372 fprintf(stderr, "Reciever is null");
373 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 74);
374 nit_exit(1);
375 }
376 fra.me.REG[1] = CALL_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
377 fra.me.REG[1] = CALL_file___NativeFileCapable___io_open_read(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
378 ATTR_file___FStream____file(fra.me.REG[0]) = fra.me.REG[1];
379 REGB0 = TAG_Bool(false);
380 /* ./../lib/standard//file.nit:75 */
381 ATTR_file___IFStream____end_reached(fra.me.REG[0]) = REGB0;
382 REGB0 = TAG_Int(0);
383 /* ./../lib/standard//file.nit:76 */
384 ATTR_stream___BufferedIStream____buffer_pos(fra.me.REG[0]) = REGB0;
385 fra.me.REG[0] = ATTR_stream___BufferedIStream____buffer(fra.me.REG[0]);
386 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
387 /* ./../lib/standard//file.nit:77 */
388 if (UNTAG_Bool(REGB0)) {
389 fprintf(stderr, "Reciever is null");
390 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 77);
391 nit_exit(1);
392 }
393 CALL_abstract_collection___RemovableCollection___clear(fra.me.REG[0])(fra.me.REG[0]);
394 stack_frame_head = fra.me.prev;
395 return;
396 }
397 void file___IFStream___open(val_t p0, val_t p1, int* init_table){
398 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IFStream].i;
399 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
400 val_t REGB0;
401 val_t REGB1;
402 val_t tmp;
403 if (init_table[itpos0]) return;
404 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
405 fra.me.file = LOCATE_file;
406 fra.me.line = 101;
407 fra.me.meth = LOCATE_file___IFStream___open;
408 fra.me.has_broke = 0;
409 fra.me.REG_size = 2;
410 fra.me.REG[0] = NIT_NULL;
411 fra.me.REG[1] = NIT_NULL;
412 fra.me.REG[0] = p0;
413 fra.me.REG[1] = p1;
414 /* ./../lib/standard//file.nit:104 */
415 ATTR_file___FStream____path(fra.me.REG[0]) = fra.me.REG[1];
416 REGB0 = TAG_Int(10);
417 /* ./../lib/standard//file.nit:105 */
418 CALL_stream___BufferedIStream___prepare_buffer(fra.me.REG[0])(fra.me.REG[0], REGB0);
419 fra.me.REG[1] = ATTR_file___FStream____path(fra.me.REG[0]);
420 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
421 /* ./../lib/standard//file.nit:106 */
422 if (UNTAG_Bool(REGB0)) {
423 fprintf(stderr, "Reciever is null");
424 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 106);
425 nit_exit(1);
426 }
427 fra.me.REG[1] = CALL_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
428 fra.me.REG[1] = CALL_file___NativeFileCapable___io_open_read(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
429 ATTR_file___FStream____file(fra.me.REG[0]) = fra.me.REG[1];
430 fra.me.REG[0] = ATTR_file___FStream____file(fra.me.REG[0]);
431 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
432 /* ./../lib/standard//file.nit:107 */
433 if (UNTAG_Bool(REGB0)) {
434 } else {
435 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
436 if (UNTAG_Bool(REGB1)) {
437 REGB1 = TAG_Bool(false);
438 REGB0 = REGB1;
439 } else {
440 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
441 REGB0 = REGB1;
442 }
443 }
444 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
445 if (UNTAG_Bool(REGB0)) {
446 } else {
447 fprintf(stderr, "Assert %s failed", "'cant_open_file'");
448 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 107);
449 nit_exit(1);
450 }
451 stack_frame_head = fra.me.prev;
452 init_table[itpos0] = 1;
453 return;
454 }
455 void file___IFStream___init(val_t p0, int* init_table){
456 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IFStream].i;
457 struct {struct stack_frame_t me;} fra;
458 val_t tmp;
459 if (init_table[itpos1]) return;
460 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
461 fra.me.file = LOCATE_file;
462 fra.me.line = 110;
463 fra.me.meth = LOCATE_file___IFStream___init;
464 fra.me.has_broke = 0;
465 fra.me.REG_size = 1;
466 fra.me.REG[0] = NIT_NULL;
467 fra.me.REG[0] = p0;
468 /* ./../lib/standard//file.nit:110 */
469 stack_frame_head = fra.me.prev;
470 init_table[itpos1] = 1;
471 return;
472 }
473 void file___IFStream___without_file(val_t p0, int* init_table){
474 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_IFStream].i;
475 struct {struct stack_frame_t me;} fra;
476 val_t tmp;
477 if (init_table[itpos2]) return;
478 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
479 fra.me.file = LOCATE_file;
480 fra.me.line = 111;
481 fra.me.meth = LOCATE_file___IFStream___without_file;
482 fra.me.has_broke = 0;
483 fra.me.REG_size = 1;
484 fra.me.REG[0] = NIT_NULL;
485 fra.me.REG[0] = p0;
486 /* ./../lib/standard//file.nit:111 */
487 stack_frame_head = fra.me.prev;
488 init_table[itpos2] = 1;
489 return;
490 }
491 void file___OFStream___close(val_t p0){
492 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
493 val_t REGB0;
494 val_t tmp;
495 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
496 fra.me.file = LOCATE_file;
497 fra.me.line = 128;
498 fra.me.meth = LOCATE_file___OFStream___close;
499 fra.me.has_broke = 0;
500 fra.me.REG_size = 2;
501 fra.me.REG[0] = NIT_NULL;
502 fra.me.REG[1] = NIT_NULL;
503 fra.me.REG[0] = p0;
504 fra.me.REG[1] = ATTR_file___FStream____file(fra.me.REG[0]);
505 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
506 /* ./../lib/standard//file.nit:130 */
507 if (UNTAG_Bool(REGB0)) {
508 fprintf(stderr, "Reciever is null");
509 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 130);
510 nit_exit(1);
511 }
512 REGB0 = CALL_file___NativeFile___io_close(fra.me.REG[1])(fra.me.REG[1]);
513 REGB0 = TAG_Bool(false);
514 /* ./../lib/standard//file.nit:131 */
515 ATTR_file___OFStream____writable(fra.me.REG[0]) = REGB0;
516 stack_frame_head = fra.me.prev;
517 return;
518 }
519 void file___OFStream___write(val_t p0, val_t p1){
520 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
521 val_t REGB0;
522 val_t tmp;
523 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
524 fra.me.file = LOCATE_file;
525 fra.me.line = 119;
526 fra.me.meth = LOCATE_file___OFStream___write;
527 fra.me.has_broke = 0;
528 fra.me.REG_size = 3;
529 fra.me.REG[0] = NIT_NULL;
530 fra.me.REG[1] = NIT_NULL;
531 fra.me.REG[2] = NIT_NULL;
532 fra.me.REG[0] = p0;
533 fra.me.REG[1] = p1;
534 REGB0 = TAG_Bool(ATTR_file___OFStream____writable(fra.me.REG[0])!=NIT_NULL);
535 /* ./../lib/standard//file.nit:122 */
536 if (UNTAG_Bool(REGB0)) {
537 } else {
538 fprintf(stderr, "Uninitialized attribute %s", "_writable");
539 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 122);
540 nit_exit(1);
541 }
542 REGB0 = ATTR_file___OFStream____writable(fra.me.REG[0]);
543 if (UNTAG_Bool(REGB0)) {
544 } else {
545 fprintf(stderr, "Assert failed");
546 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 122);
547 nit_exit(1);
548 }
549 fra.me.REG[2] = CALL_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
550 REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
551 /* ./../lib/standard//collection//array.nit:23 */
552 if (UNTAG_Bool(REGB0)) {
553 } else {
554 fprintf(stderr, "Uninitialized attribute %s", "_length");
555 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
556 nit_exit(1);
557 }
558 REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
559 /* ./../lib/standard//file.nit:123 */
560 CALL_file___OFStream___write_native(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], REGB0);
561 stack_frame_head = fra.me.prev;
562 return;
563 }
564 val_t file___OFStream___is_writable(val_t p0){
565 struct {struct stack_frame_t me;} fra;
566 val_t REGB0;
567 val_t tmp;
568 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
569 fra.me.file = LOCATE_file;
570 fra.me.line = 126;
571 fra.me.meth = LOCATE_file___OFStream___is_writable;
572 fra.me.has_broke = 0;
573 fra.me.REG_size = 1;
574 fra.me.REG[0] = NIT_NULL;
575 fra.me.REG[0] = p0;
576 REGB0 = TAG_Bool(ATTR_file___OFStream____writable(fra.me.REG[0])!=NIT_NULL);
577 /* ./../lib/standard//file.nit:126 */
578 if (UNTAG_Bool(REGB0)) {
579 } else {
580 fprintf(stderr, "Uninitialized attribute %s", "_writable");
581 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 126);
582 nit_exit(1);
583 }
584 REGB0 = ATTR_file___OFStream____writable(fra.me.REG[0]);
585 goto label1;
586 label1: while(0);
587 stack_frame_head = fra.me.prev;
588 return REGB0;
589 }
590 void file___OFStream___write_native(val_t p0, val_t p1, val_t p2){
591 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
592 val_t REGB0;
593 val_t REGB1;
594 val_t REGB2;
595 val_t REGB3;
596 val_t tmp;
597 static val_t once_value_1; /* Once value */
598 static val_t once_value_2; /* Once value */
599 static val_t once_value_3; /* Once value */
600 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
601 fra.me.file = LOCATE_file;
602 fra.me.line = 137;
603 fra.me.meth = LOCATE_file___OFStream___write_native;
604 fra.me.has_broke = 0;
605 fra.me.REG_size = 3;
606 fra.me.REG[0] = NIT_NULL;
607 fra.me.REG[1] = NIT_NULL;
608 fra.me.REG[2] = NIT_NULL;
609 fra.me.REG[0] = p0;
610 fra.me.REG[1] = p1;
611 REGB0 = p2;
612 REGB1 = TAG_Bool(ATTR_file___OFStream____writable(fra.me.REG[0])!=NIT_NULL);
613 /* ./../lib/standard//file.nit:140 */
614 if (UNTAG_Bool(REGB1)) {
615 } else {
616 fprintf(stderr, "Uninitialized attribute %s", "_writable");
617 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 140);
618 nit_exit(1);
619 }
620 REGB1 = ATTR_file___OFStream____writable(fra.me.REG[0]);
621 if (UNTAG_Bool(REGB1)) {
622 } else {
623 fprintf(stderr, "Assert failed");
624 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 140);
625 nit_exit(1);
626 }
627 fra.me.REG[2] = ATTR_file___FStream____file(fra.me.REG[0]);
628 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
629 /* ./../lib/standard//file.nit:141 */
630 if (UNTAG_Bool(REGB1)) {
631 fprintf(stderr, "Reciever is null");
632 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 141);
633 nit_exit(1);
634 }
635 REGB1 = CALL_file___NativeFile___io_write(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1], REGB0);
636 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB0));
637 /* ./../lib/standard//file.nit:142 */
638 if (UNTAG_Bool(REGB2)) {
639 } else {
640 REGB3 = TAG_Bool((REGB1)==(REGB0));
641 REGB2 = REGB3;
642 /* ./../lib/standard//file.nit:142 */
643 }
644 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
645 if (UNTAG_Bool(REGB2)) {
646 REGB2 = TAG_Int(4);
647 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB2);
648 /* ./../lib/standard//file.nit:144 */
649 if (!once_value_1) {
650 fra.me.REG[2] = BOX_NativeString("Problem in writing : ");
651 REGB2 = TAG_Int(21);
652 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB2);
653 once_value_1 = fra.me.REG[2];
654 register_static_object(&once_value_1);
655 } else fra.me.REG[2] = once_value_1;
656 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
657 array___Array___add(fra.me.REG[1], REGB1);
658 if (!once_value_2) {
659 fra.me.REG[2] = BOX_NativeString(" ");
660 REGB1 = TAG_Int(1);
661 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB1);
662 once_value_2 = fra.me.REG[2];
663 register_static_object(&once_value_2);
664 } else fra.me.REG[2] = once_value_2;
665 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
666 array___Array___add(fra.me.REG[1], REGB0);
667 if (!once_value_3) {
668 fra.me.REG[2] = BOX_NativeString("\n");
669 REGB0 = TAG_Int(1);
670 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
671 once_value_3 = fra.me.REG[2];
672 register_static_object(&once_value_3);
673 } else fra.me.REG[2] = once_value_3;
674 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
675 CALL_file___Object___printn(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
676 }
677 stack_frame_head = fra.me.prev;
678 return;
679 }
680 void file___OFStream___open(val_t p0, val_t p1, int* init_table){
681 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OFStream].i;
682 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
683 val_t REGB0;
684 val_t REGB1;
685 val_t tmp;
686 if (init_table[itpos3]) return;
687 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
688 fra.me.file = LOCATE_file;
689 fra.me.line = 148;
690 fra.me.meth = LOCATE_file___OFStream___open;
691 fra.me.has_broke = 0;
692 fra.me.REG_size = 3;
693 fra.me.REG[0] = NIT_NULL;
694 fra.me.REG[1] = NIT_NULL;
695 fra.me.REG[2] = NIT_NULL;
696 fra.me.REG[0] = p0;
697 fra.me.REG[1] = p1;
698 fra.me.REG[2] = CALL_string___String___to_cstring(fra.me.REG[1])(fra.me.REG[1]);
699 fra.me.REG[2] = CALL_file___NativeFileCapable___io_open_write(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
700 /* ./../lib/standard//file.nit:151 */
701 ATTR_file___FStream____file(fra.me.REG[0]) = fra.me.REG[2];
702 fra.me.REG[2] = ATTR_file___FStream____file(fra.me.REG[0]);
703 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
704 /* ./../lib/standard//file.nit:152 */
705 if (UNTAG_Bool(REGB0)) {
706 } else {
707 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
708 if (UNTAG_Bool(REGB1)) {
709 REGB1 = TAG_Bool(false);
710 REGB0 = REGB1;
711 } else {
712 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
713 REGB0 = REGB1;
714 }
715 }
716 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
717 if (UNTAG_Bool(REGB0)) {
718 } else {
719 fprintf(stderr, "Assert %s failed", "'cant_open_file'");
720 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 152);
721 nit_exit(1);
722 }
723 /* ./../lib/standard//file.nit:153 */
724 ATTR_file___FStream____path(fra.me.REG[0]) = fra.me.REG[1];
725 REGB0 = TAG_Bool(true);
726 /* ./../lib/standard//file.nit:154 */
727 ATTR_file___OFStream____writable(fra.me.REG[0]) = REGB0;
728 stack_frame_head = fra.me.prev;
729 init_table[itpos3] = 1;
730 return;
731 }
732 void file___OFStream___init(val_t p0, int* init_table){
733 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OFStream].i;
734 struct {struct stack_frame_t me;} fra;
735 val_t tmp;
736 if (init_table[itpos4]) return;
737 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
738 fra.me.file = LOCATE_file;
739 fra.me.line = 157;
740 fra.me.meth = LOCATE_file___OFStream___init;
741 fra.me.has_broke = 0;
742 fra.me.REG_size = 1;
743 fra.me.REG[0] = NIT_NULL;
744 fra.me.REG[0] = p0;
745 /* ./../lib/standard//file.nit:157 */
746 stack_frame_head = fra.me.prev;
747 init_table[itpos4] = 1;
748 return;
749 }
750 void file___OFStream___without_file(val_t p0, int* init_table){
751 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OFStream].i;
752 struct {struct stack_frame_t me;} fra;
753 val_t tmp;
754 if (init_table[itpos5]) return;
755 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
756 fra.me.file = LOCATE_file;
757 fra.me.line = 158;
758 fra.me.meth = LOCATE_file___OFStream___without_file;
759 fra.me.has_broke = 0;
760 fra.me.REG_size = 1;
761 fra.me.REG[0] = NIT_NULL;
762 fra.me.REG[0] = p0;
763 /* ./../lib/standard//file.nit:158 */
764 stack_frame_head = fra.me.prev;
765 init_table[itpos5] = 1;
766 return;
767 }
768 void file___Stdin___init(val_t p0, int* init_table){
769 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Stdin].i;
770 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
771 val_t REGB0;
772 val_t tmp;
773 static val_t once_value_1; /* Once value */
774 if (init_table[itpos6]) return;
775 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
776 fra.me.file = LOCATE_file;
777 fra.me.line = 165;
778 fra.me.meth = LOCATE_file___Stdin___init;
779 fra.me.has_broke = 0;
780 fra.me.REG_size = 2;
781 fra.me.REG[0] = NIT_NULL;
782 fra.me.REG[1] = NIT_NULL;
783 fra.me.REG[0] = p0;
784 fra.me.REG[1] = fra.me.REG[0];
785 /* ./../lib/standard//file.nit:165 */
786 CALL_file___IFStream___init(fra.me.REG[0])(fra.me.REG[0], init_table);
787 fra.me.REG[0] = CALL_file___NativeFileCapable___native_stdin(fra.me.REG[1])(fra.me.REG[1]);
788 /* ./../lib/standard//file.nit:166 */
789 ATTR_file___FStream____file(fra.me.REG[1]) = fra.me.REG[0];
790 /* ./../lib/standard//file.nit:167 */
791 if (!once_value_1) {
792 fra.me.REG[0] = BOX_NativeString("/dev/stdin");
793 REGB0 = TAG_Int(10);
794 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
795 once_value_1 = fra.me.REG[0];
796 register_static_object(&once_value_1);
797 } else fra.me.REG[0] = once_value_1;
798 ATTR_file___FStream____path(fra.me.REG[1]) = fra.me.REG[0];
799 REGB0 = TAG_Int(1);
800 /* ./../lib/standard//file.nit:168 */
801 CALL_stream___BufferedIStream___prepare_buffer(fra.me.REG[1])(fra.me.REG[1], REGB0);
802 stack_frame_head = fra.me.prev;
803 init_table[itpos6] = 1;
804 return;
805 }
806 void file___Stdout___init(val_t p0, int* init_table){
807 int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Stdout].i;
808 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
809 val_t REGB0;
810 val_t tmp;
811 static val_t once_value_1; /* Once value */
812 if (init_table[itpos7]) return;
813 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
814 fra.me.file = LOCATE_file;
815 fra.me.line = 174;
816 fra.me.meth = LOCATE_file___Stdout___init;
817 fra.me.has_broke = 0;
818 fra.me.REG_size = 2;
819 fra.me.REG[0] = NIT_NULL;
820 fra.me.REG[1] = NIT_NULL;
821 fra.me.REG[0] = p0;
822 fra.me.REG[1] = fra.me.REG[0];
823 /* ./../lib/standard//file.nit:174 */
824 CALL_file___OFStream___init(fra.me.REG[0])(fra.me.REG[0], init_table);
825 fra.me.REG[0] = CALL_file___NativeFileCapable___native_stdout(fra.me.REG[1])(fra.me.REG[1]);
826 /* ./../lib/standard//file.nit:175 */
827 ATTR_file___FStream____file(fra.me.REG[1]) = fra.me.REG[0];
828 /* ./../lib/standard//file.nit:176 */
829 if (!once_value_1) {
830 fra.me.REG[0] = BOX_NativeString("/dev/stdout");
831 REGB0 = TAG_Int(11);
832 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
833 once_value_1 = fra.me.REG[0];
834 register_static_object(&once_value_1);
835 } else fra.me.REG[0] = once_value_1;
836 ATTR_file___FStream____path(fra.me.REG[1]) = fra.me.REG[0];
837 REGB0 = TAG_Bool(true);
838 /* ./../lib/standard//file.nit:177 */
839 ATTR_file___OFStream____writable(fra.me.REG[1]) = REGB0;
840 stack_frame_head = fra.me.prev;
841 init_table[itpos7] = 1;
842 return;
843 }
844 void file___Stderr___init(val_t p0, int* init_table){
845 int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Stderr].i;
846 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
847 val_t REGB0;
848 val_t tmp;
849 static val_t once_value_1; /* Once value */
850 if (init_table[itpos8]) return;
851 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
852 fra.me.file = LOCATE_file;
853 fra.me.line = 183;
854 fra.me.meth = LOCATE_file___Stderr___init;
855 fra.me.has_broke = 0;
856 fra.me.REG_size = 2;
857 fra.me.REG[0] = NIT_NULL;
858 fra.me.REG[1] = NIT_NULL;
859 fra.me.REG[0] = p0;
860 fra.me.REG[1] = fra.me.REG[0];
861 /* ./../lib/standard//file.nit:183 */
862 CALL_file___OFStream___init(fra.me.REG[0])(fra.me.REG[0], init_table);
863 fra.me.REG[0] = CALL_file___NativeFileCapable___native_stderr(fra.me.REG[1])(fra.me.REG[1]);
864 /* ./../lib/standard//file.nit:184 */
865 ATTR_file___FStream____file(fra.me.REG[1]) = fra.me.REG[0];
866 /* ./../lib/standard//file.nit:185 */
867 if (!once_value_1) {
868 fra.me.REG[0] = BOX_NativeString("/dev/stderr");
869 REGB0 = TAG_Int(11);
870 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
871 once_value_1 = fra.me.REG[0];
872 register_static_object(&once_value_1);
873 } else fra.me.REG[0] = once_value_1;
874 ATTR_file___FStream____path(fra.me.REG[1]) = fra.me.REG[0];
875 REGB0 = TAG_Bool(true);
876 /* ./../lib/standard//file.nit:186 */
877 ATTR_file___OFStream____writable(fra.me.REG[1]) = REGB0;
878 stack_frame_head = fra.me.prev;
879 init_table[itpos8] = 1;
880 return;
881 }
882 val_t file___String___file_exists(val_t p0){
883 struct {struct stack_frame_t me;} fra;
884 val_t REGB0;
885 val_t tmp;
886 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
887 fra.me.file = LOCATE_file;
888 fra.me.line = 193;
889 fra.me.meth = LOCATE_file___String___file_exists;
890 fra.me.has_broke = 0;
891 fra.me.REG_size = 1;
892 fra.me.REG[0] = NIT_NULL;
893 fra.me.REG[0] = p0;
894 fra.me.REG[0] = CALL_string___String___to_cstring(fra.me.REG[0])(fra.me.REG[0]);
895 REGB0 = CALL_file___NativeString___file_exists(fra.me.REG[0])(fra.me.REG[0]);
896 /* ./../lib/standard//file.nit:194 */
897 goto label1;
898 label1: while(0);
899 stack_frame_head = fra.me.prev;
900 return REGB0;
901 }
902 val_t file___String___file_stat(val_t p0){
903 struct {struct stack_frame_t me;} fra;
904 val_t tmp;
905 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
906 fra.me.file = LOCATE_file;
907 fra.me.line = 196;
908 fra.me.meth = LOCATE_file___String___file_stat;
909 fra.me.has_broke = 0;
910 fra.me.REG_size = 1;
911 fra.me.REG[0] = NIT_NULL;
912 fra.me.REG[0] = p0;
913 fra.me.REG[0] = CALL_string___String___to_cstring(fra.me.REG[0])(fra.me.REG[0]);
914 fra.me.REG[0] = CALL_file___NativeString___file_stat(fra.me.REG[0])(fra.me.REG[0]);
915 /* ./../lib/standard//file.nit:196 */
916 goto label1;
917 label1: while(0);
918 stack_frame_head = fra.me.prev;
919 return fra.me.REG[0];
920 }
921 val_t file___String___file_delete(val_t p0){
922 struct {struct stack_frame_t me;} fra;
923 val_t REGB0;
924 val_t tmp;
925 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
926 fra.me.file = LOCATE_file;
927 fra.me.line = 198;
928 fra.me.meth = LOCATE_file___String___file_delete;
929 fra.me.has_broke = 0;
930 fra.me.REG_size = 1;
931 fra.me.REG[0] = NIT_NULL;
932 fra.me.REG[0] = p0;
933 fra.me.REG[0] = CALL_string___String___to_cstring(fra.me.REG[0])(fra.me.REG[0]);
934 REGB0 = CALL_file___NativeString___file_delete(fra.me.REG[0])(fra.me.REG[0]);
935 /* ./../lib/standard//file.nit:198 */
936 goto label1;
937 label1: while(0);
938 stack_frame_head = fra.me.prev;
939 return REGB0;
940 }
941 val_t file___String___strip_extension(val_t p0, val_t p1){
942 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
943 val_t REGB0;
944 val_t REGB1;
945 val_t REGB2;
946 val_t tmp;
947 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
948 fra.me.file = LOCATE_file;
949 fra.me.line = 200;
950 fra.me.meth = LOCATE_file___String___strip_extension;
951 fra.me.has_broke = 0;
952 fra.me.REG_size = 2;
953 fra.me.REG[0] = NIT_NULL;
954 fra.me.REG[1] = NIT_NULL;
955 fra.me.REG[0] = p0;
956 fra.me.REG[1] = p1;
957 REGB0 = CALL_string___AbstractString___has_suffix(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
958 /* ./../lib/standard//file.nit:202 */
959 if (UNTAG_Bool(REGB0)) {
960 REGB0 = TAG_Int(0);
961 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
962 /* ./../lib/standard//collection//array.nit:23 */
963 if (UNTAG_Bool(REGB1)) {
964 } else {
965 fprintf(stderr, "Uninitialized attribute %s", "_length");
966 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
967 nit_exit(1);
968 }
969 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
970 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
971 if (UNTAG_Bool(REGB2)) {
972 } else {
973 fprintf(stderr, "Uninitialized attribute %s", "_length");
974 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
975 nit_exit(1);
976 }
977 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
978 REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
979 fra.me.REG[1] = CALL_string___AbstractString___substring(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
980 /* ./../lib/standard//file.nit:203 */
981 goto label1;
982 }
983 fra.me.REG[1] = fra.me.REG[0];
984 /* ./../lib/standard//file.nit:205 */
985 goto label1;
986 label1: while(0);
987 stack_frame_head = fra.me.prev;
988 return fra.me.REG[1];
989 }
990 val_t file___String___basename(val_t p0, val_t p1){
991 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
992 val_t REGB0;
993 val_t REGB1;
994 val_t REGB2;
995 val_t tmp;
996 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
997 fra.me.file = LOCATE_file;
998 fra.me.line = 208;
999 fra.me.meth = LOCATE_file___String___basename;
1000 fra.me.has_broke = 0;
1001 fra.me.REG_size = 3;
1002 fra.me.REG[0] = NIT_NULL;
1003 fra.me.REG[1] = NIT_NULL;
1004 fra.me.REG[2] = NIT_NULL;
1005 fra.me.REG[0] = p0;
1006 fra.me.REG[1] = p1;
1007 REGB0 = TAG_Char('/');
1008 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
1009 /* ./../lib/standard//file.nit:210 */
1010 if (UNTAG_Bool(REGB1)) {
1011 } else {
1012 fprintf(stderr, "Uninitialized attribute %s", "_length");
1013 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 210);
1014 nit_exit(1);
1015 }
1016 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
1017 REGB2 = TAG_Int(1);
1018 REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
1019 REGB2 = CALL_array___AbstractArrayRead___last_index_of_from(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
1020 fra.me.REG[2] = fra.me.REG[0];
1021 REGB0 = TAG_Int(0);
1022 REGB0 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB0));
1023 /* ./../lib/standard//file.nit:212 */
1024 if (UNTAG_Bool(REGB0)) {
1025 REGB0 = TAG_Int(1);
1026 REGB0 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB0));
1027 fra.me.REG[0] = CALL_string___AbstractString___substring_from(fra.me.REG[0])(fra.me.REG[0], REGB0);
1028 fra.me.REG[2] = fra.me.REG[0];
1029 /* ./../lib/standard//file.nit:213 */
1030 }
1031 fra.me.REG[1] = CALL_file___String___strip_extension(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1032 /* ./../lib/standard//file.nit:215 */
1033 goto label1;
1034 label1: while(0);
1035 stack_frame_head = fra.me.prev;
1036 return fra.me.REG[1];
1037 }
1038 val_t file___String___dirname(val_t p0){
1039 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1040 val_t REGB0;
1041 val_t REGB1;
1042 val_t REGB2;
1043 val_t tmp;
1044 static val_t once_value_2; /* Once value */
1045 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1046 fra.me.file = LOCATE_file;
1047 fra.me.line = 218;
1048 fra.me.meth = LOCATE_file___String___dirname;
1049 fra.me.has_broke = 0;
1050 fra.me.REG_size = 2;
1051 fra.me.REG[0] = NIT_NULL;
1052 fra.me.REG[1] = NIT_NULL;
1053 fra.me.REG[0] = p0;
1054 REGB0 = TAG_Char('/');
1055 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
1056 /* ./../lib/standard//file.nit:220 */
1057 if (UNTAG_Bool(REGB1)) {
1058 } else {
1059 fprintf(stderr, "Uninitialized attribute %s", "_length");
1060 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 220);
1061 nit_exit(1);
1062 }
1063 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
1064 REGB2 = TAG_Int(1);
1065 REGB2 = TAG_Int(UNTAG_Int(REGB1)-UNTAG_Int(REGB2));
1066 REGB2 = CALL_array___AbstractArrayRead___last_index_of_from(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
1067 REGB0 = TAG_Int(0);
1068 REGB0 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB0));
1069 /* ./../lib/standard//file.nit:221 */
1070 if (UNTAG_Bool(REGB0)) {
1071 REGB0 = TAG_Int(0);
1072 fra.me.REG[0] = CALL_string___AbstractString___substring(fra.me.REG[0])(fra.me.REG[0], REGB0, REGB2);
1073 /* ./../lib/standard//file.nit:222 */
1074 goto label1;
1075 } else {
1076 /* ./../lib/standard//file.nit:224 */
1077 if (!once_value_2) {
1078 fra.me.REG[1] = BOX_NativeString(".");
1079 REGB2 = TAG_Int(1);
1080 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB2);
1081 once_value_2 = fra.me.REG[1];
1082 register_static_object(&once_value_2);
1083 } else fra.me.REG[1] = once_value_2;
1084 fra.me.REG[0] = fra.me.REG[1];
1085 goto label1;
1086 }
1087 label1: while(0);
1088 stack_frame_head = fra.me.prev;
1089 return fra.me.REG[0];
1090 }
1091 val_t file___String___file_path(val_t p0){
1092 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1093 val_t REGB0;
1094 val_t REGB1;
1095 val_t REGB2;
1096 val_t tmp;
1097 static val_t once_value_2; /* Once value */
1098 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1099 fra.me.file = LOCATE_file;
1100 fra.me.line = 228;
1101 fra.me.meth = LOCATE_file___String___file_path;
1102 fra.me.has_broke = 0;
1103 fra.me.REG_size = 2;
1104 fra.me.REG[0] = NIT_NULL;
1105 fra.me.REG[1] = NIT_NULL;
1106 fra.me.REG[0] = p0;
1107 REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[0])!=NIT_NULL);
1108 /* ./../lib/standard//file.nit:230 */
1109 if (UNTAG_Bool(REGB0)) {
1110 } else {
1111 fprintf(stderr, "Uninitialized attribute %s", "_length");
1112 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 230);
1113 nit_exit(1);
1114 }
1115 REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[0]);
1116 REGB1 = TAG_Char('/');
1117 REGB2 = TAG_Int(1);
1118 REGB2 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB2));
1119 REGB2 = CALL_array___AbstractArrayRead___last_index_of_from(fra.me.REG[0])(fra.me.REG[0], REGB1, REGB2);
1120 REGB1 = TAG_Int(0);
1121 REGB1 = TAG_Bool(UNTAG_Int(REGB2)>=UNTAG_Int(REGB1));
1122 /* ./../lib/standard//file.nit:232 */
1123 if (UNTAG_Bool(REGB1)) {
1124 REGB1 = TAG_Int(0);
1125 fra.me.REG[0] = CALL_string___AbstractString___substring(fra.me.REG[0])(fra.me.REG[0], REGB1, REGB2);
1126 /* ./../lib/standard//file.nit:233 */
1127 goto label1;
1128 }
1129 /* ./../lib/standard//file.nit:235 */
1130 if (!once_value_2) {
1131 fra.me.REG[1] = BOX_NativeString(".");
1132 REGB2 = TAG_Int(1);
1133 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB2);
1134 once_value_2 = fra.me.REG[1];
1135 register_static_object(&once_value_2);
1136 } else fra.me.REG[1] = once_value_2;
1137 fra.me.REG[0] = fra.me.REG[1];
1138 goto label1;
1139 label1: while(0);
1140 stack_frame_head = fra.me.prev;
1141 return fra.me.REG[0];
1142 }
1143 void file___String___mkdir(val_t p0){
1144 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1145 val_t REGB0;
1146 val_t REGB1;
1147 val_t REGB2;
1148 val_t tmp;
1149 static val_t once_value_1; /* Once value */
1150 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1151 fra.me.file = LOCATE_file;
1152 fra.me.line = 238;
1153 fra.me.meth = LOCATE_file___String___mkdir;
1154 fra.me.has_broke = 0;
1155 fra.me.REG_size = 3;
1156 fra.me.REG[0] = NIT_NULL;
1157 fra.me.REG[1] = NIT_NULL;
1158 fra.me.REG[2] = NIT_NULL;
1159 fra.me.REG[0] = p0;
1160 /* ./../lib/standard//file.nit:241 */
1161 if (!once_value_1) {
1162 fra.me.REG[1] = BOX_NativeString("/");
1163 REGB0 = TAG_Int(1);
1164 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
1165 once_value_1 = fra.me.REG[1];
1166 register_static_object(&once_value_1);
1167 } else fra.me.REG[1] = once_value_1;
1168 fra.me.REG[1] = CALL_string_search___String___split_with(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1169 fra.me.REG[0] = NEW_Buffer_string___Buffer___init();
1170 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[1])(fra.me.REG[1]);
1171 /* ./../lib/standard//file.nit:243 */
1172 if (UNTAG_Bool(REGB0)) {
1173 goto label2;
1174 }
1175 REGB0 = TAG_Int(0);
1176 fra.me.REG[2] = fra.me.REG[1];
1177 REGB1 = TAG_Int(0);
1178 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
1179 /* ./../lib/standard//collection//array.nit:233 */
1180 if (UNTAG_Bool(REGB1)) {
1181 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
1182 if (UNTAG_Bool(REGB1)) {
1183 } else {
1184 fprintf(stderr, "Uninitialized attribute %s", "_length");
1185 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
1186 nit_exit(1);
1187 }
1188 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
1189 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1190 /* ./../lib/standard//collection//array.nit:233 */
1191 } else {
1192 REGB2 = TAG_Bool(false);
1193 REGB1 = REGB2;
1194 }
1195 if (UNTAG_Bool(REGB1)) {
1196 } else {
1197 fprintf(stderr, "Assert %s failed", "'index'");
1198 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 233);
1199 nit_exit(1);
1200 }
1201 fra.me.REG[2] = ATTR_array___Array____items(fra.me.REG[2]);
1202 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1203 /* ./../lib/standard//collection//array.nit:234 */
1204 if (UNTAG_Bool(REGB1)) {
1205 fprintf(stderr, "Reciever is null");
1206 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 234);
1207 nit_exit(1);
1208 }
1209 fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB0)];
1210 /* ./../lib/standard//collection//array.nit:234 */
1211 goto label3;
1212 label3: while(0);
1213 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1214 /* ./../lib/standard//file.nit:244 */
1215 if (UNTAG_Bool(REGB0)) {
1216 fprintf(stderr, "Reciever is null");
1217 fprintf(stderr, " (%s:%d)\n", LOCATE_file, 244);
1218 nit_exit(1);
1219 }
1220 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
1221 if (UNTAG_Bool(REGB0)) {
1222 REGB0 = TAG_Char('/');
1223 /* ./../lib/standard//file.nit:246 */
1224 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], REGB0);
1225 }
1226 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
1227 /* ./../lib/standard//file.nit:248 */
1228 while(1) {
1229 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
1230 if (UNTAG_Bool(REGB0)) {
1231 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
1232 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
1233 /* ./../lib/standard//file.nit:249 */
1234 if (UNTAG_Bool(REGB0)) {
1235 goto label4;
1236 }
1237 /* ./../lib/standard//file.nit:250 */
1238 CALL_abstract_collection___Sequence___append(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
1239 REGB0 = TAG_Char('/');
1240 /* ./../lib/standard//file.nit:251 */
1241 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], REGB0);
1242 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
1243 fra.me.REG[2] = CALL_string___String___to_cstring(fra.me.REG[2])(fra.me.REG[2]);
1244 /* ./../lib/standard//file.nit:252 */
1245 CALL_file___NativeString___file_mkdir(fra.me.REG[2])(fra.me.REG[2]);
1246 label4: while(0);
1247 } else {
1248 /* ./../lib/standard//file.nit:248 */
1249 goto label5;
1250 }
1251 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
1252 }
1253 label5: while(0);
1254 label2: while(0);
1255 stack_frame_head = fra.me.prev;
1256 return;
1257 }
1258 val_t file___NativeString___file_exists(val_t p0){
1259 struct {struct stack_frame_t me;} fra;
1260 val_t REGB0;
1261 val_t tmp;
1262 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1263 fra.me.file = LOCATE_file;
1264 fra.me.line = 258;
1265 fra.me.meth = LOCATE_file___NativeString___file_exists;
1266 fra.me.has_broke = 0;
1267 fra.me.REG_size = 1;
1268 fra.me.REG[0] = NIT_NULL;
1269 fra.me.REG[0] = p0;
1270 REGB0 = TAG_Bool(string_NativeString_NativeString_file_exists_0(UNBOX_NativeString(fra.me.REG[0])));
1271 /* ./../lib/standard//file.nit:258 */
1272 stack_frame_head = fra.me.prev;
1273 return REGB0;
1274 }
1275 val_t file___NativeString___file_stat(val_t p0){
1276 struct {struct stack_frame_t me;} fra;
1277 val_t tmp;
1278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1279 fra.me.file = LOCATE_file;
1280 fra.me.line = 259;
1281 fra.me.meth = LOCATE_file___NativeString___file_stat;
1282 fra.me.has_broke = 0;
1283 fra.me.REG_size = 1;
1284 fra.me.REG[0] = NIT_NULL;
1285 fra.me.REG[0] = p0;
1286 fra.me.REG[0] = BOX_FileStat(string_NativeString_NativeString_file_stat_0(UNBOX_NativeString(fra.me.REG[0])));
1287 /* ./../lib/standard//file.nit:259 */
1288 stack_frame_head = fra.me.prev;
1289 return fra.me.REG[0];
1290 }
1291 val_t file___NativeString___file_mkdir(val_t p0){
1292 struct {struct stack_frame_t me;} fra;
1293 val_t REGB0;
1294 val_t tmp;
1295 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1296 fra.me.file = LOCATE_file;
1297 fra.me.line = 260;
1298 fra.me.meth = LOCATE_file___NativeString___file_mkdir;
1299 fra.me.has_broke = 0;
1300 fra.me.REG_size = 1;
1301 fra.me.REG[0] = NIT_NULL;
1302 fra.me.REG[0] = p0;
1303 REGB0 = TAG_Bool(string_NativeString_NativeString_file_mkdir_0(UNBOX_NativeString(fra.me.REG[0])));
1304 /* ./../lib/standard//file.nit:260 */
1305 stack_frame_head = fra.me.prev;
1306 return REGB0;
1307 }
1308 val_t file___NativeString___file_delete(val_t p0){
1309 struct {struct stack_frame_t me;} fra;
1310 val_t REGB0;
1311 val_t tmp;
1312 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1313 fra.me.file = LOCATE_file;
1314 fra.me.line = 261;
1315 fra.me.meth = LOCATE_file___NativeString___file_delete;
1316 fra.me.has_broke = 0;
1317 fra.me.REG_size = 1;
1318 fra.me.REG[0] = NIT_NULL;
1319 fra.me.REG[0] = p0;
1320 REGB0 = TAG_Bool(string_NativeString_NativeString_file_delete_0(UNBOX_NativeString(fra.me.REG[0])));
1321 /* ./../lib/standard//file.nit:261 */
1322 stack_frame_head = fra.me.prev;
1323 return REGB0;
1324 }
1325 val_t file___FileStat___mode(val_t p0){
1326 struct {struct stack_frame_t me;} fra;
1327 val_t REGB0;
1328 val_t tmp;
1329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1330 fra.me.file = LOCATE_file;
1331 fra.me.line = 266;
1332 fra.me.meth = LOCATE_file___FileStat___mode;
1333 fra.me.has_broke = 0;
1334 fra.me.REG_size = 1;
1335 fra.me.REG[0] = NIT_NULL;
1336 fra.me.REG[0] = p0;
1337 REGB0 = TAG_Int(file_FileStat_FileStat_mode_0(UNBOX_FileStat(fra.me.REG[0])));
1338 /* ./../lib/standard//file.nit:266 */
1339 stack_frame_head = fra.me.prev;
1340 return REGB0;
1341 }
1342 val_t file___FileStat___atime(val_t p0){
1343 struct {struct stack_frame_t me;} fra;
1344 val_t REGB0;
1345 val_t tmp;
1346 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1347 fra.me.file = LOCATE_file;
1348 fra.me.line = 268;
1349 fra.me.meth = LOCATE_file___FileStat___atime;
1350 fra.me.has_broke = 0;
1351 fra.me.REG_size = 1;
1352 fra.me.REG[0] = NIT_NULL;
1353 fra.me.REG[0] = p0;
1354 REGB0 = TAG_Int(file_FileStat_FileStat_atime_0(UNBOX_FileStat(fra.me.REG[0])));
1355 /* ./../lib/standard//file.nit:268 */
1356 stack_frame_head = fra.me.prev;
1357 return REGB0;
1358 }
1359 val_t file___FileStat___ctime(val_t p0){
1360 struct {struct stack_frame_t me;} fra;
1361 val_t REGB0;
1362 val_t tmp;
1363 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1364 fra.me.file = LOCATE_file;
1365 fra.me.line = 269;
1366 fra.me.meth = LOCATE_file___FileStat___ctime;
1367 fra.me.has_broke = 0;
1368 fra.me.REG_size = 1;
1369 fra.me.REG[0] = NIT_NULL;
1370 fra.me.REG[0] = p0;
1371 REGB0 = TAG_Int(file_FileStat_FileStat_ctime_0(UNBOX_FileStat(fra.me.REG[0])));
1372 /* ./../lib/standard//file.nit:269 */
1373 stack_frame_head = fra.me.prev;
1374 return REGB0;
1375 }
1376 val_t file___FileStat___mtime(val_t p0){
1377 struct {struct stack_frame_t me;} fra;
1378 val_t REGB0;
1379 val_t tmp;
1380 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1381 fra.me.file = LOCATE_file;
1382 fra.me.line = 270;
1383 fra.me.meth = LOCATE_file___FileStat___mtime;
1384 fra.me.has_broke = 0;
1385 fra.me.REG_size = 1;
1386 fra.me.REG[0] = NIT_NULL;
1387 fra.me.REG[0] = p0;
1388 REGB0 = TAG_Int(file_FileStat_FileStat_mtime_0(UNBOX_FileStat(fra.me.REG[0])));
1389 /* ./../lib/standard//file.nit:270 */
1390 stack_frame_head = fra.me.prev;
1391 return REGB0;
1392 }
1393 val_t file___FileStat___size(val_t p0){
1394 struct {struct stack_frame_t me;} fra;
1395 val_t REGB0;
1396 val_t tmp;
1397 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1398 fra.me.file = LOCATE_file;
1399 fra.me.line = 271;
1400 fra.me.meth = LOCATE_file___FileStat___size;
1401 fra.me.has_broke = 0;
1402 fra.me.REG_size = 1;
1403 fra.me.REG[0] = NIT_NULL;
1404 fra.me.REG[0] = p0;
1405 REGB0 = TAG_Int(file_FileStat_FileStat_size_0(UNBOX_FileStat(fra.me.REG[0])));
1406 /* ./../lib/standard//file.nit:271 */
1407 stack_frame_head = fra.me.prev;
1408 return REGB0;
1409 }
1410 val_t file___NativeFile___io_read(val_t p0, val_t p1, val_t p2){
1411 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1412 val_t REGB0;
1413 val_t tmp;
1414 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1415 fra.me.file = LOCATE_file;
1416 fra.me.line = 277;
1417 fra.me.meth = LOCATE_file___NativeFile___io_read;
1418 fra.me.has_broke = 0;
1419 fra.me.REG_size = 2;
1420 fra.me.REG[0] = NIT_NULL;
1421 fra.me.REG[1] = NIT_NULL;
1422 fra.me.REG[0] = p0;
1423 fra.me.REG[1] = p1;
1424 REGB0 = p2;
1425 REGB0 = TAG_Int(file_NativeFile_NativeFile_io_read_2(UNBOX_NativeFile(fra.me.REG[0]), UNBOX_NativeString(fra.me.REG[1]), UNTAG_Int(REGB0)));
1426 /* ./../lib/standard//file.nit:277 */
1427 stack_frame_head = fra.me.prev;
1428 return REGB0;
1429 }
1430 val_t file___NativeFile___io_write(val_t p0, val_t p1, val_t p2){
1431 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1432 val_t REGB0;
1433 val_t tmp;
1434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1435 fra.me.file = LOCATE_file;
1436 fra.me.line = 278;
1437 fra.me.meth = LOCATE_file___NativeFile___io_write;
1438 fra.me.has_broke = 0;
1439 fra.me.REG_size = 2;
1440 fra.me.REG[0] = NIT_NULL;
1441 fra.me.REG[1] = NIT_NULL;
1442 fra.me.REG[0] = p0;
1443 fra.me.REG[1] = p1;
1444 REGB0 = p2;
1445 REGB0 = TAG_Int(file_NativeFile_NativeFile_io_write_2(UNBOX_NativeFile(fra.me.REG[0]), UNBOX_NativeString(fra.me.REG[1]), UNTAG_Int(REGB0)));
1446 /* ./../lib/standard//file.nit:278 */
1447 stack_frame_head = fra.me.prev;
1448 return REGB0;
1449 }
1450 val_t file___NativeFile___io_close(val_t p0){
1451 struct {struct stack_frame_t me;} fra;
1452 val_t REGB0;
1453 val_t tmp;
1454 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1455 fra.me.file = LOCATE_file;
1456 fra.me.line = 279;
1457 fra.me.meth = LOCATE_file___NativeFile___io_close;
1458 fra.me.has_broke = 0;
1459 fra.me.REG_size = 1;
1460 fra.me.REG[0] = NIT_NULL;
1461 fra.me.REG[0] = p0;
1462 REGB0 = TAG_Int(file_NativeFile_NativeFile_io_close_0(UNBOX_NativeFile(fra.me.REG[0])));
1463 /* ./../lib/standard//file.nit:279 */
1464 stack_frame_head = fra.me.prev;
1465 return REGB0;
1466 }
1467 val_t file___NativeFile___file_stat(val_t p0){
1468 struct {struct stack_frame_t me;} fra;
1469 val_t tmp;
1470 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1471 fra.me.file = LOCATE_file;
1472 fra.me.line = 280;
1473 fra.me.meth = LOCATE_file___NativeFile___file_stat;
1474 fra.me.has_broke = 0;
1475 fra.me.REG_size = 1;
1476 fra.me.REG[0] = NIT_NULL;
1477 fra.me.REG[0] = p0;
1478 fra.me.REG[0] = BOX_FileStat(file_NativeFile_NativeFile_file_stat_0(UNBOX_NativeFile(fra.me.REG[0])));
1479 /* ./../lib/standard//file.nit:280 */
1480 stack_frame_head = fra.me.prev;
1481 return fra.me.REG[0];
1482 }
1483 val_t file___NativeFileCapable___io_open_read(val_t p0, val_t p1){
1484 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1485 val_t tmp;
1486 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1487 fra.me.file = LOCATE_file;
1488 fra.me.line = 284;
1489 fra.me.meth = LOCATE_file___NativeFileCapable___io_open_read;
1490 fra.me.has_broke = 0;
1491 fra.me.REG_size = 2;
1492 fra.me.REG[0] = NIT_NULL;
1493 fra.me.REG[1] = NIT_NULL;
1494 fra.me.REG[0] = p0;
1495 fra.me.REG[1] = p1;
1496 fra.me.REG[1] = BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_io_open_read_1(fra.me.REG[0], UNBOX_NativeString(fra.me.REG[1])));
1497 /* ./../lib/standard//file.nit:284 */
1498 stack_frame_head = fra.me.prev;
1499 return fra.me.REG[1];
1500 }
1501 val_t file___NativeFileCapable___io_open_write(val_t p0, val_t p1){
1502 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1503 val_t tmp;
1504 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1505 fra.me.file = LOCATE_file;
1506 fra.me.line = 285;
1507 fra.me.meth = LOCATE_file___NativeFileCapable___io_open_write;
1508 fra.me.has_broke = 0;
1509 fra.me.REG_size = 2;
1510 fra.me.REG[0] = NIT_NULL;
1511 fra.me.REG[1] = NIT_NULL;
1512 fra.me.REG[0] = p0;
1513 fra.me.REG[1] = p1;
1514 fra.me.REG[1] = BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_io_open_write_1(fra.me.REG[0], UNBOX_NativeString(fra.me.REG[1])));
1515 /* ./../lib/standard//file.nit:285 */
1516 stack_frame_head = fra.me.prev;
1517 return fra.me.REG[1];
1518 }
1519 val_t file___NativeFileCapable___native_stdin(val_t p0){
1520 struct {struct stack_frame_t me;} fra;
1521 val_t tmp;
1522 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1523 fra.me.file = LOCATE_file;
1524 fra.me.line = 286;
1525 fra.me.meth = LOCATE_file___NativeFileCapable___native_stdin;
1526 fra.me.has_broke = 0;
1527 fra.me.REG_size = 1;
1528 fra.me.REG[0] = NIT_NULL;
1529 fra.me.REG[0] = p0;
1530 fra.me.REG[0] = BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stdin_0(fra.me.REG[0]));
1531 /* ./../lib/standard//file.nit:286 */
1532 stack_frame_head = fra.me.prev;
1533 return fra.me.REG[0];
1534 }
1535 val_t file___NativeFileCapable___native_stdout(val_t p0){
1536 struct {struct stack_frame_t me;} fra;
1537 val_t tmp;
1538 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1539 fra.me.file = LOCATE_file;
1540 fra.me.line = 287;
1541 fra.me.meth = LOCATE_file___NativeFileCapable___native_stdout;
1542 fra.me.has_broke = 0;
1543 fra.me.REG_size = 1;
1544 fra.me.REG[0] = NIT_NULL;
1545 fra.me.REG[0] = p0;
1546 fra.me.REG[0] = BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stdout_0(fra.me.REG[0]));
1547 /* ./../lib/standard//file.nit:287 */
1548 stack_frame_head = fra.me.prev;
1549 return fra.me.REG[0];
1550 }
1551 val_t file___NativeFileCapable___native_stderr(val_t p0){
1552 struct {struct stack_frame_t me;} fra;
1553 val_t tmp;
1554 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1555 fra.me.file = LOCATE_file;
1556 fra.me.line = 288;
1557 fra.me.meth = LOCATE_file___NativeFileCapable___native_stderr;
1558 fra.me.has_broke = 0;
1559 fra.me.REG_size = 1;
1560 fra.me.REG[0] = NIT_NULL;
1561 fra.me.REG[0] = p0;
1562 fra.me.REG[0] = BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stderr_0(fra.me.REG[0]));
1563 /* ./../lib/standard//file.nit:288 */
1564 stack_frame_head = fra.me.prev;
1565 return fra.me.REG[0];
1566 }