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