1 /* This C file is generated by NIT to compile module standard___file. */
2 #include "standard___file._sep.h"
3 void standard___file___Object___printn(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_standard___file
;
10 fra
.me
.meth
= LOCATE_standard___file___Object___printn
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
15 fra
.me
.REG
[1] = NIT_NULL
;
16 fra
.me
.REG
[2] = NIT_NULL
;
19 /* ../lib/standard/file.nit:25 */
20 fra
.me
.REG
[2] = fra
.me
.REG
[0];
21 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_standard___collection___array___Array
, ID_standard___collection___array___Array
)) /*cast Array[Object]*/;
22 if (UNTAG_Bool(REGB0
)) {
24 nit_abort("Cast failed", NULL
, LOCATE_standard___file
, 25);
26 /* ../lib/standard/file.nit:28 */
27 fra
.me
.REG
[2] = CALL_standard___file___Object___stdout(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
28 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
29 CALL_standard___stream___OStream___write(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
30 stack_frame_head
= fra
.me
.prev
;
33 void standard___file___Object___print(val_t p0
, val_t p1
){
34 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
37 static val_t once_value_1
; /* Once value */
38 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
39 fra
.me
.file
= LOCATE_standard___file
;
41 fra
.me
.meth
= LOCATE_standard___file___Object___print
;
44 fra
.me
.nitni_local_ref_head
= NULL
;
45 fra
.me
.REG
[0] = NIT_NULL
;
46 fra
.me
.REG
[1] = NIT_NULL
;
47 fra
.me
.REG
[2] = NIT_NULL
;
50 /* ../lib/standard/file.nit:34 */
51 fra
.me
.REG
[2] = CALL_standard___file___Object___stdout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
52 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
53 CALL_standard___stream___OStream___write(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
54 /* ../lib/standard/file.nit:35 */
55 fra
.me
.REG
[0] = CALL_standard___file___Object___stdout(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
57 fra
.me
.REG
[1] = BOX_NativeString("\n");
59 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
60 once_value_1
= fra
.me
.REG
[1];
61 register_static_object(&once_value_1
);
62 } else fra
.me
.REG
[1] = once_value_1
;
63 fra
.me
.REG
[1] = fra
.me
.REG
[1];
64 CALL_standard___stream___OStream___write(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
65 stack_frame_head
= fra
.me
.prev
;
68 val_t
standard___file___Object___getc(val_t p0
){
69 struct {struct stack_frame_t me
;} fra
;
72 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
73 fra
.me
.file
= LOCATE_standard___file
;
75 fra
.me
.meth
= LOCATE_standard___file___Object___getc
;
78 fra
.me
.nitni_local_ref_head
= NULL
;
79 fra
.me
.REG
[0] = NIT_NULL
;
81 /* ../lib/standard/file.nit:41 */
82 fra
.me
.REG
[0] = CALL_standard___file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
83 REGB0
= CALL_standard___stream___IStream___read_char(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
84 /* ../lib/standard/kernel.nit:297 */
85 REGB0
= TAG_Char(UNTAG_Int(REGB0
));
86 /* ../lib/standard/file.nit:41 */
89 stack_frame_head
= fra
.me
.prev
;
92 val_t
standard___file___Object___gets(val_t p0
){
93 struct {struct stack_frame_t me
;} fra
;
95 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
96 fra
.me
.file
= LOCATE_standard___file
;
98 fra
.me
.meth
= LOCATE_standard___file___Object___gets
;
101 fra
.me
.nitni_local_ref_head
= NULL
;
102 fra
.me
.REG
[0] = NIT_NULL
;
104 /* ../lib/standard/file.nit:47 */
105 fra
.me
.REG
[0] = CALL_standard___file___Object___stdin(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
106 fra
.me
.REG
[0] = CALL_standard___stream___IStream___read_line(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
109 stack_frame_head
= fra
.me
.prev
;
110 return fra
.me
.REG
[0];
112 val_t
standard___file___Object___stdin(val_t p0
){
113 struct {struct stack_frame_t me
;} fra
;
115 static val_t once_value_1
; /* Once value */
116 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
117 fra
.me
.file
= LOCATE_standard___file
;
119 fra
.me
.meth
= LOCATE_standard___file___Object___stdin
;
120 fra
.me
.has_broke
= 0;
122 fra
.me
.nitni_local_ref_head
= NULL
;
123 fra
.me
.REG
[0] = NIT_NULL
;
125 /* ../lib/standard/file.nit:347 */
127 fra
.me
.REG
[0] = NEW_Stdin_standard___file___Stdin___init();
128 once_value_1
= fra
.me
.REG
[0];
129 register_static_object(&once_value_1
);
130 } else fra
.me
.REG
[0] = once_value_1
;
131 fra
.me
.REG
[0] = fra
.me
.REG
[0];
134 stack_frame_head
= fra
.me
.prev
;
135 return fra
.me
.REG
[0];
137 val_t
standard___file___Object___stdout(val_t p0
){
138 struct {struct stack_frame_t me
;} fra
;
140 static val_t once_value_1
; /* Once value */
141 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
142 fra
.me
.file
= LOCATE_standard___file
;
144 fra
.me
.meth
= LOCATE_standard___file___Object___stdout
;
145 fra
.me
.has_broke
= 0;
147 fra
.me
.nitni_local_ref_head
= NULL
;
148 fra
.me
.REG
[0] = NIT_NULL
;
150 /* ../lib/standard/file.nit:350 */
152 fra
.me
.REG
[0] = NEW_Stdout_standard___file___Stdout___init();
153 once_value_1
= fra
.me
.REG
[0];
154 register_static_object(&once_value_1
);
155 } else fra
.me
.REG
[0] = once_value_1
;
156 fra
.me
.REG
[0] = fra
.me
.REG
[0];
159 stack_frame_head
= fra
.me
.prev
;
160 return fra
.me
.REG
[0];
162 val_t
standard___file___Object___stderr(val_t p0
){
163 struct {struct stack_frame_t me
;} fra
;
165 static val_t once_value_1
; /* Once value */
166 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
167 fra
.me
.file
= LOCATE_standard___file
;
169 fra
.me
.meth
= LOCATE_standard___file___Object___stderr
;
170 fra
.me
.has_broke
= 0;
172 fra
.me
.nitni_local_ref_head
= NULL
;
173 fra
.me
.REG
[0] = NIT_NULL
;
175 /* ../lib/standard/file.nit:353 */
177 fra
.me
.REG
[0] = NEW_Stderr_standard___file___Stderr___init();
178 once_value_1
= fra
.me
.REG
[0];
179 register_static_object(&once_value_1
);
180 } else fra
.me
.REG
[0] = once_value_1
;
181 fra
.me
.REG
[0] = fra
.me
.REG
[0];
184 stack_frame_head
= fra
.me
.prev
;
185 return fra
.me
.REG
[0];
187 val_t
standard___file___FStream___path(val_t p0
){
188 struct {struct stack_frame_t me
;} fra
;
190 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
191 fra
.me
.file
= LOCATE_standard___file
;
193 fra
.me
.meth
= LOCATE_standard___file___FStream___path
;
194 fra
.me
.has_broke
= 0;
196 fra
.me
.nitni_local_ref_head
= NULL
;
197 fra
.me
.REG
[0] = NIT_NULL
;
199 /* ../lib/standard/file.nit:54 */
200 fra
.me
.REG
[0] = ATTR_standard___file___FStream____path(fra
.me
.REG
[0]);
201 stack_frame_head
= fra
.me
.prev
;
202 return fra
.me
.REG
[0];
204 val_t
standard___file___FStream___file_stat(val_t p0
){
205 struct {struct stack_frame_t me
;} fra
;
208 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
209 fra
.me
.file
= LOCATE_standard___file
;
211 fra
.me
.meth
= LOCATE_standard___file___FStream___file_stat
;
212 fra
.me
.has_broke
= 0;
214 fra
.me
.nitni_local_ref_head
= NULL
;
215 fra
.me
.REG
[0] = NIT_NULL
;
217 /* ../lib/standard/file.nit:61 */
218 fra
.me
.REG
[0] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
219 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
220 if (UNTAG_Bool(REGB0
)) {
221 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 61);
223 fra
.me
.REG
[0] = CALL_standard___file___NativeFile___file_stat(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
226 stack_frame_head
= fra
.me
.prev
;
227 return fra
.me
.REG
[0];
229 void standard___file___FStream___init(val_t p0
, int* init_table
){
230 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___FStream
].i
;
231 struct {struct stack_frame_t me
;} fra
;
233 if (init_table
[itpos0
]) return;
234 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
235 fra
.me
.file
= LOCATE_standard___file
;
237 fra
.me
.meth
= LOCATE_standard___file___FStream___init
;
238 fra
.me
.has_broke
= 0;
240 fra
.me
.nitni_local_ref_head
= NULL
;
241 stack_frame_head
= fra
.me
.prev
;
242 init_table
[itpos0
] = 1;
245 void standard___file___IFStream___reopen(val_t p0
){
246 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
249 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
250 fra
.me
.file
= LOCATE_standard___file
;
252 fra
.me
.meth
= LOCATE_standard___file___IFStream___reopen
;
253 fra
.me
.has_broke
= 0;
255 fra
.me
.nitni_local_ref_head
= NULL
;
256 fra
.me
.REG
[0] = NIT_NULL
;
257 fra
.me
.REG
[1] = NIT_NULL
;
259 /* ../lib/standard/file.nit:74 */
260 REGB0
= CALL_standard___stream___IStream___eof(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
261 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
262 if (UNTAG_Bool(REGB0
)) {
263 CALL_standard___stream___IOS___close(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
265 /* ../lib/standard/file.nit:75 */
266 fra
.me
.REG
[1] = ATTR_standard___file___FStream____path(fra
.me
.REG
[0]);
267 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
268 if (UNTAG_Bool(REGB0
)) {
269 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 75);
271 fra
.me
.REG
[1] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
272 fra
.me
.REG
[1] = NEW_NativeFile_standard___file___NativeFile___io_open_read(fra
.me
.REG
[1]);
273 ATTR_standard___file___FStream____file(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
274 /* ../lib/standard/file.nit:76 */
275 REGB0
= TAG_Bool(false);
276 ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]) = REGB0
;
277 /* ../lib/standard/file.nit:77 */
279 ATTR_standard___stream___BufferedIStream____buffer_pos(fra
.me
.REG
[0]) = REGB0
;
280 /* ../lib/standard/file.nit:78 */
281 fra
.me
.REG
[0] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
282 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
283 if (UNTAG_Bool(REGB0
)) {
284 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 78);
286 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
287 stack_frame_head
= fra
.me
.prev
;
290 void standard___file___IFStream___close(val_t p0
){
291 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
294 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
295 fra
.me
.file
= LOCATE_standard___file
;
297 fra
.me
.meth
= LOCATE_standard___file___IFStream___close
;
298 fra
.me
.has_broke
= 0;
300 fra
.me
.nitni_local_ref_head
= NULL
;
301 fra
.me
.REG
[0] = NIT_NULL
;
302 fra
.me
.REG
[1] = NIT_NULL
;
304 /* ../lib/standard/file.nit:83 */
305 fra
.me
.REG
[1] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
306 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
307 if (UNTAG_Bool(REGB0
)) {
308 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 83);
310 REGB0
= CALL_standard___file___NativeFile___io_close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
311 /* ../lib/standard/file.nit:84 */
312 REGB0
= TAG_Bool(true);
313 ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]) = REGB0
;
314 stack_frame_head
= fra
.me
.prev
;
317 void standard___file___IFStream___fill_buffer(val_t p0
){
318 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
323 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
324 fra
.me
.file
= LOCATE_standard___file
;
326 fra
.me
.meth
= LOCATE_standard___file___IFStream___fill_buffer
;
327 fra
.me
.has_broke
= 0;
329 fra
.me
.nitni_local_ref_head
= NULL
;
330 fra
.me
.REG
[0] = NIT_NULL
;
331 fra
.me
.REG
[1] = NIT_NULL
;
332 fra
.me
.REG
[2] = NIT_NULL
;
333 fra
.me
.REG
[3] = NIT_NULL
;
335 /* ../lib/standard/file.nit:89 */
336 fra
.me
.REG
[1] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
337 fra
.me
.REG
[2] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
338 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
339 if (UNTAG_Bool(REGB0
)) {
340 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 89);
342 REGB0
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[2])!=NIT_NULL
);
343 if (UNTAG_Bool(REGB0
)) {
345 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___file
, 89);
347 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[2]);
348 fra
.me
.REG
[3] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
349 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
350 if (UNTAG_Bool(REGB0
)) {
351 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 89);
353 REGB0
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[3])!=NIT_NULL
);
354 if (UNTAG_Bool(REGB0
)) {
356 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___file
, 89);
358 REGB0
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[3]);
359 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
360 if (UNTAG_Bool(REGB1
)) {
361 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 89);
363 REGB0
= CALL_standard___file___NativeFile___io_read(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], REGB0
);
364 /* ../lib/standard/file.nit:90 */
366 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
367 if (UNTAG_Bool(REGB2
)) {
369 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
371 /* ../lib/standard/kernel.nit:231 */
372 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
373 /* ../lib/standard/file.nit:90 */
374 if (UNTAG_Bool(REGB1
)) {
375 /* ../lib/standard/file.nit:91 */
376 REGB1
= TAG_Bool(true);
377 ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]) = REGB1
;
378 /* ../lib/standard/file.nit:92 */
382 /* ../lib/standard/file.nit:94 */
383 fra
.me
.REG
[2] = ATTR_standard___stream___BufferedIStream____buffer(fra
.me
.REG
[0]);
384 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
385 if (UNTAG_Bool(REGB1
)) {
386 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 94);
388 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]) = REGB0
;
389 /* ../lib/standard/file.nit:95 */
391 ATTR_standard___stream___BufferedIStream____buffer_pos(fra
.me
.REG
[0]) = REGB0
;
392 stack_frame_head
= fra
.me
.prev
;
395 val_t
standard___file___IFStream___end_reached(val_t p0
){
396 struct {struct stack_frame_t me
;} fra
;
399 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
400 fra
.me
.file
= LOCATE_standard___file
;
402 fra
.me
.meth
= LOCATE_standard___file___IFStream___end_reached
;
403 fra
.me
.has_broke
= 0;
405 fra
.me
.nitni_local_ref_head
= NULL
;
406 fra
.me
.REG
[0] = NIT_NULL
;
408 /* ../lib/standard/file.nit:98 */
409 REGB0
= TAG_Bool(ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0])!=NIT_NULL
);
410 if (UNTAG_Bool(REGB0
)) {
412 nit_abort("Uninitialized attribute %s", "_end_reached", LOCATE_standard___file
, 98);
414 REGB0
= ATTR_standard___file___IFStream____end_reached(fra
.me
.REG
[0]);
415 stack_frame_head
= fra
.me
.prev
;
418 void standard___file___IFStream___open(val_t p0
, val_t p1
, int* init_table
){
419 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___IFStream
].i
;
420 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
424 if (init_table
[itpos1
]) return;
425 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
426 fra
.me
.file
= LOCATE_standard___file
;
428 fra
.me
.meth
= LOCATE_standard___file___IFStream___open
;
429 fra
.me
.has_broke
= 0;
431 fra
.me
.nitni_local_ref_head
= NULL
;
432 fra
.me
.REG
[0] = NIT_NULL
;
433 fra
.me
.REG
[1] = NIT_NULL
;
434 fra
.me
.REG
[2] = NIT_NULL
;
437 /* ../lib/standard/file.nit:101 */
438 fra
.me
.REG
[2] = fra
.me
.REG
[0];
439 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
440 CALL_standard___stream___BufferedIStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
441 /* ../lib/standard/file.nit:104 */
442 ATTR_standard___file___FStream____path(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
443 /* ../lib/standard/file.nit:105 */
445 CALL_standard___stream___BufferedIStream___prepare_buffer(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
446 /* ../lib/standard/file.nit:106 */
447 fra
.me
.REG
[1] = ATTR_standard___file___FStream____path(fra
.me
.REG
[2]);
448 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
449 if (UNTAG_Bool(REGB0
)) {
450 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 106);
452 fra
.me
.REG
[1] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
453 fra
.me
.REG
[1] = NEW_NativeFile_standard___file___NativeFile___io_open_read(fra
.me
.REG
[1]);
454 ATTR_standard___file___FStream____file(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
455 /* ../lib/standard/file.nit:107 */
456 fra
.me
.REG
[2] = ATTR_standard___file___FStream____file(fra
.me
.REG
[2]);
457 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
458 if (UNTAG_Bool(REGB0
)) {
460 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
461 if (UNTAG_Bool(REGB1
)) {
462 REGB1
= TAG_Bool(false);
465 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
469 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
470 if (UNTAG_Bool(REGB0
)) {
472 nit_abort("Assert '%s' failed", "cant_open_file", LOCATE_standard___file
, 107);
474 stack_frame_head
= fra
.me
.prev
;
475 init_table
[itpos1
] = 1;
478 void standard___file___IFStream___init(val_t p0
, int* init_table
){
479 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___IFStream
].i
;
480 struct {struct stack_frame_t me
;} fra
;
482 if (init_table
[itpos2
]) return;
483 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
484 fra
.me
.file
= LOCATE_standard___file
;
486 fra
.me
.meth
= LOCATE_standard___file___IFStream___init
;
487 fra
.me
.has_broke
= 0;
489 fra
.me
.nitni_local_ref_head
= NULL
;
490 fra
.me
.REG
[0] = NIT_NULL
;
492 /* ../lib/standard/file.nit:110 */
493 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
494 CALL_standard___stream___BufferedIStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
495 stack_frame_head
= fra
.me
.prev
;
496 init_table
[itpos2
] = 1;
499 void standard___file___IFStream___without_file(val_t p0
, int* init_table
){
500 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___IFStream
].i
;
501 struct {struct stack_frame_t me
;} fra
;
503 if (init_table
[itpos3
]) return;
504 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
505 fra
.me
.file
= LOCATE_standard___file
;
507 fra
.me
.meth
= LOCATE_standard___file___IFStream___without_file
;
508 fra
.me
.has_broke
= 0;
510 fra
.me
.nitni_local_ref_head
= NULL
;
511 fra
.me
.REG
[0] = NIT_NULL
;
513 /* ../lib/standard/file.nit:111 */
514 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
515 CALL_standard___stream___BufferedIStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
516 stack_frame_head
= fra
.me
.prev
;
517 init_table
[itpos3
] = 1;
520 void standard___file___OFStream___write(val_t p0
, val_t p1
){
521 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
524 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
525 fra
.me
.file
= LOCATE_standard___file
;
527 fra
.me
.meth
= LOCATE_standard___file___OFStream___write
;
528 fra
.me
.has_broke
= 0;
530 fra
.me
.nitni_local_ref_head
= NULL
;
531 fra
.me
.REG
[0] = NIT_NULL
;
532 fra
.me
.REG
[1] = NIT_NULL
;
533 fra
.me
.REG
[2] = NIT_NULL
;
536 /* ../lib/standard/file.nit:121 */
537 REGB0
= TAG_Bool(ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0])!=NIT_NULL
);
538 if (UNTAG_Bool(REGB0
)) {
540 nit_abort("Uninitialized attribute %s", "_writable", LOCATE_standard___file
, 121);
542 REGB0
= ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]);
543 if (UNTAG_Bool(REGB0
)) {
545 nit_abort("Assert failed", NULL
, LOCATE_standard___file
, 121);
547 /* ../lib/standard/file.nit:122 */
548 fra
.me
.REG
[2] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
549 /* ../lib/standard/collection/array.nit:24 */
550 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
551 if (UNTAG_Bool(REGB0
)) {
553 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
555 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
556 /* ../lib/standard/file.nit:122 */
557 CALL_standard___file___OFStream___write_native(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], REGB0
);
558 stack_frame_head
= fra
.me
.prev
;
561 val_t
standard___file___OFStream___is_writable(val_t p0
){
562 struct {struct stack_frame_t me
;} fra
;
565 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
566 fra
.me
.file
= LOCATE_standard___file
;
568 fra
.me
.meth
= LOCATE_standard___file___OFStream___is_writable
;
569 fra
.me
.has_broke
= 0;
571 fra
.me
.nitni_local_ref_head
= NULL
;
572 fra
.me
.REG
[0] = NIT_NULL
;
574 /* ../lib/standard/file.nit:125 */
575 REGB0
= TAG_Bool(ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0])!=NIT_NULL
);
576 if (UNTAG_Bool(REGB0
)) {
578 nit_abort("Uninitialized attribute %s", "_writable", LOCATE_standard___file
, 125);
580 REGB0
= ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]);
583 stack_frame_head
= fra
.me
.prev
;
586 void standard___file___OFStream___close(val_t p0
){
587 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
590 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
591 fra
.me
.file
= LOCATE_standard___file
;
593 fra
.me
.meth
= LOCATE_standard___file___OFStream___close
;
594 fra
.me
.has_broke
= 0;
596 fra
.me
.nitni_local_ref_head
= NULL
;
597 fra
.me
.REG
[0] = NIT_NULL
;
598 fra
.me
.REG
[1] = NIT_NULL
;
600 /* ../lib/standard/file.nit:129 */
601 fra
.me
.REG
[1] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
602 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
603 if (UNTAG_Bool(REGB0
)) {
604 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 129);
606 REGB0
= CALL_standard___file___NativeFile___io_close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
607 /* ../lib/standard/file.nit:130 */
608 REGB0
= TAG_Bool(false);
609 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]) = REGB0
;
610 stack_frame_head
= fra
.me
.prev
;
613 void standard___file___OFStream___write_native(val_t p0
, val_t p1
, val_t p2
){
614 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
620 static val_t once_value_1
; /* Once value */
621 static val_t once_value_2
; /* Once value */
622 static val_t once_value_3
; /* Once value */
623 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
624 fra
.me
.file
= LOCATE_standard___file
;
626 fra
.me
.meth
= LOCATE_standard___file___OFStream___write_native
;
627 fra
.me
.has_broke
= 0;
629 fra
.me
.nitni_local_ref_head
= NULL
;
630 fra
.me
.REG
[0] = NIT_NULL
;
631 fra
.me
.REG
[1] = NIT_NULL
;
632 fra
.me
.REG
[2] = NIT_NULL
;
636 /* ../lib/standard/file.nit:139 */
637 REGB1
= TAG_Bool(ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0])!=NIT_NULL
);
638 if (UNTAG_Bool(REGB1
)) {
640 nit_abort("Uninitialized attribute %s", "_writable", LOCATE_standard___file
, 139);
642 REGB1
= ATTR_standard___file___OFStream____writable(fra
.me
.REG
[0]);
643 if (UNTAG_Bool(REGB1
)) {
645 nit_abort("Assert failed", NULL
, LOCATE_standard___file
, 139);
647 /* ../lib/standard/file.nit:140 */
648 fra
.me
.REG
[2] = ATTR_standard___file___FStream____file(fra
.me
.REG
[0]);
649 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
650 if (UNTAG_Bool(REGB1
)) {
651 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 140);
653 REGB1
= CALL_standard___file___NativeFile___io_write(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1], REGB0
);
654 /* ../lib/standard/file.nit:141 */
655 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
656 if (UNTAG_Bool(REGB2
)) {
658 /* ../lib/standard/kernel.nit:227 */
659 REGB3
= TAG_Bool((REGB1
)==(REGB0
));
660 /* ../lib/standard/file.nit:141 */
663 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
664 if (UNTAG_Bool(REGB2
)) {
665 /* ../lib/standard/file.nit:143 */
667 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
669 fra
.me
.REG
[2] = BOX_NativeString("Problem in writing : ");
671 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB2
);
672 once_value_1
= fra
.me
.REG
[2];
673 register_static_object(&once_value_1
);
674 } else fra
.me
.REG
[2] = once_value_1
;
675 fra
.me
.REG
[2] = fra
.me
.REG
[2];
676 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
677 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
679 fra
.me
.REG
[2] = BOX_NativeString(" ");
681 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
682 once_value_2
= fra
.me
.REG
[2];
683 register_static_object(&once_value_2
);
684 } else fra
.me
.REG
[2] = once_value_2
;
685 fra
.me
.REG
[2] = fra
.me
.REG
[2];
686 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
689 fra
.me
.REG
[2] = BOX_NativeString("\n");
691 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
692 once_value_3
= fra
.me
.REG
[2];
693 register_static_object(&once_value_3
);
694 } else fra
.me
.REG
[2] = once_value_3
;
695 fra
.me
.REG
[2] = fra
.me
.REG
[2];
696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
697 CALL_standard___file___Object___printn(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
699 stack_frame_head
= fra
.me
.prev
;
702 void standard___file___OFStream___open(val_t p0
, val_t p1
, int* init_table
){
703 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___OFStream
].i
;
704 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
708 if (init_table
[itpos4
]) return;
709 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
710 fra
.me
.file
= LOCATE_standard___file
;
712 fra
.me
.meth
= LOCATE_standard___file___OFStream___open
;
713 fra
.me
.has_broke
= 0;
715 fra
.me
.nitni_local_ref_head
= NULL
;
716 fra
.me
.REG
[0] = NIT_NULL
;
717 fra
.me
.REG
[1] = NIT_NULL
;
718 fra
.me
.REG
[2] = NIT_NULL
;
721 /* ../lib/standard/file.nit:147 */
722 fra
.me
.REG
[2] = fra
.me
.REG
[0];
723 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
724 /* ../lib/standard/file.nit:150 */
725 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
726 fra
.me
.REG
[0] = NEW_NativeFile_standard___file___NativeFile___io_open_write(fra
.me
.REG
[0]);
727 ATTR_standard___file___FStream____file(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
728 /* ../lib/standard/file.nit:151 */
729 fra
.me
.REG
[0] = ATTR_standard___file___FStream____file(fra
.me
.REG
[2]);
730 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
731 if (UNTAG_Bool(REGB0
)) {
733 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
734 if (UNTAG_Bool(REGB1
)) {
735 REGB1
= TAG_Bool(false);
738 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
742 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
743 if (UNTAG_Bool(REGB0
)) {
745 nit_abort("Assert '%s' failed", "cant_open_file", LOCATE_standard___file
, 151);
747 /* ../lib/standard/file.nit:152 */
748 ATTR_standard___file___FStream____path(fra
.me
.REG
[2]) = fra
.me
.REG
[1];
749 /* ../lib/standard/file.nit:153 */
750 REGB0
= TAG_Bool(true);
751 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[2]) = REGB0
;
752 stack_frame_head
= fra
.me
.prev
;
753 init_table
[itpos4
] = 1;
756 void standard___file___OFStream___init(val_t p0
, int* init_table
){
757 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___OFStream
].i
;
758 struct {struct stack_frame_t me
;} fra
;
760 if (init_table
[itpos5
]) return;
761 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
762 fra
.me
.file
= LOCATE_standard___file
;
764 fra
.me
.meth
= LOCATE_standard___file___OFStream___init
;
765 fra
.me
.has_broke
= 0;
767 fra
.me
.nitni_local_ref_head
= NULL
;
768 fra
.me
.REG
[0] = NIT_NULL
;
770 /* ../lib/standard/file.nit:156 */
771 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
772 stack_frame_head
= fra
.me
.prev
;
773 init_table
[itpos5
] = 1;
776 void standard___file___OFStream___without_file(val_t p0
, int* init_table
){
777 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___OFStream
].i
;
778 struct {struct stack_frame_t me
;} fra
;
780 if (init_table
[itpos6
]) return;
781 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
782 fra
.me
.file
= LOCATE_standard___file
;
784 fra
.me
.meth
= LOCATE_standard___file___OFStream___without_file
;
785 fra
.me
.has_broke
= 0;
787 fra
.me
.nitni_local_ref_head
= NULL
;
788 fra
.me
.REG
[0] = NIT_NULL
;
790 /* ../lib/standard/file.nit:157 */
791 CALL_standard___file___FStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
792 stack_frame_head
= fra
.me
.prev
;
793 init_table
[itpos6
] = 1;
796 void standard___file___Stdin___init(val_t p0
, int* init_table
){
797 int itpos7
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___Stdin
].i
;
798 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
801 static val_t once_value_1
; /* Once value */
802 if (init_table
[itpos7
]) return;
803 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
804 fra
.me
.file
= LOCATE_standard___file
;
806 fra
.me
.meth
= LOCATE_standard___file___Stdin___init
;
807 fra
.me
.has_broke
= 0;
809 fra
.me
.nitni_local_ref_head
= NULL
;
810 fra
.me
.REG
[0] = NIT_NULL
;
811 fra
.me
.REG
[1] = NIT_NULL
;
813 /* ../lib/standard/file.nit:164 */
814 fra
.me
.REG
[1] = fra
.me
.REG
[0];
815 CALL_standard___file___IFStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
816 /* ../lib/standard/file.nit:165 */
817 fra
.me
.REG
[0] = NEW_NativeFile_standard___file___NativeFile___native_stdin();
818 ATTR_standard___file___FStream____file(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
819 /* ../lib/standard/file.nit:166 */
821 fra
.me
.REG
[0] = BOX_NativeString("/dev/stdin");
823 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
824 once_value_1
= fra
.me
.REG
[0];
825 register_static_object(&once_value_1
);
826 } else fra
.me
.REG
[0] = once_value_1
;
827 fra
.me
.REG
[0] = fra
.me
.REG
[0];
828 ATTR_standard___file___FStream____path(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
829 /* ../lib/standard/file.nit:167 */
831 CALL_standard___stream___BufferedIStream___prepare_buffer(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
832 stack_frame_head
= fra
.me
.prev
;
833 init_table
[itpos7
] = 1;
836 void standard___file___Stdout___init(val_t p0
, int* init_table
){
837 int itpos8
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___Stdout
].i
;
838 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
841 static val_t once_value_1
; /* Once value */
842 if (init_table
[itpos8
]) return;
843 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
844 fra
.me
.file
= LOCATE_standard___file
;
846 fra
.me
.meth
= LOCATE_standard___file___Stdout___init
;
847 fra
.me
.has_broke
= 0;
849 fra
.me
.nitni_local_ref_head
= NULL
;
850 fra
.me
.REG
[0] = NIT_NULL
;
851 fra
.me
.REG
[1] = NIT_NULL
;
853 /* ../lib/standard/file.nit:173 */
854 fra
.me
.REG
[1] = fra
.me
.REG
[0];
855 CALL_standard___file___OFStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
856 /* ../lib/standard/file.nit:174 */
857 fra
.me
.REG
[0] = NEW_NativeFile_standard___file___NativeFile___native_stdout();
858 ATTR_standard___file___FStream____file(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
859 /* ../lib/standard/file.nit:175 */
861 fra
.me
.REG
[0] = BOX_NativeString("/dev/stdout");
863 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
864 once_value_1
= fra
.me
.REG
[0];
865 register_static_object(&once_value_1
);
866 } else fra
.me
.REG
[0] = once_value_1
;
867 fra
.me
.REG
[0] = fra
.me
.REG
[0];
868 ATTR_standard___file___FStream____path(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
869 /* ../lib/standard/file.nit:176 */
870 REGB0
= TAG_Bool(true);
871 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[1]) = REGB0
;
872 stack_frame_head
= fra
.me
.prev
;
873 init_table
[itpos8
] = 1;
876 void standard___file___Stderr___init(val_t p0
, int* init_table
){
877 int itpos9
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___Stderr
].i
;
878 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
881 static val_t once_value_1
; /* Once value */
882 if (init_table
[itpos9
]) return;
883 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
884 fra
.me
.file
= LOCATE_standard___file
;
886 fra
.me
.meth
= LOCATE_standard___file___Stderr___init
;
887 fra
.me
.has_broke
= 0;
889 fra
.me
.nitni_local_ref_head
= NULL
;
890 fra
.me
.REG
[0] = NIT_NULL
;
891 fra
.me
.REG
[1] = NIT_NULL
;
893 /* ../lib/standard/file.nit:182 */
894 fra
.me
.REG
[1] = fra
.me
.REG
[0];
895 CALL_standard___file___OFStream___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
896 /* ../lib/standard/file.nit:183 */
897 fra
.me
.REG
[0] = NEW_NativeFile_standard___file___NativeFile___native_stderr();
898 ATTR_standard___file___FStream____file(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
899 /* ../lib/standard/file.nit:184 */
901 fra
.me
.REG
[0] = BOX_NativeString("/dev/stderr");
903 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
904 once_value_1
= fra
.me
.REG
[0];
905 register_static_object(&once_value_1
);
906 } else fra
.me
.REG
[0] = once_value_1
;
907 fra
.me
.REG
[0] = fra
.me
.REG
[0];
908 ATTR_standard___file___FStream____path(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
909 /* ../lib/standard/file.nit:185 */
910 REGB0
= TAG_Bool(true);
911 ATTR_standard___file___OFStream____writable(fra
.me
.REG
[1]) = REGB0
;
912 stack_frame_head
= fra
.me
.prev
;
913 init_table
[itpos9
] = 1;
916 val_t
standard___file___String___file_exists(val_t p0
){
917 struct {struct stack_frame_t me
;} fra
;
920 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
921 fra
.me
.file
= LOCATE_standard___file
;
923 fra
.me
.meth
= LOCATE_standard___file___String___file_exists
;
924 fra
.me
.has_broke
= 0;
926 fra
.me
.nitni_local_ref_head
= NULL
;
927 fra
.me
.REG
[0] = NIT_NULL
;
929 /* ../lib/standard/file.nit:193 */
930 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
931 REGB0
= CALL_standard___file___NativeString___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
934 stack_frame_head
= fra
.me
.prev
;
937 val_t
standard___file___String___file_stat(val_t p0
){
938 struct {struct stack_frame_t me
;} fra
;
940 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
941 fra
.me
.file
= LOCATE_standard___file
;
943 fra
.me
.meth
= LOCATE_standard___file___String___file_stat
;
944 fra
.me
.has_broke
= 0;
946 fra
.me
.nitni_local_ref_head
= NULL
;
947 fra
.me
.REG
[0] = NIT_NULL
;
949 /* ../lib/standard/file.nit:195 */
950 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
951 fra
.me
.REG
[0] = CALL_standard___file___NativeString___file_stat(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
954 stack_frame_head
= fra
.me
.prev
;
955 return fra
.me
.REG
[0];
957 val_t
standard___file___String___file_delete(val_t p0
){
958 struct {struct stack_frame_t me
;} fra
;
961 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
962 fra
.me
.file
= LOCATE_standard___file
;
964 fra
.me
.meth
= LOCATE_standard___file___String___file_delete
;
965 fra
.me
.has_broke
= 0;
967 fra
.me
.nitni_local_ref_head
= NULL
;
968 fra
.me
.REG
[0] = NIT_NULL
;
970 /* ../lib/standard/file.nit:198 */
971 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
972 REGB0
= CALL_standard___file___NativeString___file_delete(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
975 stack_frame_head
= fra
.me
.prev
;
978 val_t
standard___file___String___strip_extension(val_t p0
, val_t p1
){
979 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
984 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
985 fra
.me
.file
= LOCATE_standard___file
;
987 fra
.me
.meth
= LOCATE_standard___file___String___strip_extension
;
988 fra
.me
.has_broke
= 0;
990 fra
.me
.nitni_local_ref_head
= NULL
;
991 fra
.me
.REG
[0] = NIT_NULL
;
992 fra
.me
.REG
[1] = NIT_NULL
;
995 /* ../lib/standard/file.nit:203 */
996 REGB0
= CALL_standard___string___AbstractString___has_suffix(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
997 if (UNTAG_Bool(REGB0
)) {
998 /* ../lib/standard/file.nit:204 */
1000 /* ../lib/standard/collection/array.nit:24 */
1001 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1002 if (UNTAG_Bool(REGB1
)) {
1004 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1006 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1007 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1008 if (UNTAG_Bool(REGB2
)) {
1010 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1012 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1013 /* ../lib/standard/kernel.nit:237 */
1014 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1015 /* ../lib/standard/file.nit:204 */
1016 fra
.me
.REG
[1] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1019 /* ../lib/standard/file.nit:206 */
1020 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1023 stack_frame_head
= fra
.me
.prev
;
1024 return fra
.me
.REG
[1];
1026 val_t
standard___file___String___basename(val_t p0
, val_t p1
){
1027 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1032 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1033 fra
.me
.file
= LOCATE_standard___file
;
1035 fra
.me
.meth
= LOCATE_standard___file___String___basename
;
1036 fra
.me
.has_broke
= 0;
1037 fra
.me
.REG_size
= 3;
1038 fra
.me
.nitni_local_ref_head
= NULL
;
1039 fra
.me
.REG
[0] = NIT_NULL
;
1040 fra
.me
.REG
[1] = NIT_NULL
;
1041 fra
.me
.REG
[2] = NIT_NULL
;
1044 /* ../lib/standard/file.nit:212 */
1045 REGB0
= TAG_Char('/');
1046 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1047 if (UNTAG_Bool(REGB1
)) {
1049 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file
, 212);
1051 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1053 /* ../lib/standard/kernel.nit:237 */
1054 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1055 /* ../lib/standard/file.nit:212 */
1056 REGB2
= CALL_standard___collection___array___AbstractArrayRead___last_index_of_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1057 /* ../lib/standard/file.nit:213 */
1058 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1059 /* ../lib/standard/file.nit:214 */
1061 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1062 if (UNTAG_Bool(REGB1
)) {
1064 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1066 /* ../lib/standard/kernel.nit:233 */
1067 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1068 /* ../lib/standard/file.nit:214 */
1069 if (UNTAG_Bool(REGB0
)) {
1070 /* ../lib/standard/file.nit:215 */
1072 /* ../lib/standard/kernel.nit:235 */
1073 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1074 /* ../lib/standard/file.nit:215 */
1075 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1076 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1078 /* ../lib/standard/file.nit:217 */
1079 fra
.me
.REG
[1] = CALL_standard___file___String___strip_extension(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1082 stack_frame_head
= fra
.me
.prev
;
1083 return fra
.me
.REG
[1];
1085 val_t
standard___file___String___dirname(val_t p0
){
1086 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1091 static val_t once_value_2
; /* Once value */
1092 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1093 fra
.me
.file
= LOCATE_standard___file
;
1095 fra
.me
.meth
= LOCATE_standard___file___String___dirname
;
1096 fra
.me
.has_broke
= 0;
1097 fra
.me
.REG_size
= 2;
1098 fra
.me
.nitni_local_ref_head
= NULL
;
1099 fra
.me
.REG
[0] = NIT_NULL
;
1100 fra
.me
.REG
[1] = NIT_NULL
;
1102 /* ../lib/standard/file.nit:223 */
1103 REGB0
= TAG_Char('/');
1104 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1105 if (UNTAG_Bool(REGB1
)) {
1107 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___file
, 223);
1109 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1111 /* ../lib/standard/kernel.nit:237 */
1112 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1113 /* ../lib/standard/file.nit:223 */
1114 REGB2
= CALL_standard___collection___array___AbstractArrayRead___last_index_of_from(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1115 /* ../lib/standard/file.nit:224 */
1117 REGB1
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1118 if (UNTAG_Bool(REGB1
)) {
1120 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1122 /* ../lib/standard/kernel.nit:233 */
1123 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1124 /* ../lib/standard/file.nit:224 */
1125 if (UNTAG_Bool(REGB0
)) {
1126 /* ../lib/standard/file.nit:225 */
1128 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB2
);
1131 /* ../lib/standard/file.nit:227 */
1132 if (!once_value_2
) {
1133 fra
.me
.REG
[1] = BOX_NativeString(".");
1135 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB2
);
1136 once_value_2
= fra
.me
.REG
[1];
1137 register_static_object(&once_value_2
);
1138 } else fra
.me
.REG
[1] = once_value_2
;
1139 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1140 fra
.me
.REG
[0] = fra
.me
.REG
[1];
1144 stack_frame_head
= fra
.me
.prev
;
1145 return fra
.me
.REG
[0];
1147 val_t
standard___file___String___simplify_path(val_t p0
){
1148 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1153 static val_t once_value_1
; /* Once value */
1154 static val_t once_value_2
; /* Once value */
1155 static val_t once_value_4
; /* Once value */
1156 static val_t once_value_5
; /* Once value */
1157 static val_t once_value_6
; /* Once value */
1158 static val_t once_value_8
; /* Once value */
1159 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1160 fra
.me
.file
= LOCATE_standard___file
;
1162 fra
.me
.meth
= LOCATE_standard___file___String___simplify_path
;
1163 fra
.me
.has_broke
= 0;
1164 fra
.me
.REG_size
= 6;
1165 fra
.me
.nitni_local_ref_head
= NULL
;
1166 fra
.me
.REG
[0] = NIT_NULL
;
1167 fra
.me
.REG
[1] = NIT_NULL
;
1168 fra
.me
.REG
[2] = NIT_NULL
;
1169 fra
.me
.REG
[3] = NIT_NULL
;
1170 fra
.me
.REG
[4] = NIT_NULL
;
1171 fra
.me
.REG
[5] = NIT_NULL
;
1173 /* ../lib/standard/file.nit:246 */
1174 if (!once_value_1
) {
1175 fra
.me
.REG
[1] = BOX_NativeString("/");
1177 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
1178 once_value_1
= fra
.me
.REG
[1];
1179 register_static_object(&once_value_1
);
1180 } else fra
.me
.REG
[1] = once_value_1
;
1181 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1182 fra
.me
.REG
[1] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1183 /* ../lib/standard/file.nit:247 */
1184 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___init();
1185 /* ../lib/standard/collection/array.nit:269 */
1187 /* ../lib/standard/collection/array.nit:270 */
1188 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1189 if (UNTAG_Bool(REGB1
)) {
1191 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1193 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1194 /* ../lib/standard/collection/array.nit:271 */
1195 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1196 /* ../lib/standard/collection/array.nit:272 */
1198 /* ../lib/standard/collection/array.nit:24 */
1199 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1200 if (UNTAG_Bool(REGB1
)) {
1202 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1204 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1205 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1206 if (UNTAG_Bool(REGB2
)) {
1208 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1210 /* ../lib/standard/kernel.nit:232 */
1211 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1212 /* ../lib/standard/collection/array.nit:272 */
1213 if (UNTAG_Bool(REGB1
)) {
1214 /* ../lib/standard/collection/array.nit:273 */
1215 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1216 if (UNTAG_Bool(REGB1
)) {
1217 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1219 /* ../lib/standard/collection/array.nit:718 */
1220 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1221 /* ../lib/standard/file.nit:249 */
1222 if (!once_value_2
) {
1223 fra
.me
.REG
[4] = BOX_NativeString(".");
1225 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1226 once_value_2
= fra
.me
.REG
[4];
1227 register_static_object(&once_value_2
);
1228 } else fra
.me
.REG
[4] = once_value_2
;
1229 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1230 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1231 if (UNTAG_Bool(REGB1
)) {
1233 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1236 if (UNTAG_Bool(REGB1
)) {
1239 /* ../lib/standard/file.nit:250 */
1240 if (!once_value_4
) {
1241 fra
.me
.REG
[4] = BOX_NativeString("");
1243 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1244 once_value_4
= fra
.me
.REG
[4];
1245 register_static_object(&once_value_4
);
1246 } else fra
.me
.REG
[4] = once_value_4
;
1247 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1248 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1249 if (UNTAG_Bool(REGB1
)) {
1251 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1254 if (UNTAG_Bool(REGB1
)) {
1255 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1256 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1258 REGB2
= TAG_Bool(false);
1261 if (UNTAG_Bool(REGB1
)) {
1264 /* ../lib/standard/file.nit:251 */
1265 if (!once_value_5
) {
1266 fra
.me
.REG
[4] = BOX_NativeString("..");
1268 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1269 once_value_5
= fra
.me
.REG
[4];
1270 register_static_object(&once_value_5
);
1271 } else fra
.me
.REG
[4] = once_value_5
;
1272 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1273 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1274 if (UNTAG_Bool(REGB1
)) {
1276 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1279 if (UNTAG_Bool(REGB1
)) {
1280 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1281 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1283 REGB2
= TAG_Bool(false);
1286 if (UNTAG_Bool(REGB1
)) {
1287 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___SequenceRead___last(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1288 if (!once_value_6
) {
1289 fra
.me
.REG
[5] = BOX_NativeString("..");
1291 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
1292 once_value_6
= fra
.me
.REG
[5];
1293 register_static_object(&once_value_6
);
1294 } else fra
.me
.REG
[5] = once_value_6
;
1295 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1296 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[5],fra
.me
.REG
[4]));
1297 if (UNTAG_Bool(REGB1
)) {
1299 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1300 if (UNTAG_Bool(REGB2
)) {
1301 REGB2
= TAG_Bool(false);
1304 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1308 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1310 REGB2
= TAG_Bool(false);
1313 if (UNTAG_Bool(REGB1
)) {
1314 /* ../lib/standard/file.nit:252 */
1315 CALL_standard___collection___abstract_collection___Sequence___pop(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1316 /* ../lib/standard/file.nit:253 */
1319 /* ../lib/standard/file.nit:255 */
1320 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1322 /* ../lib/standard/collection/array.nit:274 */
1324 /* ../lib/standard/kernel.nit:235 */
1325 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1326 /* ../lib/standard/collection/array.nit:274 */
1329 /* ../lib/standard/collection/array.nit:272 */
1334 /* ../lib/standard/file.nit:257 */
1335 if (!once_value_8
) {
1336 fra
.me
.REG
[2] = BOX_NativeString("/");
1338 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1339 once_value_8
= fra
.me
.REG
[2];
1340 register_static_object(&once_value_8
);
1341 } else fra
.me
.REG
[2] = once_value_8
;
1342 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1343 fra
.me
.REG
[2] = CALL_standard___string___Collection___join(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1346 stack_frame_head
= fra
.me
.prev
;
1347 return fra
.me
.REG
[2];
1349 val_t
standard___file___String___join_path(val_t p0
, val_t p1
){
1350 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1355 static val_t once_value_2
; /* Once value */
1356 static val_t once_value_3
; /* Once value */
1357 static val_t once_value_4
; /* Once value */
1358 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1359 fra
.me
.file
= LOCATE_standard___file
;
1361 fra
.me
.meth
= LOCATE_standard___file___String___join_path
;
1362 fra
.me
.has_broke
= 0;
1363 fra
.me
.REG_size
= 5;
1364 fra
.me
.nitni_local_ref_head
= NULL
;
1365 fra
.me
.REG
[0] = NIT_NULL
;
1366 fra
.me
.REG
[1] = NIT_NULL
;
1367 fra
.me
.REG
[2] = NIT_NULL
;
1368 fra
.me
.REG
[3] = NIT_NULL
;
1369 fra
.me
.REG
[4] = NIT_NULL
;
1372 /* ../lib/standard/file.nit:277 */
1373 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1374 if (UNTAG_Bool(REGB0
)) {
1375 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1378 /* ../lib/standard/file.nit:278 */
1379 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1380 if (UNTAG_Bool(REGB0
)) {
1381 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1384 /* ../lib/standard/file.nit:279 */
1386 REGB0
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1387 REGB1
= TAG_Char('/');
1388 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1389 if (UNTAG_Bool(REGB2
)) {
1391 /* ../lib/standard/kernel.nit:378 */
1392 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1393 /* ../lib/standard/file.nit:279 */
1396 if (UNTAG_Bool(REGB2
)) {
1397 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1400 /* ../lib/standard/file.nit:280 */
1402 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1403 if (!once_value_2
) {
1404 fra
.me
.REG
[4] = BOX_NativeString("");
1406 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
1407 once_value_2
= fra
.me
.REG
[4];
1408 register_static_object(&once_value_2
);
1409 } else fra
.me
.REG
[4] = once_value_2
;
1410 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1411 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1413 if (!once_value_3
) {
1414 fra
.me
.REG
[0] = BOX_NativeString("/");
1416 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB2
);
1417 once_value_3
= fra
.me
.REG
[0];
1418 register_static_object(&once_value_3
);
1419 } else fra
.me
.REG
[0] = once_value_3
;
1420 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1423 if (!once_value_4
) {
1424 fra
.me
.REG
[1] = BOX_NativeString("");
1426 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB2
);
1427 once_value_4
= fra
.me
.REG
[1];
1428 register_static_object(&once_value_4
);
1429 } else fra
.me
.REG
[1] = once_value_4
;
1430 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1431 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1432 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1433 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1436 stack_frame_head
= fra
.me
.prev
;
1437 return fra
.me
.REG
[2];
1439 void standard___file___String___mkdir(val_t p0
){
1440 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1445 static val_t once_value_1
; /* Once value */
1446 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1447 fra
.me
.file
= LOCATE_standard___file
;
1449 fra
.me
.meth
= LOCATE_standard___file___String___mkdir
;
1450 fra
.me
.has_broke
= 0;
1451 fra
.me
.REG_size
= 4;
1452 fra
.me
.nitni_local_ref_head
= NULL
;
1453 fra
.me
.REG
[0] = NIT_NULL
;
1454 fra
.me
.REG
[1] = NIT_NULL
;
1455 fra
.me
.REG
[2] = NIT_NULL
;
1456 fra
.me
.REG
[3] = NIT_NULL
;
1458 /* ../lib/standard/file.nit:286 */
1459 if (!once_value_1
) {
1460 fra
.me
.REG
[1] = BOX_NativeString("/");
1462 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
1463 once_value_1
= fra
.me
.REG
[1];
1464 register_static_object(&once_value_1
);
1465 } else fra
.me
.REG
[1] = once_value_1
;
1466 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1467 fra
.me
.REG
[1] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1468 /* ../lib/standard/file.nit:287 */
1469 fra
.me
.REG
[0] = NEW_Buffer_standard___string___Buffer___init();
1470 /* ../lib/standard/file.nit:288 */
1471 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1472 if (UNTAG_Bool(REGB0
)) {
1475 /* ../lib/standard/file.nit:289 */
1477 /* ../lib/standard/collection/array.nit:278 */
1478 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1479 /* ../lib/standard/collection/array.nit:280 */
1481 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1482 if (UNTAG_Bool(REGB2
)) {
1484 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1486 /* ../lib/standard/kernel.nit:233 */
1487 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1488 /* ../lib/standard/collection/array.nit:280 */
1489 if (UNTAG_Bool(REGB1
)) {
1490 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1491 if (UNTAG_Bool(REGB1
)) {
1493 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
1495 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1496 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1497 if (UNTAG_Bool(REGB2
)) {
1499 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1501 /* ../lib/standard/kernel.nit:232 */
1502 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1504 /* ../lib/standard/collection/array.nit:280 */
1505 REGB2
= TAG_Bool(false);
1508 if (UNTAG_Bool(REGB1
)) {
1510 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
1512 /* ../lib/standard/collection/array.nit:281 */
1513 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1514 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1515 if (UNTAG_Bool(REGB1
)) {
1516 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
1518 /* ../lib/standard/collection/array.nit:718 */
1519 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1520 /* ../lib/standard/collection/array.nit:281 */
1523 /* ../lib/standard/file.nit:289 */
1524 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1525 if (UNTAG_Bool(REGB0
)) {
1526 nit_abort("Reciever is null", NULL
, LOCATE_standard___file
, 289);
1528 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1529 if (UNTAG_Bool(REGB0
)) {
1530 /* ../lib/standard/file.nit:291 */
1531 REGB0
= TAG_Char('/');
1532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1534 /* ../lib/standard/collection/array.nit:269 */
1536 /* ../lib/standard/collection/array.nit:270 */
1537 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1538 if (UNTAG_Bool(REGB1
)) {
1540 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1542 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1543 /* ../lib/standard/collection/array.nit:271 */
1544 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1545 /* ../lib/standard/collection/array.nit:272 */
1547 /* ../lib/standard/collection/array.nit:24 */
1548 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1549 if (UNTAG_Bool(REGB1
)) {
1551 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1553 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1554 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1555 if (UNTAG_Bool(REGB2
)) {
1557 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1559 /* ../lib/standard/kernel.nit:232 */
1560 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1561 /* ../lib/standard/collection/array.nit:272 */
1562 if (UNTAG_Bool(REGB1
)) {
1563 /* ../lib/standard/collection/array.nit:273 */
1564 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1565 if (UNTAG_Bool(REGB1
)) {
1566 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1568 /* ../lib/standard/collection/array.nit:718 */
1569 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1570 /* ../lib/standard/file.nit:294 */
1571 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1572 if (UNTAG_Bool(REGB1
)) {
1575 /* ../lib/standard/file.nit:295 */
1576 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1577 /* ../lib/standard/file.nit:296 */
1578 REGB1
= TAG_Char('/');
1579 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1580 /* ../lib/standard/file.nit:297 */
1581 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1582 fra
.me
.REG
[3] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1583 CALL_standard___file___NativeString___file_mkdir(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1585 /* ../lib/standard/collection/array.nit:274 */
1587 /* ../lib/standard/kernel.nit:235 */
1588 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1589 /* ../lib/standard/collection/array.nit:274 */
1592 /* ../lib/standard/collection/array.nit:272 */
1598 stack_frame_head
= fra
.me
.prev
;
1601 val_t
standard___file___String___file_extension(val_t p0
){
1602 struct {struct stack_frame_t me
;} fra
;
1607 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1608 fra
.me
.file
= LOCATE_standard___file
;
1610 fra
.me
.meth
= LOCATE_standard___file___String___file_extension
;
1611 fra
.me
.has_broke
= 0;
1612 fra
.me
.REG_size
= 1;
1613 fra
.me
.nitni_local_ref_head
= NULL
;
1614 fra
.me
.REG
[0] = NIT_NULL
;
1616 /* ../lib/standard/file.nit:304 */
1617 REGB0
= TAG_Char('.');
1618 REGB0
= CALL_standard___collection___array___AbstractArrayRead___last_index_of(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1619 /* ../lib/standard/file.nit:305 */
1621 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1622 if (UNTAG_Bool(REGB2
)) {
1624 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1626 /* ../lib/standard/kernel.nit:233 */
1627 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1628 /* ../lib/standard/file.nit:305 */
1629 if (UNTAG_Bool(REGB1
)) {
1630 /* ../lib/standard/file.nit:306 */
1632 /* ../lib/standard/kernel.nit:235 */
1633 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1634 /* ../lib/standard/collection/array.nit:24 */
1635 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1636 if (UNTAG_Bool(REGB0
)) {
1638 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1640 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1641 /* ../lib/standard/file.nit:306 */
1642 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
, REGB0
);
1645 /* ../lib/standard/file.nit:308 */
1646 fra
.me
.REG
[0] = NIT_NULL
;
1650 stack_frame_head
= fra
.me
.prev
;
1651 return fra
.me
.REG
[0];
1653 val_t
standard___file___String___files(val_t p0
){
1654 struct {struct stack_frame_t me
;} fra
;
1656 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1657 fra
.me
.file
= LOCATE_standard___file
;
1659 fra
.me
.meth
= LOCATE_standard___file___String___files
;
1660 fra
.me
.has_broke
= 0;
1661 fra
.me
.REG_size
= 1;
1662 fra
.me
.nitni_local_ref_head
= NULL
;
1663 fra
.me
.REG
[0] = NIT_NULL
;
1665 /* ../lib/standard/file.nit:312 */
1666 fra
.me
.REG
[0] = String_files___out(fra
.me
.REG
[0]);
1671 stack_frame_head
= fra
.me
.prev
;
1672 return fra
.me
.REG
[0];
1674 val_t
standard___file___NativeString___file_exists(val_t p0
){
1675 struct {struct stack_frame_t me
;} fra
;
1678 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1679 fra
.me
.file
= LOCATE_standard___file
;
1681 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_exists
;
1682 fra
.me
.has_broke
= 0;
1683 fra
.me
.REG_size
= 1;
1684 fra
.me
.nitni_local_ref_head
= NULL
;
1685 fra
.me
.REG
[0] = NIT_NULL
;
1687 /* ../lib/standard/file.nit:317 */
1688 REGB0
= NativeString_file_exists___out(fra
.me
.REG
[0]);
1689 stack_frame_head
= fra
.me
.prev
;
1692 val_t
standard___file___NativeString___file_stat(val_t p0
){
1693 struct {struct stack_frame_t me
;} fra
;
1695 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1696 fra
.me
.file
= LOCATE_standard___file
;
1698 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_stat
;
1699 fra
.me
.has_broke
= 0;
1700 fra
.me
.REG_size
= 1;
1701 fra
.me
.nitni_local_ref_head
= NULL
;
1702 fra
.me
.REG
[0] = NIT_NULL
;
1704 /* ../lib/standard/file.nit:318 */
1705 fra
.me
.REG
[0] = NativeString_file_stat___out(fra
.me
.REG
[0]);
1706 stack_frame_head
= fra
.me
.prev
;
1707 return fra
.me
.REG
[0];
1709 val_t
standard___file___NativeString___file_mkdir(val_t p0
){
1710 struct {struct stack_frame_t me
;} fra
;
1713 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1714 fra
.me
.file
= LOCATE_standard___file
;
1716 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_mkdir
;
1717 fra
.me
.has_broke
= 0;
1718 fra
.me
.REG_size
= 1;
1719 fra
.me
.nitni_local_ref_head
= NULL
;
1720 fra
.me
.REG
[0] = NIT_NULL
;
1722 /* ../lib/standard/file.nit:319 */
1723 REGB0
= NativeString_file_mkdir___out(fra
.me
.REG
[0]);
1724 stack_frame_head
= fra
.me
.prev
;
1727 val_t
standard___file___NativeString___file_delete(val_t p0
){
1728 struct {struct stack_frame_t me
;} fra
;
1731 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1732 fra
.me
.file
= LOCATE_standard___file
;
1734 fra
.me
.meth
= LOCATE_standard___file___NativeString___file_delete
;
1735 fra
.me
.has_broke
= 0;
1736 fra
.me
.REG_size
= 1;
1737 fra
.me
.nitni_local_ref_head
= NULL
;
1738 fra
.me
.REG
[0] = NIT_NULL
;
1740 /* ../lib/standard/file.nit:320 */
1741 REGB0
= NativeString_file_delete___out(fra
.me
.REG
[0]);
1742 stack_frame_head
= fra
.me
.prev
;
1745 val_t
standard___file___FileStat___mode(val_t p0
){
1746 struct {struct stack_frame_t me
;} fra
;
1749 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1750 fra
.me
.file
= LOCATE_standard___file
;
1752 fra
.me
.meth
= LOCATE_standard___file___FileStat___mode
;
1753 fra
.me
.has_broke
= 0;
1754 fra
.me
.REG_size
= 1;
1755 fra
.me
.nitni_local_ref_head
= NULL
;
1756 fra
.me
.REG
[0] = NIT_NULL
;
1758 /* ../lib/standard/file.nit:324 */
1759 REGB0
= FileStat_mode___out(fra
.me
.REG
[0]);
1760 stack_frame_head
= fra
.me
.prev
;
1763 val_t
standard___file___FileStat___atime(val_t p0
){
1764 struct {struct stack_frame_t me
;} fra
;
1767 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1768 fra
.me
.file
= LOCATE_standard___file
;
1770 fra
.me
.meth
= LOCATE_standard___file___FileStat___atime
;
1771 fra
.me
.has_broke
= 0;
1772 fra
.me
.REG_size
= 1;
1773 fra
.me
.nitni_local_ref_head
= NULL
;
1774 fra
.me
.REG
[0] = NIT_NULL
;
1776 /* ../lib/standard/file.nit:326 */
1777 REGB0
= FileStat_atime___out(fra
.me
.REG
[0]);
1778 stack_frame_head
= fra
.me
.prev
;
1781 val_t
standard___file___FileStat___ctime(val_t p0
){
1782 struct {struct stack_frame_t me
;} fra
;
1785 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1786 fra
.me
.file
= LOCATE_standard___file
;
1788 fra
.me
.meth
= LOCATE_standard___file___FileStat___ctime
;
1789 fra
.me
.has_broke
= 0;
1790 fra
.me
.REG_size
= 1;
1791 fra
.me
.nitni_local_ref_head
= NULL
;
1792 fra
.me
.REG
[0] = NIT_NULL
;
1794 /* ../lib/standard/file.nit:327 */
1795 REGB0
= FileStat_ctime___out(fra
.me
.REG
[0]);
1796 stack_frame_head
= fra
.me
.prev
;
1799 val_t
standard___file___FileStat___mtime(val_t p0
){
1800 struct {struct stack_frame_t me
;} fra
;
1803 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1804 fra
.me
.file
= LOCATE_standard___file
;
1806 fra
.me
.meth
= LOCATE_standard___file___FileStat___mtime
;
1807 fra
.me
.has_broke
= 0;
1808 fra
.me
.REG_size
= 1;
1809 fra
.me
.nitni_local_ref_head
= NULL
;
1810 fra
.me
.REG
[0] = NIT_NULL
;
1812 /* ../lib/standard/file.nit:328 */
1813 REGB0
= FileStat_mtime___out(fra
.me
.REG
[0]);
1814 stack_frame_head
= fra
.me
.prev
;
1817 val_t
standard___file___FileStat___size(val_t p0
){
1818 struct {struct stack_frame_t me
;} fra
;
1821 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1822 fra
.me
.file
= LOCATE_standard___file
;
1824 fra
.me
.meth
= LOCATE_standard___file___FileStat___size
;
1825 fra
.me
.has_broke
= 0;
1826 fra
.me
.REG_size
= 1;
1827 fra
.me
.nitni_local_ref_head
= NULL
;
1828 fra
.me
.REG
[0] = NIT_NULL
;
1830 /* ../lib/standard/file.nit:329 */
1831 REGB0
= FileStat_size___out(fra
.me
.REG
[0]);
1832 stack_frame_head
= fra
.me
.prev
;
1835 val_t
standard___file___NativeFile___io_read(val_t p0
, val_t p1
, val_t p2
){
1836 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1839 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1840 fra
.me
.file
= LOCATE_standard___file
;
1842 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_read
;
1843 fra
.me
.has_broke
= 0;
1844 fra
.me
.REG_size
= 2;
1845 fra
.me
.nitni_local_ref_head
= NULL
;
1846 fra
.me
.REG
[0] = NIT_NULL
;
1847 fra
.me
.REG
[1] = NIT_NULL
;
1851 /* ../lib/standard/file.nit:334 */
1852 REGB0
= NativeFile_io_read___out(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
1853 stack_frame_head
= fra
.me
.prev
;
1856 val_t
standard___file___NativeFile___io_write(val_t p0
, val_t p1
, val_t p2
){
1857 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1860 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1861 fra
.me
.file
= LOCATE_standard___file
;
1863 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_write
;
1864 fra
.me
.has_broke
= 0;
1865 fra
.me
.REG_size
= 2;
1866 fra
.me
.nitni_local_ref_head
= NULL
;
1867 fra
.me
.REG
[0] = NIT_NULL
;
1868 fra
.me
.REG
[1] = NIT_NULL
;
1872 /* ../lib/standard/file.nit:335 */
1873 REGB0
= NativeFile_io_write___out(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
1874 stack_frame_head
= fra
.me
.prev
;
1877 val_t
standard___file___NativeFile___io_close(val_t p0
){
1878 struct {struct stack_frame_t me
;} fra
;
1881 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1882 fra
.me
.file
= LOCATE_standard___file
;
1884 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_close
;
1885 fra
.me
.has_broke
= 0;
1886 fra
.me
.REG_size
= 1;
1887 fra
.me
.nitni_local_ref_head
= NULL
;
1888 fra
.me
.REG
[0] = NIT_NULL
;
1890 /* ../lib/standard/file.nit:336 */
1891 REGB0
= NativeFile_io_close___out(fra
.me
.REG
[0]);
1892 stack_frame_head
= fra
.me
.prev
;
1895 val_t
standard___file___NativeFile___file_stat(val_t p0
){
1896 struct {struct stack_frame_t me
;} fra
;
1898 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1899 fra
.me
.file
= LOCATE_standard___file
;
1901 fra
.me
.meth
= LOCATE_standard___file___NativeFile___file_stat
;
1902 fra
.me
.has_broke
= 0;
1903 fra
.me
.REG_size
= 1;
1904 fra
.me
.nitni_local_ref_head
= NULL
;
1905 fra
.me
.REG
[0] = NIT_NULL
;
1907 /* ../lib/standard/file.nit:337 */
1908 fra
.me
.REG
[0] = NativeFile_file_stat___out(fra
.me
.REG
[0]);
1909 stack_frame_head
= fra
.me
.prev
;
1910 return fra
.me
.REG
[0];
1912 void standard___file___NativeFile___io_open_read(val_t p0
, val_t p1
, int* init_table
){
1913 int itpos10
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
1914 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1916 if (init_table
[itpos10
]) return;
1917 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1918 fra
.me
.file
= LOCATE_standard___file
;
1920 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_open_read
;
1921 fra
.me
.has_broke
= 0;
1922 fra
.me
.REG_size
= 2;
1923 fra
.me
.nitni_local_ref_head
= NULL
;
1924 fra
.me
.REG
[0] = NIT_NULL
;
1925 fra
.me
.REG
[1] = NIT_NULL
;
1928 /* ../lib/standard/file.nit:339 */
1929 stack_frame_head
= fra
.me
.prev
;
1930 init_table
[itpos10
] = 1;
1933 void standard___file___NativeFile___io_open_write(val_t p0
, val_t p1
, int* init_table
){
1934 int itpos11
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
1935 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1937 if (init_table
[itpos11
]) return;
1938 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1939 fra
.me
.file
= LOCATE_standard___file
;
1941 fra
.me
.meth
= LOCATE_standard___file___NativeFile___io_open_write
;
1942 fra
.me
.has_broke
= 0;
1943 fra
.me
.REG_size
= 2;
1944 fra
.me
.nitni_local_ref_head
= NULL
;
1945 fra
.me
.REG
[0] = NIT_NULL
;
1946 fra
.me
.REG
[1] = NIT_NULL
;
1949 /* ../lib/standard/file.nit:340 */
1950 stack_frame_head
= fra
.me
.prev
;
1951 init_table
[itpos11
] = 1;
1954 void standard___file___NativeFile___native_stdin(val_t p0
, int* init_table
){
1955 int itpos12
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
1956 struct {struct stack_frame_t me
;} fra
;
1958 if (init_table
[itpos12
]) return;
1959 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1960 fra
.me
.file
= LOCATE_standard___file
;
1962 fra
.me
.meth
= LOCATE_standard___file___NativeFile___native_stdin
;
1963 fra
.me
.has_broke
= 0;
1964 fra
.me
.REG_size
= 1;
1965 fra
.me
.nitni_local_ref_head
= NULL
;
1966 fra
.me
.REG
[0] = NIT_NULL
;
1968 /* ../lib/standard/file.nit:341 */
1969 stack_frame_head
= fra
.me
.prev
;
1970 init_table
[itpos12
] = 1;
1973 void standard___file___NativeFile___native_stdout(val_t p0
, int* init_table
){
1974 int itpos13
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
1975 struct {struct stack_frame_t me
;} fra
;
1977 if (init_table
[itpos13
]) return;
1978 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1979 fra
.me
.file
= LOCATE_standard___file
;
1981 fra
.me
.meth
= LOCATE_standard___file___NativeFile___native_stdout
;
1982 fra
.me
.has_broke
= 0;
1983 fra
.me
.REG_size
= 1;
1984 fra
.me
.nitni_local_ref_head
= NULL
;
1985 fra
.me
.REG
[0] = NIT_NULL
;
1987 /* ../lib/standard/file.nit:342 */
1988 stack_frame_head
= fra
.me
.prev
;
1989 init_table
[itpos13
] = 1;
1992 void standard___file___NativeFile___native_stderr(val_t p0
, int* init_table
){
1993 int itpos14
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___file___NativeFile
].i
;
1994 struct {struct stack_frame_t me
;} fra
;
1996 if (init_table
[itpos14
]) return;
1997 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1998 fra
.me
.file
= LOCATE_standard___file
;
2000 fra
.me
.meth
= LOCATE_standard___file___NativeFile___native_stderr
;
2001 fra
.me
.has_broke
= 0;
2002 fra
.me
.REG_size
= 1;
2003 fra
.me
.nitni_local_ref_head
= NULL
;
2004 fra
.me
.REG
[0] = NIT_NULL
;
2006 /* ../lib/standard/file.nit:343 */
2007 stack_frame_head
= fra
.me
.prev
;
2008 init_table
[itpos14
] = 1;